Releases: 7mind/izumi
Releases · 7mind/izumi
1.2.22
This release contains only changes to izumi.fundamentals.platform.strings.TextTree
- textree: bugfixes, improvements, docs, + verbatim nodes by @pshirshov (968e3cb)
Full Changelog: v1.2.21...v1.2.22
1.2.21
This release mainly contains fixes for Scala.js
distage-extension-plugins
logstage-core
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
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
makeTraiton 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
- Add version parser by @pshirshov (78b2a98)
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
fundamentals-bio
- Embed ParallelErrorAccumulatingOps into the hierarchy, add syntax. Add
traverseAccumErrorsNEListby @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
logstage-core
- Logstage: logValues support by @nikita-ty754 (#2272)
- This adds new method
logValuesthat can be used as a shorthand for logging values without an accompanying message:Will output the same message aslogger.logValues(Info)(a, b, c)logger.info(s"$a, $b, $c")
- This adds new method
- LogStage: logMethod support by @nikita-ty754 (#2266)
- This adds new methods
logMethodandlogMethodFthat will log the arguments and result of a method, or its error if method throws / fails effectfully:Will output:logger.logMethodF(Info)(f(a, b, c))If method succeeds, or if method fails:Call to f(a=1, b=2, c=3) => result=6Call to f(a=1, b=2, c=3) => error=IllegalArgumentException: ...logMethodcan 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
- This adds new methods
distage-testkit-scalatest
- Testkit: added shorthand assertIO methods by @YaroslavSagach (#2267)
- This adds new overloads for
assertIOto help with writing assertions using effect results, e.g. now instead of:You may write:for { x <- conjureInt _ <- assertIO(x == 2) } yield ()
You can also use results of two effects in the predicate:assertIO(conjureInt)(_ == 2)
assertIO(conjureInt, conjureInt)(_ == _)
- This adds new overloads for
distage-core
- Fix compile-time crash on Scala 3.7+ when using
makeTraitorTraitConstructorby @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, removeSemaphore1.fromSTM, renameTypedError.applytoTypedError.noMessage, useuninterruptibleExceptinstead of bracket in Lifecycle methods by @neko-kai (#2271) - Add
ParallelErrorAccumulatingOps2, addPanic2#fromSandboxExit, addApplicative2#zipby @neko-kai (#2284) - BIO: Add methods
fromAttemptandifThenFailtoApplicativeError2, addunsafe.MaybeSuspend2by @neko-kai (#2280) - fundamentals-bio: In
TemporalZio.timeoutprevent 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
- @nikita-ty754 made their first contribution in #2272
Full Changelog: v1.2.17...v1.2.18
1.2.17
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. OpenSubcontextImplclass. Rename SubcontextImpl.empty->.initialby @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
1.2.15
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
makemacro (5f9b755)
Full Changelog: v1.2.14...v1.2.15
1.2.14
1.2.13
logstage-core
- Better logger config by @pshirshov (#2170)
- Logging rules now support wildcards (
my.package.*.something) ConfigurableLogRouternow 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?)
- Logging rules now support wildcards (
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)
AddedConfigDocannotation. Attaches a$commentfield 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
- Docker cleanups by @pshirshov (#2174)
Full Changelog: v1.2.12...v1.2.13