Skip to content

Releases: 7mind/izumi

1.2.15

22 Sep 17:01
Compare
Choose a tag to compare

distage-extension-config

  • Fixed a regression in 1.2.13 that surfaced a Scala 3 bug (scala/scala3#21622) that rarely lead to nondeterministic failures in distage-core's make macro (5f9b755)

Full Changelog: v1.2.14...v1.2.15

1.2.14

21 Sep 00:01
Compare
Choose a tag to compare

logstage-core

  • Fixed regression #2190 in 1.2.13 where log level config was ignored for exact class/method matches (8f16253)

Full Changelog: v1.2.13...v1.2.14

1.2.13

18 Sep 23:46
Compare
Choose a tag to compare

logstage-core

  • Better logger config by @pshirshov (#2170)
    • Logging rules now support wildcards (my.package.*.something)
    • ConfigurableLogRouter now supports specifying different sinks for different prefixes (previously it only supported one set of sinks). This can be configured programmatically but not in the config (yet?)

distage-framework

  • Add command-line option --ignore-all-reference-configs/-nc. by @neko-kai (#2187)
  • Fix config override order for common reference configs by @neko-kai (#2186)

distage-extension-config

  • Config comments by @pshirshov (#2173)
    Added ConfigDoc annotation. Attaches a $comment field with the contents of the annotation to
    config's JSON Schema generated by ConfigWriter.

distage-core

  • Cleaner startup failure messages, switched DIKey rendering to scala-styled LTT renderer by @pshirshov (#2175)
  • Binding origin case class by @pshirshov (#2169)

distage-framework-docker

Full Changelog: v1.2.12...v1.2.13

1.2.12

13 Aug 17:59
Compare
Choose a tag to compare

breaking changes

  • #1968 Implement locator-private bindings by @pshirshov (#2162)
    • THIS CHANGE BREAKS COMPATIBILITY WITH PREVIOUS VERSIONS if you have any custom bootstrap modules in your code.

      • Most likely you'll have to mark your custom bindings in BootstrapModuleDefs as exposed to fix compatibility
    • Locator-private instances cannot be seen by inherited locators.
      There are 3 supported modes:

      1. All the bindings are public unless explicitly marked as confined (the old behavior, kept as the default one)
      2. All the bindings are private unless explicitly marked as exposed
      3. Only GC roots are public

      For bootstrap injectors the default behavior is (3). Also, from now on bootstrap planning uses predefined set of roots instead of Roots.Everything, so bootstrap contexts too are now subjected to garbage collection.

      All the bootstrap bindings which you need to be available in the downstream locators must be explicitly marked as exposed. Since there is no way to explicitly define GC roots for the bootstrap injector, it considers all exposed bindings in bootstrap modules to be roots.

new features

  • logstage: Line-level logging configuration by @pshirshov (#2153)
    • Define log levels for specific lines, such as izumi.logstage.sink.ExampleService.start:26,27
  • distage-framework: Platform packages by @pshirshov (#2160)

fixes

  • distage-testkit: Fix unmemoized weak elements of unmemoized sets being forcibly shared across tests by @neko-kai (#2163)
  • distage-extension-config: Fix config merge order, add test by @neko-kai (#2161)
  • logstage: Handle null logger name for acceptable check by @cholmes-axoni (#2145)

other

  • Extract FileLockMutex into fundamentals-bio by @neko-kai (#2158)
  • Downgrade to 3.3.4-RC1 to support Scala 3.3 LTS by @neko-kai (#2154)
  • Speed up Scala 3 macros, no longer create anonymous classes when expanding macros

Full Changelog: v1.2.11...v1.2.12

1.2.11

24 Jun 21:02
Compare
Choose a tag to compare
  • Add ConfigModuleDefNoMeta, a variant of ConfigModuleDef without DIConfigMeta generation by @neko-kai (#2142)
  • BIO: Add FiberLocal2 and FiberRef2 by @neko-kai (#2143)

Full Changelog: v1.2.10...v1.2.11

1.2.10

18 Jun 16:16
Compare
Choose a tag to compare
  • Hotfix: fix a regression in 1.2.9 where ConfTags with similar paths were lost when module was included by @neko-kai (#2136)

Full Changelog: v1.2.9...v1.2.10

1.2.9

13 Jun 20:44
Compare
Choose a tag to compare

breaking changes

  • Extracted Functoid into a separate artifact fundamentals-functoid, it can now be used on its own, outside of distage by @pshirshov (#2106)
  • Implement Scala 3 recompilation token by @neko-kai (#1805)
    • Due to Scala 3 bug scala/scala3#19745 export alias distage.plugins.PluginDef is disabled on Scala 3. Use izumi.distage.plugins.PluginDef
  • Apply outer module's tags to included module by default. Deprecate includeApplyTags by @neko-kai (#2122)

new features

other

  • BIO: Update guaranteeExceptOnInterrupt to use Exit.Uninterrupted by @neko-kai (#2098)
  • Fix TrivialLogger ignoring set DebugProperties by @neko-kai (#2127)

Full Changelog: v1.2.8...v1.2.9

1.2.8

09 Apr 19:01
Compare
Choose a tag to compare

Full Changelog: v1.2.7...v1.2.8

1.2.7

18 Mar 22:27
Compare
Choose a tag to compare

breaking changes

  • distage-testkit: Set default test configBaseName to test, instead of deriving it from package name by @neko-kai (#2068)
  • BIO: Make sandbox type more specific - Exit.Interruption cannot be returned from sandbox/sandboxExit by @neko-kai in #2084

other

  • Fix config writer losing fields in map types by @neko-kai (#2085)
  • Fix unset POSTGRES_USER and POSTGRES_DB in PostgresFlyWayDocker by @neko-kai (#2086)
  • Fix Activation-specific configs being lost in config writer by @pshirshov (#2087)
  • Add Tags for F to DefaultModules by @neko-kai (#1551)

Full Changelog: v1.2.6...v1.2.7

1.2.6

07 Mar 14:43
Compare
Choose a tag to compare
  • Update to Scala 3.4.0, memoization fixed on Scala 3 with update by @neko-kai (#2082)
  • Fix Bug: ConfigWriter minimizer does not omit nested unrequired nodes. by @pshirshov (#2058)
  • distage-config: add field names and structure metadata to auto-derived config codecs by @neko-kai (#2065)
  • Fix broken MacroParameters on Scala 3 by @neko-kai (#2066)

Full Changelog: v1.2.5...v1.2.6