0.10.8
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:
- distage – Transparent and debuggable Dependency Injection framework for pure FP Scala,
- 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.
- 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.
- LogStage – Automatic structural logs from Scala string interpolations,
- BIO - A typeclass hierarchy for tagless final style with Bifunctor and Trifunctor effect types. Focused on ergonomics and ease of use with zero boilerplate.
- 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 - 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,
- 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)
- 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 fromBIOAsync
toBIOParallel
- Added
tailRecM
method toBIOMonad
by @Adriani277
The current BIO hierarchy now looks like this:
fundamentals-reflection:
Tag
is now shared withizumi-reflect
, not duplicated infundamentals-reflection
. Replace imports forimport izumi.fundamentals.reflection.Tags.Tag*
withimport 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
inBIORunner#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)