Releases: zio/zio
2.1.22
This release contains 2 important bug fixes. For more info check #10116 and #10199.
What's Changed
- Make
ZIO.Parallelismnon-lazy by @kyri-petrou in #10144 - Fix
Queue#takedropping items on interruption by @kyri-petrou in #10116 - Fix FiberRuntime observer memory leak by @hearnadam in #10199
Other changes (CI, dependencies and documentation)
- Update fs2-core to 3.12.2 by @zio-scala-steward[bot] in #10148
- fix(deps): update tailwindcss monorepo to v4.1.13 by @renovate[bot] in #10147
- fix(deps): update dependency @zio.dev/zio-dynamodb to v1.0.0-rc22 by @renovate[bot] in #10150
- Update scalacheck to 1.19.0 by @zio-scala-steward[bot] in #10153
- Update sbt, sbt-dependency-tree, ... to 1.11.6 by @zio-scala-steward[bot] in #10152
- Update sbt-scalajs, scalajs-compiler, ... to 1.20.1 by @zio-scala-steward[bot] in #10151
- Bump actions/setup-node from 4 to 5 by @dependabot[bot] in #10155
- Update reactor-core to 3.7.11 by @zio-scala-steward[bot] in #10157
- fix(deps): update dependency @zio.dev/zio-streams-compress to v1.1.2 by @renovate[bot] in #10156
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.9 by @renovate[bot] in #10158
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.5 by @renovate[bot] in #10159
- Fix Scala Steward OOMs by @guizmaii in #10161
- Fix test tagging example by @mijicd in #10160
- Update spring-core to 6.2.11 by @zio-scala-steward[bot] in #10164
- Update sbt-header to 5.11.0 by @zio-scala-steward[bot] in #10162
- fix(deps): update dependency @zio.dev/zio-config to v4.0.5 by @renovate[bot] in #10168
- fix(deps): update dependency @zio.dev/zio-cache to v0.2.5 by @renovate[bot] in #10167
- chore(deps): update dependency @types/react to v19.1.13 by @renovate[bot] in #10166
- Fix ZIO HTTP wildcard redirect by @debrandt in #10171
- Bump actions/create-github-app-token from 2.1.1 to 2.1.4 by @dependabot[bot] in #10170
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.10 by @renovate[bot] in #10173
- Remove sbt-bloop plugin by @guizmaii in #10176
- Update zlayer.md by @enimiste in #10180
- Update sbt-jmh to 0.4.8 by @zio-scala-steward[bot] in #10182
- Update junit-platform-engine to 1.14.0 by @zio-scala-steward[bot] in #10183
- Update sbt, sbt-dependency-tree, ... to 1.11.7 by @zio-scala-steward[bot] in #10186
- Update scala3-library, ... to 3.3.7 by @zio-scala-steward[bot] in #10197
- Update reactor-core to 3.7.12 by @zio-scala-steward[bot] in #10196
- Update auxlib, clib, javalib, nativelib, ... to 0.5.9 by @zio-scala-steward[bot] in #10193
- Deprecate adding Fatal to the Runtime by @hearnadam in #10200
New Contributors
Full Changelog: v2.1.21...v2.1.22
2.1.21
This release brings a few bug fixes and under-the-hood improvements.
The main user-facing change is the deprecation of user-configurable IsFatal. We decided to deprecate this feature as we believe it's not a feature used by many users (if any) and supporting it brings a lot of unnecessary complexity to ZIO's codebase. If your codebase / library is affected by this change, please open an issue with your use-case.
What's Changed
- Enable build tools to relocate "target/test-reports-zio/output.json". by @dubinsky in #10054
- Deprecate
ZIO::catchNonFatalOrDieby @guizmaii in #10052 - Optimise
FiberRef::modifyby @guizmaii in #10041 - Make
Chunk::Singletonmore lightweight by @guizmaii in #10066 - Optimize
ZChannelcode: RemoveZIO::unlessusages by @guizmaii in #10058 - Optimise
Chunk: Remove someSomeallocations by @guizmaii in #10067 - Optimise
Trace.toJavaby @guizmaii in #10091 - Make some
Chunkimplementations more lightweight by @guizmaii in #10078 - zio-test: Improve rendering of Tuples by @guizmaii in #10098
- Optimise
Hubcode by @guizmaii in #10094 - Fix laziness of
ZStream::paginateChunkby @guizmaii in #10113 - enable ZIO Signaling with GraalVM Native Image - related to #9240 by @jamesward in #10115
- Optimize
ZPipeline::mapEitherChunkedby @guizmaii in #9816 Hub: PreferZIOoverExitin.onInterruptcalls by @guizmaii in #10126- Optimise
ZStream.fromIteratorSucceedby @guizmaii in #10083 - Do not log an interruption error on app shutdown by @kyri-petrou in #10141
- Deprecate
IsFatalin preparation for removal by @hearnadam in #10140 - Make
TestArrow.runstack safe by @hearnadam in #10138 - [test-sbt] More uniformity. by @dubinsky in #10120
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.7 by @renovate[bot] in #10033
- Update junit-platform-engine to 1.13.4 by @zio-scala-steward[bot] in #10040
- Update spring-core to 6.2.9 by @zio-scala-steward[bot] in #10032
- fix(deps): update dependency @zio.dev/zio-quill to v4.8.6 by @renovate[bot] in #10031
- Update maven-compat, maven-embedder to 3.9.11 by @zio-scala-steward[bot] in #10029
- Update reactor-core to 3.7.8 by @zio-scala-steward[bot] in #10028
- Update snakeyaml-engine to 2.10 by @zio-scala-steward[bot] in #10026
- Update sbt-ide-settings to 1.1.3 by @zio-scala-steward[bot] in #10025
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.5 by @renovate[bot] in #10046
- Improve Scalac configuration: Disable auto-tupling for Scala 3 by @guizmaii in #10043
- Update cats-effect to 3.6.3 by @zio-scala-steward[bot] in #10049
- Update scalajs-dom to 2.8.1 by @zio-scala-steward[bot] in #10048
- fix(deps): update dependency @zio.dev/zio-dynamodb to v1.0.0-rc20 by @renovate[bot] in #10047
- fix(deps): update react monorepo to v19.1.1 by @renovate[bot] in #10056
- chore(deps): update dependency cytoscape to v3.33.0 by @renovate[bot] in #10057
- chore(deps): update dependency @types/react to v19.1.9 by @renovate[bot] in #10059
- Add test for
ZStream.fromIteratorabout exceptional case by @guizmaii in #10062 - Update sbt-bloop to 2.0.12 by @zio-scala-steward[bot] in #10064
- fmt by @guizmaii in #10065
- chore(deps): update dependency typescript to v5.9.2 by @renovate[bot] in #10072
- Mention Gradle plugin for Scala.js and Scala Native. by @dubinsky in #10053
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.4 by @renovate[bot] in #10076
- Update sbt, sbt-dependency-tree, ... to 1.11.4 by @zio-scala-steward[bot] in #10077
- Update sbt-bloop to 2.0.13 by @zio-scala-steward[bot] in #10086
- fix(deps): update dependency @zio.dev/zio-ftp to v0.5.1 by @renovate[bot] in #10089
- fix: add scoped hook to shutdown hub on broadcastedQueues by @cipriansofronia in #10084
- fix(deps): update dependency @zio.dev/zio-ftp to v0.5.2 by @renovate[bot] in #10096
- Bump actions/create-github-app-token from 2.0.6 to 2.1.1 by @dependabot[bot] in #10101
- chore(deps): update dependency @types/react to v19.1.10 by @renovate[bot] in #10100
- Bump actions/download-artifact from 4 to 5 by @dependabot[bot] in #10103
- Bump actions/checkout from 4.2.2 to 5.0.0 by @dependabot[bot] in #10102
- chore(deps): update dependency cytoscape to v3.33.1 by @renovate[bot] in #10104
- Update reactor-core to 3.7.9 by @zio-scala-steward[bot] in #10105
- Update zio-http to 3.4.0 by @zio-scala-steward[bot] in #10106
- Update hedgehog-core to 0.13.0 by @zio-scala-steward[bot] in #10107
- fix(deps): update dependency @zio.dev/zio-metrics-connectors to v2.4.1 by @renovate[bot] in #10109
- fix(deps): update tailwindcss monorepo to v4.1.12 by @renovate[bot] in #10110
- Update spring-core to 6.2.10 by @zio-scala-steward[bot] in #10112
- Update zio-metrics-connectors, ... to 2.4.1 by @zio-scala-steward[bot] in #10111
- Update sbt-ci-release to 1.11.2 by @zio-scala-steward[bot] in #10117
- fix(deps): update dependency @zio.dev/zio-metrics-connectors to v2.4.2 by @renovate[bot] in #10118
- Update zio-metrics-connectors, ... to 2.4.2 by @zio-scala-steward[bot] in #10119
- Update izumi-reflect to 3.0.6 by @zio-scala-steward[bot] in #10121
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.8 by @renovate[bot] in #10125
- fix(deps): update dependency @zio.dev/zio-sbt to v0.4.0-alpha.33 - autoclosed by @renovate[bot] in #10124
- fix(deps): update dependency @zio.dev/zio-metrics-connectors to v2.5.0 by @renovate[bot] in #10127
- chore(deps): update dependency @types/react to v19.1.11 by @renovate[bot] in #10129
- Update sbt-unidoc to 0.6.0 by @zio-scala-steward[bot] in #10132
- Update sbt, sbt-dependency-tree, ... to 1.11.5 by @zio-scala-steward[bot] in #10133
- Update zio-metrics-connectors, ... to 2.4.3 by @zio-scala-steward[bot] in #10131
- Bump actions/setup-java from 4.7.1 to 5.0.0 by @dependabot[bot] in #10135
- Update zio-metrics-connectors, ... to 2.5.0 by @zio-scala-steward[bot] in #10134
- fix(deps): update dependency @zio.dev/zio-sbt to v0.4.0-alpha.34 by @renovate[bot] in #10137
- Remove ZIO HTTP Documentation by @khajavi in #9887
- chore(deps): update dependency @types/react to v19.1.12 by @renovate[bot] in #10139
- fix(deps): update dependency @zio.dev/zio-cli to v0.7.3 by @renovate[bot] in #10142
Full Changelog: v2.1.20...v2.1.21
2.1.20
Highlights
This release contains multiple under-the-hood optimizations particularly for async operations such as race and asyncInterrupt.
Warning
This release fixes a bug in the behaviour of ConfigProvider.kebabCase and ConfigProvider.snakeCase which did not parse config keys correctly. However, users that might have implemented workarounds to the bug might be affected by this fix, so we advice anyone that uses these ConfigProviders in their codebase to review their usage.
Note that for cases where a workaround was implemented and changing config keys is not straightforward, users can opt-in to use ConfigProvider.kebabCaseLegacy / ConfigProvider.snakeCaseLegacy instead.
For more info see #9921.
What's Changed
- zio-test: fix assertTrue comparison using implicit conversion on Scala 3 by @joroKr21 in #9920
- remove printing to stdout when
provide*is missing layer(s) by @hearnadam in #9916 - remove: custom
IsFatalfor jvm Runtime by @hearnadam in #9899 - Make Diff contravariant on Scala 3 and use a union type for equality by @joroKr21 in #9907
- Optimize
raceand synchronous interruption by @kyri-petrou in #9848 - Optimize and deprecate
TestAspect.fibersby @kyri-petrou in #9955 - Optimize provision of
ZLayers to effects by @kyri-petrou in #9895 - Fix
ZStream.asyncdropping elements on Scala Native by @Saturn225 in #9925 - Adding a ZStreamAspect.tagged method that takes in multiple tags. by @douglasthomsen in #9890
- Improve the precision of
ClockLive#currentTimeby @kyri-petrou in #9963 - Don't add supervisor more than once. by @quelgar in #9962
- test-sbt: [bug] match tests on both short and prefixed names. by @dubinsky in #9756
- [test-sbt]: emit
sbt.testing.Events onScala.jsandScala Native. by @dubinsky in #9979 - Optimize error path in
FiberRuntimeby @kyri-petrou in #9975 - Use Duration.Infinity in ZIO.infinity by @hearnadam in #9986
- Deprecate
ZIO.infinityby @hearnadam in #9987 - Deprecated
ZIO#exitCodeby @hearnadam in #9978 - ZLayer: Use Exit.succeed instead of ZIO where already suspended by @hearnadam in #9983
- zio-test: Remove the
"... + x more"feedback from zio-test outputs by @guizmaii in #9900 - Fix ConfigProvider's kebabCase and snakeCase to handle numeric boundaries by @kitlangton in #9921
- Optimize
ZIO.asyncInterruptby @kyri-petrou in #9945 - Fix OOM issue in
ZPipeline#encodeStringWithby @kyri-petrou in #10011
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-http to v3.3.3 by @renovate[bot] in #9914
- chore(deps): update dependency prettier-plugin-tailwindcss to v0.6.12 by @renovate[bot] in #9915
- Update zio-http to 3.3.3 by @zio-scala-steward[bot] in #9917
- Update junit-platform-engine to 1.13.0 by @zio-scala-steward[bot] in #9918
- Update sbt, sbt-dependency-tree, ... to 1.11.1 by @zio-scala-steward[bot] in #9927
- fix(deps): update dependency @zio.dev/zio-sbt to v0.4.0-alpha.32 by @renovate[bot] in #9929
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.4 by @renovate[bot] in #9934
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc41 by @renovate[bot] in #9933
- Update maven-compat, maven-embedder to 3.9.10 by @zio-scala-steward[bot] in #9942
- Add documentation for
ZIOApp#gracefulShutdownTimeoutby @varshith257 in #9923 - Update junit-platform-engine to 1.13.1 by @zio-scala-steward[bot] in #9949
- Update sbt, sbt-dependency-tree, ... to 1.11.2 by @zio-scala-steward[bot] in #9950
- Update sbt-ci-release to 1.11.1 by @kyri-petrou in #9951
- Switch to
sonatypeCentralSnapshotsby @kyri-petrou in #9952 - fix(deps): update dependency @zio.dev/zio-kafka to v3 by @renovate[bot] in #9953
- Update Scala Native to 0.5.8 by @kyri-petrou in #9954
- chore(deps): update dependency @types/react to v19.1.7 by @renovate[bot] in #9956
- Update scala3-library, ... to 3.3.6 by @zio-scala-steward[bot] in #9847
- Update izumi-reflect to 3.0.3 by @zio-scala-steward[bot] in #9912
- Update reactor-core to 3.7.7 by @zio-scala-steward[bot] in #9961
- chore(deps): update dependency @types/react to v19.1.8 by @renovate[bot] in #9964
- fix(deps): update dependency postcss to v8.5.5 by @renovate[bot] in #9966
- fix(deps): update dependency @zio.dev/zio-ftp to v0.4.4 by @renovate[bot] in #9965
- fix(deps): update tailwindcss monorepo to v4.1.10 by @renovate[bot] in #9967
- Update spring-core to 6.2.8 by @zio-scala-steward[bot] in #9968
- docs: Clarify that
forkandforkDaemoninherit parent’s interruptibility by @Saturn225 in #9924 - Speedup CI by @kyri-petrou in #9970
- Enable Scala 2 optimizations in the
testJvmsCI step by @kyri-petrou in #9969 - fix(deps): update dependency postcss to v8.5.6 by @renovate[bot] in #9977
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.3 by @renovate[bot] in #9980
- fix(deps): update dependency @zio.dev/zio-json to v0.7.44 by @renovate[bot] in #9981
- chore(deps): update dependency prettier-plugin-tailwindcss to v0.6.13 by @renovate[bot] in #9982
- Update scala-native-crypto to 0.2.1 by @zio-scala-steward[bot] in #9984
- chore(deps): update dependency prettier to v3.6.0 by @renovate[bot] in #9989
- chore(deps): update dependency prettier to v3.6.1 by @renovate[bot] in #9992
- Update junit-platform-engine to 1.13.2 by @zio-scala-steward[bot] in #9991
- fix(deps): update dependency @zio.dev/zio-ftp to v0.5.0 by @renovate[bot] in #9990
- fix(deps): update tailwindcss monorepo to v4.1.11 by @renovate[bot] in #9994
- chore(deps): update dependency prettier to v3.6.2 by @renovate[bot] in #9995
- Update sbt-scalafmt to 2.5.5 by @zio-scala-steward[bot] in #9998
- Update izumi-reflect to 3.0.4 by @zio-scala-steward[bot] in #10001
- Update maven-resolver-connector-basic, ... to 1.9.24 by @zio-scala-steward[bot] in #10002
- Update junit-platform-engine to 1.13.3 by @zio-scala-steward[bot] in #10007
- fix(deps): update dependency @zio.dev/zio-streams-compress to v1.1.1 by @renovate[bot] in #10008
- Update sbt, sbt-dependency-tree, ... to 1.11.3 by @zio-scala-steward[bot] in #10009
- chore(deps): update dependency cytoscape to v3.32.1 by @renovate[bot] in #10012
- Update izumi-reflect to 3.0.5 by @zio-scala-steward[bot] in #10013
- Update cats-effect to 3.6.2 by @zio-scala-steward[bot] in #10014
- fix(deps): update dependency @zio.dev/zio-metrics-connectors to v2.4.0 by @renovate[bot] in #10015
- Update sbt-mdoc to 2.7.2 by @zio-scala-steward[bot] in #10018
- Update zio-metrics-connectors, ... to 2.4.0 by @zio-scala-steward[bot] in #10017
- chore(deps): update dependency prettier-plugin-tailwindcss to v0.6.14 by @renovate[bot] in #10016
- fix(deps): update dependency @zio.dev/zio-logging to v2.5.1 by @renovate[bot] in #10021
New Contributors
- @douglasthomsen made their first contribution in #9890
Full Changelog: v2.1.19...v2.1.20
2.1.19
This release fixes a regressions introduced in v2.1.18 where in some cases the finalizers of an application might not run to completion upon receiving an external interruption signal. We highly recommend users on v2.1.18 to update their zio version to v2.1.19 as soon as possible.
In addition, after some lengthy discussions we made the decision to make 2 RuntimeFlags package-private: Interrupt and WindDown. These 2 flags are not meant to be configurable by users and have the potential to break application code when used. This change is binary compatible but not source-compatible, so any users that get a compilation error after upgrading to v2.1.19 due to usage of these flags should simply remove their usages.
What's Changed
- Consider all
VirtualMachineErrorfatal by @hearnadam in #9867 - Fix yielding to external threadpools by @kyri-petrou in #9866
- [ZScheduler] Store pointers to mutable references in stack memory to avoid reading them from the heap by @kyri-petrou in #9868
- #9638 Make Cause.toString stack-safe by @dizinfector in #9853
- Mark dangerous
RuntimeFlagsas package private by @hearnadam in #9883 - Fix awaiting application finalizers to run on external interruption by @kyri-petrou in #9908
Other changes (CI, dependencies and documentation)
- Update spring-core to 6.2.7 by @zio-scala-steward in #9862
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.1 by @renovate in #9865
- fix(deps): update dependency @zio.dev/zio-cli to v0.7.2 by @renovate in #9870
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.2 by @renovate in #9873
- chore(deps): update dependency @types/react to v19.1.5 by @renovate in #9876
- fix(deps): update dependency @zio.dev/zio-http to v3.3.0 by @renovate in #9879
- Update magnolia to 1.3.18 by @zio-scala-steward in #9881
- Update zio-http to 3.3.0 by @zio-scala-steward in #9884
- Update sbt, sbt-dependency-tree, ... to 1.11.0 by @zio-scala-steward in #9886
- Update sbt-ci-release to 1.11.0 by @zio-scala-steward in #9885
- chore(deps): update dependency @types/react to v19.1.6 by @renovate in #9891
- fix(deps): update dependency @zio.dev/zio-http to v3.3.1 by @renovate in #9892
- Rollback update to
sbt-ci-releaseby @kyri-petrou in #9894 - Ecosystem Cards (Highlighted Projects) by @khajavi in #9882
- Update scala-xml to 2.4.0 by @zio-scala-steward in #9898
- Update zio-http to 3.3.1 by @zio-scala-steward in #9897
- Remove printing / logging to console during tests and reduce testsuite execution time by @kyri-petrou in #9896
- Zionomicon Homepage Card by @khajavi in #9888
- fix(deps): update dependency @zio.dev/zio-http to v3.3.2 by @renovate in #9903
- fix(deps): update tailwindcss monorepo to v4.1.8 by @renovate in #9904
- Update zio-http to 3.3.2 by @zio-scala-steward in #9905
- fix(deps): update dependency postcss to v8.5.4 by @renovate in #9910
New Contributors
- @dizinfector made their first contribution in #9853
Full Changelog: v2.1.18...v2.1.19
2.1.18
This release of ZIO brings several new features, performance optimizations and bug fixes!
Highlights
- New
ZIO.fromFunctionandZIO.fromFunctionZIOmethods that allow extracting multiple values from the environment in a single effect (#9819 & #9782) - (Scala 3 only) New
provideSomeAutomethod forZIOandSpec, which works similarly toprovideSomebut without having to provide the environment remainder explicitly. - New
mapChunksEitherandmapEitherChunkedmethods onZPipelinegive users more options in short-cutting errors when processing streams
For a full list of all things that have been added / fixed / improved make sure to check the PRs below.
What's Changed
- add support for Junit5 tags with zio tests by @dylanowen in #9743
- Optimizations for Java Future interop methods by @kyri-petrou in #9754
- Bring back the
addMetricsoptimization ofLinkedQueueto improve performances ofQueue.unboundedby @guizmaii in #9762 - Use a final class for
Queueinstances instead of anonymous trait instances by @guizmaii in #9763 ZIO#cachedshould not cache interruption by @kyri-petrou in #9759- Optimize
Queue#shutdownby @kyri-petrou in #9770 - Optimize
forEachPar*methods with bounded parallelism by @kyri-petrou in #9769 - Clean
Dequeue#takeBetweencode by @guizmaii in #9768 - Add
ZPipeline::mapEitherChunkedby @guizmaii in #9757 - Add dependency to
scala-collection-compatand remove deprecated usages ofscala.collection.JavaConvertersby @kyri-petrou in #9773 - Implement provideSome that does not require providing R0 by @andrzejressel in #9726
- Optimise
ZChannel#toPullIn&ZChannel#toPullInAltcode by @guizmaii in #9401 - Optimize some ZIO.from* methods by @hearnadam in #9789
- Make
ChannelExecutorclassfinalby @guizmaii in #9793 - Fix #9642 Compare operations of ops classes in assertTrue by @artembakhanov in #9798
- Avoid excessive filesystem read/writes during test execution by @kyri-petrou in #9795
- Optimize
Chunk::findZIOby @guizmaii in #9784 - Optimize
ZPipeline::mapStreamby @guizmaii in #9758 - Add
ZPipeline::mapChunksEitherby @guizmaii in #9775 - Fix #9505 Constructors in assertTrue (Scala 3) by @artembakhanov in #9786
- Add ZIO.fromFunctionZIO by @adrian-2414745 in #9782
- Optimize
foreachExecand underlying privateforeach*methods by @kyri-petrou in #9804 - Fix double-counting of failures when joining Fibers by @kyri-petrou in #9812
- Add ZIO.fromFunction by @adrian-2414745 in #9819
- Clean
ChannelExecutor::restorePipeand its usages by @guizmaii in #9797 - Fix missing suite labels when a single suite is marked as sequential by @kyri-petrou in #9823
- Fix race condition when interrupting applications by @kyri-petrou in #9827
- [9390] - add tryAcquire to Semaphore by @IgorDorokhov in #9825
- Provide environment to stream finalizers by @joroKr21 in #9830
- Fix provideSome(Shared) in Scala 3 by @andrzejressel in #9826
- Extend causes in the Exit.getOrThrow* methods with stack traces by @joroKr21 in #9386
- Mark traits+abstract classes as sealed by @hearnadam in #9802
- Optimize Promise by @hearnadam in #9569
Other changes (CI, dependencies and documentation)
- chore(deps): update dependency typescript to v5.8.3 by @renovate in #9753
- Update hedgehog-core to 0.12.0 by @zio-scala-steward in #9755
- Update cats-effect to 3.6.1 by @zio-scala-steward in #9761
- Use
ubuntu-latestin CI runners by @kyri-petrou in #9765 - Update CI runner for
release-drafterby @kyri-petrou in #9766 - Bump actions/create-github-app-token from 1.12.0 to 2.0.2 by @dependabot in #9760
- Remove Deprecated Section About ZIO Macros by @khajavi in #9767
- fix(deps): update dependency @zio.dev/zio-json to v0.7.40 by @renovate in #9771
- Update sbt-mdoc to 2.7.0 by @zio-scala-steward in #9772
- Add tests to ensure suspension of
Queue#take*methods by @kyri-petrou in #9774 - fix(deps): update dependency @zio.dev/zio-json to v0.7.41 by @renovate in #9776
- fix(deps): update dependency @zio.dev/zio-json to v0.7.42 by @renovate in #9777
- chore(deps): update dependency @types/react to v19.1.1 by @renovate in #9778
- Update junit-platform-engine to 1.12.2 by @zio-scala-steward in #9780
- chore(deps): update dependency @types/react to v19.1.2 by @renovate in #9787
- Bump actions/setup-java from 4.7.0 to 4.7.1 by @dependabot in #9785
- fix(deps): update tailwindcss monorepo to v4.1.4 by @renovate in #9788
- Fix typo scala doc classes by @enimiste in #9794
- Update reactor-core to 3.7.5 by @zio-scala-steward in #9799
- Update sbt-mdoc to 2.7.1 by @zio-scala-steward in #9800
- Fix typos in Chunk documentation by @hearnadam in #9803
- Update spring-core to 6.2.6 by @zio-scala-steward in #9806
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.4 by @renovate in #9805
- fix(deps): update dependency @zio.dev/zio-dynamodb to v1.0.0-rc19 by @renovate in #9808
- Add provideSomeAuto to docs by @andrzejressel in #9779
- Update sbt-scalajs, scalajs-compiler, ... to 1.19.0 by @zio-scala-steward in #9814
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc40 by @renovate in #9818
- Provide a more sensible default
.jvmoptsby @guizmaii in #9790 - Remove provideSomeSharedAuto by @andrzejressel in #9821
- docs(passing-failed-tests.md): unswap examples by @nafg in #9828
- chore(deps): update dependency cytoscape to v3.31.3 by @renovate in #9831
- fix(deps): update tailwindcss monorepo to v4.1.5 by @renovate in #9834
- chore(deps): update dependency cytoscape to v3.31.4 - autoclosed by @renovate in #9833
- fix(deps): update dependency @zio.dev/zio-schema to v1.7.0 by @renovate in #9837
- chore(deps): update dependency cytoscape to v3.32.0 by @renovate in #9836
- fix assertTrue on new instance creation by @goshacodes in #9832
- Document Scala 3 Spec provide methods by @andrzejressel in #9817
- Replace <:<[R0 & Any, R] with <:<[R0 & out, R] by @andrzejressel in #9838
- Bump actions/create-github-app-token from 2.0.2 to 2.0.6 by @dependabot in #9839
- chore(deps): update dependency @types/react to v19.1.3 by @renovate in #9841
- Replace <:<[R0 & out, R] with proper proof by @andrzejressel in #9840
- Update sbt-bloop to 2.0.10 by @zio-scala-steward in #9845
- Update sbt-scalafix, scalafix-testkit to 0.14.3 by @zio-scala-steward in #9846
- fix(deps): update tailwindcss monorepo to v4.1.6 by @renovate in #9849
- Update maven-resolver-connector-basic, ... to 1.9.23 by @zio-scala-steward in #9851
- fix(deps): update dependency @zio.dev/zio-json to v0.7.43 by @renovate in #9852
- chore(deps): update dependency @types/react to v19.1.4 by @renovate in #9856
- Update reactor-core to 3.7.6 by @zio-scala-steward in #9857
- fix(deps): update tailwindcss monorepo to v4.1.7 by @renovate in #9861
New Contributors
- @dylanowen made their first contribution in #9743
- @enimiste made their first contribution in #9794
- @artembakhanov made their first contribution in #9786
- @adrian-2414745 made their first contribution in #9782
- @goshacodes made their first contribution in #9832
Full Changelog: v2.1.17...v2.1.18
2.1.17
Highlights
This release brings a few bug fixes and improvements. One notable fix is that the initial value of Ref can now be garbage-collected once the value of the Ref changes (it was not the case previously).
What's Changed
FiberRuntimemicro-optimizations and cleanups by @kyri-petrou in #9653- Optimize
ZIO#provideSomeEnvironmentandFiberRef#locallyWithby @kyri-petrou in #9652 - Improve non empty collection traits (#9677) by @987Nabil in #9678
- test-sbt: treat TestWildcardSelector correctly by @dubinsky in #9680
- Fix ZIO#timeoutTo inheriting wrong value from FiberRef#locally (#9693) by @vladimirkl in #9700
- Change iterableFactory from val to def in ChunkLike by @kajebiii in #9703
- Improve memory usage in Ref.Atomic by @maximskripnik in #9710
- Allow for the initial value of Ref to be GC'd by @kyri-petrou in #9733
- Add
ZStream.tapChunksby @erikvanoosten in #9696 - Add
ZStream.mapZIOChunkedby @erikvanoosten in #9697 - Optimize Scope finalization for empty scopes by @kyri-petrou in #9477
- Implement union types
Geninstance derivation by @guizmaii in #9723 - Make metrics names compatible with Prometheus Java library by @mberndt123 in #9740
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-json to v0.7.35 by @renovate in #9647
- chore(deps): update dependency cytoscape to v3.31.1 by @renovate in #9648
- Update magnolia to 1.3.16 by @zio-scala-steward in #9649
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.1 by @renovate in #9651
- Update auxlib, clib, javalib, nativelib, ... to 0.5.7 by @zio-scala-steward in #9650
- fix(deps): update dependency @zio.dev/zio-json to v0.7.36 by @renovate in #9655
- fix(deps): update dependency @zio.dev/zio-cache to v0.2.4 by @renovate in #9654
- Revert Scala Native version to 0.5.6 by @kyri-petrou in #9656
- chore(deps): update dependency prettier to v3.5.3 by @renovate in #9661
- chore(deps): update dependency typescript to v5.8.2 by @renovate in #9658
- docs: add a hint about interruption in ScopedRef by @mberndt123 in #9660
- fix(deps): update dependency @zio.dev/zio-json to v0.7.37 by @renovate in #9663
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.2 by @renovate in #9664
- Bump actions/create-github-app-token from 1.11.5 to 1.11.6 by @dependabot in #9666
- fix(deps): update dependency react-markdown to v10.0.1 by @renovate in #9665
- Update sbt, sbt-dependency-tree, ... to 1.10.9 by @zio-scala-steward in #9667
- fix(deps): update dependency @zio.dev/zio-json to v0.7.38 by @renovate in #9669
- fix(deps): update dependency @zio.dev/zio-schema to v1.6.4 by @renovate in #9670
- Update sbt, sbt-dependency-tree, ... to 1.10.10 by @zio-scala-steward in #9671
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.2 by @renovate in #9673
- fix(deps): update dependency @zio.dev/zio-json to v0.7.39 by @renovate in #9672
- fix(deps): update dependency react-markdown to v10.1.0 by @renovate in #9674
- fix(deps): update dependency @zio.dev/zio-streams-compress to v1.1.0 by @renovate in #9675
- fix(deps): update dependency autoprefixer to v10.4.21 by @renovate in #9679
- Bump peter-evans/create-pull-request from 7.0.7 to 7.0.8 by @dependabot in #9682
- fix(deps): update dependency @zio.dev/zio-http to v3.1.0 by @renovate in #9685
- Update sbt-ci-release to 1.9.3 by @zio-scala-steward in #9691
- Update reactor-core to 3.7.4 by @zio-scala-steward in #9687
- fix(deps): update dependency @zio.dev/zio-schema to v1.6.5 by @renovate in #9689
- Update spring-core to 6.2.4 by @zio-scala-steward in #9694
- Add ZSteam un-chunking notes by @erikvanoosten in #9695
- Update zio-http to 3.1.0 by @zio-scala-steward in #9686
- fix(deps): update dependency @zio.dev/zio-config to v4.0.4 by @renovate in #9699
- Update junit-platform-engine to 1.12.1 by @zio-scala-steward in #9698
- fix(deps): update dependency @zio.dev/zio-schema to v1.6.6 by @renovate in #9702
- chore(deps): update dependency @types/react to v19.0.11 by @renovate in #9706
- Update sbt, sbt-dependency-tree, ... to 1.10.11 by @zio-scala-steward in #9707
- Update sbt-mdoc to 2.6.5 by @zio-scala-steward in #9708
- chore(deps): update dependency @types/react to v19.0.12 by @renovate in #9712
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.3 by @renovate in #9713
- Update sbt-bloop to 2.0.9 by @zio-scala-steward in #9714
- Update spring-core to 6.2.5 by @zio-scala-steward in #9715
- fix(deps): update dependency @zio.dev/zio-query to v0.7.7 by @renovate in #9718
- fix(deps): update dependency @zio.dev/zio-kafka to v2.12.0 by @renovate in #9721
- Update cats-effect to 3.6.0 by @zio-scala-steward in #9722
- Bump actions/create-github-app-token from 1.11.6 to 1.11.7 by @dependabot in #9725
- Update fs2-core to 3.12.0 by @zio-scala-steward in #9727
- fix(deps): update dependency @zio.dev/zio-http to v3.2.0 by @renovate in #9730
- Upgrade to Tailwind 4 by @johnspade in #9728
- fix(deps): update tailwindcss monorepo to v4.0.17 by @renovate in #9731
- Update zio-http to 3.2.0 by @zio-scala-steward in #9732
- Use simple CSS minifier by @johnspade in #9734
- fix(deps): update react monorepo to v19.1.0 by @renovate in #9735
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.3 by @renovate in #9736
- Bump actions/create-github-app-token from 1.11.7 to 1.12.0 by @dependabot in #9737
- chore(deps): update dependency cytoscape to v3.31.2 by @renovate in #9739
- fix(deps): update tailwindcss monorepo to v4.1.0 by @renovate in #9741
- fix(deps): update tailwindcss monorepo to v4.1.1 by @renovate in #9746
- chore(deps): update dependency @types/react to v19.1.0 by @renovate in #9745
- Disable Renovate Dependency Dashboard by @hearnadam in #9747
- fix(deps): update tailwindcss monorepo to v4.1.2 by @renovate in #9749
- fix(deps): update tailwindcss monorepo to v4.1.3 by @renovate in #9752
New Contributors
- @kajebiii made their first contribution in #9703
- @maximskripnik made their first contribution in #9710
Full Changelog: v2.1.16...v2.1.17
2.1.16
Highlights
This seemingly small release brings 2 new features to ZIO which library authors can utilize in order to provide a better DX for users. As usually, it also contains a number of optimizations, bug fixes, and it's fully binary and source-compatible with the rest of the v2.x series.
HasNoScope evidence (#9604)
In ZIO, having a Scope as an environment requirement indicates that the effect contains finalizers (e.g., closing an HTTP connection) which need to be handled at some point in the evaluation of the effect or the application's lifetime. In certain cases, we might want to ensure that an effect provided to a method does not contain any finalizers. Starting with this version of ZIO, users / library authors can use the HasNoScope evidence for methods where the environment is generic, e.g.,:
def foo[R, A](f: ZIO[R, Nothing, A)(using HasNoScope[R]) = ???
val f1 = foo(ZIO.succeed("foo")) // compiles
val f2 = foo(ZIO.acquireRelease(ZIO.succeed("foo"))(_ => ZIO.unit)) // fails to compileNote that this feature is primarily intended for use in libraries such as zio-http where we need to ensure that a user-provided effect does not contain any finalizers.
Generic interfaces for non-empty collections (#9560)
This release introduces the NonEmptySeq type class (which NonEmptyChunk now extends) so that users / library authors can write generic code which requires non-empty collections as arguments.
What's Changed
- Mark
broacastDynamictests as flaky by @kyri-petrou in #9558 - Mark
Fiberas sealed by @hearnadam in #9554 - Optimise
zio.stream.ZChannel#mapOutZIOParcode by @guizmaii in #9556 - #9467 add peekAll to TQueue by @IgorDorokhov in #9476
- more general type for ZSink.last by @mberndt123 in #9506
- Add internal
Promise#succeedUnitmethod to avoidExitallocation when possible by @guizmaii in #9571 - Improve warning to
Chunk.fromArrayabout array mutability by @kyri-petrou in #9576 - fix to SuiteAll macro, fail on missing type Spec if not imported by @kaplan-shaked in #9575
- Use an
inline givenfor CanFail evidence in Scala 3 by @kyri-petrou in #9568 - add
stringValuemethod tozio.Config.Secretby @mberndt123 in #9580 - Implement generic interfaces for non-empty collections (#9559) by @987Nabil in #9560
- Optimise
ZIO::exitencoding by @guizmaii in #9586 - Optimize
ZIO::flatMapErrorencoding by @guizmaii in #9585 - Reduce cost of
Promisecreation by @guizmaii in #9603 - Clean
zio.stream.ZStream#toPullcode by @guizmaii in #9400 - Add
HasNoScopetype class (#9597) by @987Nabil in #9604
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-json to v0.7.15 by @renovate in #9551
- Update magnolia to 1.3.11 by @zio-scala-steward in #9553
- fix(deps): update dependency @zio.dev/zio-json to v0.7.16 by @renovate in #9561
- Remove community project
zio-aws-s3from doc as it's not maintained by @guizmaii in #9564 - Update zio-aws doc by @guizmaii in #9563
- Update magnolia to 1.3.12 by @zio-scala-steward in #9567
- chore(deps): update dependency prettier to v3.5.0 by @renovate in #9566
- Deprecate accessor methods in zio-kafka tutorial by @erikvanoosten in #9565
- fix(deps): update dependency @zio.dev/zio-json to v0.7.17 by @renovate in #9572
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc39 - autoclosed by @renovate in #9573
- fix: Flaky broadcastDynamic tests (#9555) by @gkfabs in #9557
- Bump actions/create-github-app-token from 1.11.2 to 1.11.3 by @dependabot in #9577
- fix(deps): update dependency postcss to v8.5.2 by @renovate in #9578
- fix(deps): update dependency @zio.dev/zio-bson to v1.0.8 by @renovate in #9579
- Update reactor-core to 3.7.3 by @zio-scala-steward in #9581
- fix(deps): update dependency @zio.dev/zio-json to v0.7.18 by @renovate in #9582
- fix(deps): update dependency @zio.dev/zio-redis to v1.0.1 by @renovate in #9583
- fix(deps): update dependency @zio.dev/zio-sbt to v0.4.0-alpha.31 by @renovate in #9584
- fix(deps): update dependency @zio.dev/zio-json to v0.7.19 by @renovate in #9588
- fix(deps): update dependency @zio.dev/zio-json to v0.7.20 by @renovate in #9591
- chore(deps): update dependency prettier to v3.5.1 by @renovate in #9590
- Update magnolia to 1.3.13 by @zio-scala-steward in #9594
- fix(deps): update dependency @zio.dev/zio-json to v0.7.21 by @renovate in #9599
- Update sbt-mdoc to 2.6.4 by @zio-scala-steward in #9595
- Update spring-core to 6.2.3 by @zio-scala-steward in #9596
- chore(deps): update dependency @types/react to v19.0.9 by @renovate in #9605
- Bump actions/create-github-app-token from 1.11.3 to 1.11.5 by @dependabot in #9607
- chore(deps): update dependency @types/react to v19.0.10 by @renovate in #9606
- Update magnolia to 1.3.14 by @zio-scala-steward in #9609
- fix(deps): update dependency @zio.dev/zio-json to v0.7.22 by @renovate in #9612
- fix(deps): update dependency @zio.dev/zio-json to v0.7.23 by @renovate in #9613
- fix(deps): update dependency react-icons to v5.5.0 by @renovate in #9615
- fix(deps): update dependency @zio.dev/zio-json to v0.7.24 by @renovate in #9614
- fix(deps): update dependency @zio.dev/zio-json to v0.7.25 by @renovate in #9618
- Tweaking the zio-kafka tutorial by @erikvanoosten in #9617
- fix(deps): update dependency postcss to v8.5.3 by @renovate in #9620
- fix(deps): update dependency @zio.dev/zio-schema to v1.6.2 by @renovate in #9619
- fix(deps): update dependency @zio.dev/zio-kafka to v2.11.0 by @renovate in #9621
- fix(deps): update dependency @zio.dev/zio-json to v0.7.26 by @renovate in #9627
- fix(deps): update dependency @zio.dev/zio-schema to v1.6.3 by @renovate in #9623
- fix(deps): update dependency react-markdown to v10 by @renovate in #9626
- chore(deps): update dependency prettier to v3.5.2 by @renovate in #9631
- fix(deps): update dependency @zio.dev/zio-json to v0.7.28 by @renovate in #9632
- Update sbt-scalafix, scalafix-testkit to 0.14.2 by @zio-scala-steward in #9628
- Update junit-platform-engine to 1.12.0 by @zio-scala-steward in #9630
- fix(deps): update dependency @zio.dev/zio-redis to v1.1.0 by @renovate in #9634
- fix(deps): update dependency @zio.dev/zio-json to v0.7.29 by @renovate in #9635
- fix(deps): update dependency @zio.dev/zio-logging to v2.5.0 by @renovate in #9636
- fix(deps): update dependency @zio.dev/zio-json to v0.7.30 by @renovate in #9637
- fix(deps): update dependency @zio.dev/zio-json to v0.7.31 by @renovate in #9641
- Bump JamesIves/github-pages-deploy-action from 4.7.2 to 4.7.3 by @dependabot in #9639
- fix(deps): update dependency @zio.dev/zio-json to v0.7.32 by @renovate in #9643
- Bump peter-evans/create-pull-request from 7.0.6 to 7.0.7 by @dependabot in #9640
- fix(deps): update dependency @zio.dev/zio-json to v0.7.33 by @renovate in #9644
- Update slf4j-simple to 2.0.17 by @zio-scala-steward in #9646
- Update magnolia to 1.3.15 by @zio-scala-steward in #9645
Full Changelog: v2.1.15...v2.1.16
2.1.15
Highlights
This release contains various under-the-hood optimizations and minor bug fixes.
Important
One noteable change is the update of izumi-reflect to v3.x from v2.x. This version of izumi-reflect generates tags that are not binary/backwards compatible for Scala 3 opaque types with those generated by v2.x.
Since zio itself does not use opaque types, we considered this as a safe change. However, library authors that have ZIO as a dependency might want to check whether this change affects them in any way and release a new version using the updated zio / izumi-reflect versions
What's Changed
- More efficient cleaning of exception stack traces in zio-test by @plokhotnyuk in #9437
- Optimise
zio.stream.ZStream.repeatby @guizmaii in #9397 - Optimise
zio.stream.ZStream#takeRightby @guizmaii in #9398 - Sink drop while bug by @eyalfa in #9405
- Optimise
zio.stream.ZChannel.mergeAllWithcode by @guizmaii in #9383 - Optimize
FiberRef#locallyby @guizmaii in #9480 - Optimize
FiberRef#locallyScopedby @guizmaii in #9481 - Optimize
FiberRef#locallyScopedWithby @guizmaii in #9483 - Fix rare race condition causing
ZStreamto hang on parallel errors by @kyri-petrou in #9478 - Optimize
ZIO.failby @kyri-petrou in #9487 - Optimize logging by @kyri-petrou in #9489
- Print interruptions in
ZIO#debugby @kyri-petrou in #9473 - Make
*VersionSpecificand*PlatformSpecifictraits package-private by @kyri-petrou in #9491 - update: ZIO#head to use subtype of Seq, not List by @hearnadam in #9502
- Cache+seal evidence classes by @hearnadam in #9509
- Optimize Ref.Atomic by @hearnadam in #9500
- fix : ZStream Broadcastdynamic hanging by @gkfabs in #9474
- Ensure
Supervisor#onEndis called exactly once by @kyri-petrou in #9537 ZIO.fromEithershould produce a stacktrace on failure by @kyri-petrou in #9536
Other changes (CI, dependencies and documentation)
- Update contributor guidelines by @plokhotnyuk in #9435
- Update dependency highlight.js to v11.11.1 by @renovate in #9440
- Update dependency @zio.dev/zio-sbt to v0.4.0-alpha.29 by @renovate in #9442
- Docs (test-aspects) - use sbt testOnly in examples by @dbrown428 in #9441
- Update dependency @zio.dev/zio-config to v4.0.3 by @renovate in #9444
- Update @zio.dev/zio-dynamodb docs to 1.0.0-RC17 by @github-actions in #9446
- Use GitHub App Token to Create PRs of New Documentation Releases by @khajavi in #9447
- Update dependency @zio.dev/zio-streams-compress to v1 by @renovate in #9448
- Update dependency @zio.dev/zio-sbt to v0.4.0-alpha.30 by @renovate in #9451
- Update dependency @zio.dev/zio-telemetry to v3.1.1 by @renovate in #9454
- Update scalafmt version by @kyri-petrou in #9450
- Update dependency @zio.dev/zio-json to v0.7.4 by @renovate in #9455
- Add documentation about using virtual threads by @digy in #9368
- Update dependency typescript to v5.7.3 by @renovate in #9457
- Update dependency @types/react to v19.0.4 by @renovate in #9456
- Update dependency @zio.dev/zio-kafka to v2.9.1 by @renovate in #9460
- Update dependency @types/react to v19.0.5 by @renovate in #9461
- Update dependency @types/react to v19.0.6 by @renovate in #9462
- Add test for
ZStream#dropWhileZIOby @kyri-petrou in #9463 - Update dependency @types/react to v19.0.7 by @renovate in #9468
- Update dependency cytoscape to v3.31.0 by @renovate in #9465
- Update dependency prettier-plugin-tailwindcss to v0.6.10 by @renovate in #9469
- Update dependency postcss to v8.5.1 by @renovate in #9466
- Reduce parallelism of
ZStreamSpecby @kyri-petrou in #9464 - Run Auto-approve GH job only for renovate PRs by @kyri-petrou in #9472
- Update dependency @zio.dev/zio-kafka to v2.10.0 by @renovate in #9475
- Add missing
disableAutoTracein ZStream file by @kyri-petrou in #9479 - Fix flaky test in SemaphoreSpec by @kyri-petrou in #9492
- Update dependency @zio.dev/zio-schema to v1.6.0 by @renovate in #9497
- Update dependency prettier-plugin-tailwindcss to v0.6.11 by @renovate in #9496
- Update dependency @zio.dev/zio-json to v0.7.5 by @renovate in #9495
- Update dependency @types/react to v19.0.8 by @renovate in #9493
- Update dependency @zio.dev/zio-schema to v1.6.1 by @renovate in #9499
- Update dependency @zio.dev/zio-json to v0.7.6 by @renovate in #9498
- Update dependency @zio.dev/zio-json to v0.7.7 by @renovate in #9501
- Update dependency @zio.dev/zio-json to v0.7.8 by @renovate in #9504
- Update dependency @zio.dev/izumi-reflect to v2024.11.11-da5b828d4d6e by @renovate in #9513
- Update dependency @zio.dev/zio-json to v0.7.9 by @renovate in #9510
- Disable bsp for js/native specific sources by @hearnadam in #9508
- fix(deps): update dependency react-markdown to v9.0.3 by @renovate in #9515
- Update izumi-reflect to v3.0.0 by @kyri-petrou in #9517
- Update dependencies by @guizmaii in #9520
- fix(deps): update dependency @zio.dev/zio-json to v0.7.10 by @renovate in #9522
- Deprecating accessor methods by @erikvanoosten in #9519
- fix broken links in docs by @mberndt123 in #9514
- fix(deps): update dependency @zio.dev/zio-json to v0.7.12 by @renovate in #9528
- Fix CI: Update
actions/upload-artifact&&actions/download-artifactby @guizmaii in #9527 - fix(deps): update dependency @zio.dev/zio-json to v0.7.12 by @renovate in #9529
- fix(deps): update dependency @zio.dev/zio-json to v0.7.13 by @renovate in #9530
- Add scala-steward and dependabot to maintain things up-to-date by @guizmaii in #9526
- Bump actions/checkout from 4.1.1 to 4.2.2 by @dependabot in #9534
- Bump release-drafter/release-drafter from 5 to 6 by @dependabot in #9532
- Bump actions/create-github-app-token from 1.11.1 to 1.11.2 by @dependabot in #9535
- Bump actions/setup-java from 4.2.1 to 4.7.0 by @dependabot in #9533
- Bump JamesIves/github-pages-deploy-action from 4.4.1 to 4.7.2 by @dependabot in #9531
- Update sbt-mdoc to 2.6.3 by @zio-scala-steward in #9543
- Update junit-platform-engine to 1.11.4 by @zio-scala-steward in #9542
- Update izumi-reflect to 3.0.1 by @zio-scala-steward in #9539
- fix(deps): update dependency @zio.dev/zio-json to v0.7.14 by @renovate in #9546
- Bump actions/setup-node from 3 to 4 by @dependabot in #9545
- Documentation: Remove Deprecated Projects by @khajavi in #9547
- Update magnolia to 1.3.10 by @zio-scala-steward in #9549
New Contributors
- @dbrown428 made their first contribution in #9441
- @zio-scala-steward made their first contribution in #9543
- @gkfabs made their first contribution in #9474
Full Changelog: v2.1.14...v2.1.15
2.1.14
Highlights
This release comes packed with bug fixes and under-the-hood optimizations. Big thank you to all the old and new contributors for their work in this release!
Important
Runtime behaviour change of ZIO#onDone and ZIO#onDoneCause
In this release, the behavior of onDone and onDoneCause has changed to address concerns raised in #9191. Unlike other onX methods, onDone and onDoneCause executed the callback effects in "fire and forget" mode.
We believe that this behaviour could lead to unexpected bugs in applications. As such we changed the implementation of these methods so that the callbacks are executed synchronously. While we believe it's highly unlikely that users using these methods were aware of this implementation detail, we still advice them to review their usages as a precaution.
What's Changed
- More efficient parsing of line numbers without string allocations (#9433) @plokhotnyuk
- More
Exitoptimizations forZIOmethods (#9427) @kyri-petrou - Check
Exit.Successfirst inFiberRuntime#runloop(#9422) @kyri-petrou - Optimizations for
ZIO#foreach*methods (#9365) @kyri-petrou - Use an
ExitforPromise.succeed(#9419) @kyri-petrou - Use
Exit.succeedin more places (#9418) @kyri-petrou - Optimisation: Replace
Trace.instance.unapplycalls withTrace.instance.parse(#9416) @guizmaii - Optimise
Tracer.instance#unapply(#9414) @guizmaii - Optimize pattern-matching in
ZIO/Exitmethods (#9415) @kyri-petrou - Ensure that TestClock methods are thread-safe (#9408) @kyri-petrou
- Optimisation: Implement
ZIO.suspendSucceedwithZIO.FlatMap(#9388) @guizmaii - Optimisation - FiberRuntime: bypass evaluation of
flatmap.firstwhen possible (#9393) @guizmaii - Optimise
zio.stream.ZStream.fromChunk(#9396) @guizmaii - Optimise
zio.stream.ZStream.succeed(#9399) @guizmaii - Optimise
FiberRef#set(#9402) @guizmaii - Optimisation - FiberRuntime: Remove
ZIO.Continuationallocation (#9391) @guizmaii - Optimize Scope-related methods (#9372) @kyri-petrou
- zio-test: Don't overwrite inner node labels (#9363) @joroKr21
- Fix race condition for errors in
ZChannel.mapOutZIOPar*methods (#9354) @kyri-petrou - Refactor
FiberRefsshortcut optimizations (#9328) @kyri-petrou - Optimise
ZStream.repeatZIOChunkOption(#9379) @guizmaii - Fix #9358 OS signal handling for windows (#9366) @clarzte
- [Issue #8571] Fix spans in TestResults with inlined code (#9367) @arainko
- Remove internal usages of
ZIO.done(#9369) @kyri-petrou - Ensure ZLayer macros use the trace from implicit scope (#9361) @joroKr21
- Simplify
Pull.failCausecode (#9364) @guizmaii - Add Runtime method to enable loom based blocking executor (#9355) @digy
- Replace internal
ZIO.success(Chunk.empty)calls withExit.emptyChunk(#9360) @guizmaii - Replace all internal
ZIO.fail(None)withExit.failNone(#9359) @guizmaii - Fix leak of finalizers in
ZKeyedPool(#9329) @kyri-petrou - Transfer child finalisers to parent in ZIO.raceAll and ZIO.raceFibersWith #9203 (#9353) @digy
- Fix zio-kafka regression caused by ZStream changes (#9341) @kyri-petrou
- Bring Ref on par with AtomicInteger (#9340) @erikvanoosten
- Make
vals non-transient in ZIO services (#9345) @kyri-petrou - Cause filter fix (#9254) @eyalfa
- Use
-Ybackend-parallelism:4when compiling Scala 2.13 with optimization enabled (#9346) @kyri-petrou - [Issue-9272] add ZLayer#runWith (#9351) @arainko
- Add
applyOnExitandapplyOnExitWithmethods toZIO.Grafter(#9349) @kyri-petrou - Use a
valfor accessingRef.Atomic#unsafe(#9344) @kyri-petrou - perf: Use whileLoop instead of recursion for several functions (#9131) @tmccombs
- Suppress ExplicitImplicitTypes Wartremover warning in macro (#9323) @joroKr21
- Fix Scope propagation in
ZStream#runScoped(#9327) @kyri-petrou - Fix scope propagation for multiple specs #9175 (#9325) @clarzte
- Remove implicit forking in ZIO#onDone and ZIO#onDoneCause to align with onX methods (#9286) @asr2003
- Cleanup & update build.sbt (#9310) @kyri-petrou
Other changes (CI, dependencies and documentation)
- Update dependency @types/react to v19.0.2 (#9434) @renovate
- Update dependency tailwindcss to v3.4.17 (#9432) @renovate
- Migrate renovate config (#9428) @renovate
- Update izumi Version (#9429) @khajavi
- Update dependency typescript to v5.7.2 (#9425) @renovate
- Update dependency @tsconfig/docusaurus to v2.0.3 (#9420) @renovate
- Update dependency @types/react-helmet to v6.1.11 (#9421) @renovate
- Update dependency tailwindcss to v3.4.16 (#9423) @renovate
- Update dependency clsx to v2.1.1 (#9424) @renovate
- fix(deps): update dependency highlight.js to v11.11.0 (#9413) @renovate
- chore(deps): update react monorepo to v19 (major) - autoclosed (#9381) @renovate
- chore(deps): update dependency prettier to v3.4.2 - autoclosed (#9374) @renovate
- chore(deps): update dependency @types/react to v18.3.13 (#9376) @renovate
- fix(deps): update dependency @zio.dev/zio-cli to v0.7.0 (#9377) @renovate
- fix(deps): update dependency react-icons to v5.4.0 (#9371) @renovate
- feat: Migrate to Docusaurus v3 (#9165) @neo773
- Update documentation of ref to fix warning about immutable data (#9357) @varshith257
- Avoid name clash on JDK 23 from java.io.IO (#9322) @digy
- Remove Scalac From Sponsors (#9331) @khajavi
- chore(deps): update dependency prettier to v3.4.1 (#9347) @renovate
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.1.0 (#9348) @renovate
- Add a Banner for Zionomicon Announcement (#9338) @khajavi
- chore(deps): update dependency prettier to v3.4.0 (#9343) @renovate
- chore(deps): update dependency cytoscape to v3.30.4 (#9342) @renovate
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.2 (#9335) @renovate
- fix(deps): update dependency @zio.dev/zio-quill to v4.8.5 (#9334) @renovate
- Introducing ZIO Guru on Gurubase.io (#9314) @kursataktas
- chore(deps): update dependency prettier-plugin-tailwindcss to v0.6.9 (#9315) @renovate
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc35 (#9318) @renovate-bot
New Contributors
- @clarzte made their first contribution in #9325
- @kursataktas made their first contribution in #9314
- @tmccombs made their first contribution in #9131
- @arainko made their first contribution in #9351
- @digy made their first contribution in #9322
- @neo773 made their first contribution in #9165
- @plokhotnyuk made their first contribution in #9433
Full Changelog: v2.1.13...v2.1.14
2.1.13
Highlights
This seemingly small release brings a number of new features and important bugfixes:
- Adds support for the Junit 5 engine via the new
zio-test-junit-enginemodule #9214. - [ScalaJS] Adds support for accessing environment variables via
zio.Systemin JS engines that support it (e.g., NodeJS) #9282. - Fixes a bug to an issue some users faced with
ZStream.mapZIOPar*methods since v2.1.12 #9312.
As always, this version is fully source and binary compatible with the rest of the v2.x series.
What's Changed
- Add junit 5 engine for zio tests. Resolves #6724 by @vincent-raman in #9214
- Fix Span Substring Bounds Handling by @Saturn225 in #9285
- Make environment variables access platform-specific by @mhriemers in #9282
- Allow creation of child fibers within uninterruptible regions on interrupted fibers by @kyri-petrou in #9295
- Ensure that FiberRuntime auto-yields when evaluating
WhileLoops by @kyri-petrou in #9289 - Improve subtype global cache performance by @kyri-petrou in #9296
- Fix memory leak in
ZKeydPool#invalidateby @kyri-petrou in #9307 - Reduce the size of code generated by layer macros by @joroKr21 in #9281
- Fix interruption propagation in
ZChannel#mapOutPar*methods by @kyri-petrou in #9312
Other changes (CI, dependencies and documentation)
- Doc: Simplify example by @guizmaii in #9287
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc32 by @renovate in #9290
- fix(deps): update dependency postcss to v8.4.48 by @renovate in #9292
- fix(deps): update dependency postcss to v8.4.49 by @renovate in #9294
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc33 by @renovate in #9293
- Fix flaky interruption test by @kyri-petrou in #9299
- fix(deps): update dependency @zio.dev/zio-logging to v2.4.0 - autoclosed by @renovate in #9298
- fix(deps): update dependency @zio.dev/zio-kafka to v2.9.0 by @renovate in #9301
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc34 by @renovate in #9302
- fix(deps): update dependency tailwindcss to v3.4.15 by @renovate in #9305
- Fix timeouts in ZStream test by @kyri-petrou in #9313
- Fix release CI (#9317) @kyri-petrou
New Contributors
- @Saturn225 made their first contribution in #9285
- @mhriemers made their first contribution in #9282
Full Changelog: v2.1.12...v2.1.13