Skip to content

Releases: 7mind/izumi

1.2.22

11 Dec 10:55

Choose a tag to compare

1.2.22 Pre-release
Pre-release

This release contains only changes to izumi.fundamentals.platform.strings.TextTree

Full Changelog: v1.2.21...v1.2.22

1.2.21

27 Nov 19:38

Choose a tag to compare

This release mainly contains fixes for Scala.js

distage-extension-plugins

logstage-core

  • LogStage: on Scala.js, output colored logs when running on Node.js by @neko-kai (#2300)

fundamentals-bio

  • BIO: fix references to QuasiIORunner failing to compile when cats is not on the classpath. Add more OptionalDependency tests by @neko-kai (#2302)

Full Changelog: v1.2.20...v1.2.21

1.2.20

18 Aug 18:44

Choose a tag to compare

distage-core

  • Clarify FactoryConstructor semantics in docs - parameterless defs produce new instances, not summon dependencies. Forbid abstract vals in makeFactory. (#2290)
  • Support overriding lazy vals in makeTrait on Scala 3. (#2290)
  • Fix proxy support for parameterized classes on Scala 3. (#2290)
  • Print dependees of cycle-breaking class on proxy/cyclic dependency errors. (#2290)

distage-framework

logstage-core

  • Fix logger wildcard prefix matching by @Caparow (#2291)
  • logstage: Fix implicit search for LogstageCodec for wildcard types by @neko-kai (#2292)
  • Add "Audit" log level above "Crit". 'Audit' messages are printed to standard output if no sinks are configured or if the message level is filtered out by configuration, otherwise they're sent to the configured sink by @pshirshov (1941882)

Full Changelog: v1.2.19...v1.2.20

1.2.19

14 Jun 13:20

Choose a tag to compare

fundamentals-bio

  • Embed ParallelErrorAccumulatingOps into the hierarchy, add syntax. Add traverseAccumErrorsNEList by @neko-kai (#2285)

distage-core

  • Add optional Quasi*/DefaultModule instances for Try/Either under modules.support.unsafe.EitherSupport/TrySupport by @neko-kai (#2286)

Full Changelog: v1.2.18...v1.2.19

1.2.18

09 Jun 21:02

Choose a tag to compare

logstage-core

  • Logstage: logValues support by @nikita-ty754 (#2272)
    • This adds new method logValues that can be used as a shorthand for logging values without an accompanying message:
      logger.logValues(Info)(a, b, c)
      Will output the same message as
      logger.info(s"$a, $b, $c")
  • LogStage: logMethod support by @nikita-ty754 (#2266)
    • This adds new methods logMethod and logMethodF that will log the arguments and result of a method, or its error if method throws / fails effectfully:
      logger.logMethodF(Info)(f(a, b, c))
      Will output:
      Call to f(a=1, b=2, c=3) => result=6
      
      If method succeeds, or if method fails:
      Call to f(a=1, b=2, c=3) => error=IllegalArgumentException: ...
      
      logMethod can also optionally log type parameters and/or implicit parameters of the method:
      logger.logMethodF(Info, printTypes = true, printImplicits = true)(f(a, b, c))
      Call to f[A=Int](a=1, b=2, c=3)(using dummy=scala.DummyImplicit@2e013ba1) => result=6
      

distage-testkit-scalatest

  • Testkit: added shorthand assertIO methods by @YaroslavSagach (#2267)
    • This adds new overloads for assertIO to help with writing assertions using effect results, e.g. now instead of:
      for {
        x <- conjureInt
        _ <- assertIO(x == 2)
       } yield ()
      You may write:
      assertIO(conjureInt)(_ == 2)
      You can also use results of two effects in the predicate:
      assertIO(conjureInt, conjureInt)(_ == _)

distage-core

  • Fix compile-time crash on Scala 3.7+ when using makeTrait or TraitConstructor by @neko-kai (#2275)
  • locator always returns itself on Locator lookups by @pshirshov (#2278)
  • Distage: Added test for trait generation with constructors + sort intersection members by @YaroslavSagach (#2268)

fundamentals-bio

  • BIO: Add Lifecycle.makeUninterruptibleExcept, Semaphore1.lifecycle, Mutex2.lifecycle, TypedError.wrapIfNotThrowable, remove Semaphore1.fromSTM, rename TypedError.apply to TypedError.noMessage, use uninterruptibleExcept instead of bracket in Lifecycle methods by @neko-kai (#2271)
  • Add ParallelErrorAccumulatingOps2, add Panic2#fromSandboxExit, add Applicative2#zip by @neko-kai (#2284)
  • BIO: Add methods fromAttempt and ifThenFail to ApplicativeError2, add unsafe.MaybeSuspend2 by @neko-kai (#2280)
  • fundamentals-bio: In TemporalZio.timeout prevent interruption from arriving during .map(Some(_)) when timeout is used in an uninterruptible section by @neko-kai (#2270)

distage-framework

  • Improved error-free CLI parser by @pshirshov (#2281)
  • distage-framework: Add Option[IzArtifact] @Id("app.artifact") to application boostrap module by @neko-kai (#2279)

New Contributors

Full Changelog: v1.2.17...v1.2.18

1.2.17

28 Mar 19:25

Choose a tag to compare

distage-core

  • DSL: Fix .addDependency not working with resource bindings. Throw when .modify/.annotateParameter are used on non-function bindings instead of silently creating a mutator. Throw when parameter is not found in .annotateParameter instead of doing nothing. by @neko-kai (#2255)
  • Subcontext: add unsafeModify. Open SubcontextImpl class. Rename SubcontextImpl .empty->.initial by @neko-kai (#2225)
  • DSL: Added .named methods with optional identifier by @YaroslavSagach (#2264)
  • Docs: Locator-private bindings documentation + minor typo fixes by @YaroslavSagach (#2258)

distage-framework

  • distage-framework: Enable typesafe-config CONFIG_FORCE_* environment variable config overrides by default by @neko-kai (#2265)

Full Changelog: v1.2.16...v1.2.17

1.2.16

28 Nov 18:30

Choose a tag to compare

distage-framework

  • Fixed a regression in 1.2.13 that caused TerminatingHandler in distage-framework Launchers to exit silently and not print most startup exceptions (cc9c233)

Full Changelog: v1.2.15...v1.2.16

1.2.15

22 Sep 17:01

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

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

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