All Versions
46
Latest Version
Avg Release Cycle
12 days
Latest Release
1485 days ago

Changelog History
Page 1

  • v1.0.0-M1

    October 18, 2020
  • v0.10.19

    September 02, 2020
  • v0.10.18 Changes

    August 20, 2020

    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)
    2. 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 via RoleModuleDef:

      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") in BootstrapModules 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, removed tagwiseMerge

    🐳 distage-framework-docker:

    ✅ distage-testkit:

    • ➕ Added activation axis qualifier to TestConfig#forcedRoots and TestConfig#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, remove tagwiseMerge
    • 🔄 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
  • v0.10.17 Changes

    August 05, 2020

    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)
    2. 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.16

    🔊 logstage:

    🔊 Multiplie large contributions to LogStage by @catostrophe, thank you!

    • ➕ Add .raw namespace to loggers by @catostrophe.
      This allows using a .raw form for LogStage loggers that does not process input string interpolations. Also added logstage.Message.raw method for easier creation of Message's (#1165)
    • ➕ add contramap to LogstageCodec by @catostrophe (#1168)
    • 🔊 logstage-rendering-circe: make JSON key overridable by @tuleism (#1167)
    • ➕ added LogstageCodec for Throwable by @pshirshov

    🐳 distage-framework-docker:

    • 🐳 Move bundled docker container definitions from examples package to bundled (#1155)
    • 👍 Better docker diagnostics by @pshirshov (#1132)

    ✅ distage-testkit:

    • ✅ Handle Throwable#getMessage == null case in DistageScalatestReporter (#1136)

    fundamentals-bio

    • 🛠 Fix AttachBIOParallel. BIOParallel methods would only be attached to F summoner if a BIOMonad or larger constraint was present, now it's enough for BIOFunctor constraint to be present, as for other attachments (#1141)

    all:

    • ⚡️ Update to ZIO 1.0.0 (#1171)

    🔀 Pull requests merged since 0.10.16:

    • ⚡️ Update to ZIO 1.0, ZIO cats interop 2.1.4.0 (#1171)
    • 🔊 logstage-rendering-circe: make JSON key overridable (#1167)
    • ➕ add contramap to LogstageCodec (#1168)
    • 🔊 [Logstage] Add raw namespace to loggers (#1165)
    • 🐳 Move bundled docker container definitions from examples package to bundled (#1155)
    • ⚡️ Update cats-effect to 2.1.4 (#1144)
    • 🛠 Fix AttachBIOParallel (#1141)
    • 🔋 Feature/better docker diagnostics (#1132)
    • ✅ Handle Throwable#getMessage == null case in DistageScalatestReporter (#1136)
    • ⚡️ Update scalafmt-core to 2.6.2 (#1134)
  • v0.10.16 Changes

    July 03, 2020

    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)
    2. 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.15

    all:

    • ⚡️ Update to latest dependencies - ZIO RC21-2, pureconfig 0.13.0, Scala 2.13.3 (#1131)
  • v0.10.15 Changes

    June 25, 2020

    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)
    2. 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.14

    🐳 distage-framework-docker:

    • 🛠 Fixed compatibility with remote docker configurations by @pshirshov
  • v0.10.14 Changes

    June 19, 2020

    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)
    2. 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:

    • ➕ Add TestConfig#bootstrapFactory configuration by @neko-kai (#1116)

    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)
  • v0.10.13

    June 12, 2020
  • v0.10.12 Changes

    June 06, 2020

    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)
    2. 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.11

    🐳 distage-framework-docker:

    • ➕ Added support for dynamic container ports - allows passing randomly generated port to the container and then exposing that same port, it may be easier to configure some containers that way than by port remapping. by @Caparow (#1097)
    • 🚑 Hotfixed JDK 1.8 compatbility broken in 0.10.11 (#1100)

    🔀 Pull requests merged since 0.10.10:

    • 👷 Enable docker tests on CI (#1101)
    • 🛠 Fix Java 1.8 compatibility for PostreSqlProtocolCheck, run CI under JDK 8 (#1100)
    • 👍 Better availablePorts API, postgresSqlPortcheck API (#1099)
    • 🐳 distage-docker: dynamic ports (#1097)
  • v0.10.11 Changes

    June 05, 2020

    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)
    2. 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.10

    🐳 distage-framework-docker:

    • ➕ Added support for custom docker container readiness checks by @Caparow (#1094)
    • 🐳 Bundled PostgresDocker container now uses a custom check that suceeds only once SQL protocol is truly available (postgres docker re-launches twice during normal bootup - first time to setup schema and users, making port check insufficient to assert readiness - postgres connection will fail if connected during the first boot-up) by @Caparow

    🔀 Pull requests merged since 0.10.10:

    • 🛠 Fix port mapping in bundled Kafka docker (#1096)
    • 🐳 distage-docker: custom readiness checks (#1094)
    • 🐳 distage-framework-docker: add defaults to Docker.ClientConfig constructor (#1085)
    • ✅ Request SourceFilePosition in distage-testkit-scalatest instead of full CodePosition (#1084)
    • ⚡️ Update zio to 1.0.0-RC20 (#1082)