Skip to content

0.10.14

Compare
Choose a tag to compare
@neko-kai neko-kai released this 19 Jun 13:28
· 1591 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.12

distage-framework-docker:

  • Added shiny new documentation microsite for distage docker module! - https://izumi.7mind.io/distage/distage-framework-docker - by @coreyoconnor (#1057)
  • Added ability to reuse 'one-shot', non-daemonic, docker containers - e.g. flyway migrations - within a JVM. If a docker container enables reuse AND exposes no ports, it will be started only once within and will not be restarted upon exit, for this JVM. by @Caparow (#1104)
  • Switch to asynchronous file locks in docker reuse mechanism by @Caparow (#1117)

distage-testkit:

other:

Pull requests merged since 0.10.12:

  • Add async methods to DIEffectAsync, use async file lock for file mutex. (#1117)
  • distage-testkit: Add TestConfig#bootstrapFactory configuration (#1116)
  • distage-docker documentation (#1057)
  • Fix docker port label names. (#1112)
  • distage-docker: reuse exited containers (#1104)
  • Add Tinkoff to users (#1107)