Skip to content

0.10.8

Compare
Choose a tag to compare
@neko-kai neko-kai released this 18 May 01:01
· 1693 commits to develop since this release

Izumi

What is it?

Izumi (jp. 泉水, spring) is an ecosystem of independent libraries and frameworks allowing you to significantly increase productivity of your Scala development.

including the following components:

  1. distage – Transparent and debuggable Dependency Injection framework for pure FP Scala,
  2. distage-testkit – Hyper-pragmatic pure FP Test framework. Shares heavy resources globally across all test suites; lets you easily swap implementations of component; uses your effect type for parallelism.
  3. distage-framework-docker – A distage extension for using docker containers in tests or for local application runs, comes with example Postgres, Cassandra, Kafka & DynamoDB containers.
  4. LogStage – Automatic structural logs from Scala string interpolations,
  5. BIO - A typeclass hierarchy for tagless final style with Bifunctor and Trifunctor effect types. Focused on ergonomics and ease of use with zero boilerplate.
  6. izumi-reflect (moved to zio/izumi-reflect) - Portable, lightweight and kind-polymorphic alternative to scala-reflect's Typetag for Scala, Scala.js, Scala Native and (soon) Dotty
  7. IdeaLingua (moved to 7mind/idealingua-v1) – API Definition, Data Modeling and RPC language, optimized for fast prototyping – like gRPC or Swagger, but with a human face. Generates RPC servers and clients for Go, TypeScript, C# and Scala,
  8. Opinionated SBT plugins (moved to 7mind/sbtgen) – Reduces verbosity of SBT builds and introduces new features – inter-project shared test scopes and BOM plugins (from Maven)
  9. Percept-Plan-Execute-Repeat (PPER) – A pattern that enables modeling very complex domains and orchestrate deadly complex processes a lot easier than you're used to.

Changes since 0.10.7

all:

  • Updated to ZIO 1.0.0-RC19 & Scala.js 1.0

BIO:

  • New BIOParallel typeclass courtesy of @Adriani277 !
  • parTraverse* methods have been moved from BIOAsync to BIOParallel
  • Added tailRecM method to BIOMonad by @Adriani277

The current BIO hierarchy now looks like this:

image

fundamentals-reflection:

  • Tag is now shared with izumi-reflect, not duplicated in fundamentals-reflection. Replace imports for import izumi.fundamentals.reflection.Tags.Tag* with import izumi.reflect.Tag* if any.

Pull requests merged since 0.10.7:

  • Squash microsite URLs - move /latest/release/doc/distage/ to /distage/ (#1061)
  • Update to ZIO RC19 (#1060)
  • Add @open annotation to fundamentals-platform (#1053)
  • Silence 2.13 collection warnings (#1027)
  • BIO: remove all redundant variances on typeclass instance methods (#1052)
  • Split ZIO BIOLocal instance from BIOAsync (#1045)
  • Add bio parallel syntax (#1041)
  • Added tailRecM to BIOMonad (#1043)
  • Fix Throwable errors being wrapped in BIOBadBranch in BIORunner#unsafeRun (#1040)
  • Add StringRenderingPolicy constructors to RenderingPolicy companion object (#1038)
  • Add cats Parallel (#1035)
  • Remove methods deprecated since 0.10.3, 0.10.5 (#1037)
  • Remove ModuleBase#Self type member, use implicit priority-based scheme instead (#1036)
  • Added zipWithPar and derived zipPar, zipParLeft and zipParRight (#1029)