DIStage v1.0.0-M1 Release Notes
Release Date: 2020-10-18 // over 3 years ago-
No data yet ๐
You can check the official repo
Previous changes from v0.10.18
-
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,
โ
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) - 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.17:
distage-framework:
- ๐ Improved compatibility with Graal Native Image compiler by @pshirshov
โ Added non-reflective way to define roles via
RoleModuleDef
&RoleModuleDef#makeRole
. Reflective auto-detection of Roles (automatic addition of all inheritors of RoleService/RoleTask to roles list) is now deprecated. Please declare roles explicitly viaRoleModuleDef
:def rolesModule[F[+_, +_]: TagKK]: ModuleDef = new RoleModuleDef { makeRole[LeaderboardRole[F]] }
๐ Fixed config loader priority: all explicit configs override all reference configs, instead of role references having a higher priority than common config (#1175)
distage-core:
- 0๏ธโฃ Now full stacktraces are printed by default for all errors during creation of the object graph. This can be disabled by overriding key
Boolean @Id("izumi.distage.interpreter.full-stacktraces")
inBootstrapModule
s or setting system property-Dizumi.distage.interpreter.full-stacktraces=false
(#1192) - ๐ Backported new ModuleDef ops from 0.11.0 -
--(Set)
,filter
,filterBindings
,tagged
,removeTags
,untagged
, removedtagwiseMerge
๐ณ distage-framework-docker:
โ distage-testkit:
- โ Added activation axis qualifier to
TestConfig#forcedRoots
andTestConfig#memoizationRoots
. Now it's possible to specify memoization Roots for multiple Activation configurations at once within a single TestConfig. By @Caparow (#1153)
fundamentals-bio
- โ Added BIOExit.map/.leftMap/.flatMap & BIO typeclass instances for BIOExit (#1190)
๐ All changes merged since 0.10.17:
- ๐ง Make printing full stacktraces in PlanInterpreter configurable via BoostrapModules & system properties (#1192)
- ๐ Backport new ModuleDef ops from 0.11 -
--(Set)
,filter
,filterBindings
,tagged
,removeTags
,untagged
, removetagwiseMerge
- ๐ Change axis keys activation rules (#1191)
- โ Add BIOExit.map/.leftMap/.flatMap (#1190)
- โก๏ธ Update zio to 1.0.1 (#1187)
- ๐จ Print full exception stacktrace wherever possible instead of just
getMessage
(#1186) - โ Add activation axis to forced and memoization roots. (#1153)
- โก๏ธ Update magnolia to 0.17.0 (#1180)
- ๐ Fix config loader priority: all explicit configs override all reference configs, instead of role references having a higher priority than common config (#1175)
- ๐ณ distage-framework-docker: add default parameters and default convenience object to PostgresFlyWayDocker
- ๐ณ distage-framework-docker: Postgres with FlyWay container. (#1170)
- โก๏ธ Update scalatest to 3.2.1 (#1173)
- โช native-image fixes & workarounds
- 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