Releases: zio/zio
2.1.12
This release brings a couple bug fixes for STM, as well as a few optimizations and usability improvements.
What's Changed
- Add addLogAnnotation method to Runtime for adding a log annotation to the entire app by @somdoron in #9235
- Add
ZIO.fromNullableby @kyri-petrou in #9250 - Use reflection to install system signal handlers in JVM applications by @kyri-petrou in #9251
- adds ConfigProvider.fromAppArgs by @somdoron in #9242
- fix pipeline intersperse issue by @paulpdaniels in #9253
- [9102] - add awaiting function to Semaphore by @IgorDorokhov in #9212
- Expose
Fiber.Runtime.UnsafeAPI#interruptmethod by @hearnadam in #9246 - Ensure that transactions containing both reads and writes are consistent by @kyri-petrou in #9265
- optimize fromCompletionStage by @hearnadam in #9267
- Optimise happy path in ZChannel.mapOutZIOPar* by @regiskuckaertz in #9123
- Allow all types of statements within
suiteAllfor Scala 3 by @kyri-petrou in #9273 - Make
TMap#toMapidempotent by @kyri-petrou in #9280
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-profiling to v0.3.2 by @renovate in #9238
- Add
.devcontainerconfig by @kyri-petrou in #9228 - fix(deps): update dependency @zio.dev/zio-ftp to v0.4.3 by @renovate in #9241
- fix(deps): update dependency @zio.dev/zio-logging to v2.3.2 by @renovate in #9248
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.0 by @renovate in #9249
- Add zio-streams-compress by @erikvanoosten in #9252
- Added zio-cli sample project to sampleprojects by @fancellu in #9256
- Add Kafka BigQuery Express to the sampleprojects by @erikvanoosten in #9255
- fix(deps): update dependency @zio.dev/zio-streams-compress to v0.0.2 by @renovate in #9259
- fix(deps): update dependency @zio.dev/zio-kafka to v2.8.3 by @renovate in #9263
- docs: update quickstarts and tutorials for sbt-revolver plugin added by @varshith257 in #9195
- Update dependencies by @kyri-petrou in #9270
- Fixed typo in zio.md by @gbarrett-makeit in #9275
- Add articles to Resources and sort them by @ghostdogpr in #9277
- Fix Scaladoc for
ZStream.fromOutputStreamScopedby @kyri-petrou in #9269 - Doc: Update the Service Pattern doc && Remove the
Accessor Methodssection from it by @guizmaii in #9220 - fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.1 by @renovate in #9278
2.1.11
We found a regression in 2.1.10 causing a runtime exception in some cases when using ZIO environment and layers, so here's a release to fix that.
What's Changed
- Fix
IndexOutOfBoundsExceptionwhen usingreverseIteratoronUpdateOrderLinkedMapby @kyri-petrou in #9239
2.1.10
This release brings a few important bug fixes related to ZPool and ZSTM as well as some optimizations. It also fixes a binary incompatibility that caused runtime errors when using an older version ZIO Streams together with ZIO 2.1.9.
Important note about ZPool changes
There are 2 fixes / changes to ZPool that might affect the behaviour of an application so users are advised to revise the following in cases of unexpected behaviour after upgrading to ZIO 2.1.10+.
Eager / strict initialization of ZPool's resources
In previous ZIO versions, the initialization of ZPool resources was done lazily in a daemon fiber. e.g., this code would previously print the message, but will now "hang" awaiting for the pool to be initialized to its full size:
ZPool.make(ZIO.never, 10) *> ZIO.debug("Pool initialized")We believe that this change makes the behaviour of ZPool more predictable (and referentially transparent!) as previously there were no guarantees that the ZPool resources would be initialized during the creation of the pool. However, this might result in the initialization of the pool hanging in cases that the acquisition of the resources itself hangs. Therefore users are advised to consider adding timeouts to the resource initialization effect.
Strict finalization of ZPool resources
In previous versions, it was possible for the ZPool finalizers to be interrupted, which would lead to potential leak of resources (see this issue for more info). Starting with ZIO 2.1.10+, closing a ZPool requires all of the resource finalizers to finish first. As with (1), this might lead to some unexpected behaviour if the finalization of a resource hangs indefinitely, so users are advised to add timeouts to the finalizers of resources used with ZPool.
What's Changed
- Use "unsafe" methods in
Ref.Atomicby @kyri-petrou in #9155 - Fix ZPool finalizers not running when resource acquisition fails or is interrupted by @kyri-petrou in #9163
- Initialize ZPool to its full size in the calling fiber by @kyri-petrou in #9164
- Install signal handlers when running test suites by @kyri-petrou in #9166
- Ensure ZPool finalizers are run if initialization is interrupted by @kyri-petrou in #9174
- Ensure all FiberId recursive methods are stack safe by @guymers in #9173
- Inherit child fibers created by merged streams by @kyri-petrou in #9180
- Fix assert macro throwing missing method error in Scala 3 by @kyri-petrou in #9183
- Add mapErrorZIO to streams by @cipriansofronia in #9187
- Use reference equality in
ZEnvironmentwhen applying optimizations by @kyri-petrou in #9207 - Fix binary incompatibility issue in zio v2.1.7+ by @kyri-petrou in #9223
- Attempt to obtain new locks without retrying transaction in ZSTM by @kyri-petrou in #9221
Other changes (CI, dependencies and documentation)
- chore(deps): update dependency @types/react to v18.3.5 by @renovate in #9154
- fix(deps): update dependency postcss to v8.4.42 by @renovate in #9156
- Restyling welcome page by @SvMak in #9112
- fix(deps): update dependency postcss to v8.4.43 by @renovate in #9158
- fix(deps): update dependency postcss to v8.4.44 by @renovate in #9159
- Add zio-apache-parquet to ecosystem community docs by @grouzen in #9157
- fix(deps): update dependency postcss to v8.4.45 by @renovate in #9169
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc31 by @renovate in #9171
- Set JDK release version to 11 by @kyri-petrou in #9177
- fix(deps): update dependency @zio.dev/zio-http to v3.0.0 by @renovate in #9190
- Fix logo resolution by @SvMak in #9188
- fix(deps): update dependency postcss to v8.4.47 by @renovate in #9196
- fix(deps): update dependency tailwindcss to v3.4.11 by @renovate in #9192
- fix(deps): update dependency @zio.dev/zio-query to v0.7.6 by @renovate in #9197
- chore(deps): update dependency @types/react to v18.3.6 by @renovate in #9198
- Documentation: Fix The Link to OpenTracing Documentation Page by @khajavi in #9161
- chore(deps): update dependency @types/react to v18.3.7 by @renovate in #9199
- fix(deps): update dependency @zio.dev/zio-http to v3.0.1 by @renovate in #9200
- fix(deps): update dependency @zio.dev/zio-bson to v1.0.7 by @renovate in #9201
- fix(deps): update dependency @zio.dev/zio-schema to v1.5.0 by @renovate in #9204
- fix(deps): update dependency tailwindcss to v3.4.12 by @renovate in #9202
- chore(deps): update dependency @types/react to v18.3.8 by @renovate in #9206
- Remove mention of discontinued tools by @namingbe in #9213
- Typos in zpipeline.md by @dubinsky in #9219
- fix(deps): update dependency tailwindcss to v3.4.13 by @renovate in #9216
- chore(deps): update dependency prettier-plugin-tailwindcss to v0.6.8 by @renovate in #9218
- chore(deps): update dependency @types/react to v18.3.9 by @renovate in #9217
- Doc: Update info about Java versions supported by @guizmaii in #9224
- chore(deps): update dependency @types/react to v18.3.11 by @renovate in #9225
- Doc: Needs to use serviceWithZIO not serviceWith by @fancellu in #9226
- fix(deps): update dependency @zio.dev/zio-lambda to v1.0.5 by @renovate in #9230
- Fix documentation for TestLens#right by @callado4 in #9232
2.1.9
After receiving multiple reports of users failing to compile code using ZLayer macros with v2.1.8, we decided to temporarily revert #9077 until we get to bottom of what's been causing it.
What's Changed
- fix(deps): update dependency @zio.dev/zio-query to v0.7.5 by @renovate in #9144
- Update Scala Native to 0.5.5 by @kyri-petrou in #9143
- fix(deps): update dependency @zio.dev/zio-json to v0.7.3 by @renovate in #9148
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc30 by @renovate in #9150
- Revert "makeSome refactoring" by @kyri-petrou in #9151
Full Changelog: v2.1.8...v2.1.9
2.1.8
This release brings a re-implemented ZSTM runtime that significantly improves performance under contention, enables multi-threading for Scala Native 0.5.x, squashes some minor bugs, and makes a few things run a little bit faster. And it is fully binary and source-compatible with the rest of 2.x release!
Highlights
ZSTM performance improvements
The performance of ZSTM under heavy contention has regressed over time due to various bug fixes. In this release, we reimplemented the internal runtime of ZSTM in order to significantly improve its performance under heavy contention (up to 800% improved throughput in some benchmarks!) all while achieving similar or better performance under no contention. For more details check out #9081
Scala Native multi-threading support
In the previous release, we updated Scala Native to v0.5.x but as we mentioned in the release notes, the ZIO runtime was not yet multi-threading capable. In this release, we threw most of the existing Scala Native code (which was not thread-safe) and changed it to use (mostly) the same code as the JVM artifacts. Users that currently use ZIO with Scala Native 0.5.x must enable multi-threading for Scala Native in their builds by removing nativeConfig ~= { _.withMultithreading(false) }.
Warning
We're aware of an issue when using zio-test on MacOS ARM64 when the debug compilation mode is used (default). If you come across any issues, try setting the mode to releaseFast or releaseFull (see here for an example)
What's Changed
- makeSome refactoring (#9077) @pablf
- Scala native multi-threading support (#9127) @kyri-petrou
- Config.Secret's length leak (#9129) @pablf
- send test finished notification for failing tests (#9139) @vincent-raman
- Whencasediscardfunctions (#9136) @Petter-K
- Optimise
Secretcreation fromString(#9130) @guizmaii - Fix Scala Native tests not being run/reported properly (#9126) @kyri-petrou
FiberRuntimecleanups & micro-optimizations (#9115) @kyri-petrou- Prefer
ExitoverZIOin nested effects and other micro-optimizations (#9106) @kyri-petrou - Optimize
FiberRef#locallyto restore previous FiberRefs when unmodified (#9105) @kyri-petrou - Use an improved eq in
FiberRefsand add shortcut forjoin(#9100) @kyri-petrou - Add TestAspect.checks to allow running aspects within property-based specs (#9076) @mschuwalow
- Allow
cachedmethods to be interrupted (#9068) @guymers - Avoid scheduling non-positive sleep timers (#9098) @kyri-petrou
- Improve
ZSTM's performance (#9081) @kyri-petrou - Ensure
ZStreamscope is properly closed (#9088) @kyri-petrou - fix: restore non-determinism in mapOutZIOParUnordered (#9075) @regiskuckaertz
- feat: accumulate errors in ZChannel.mapOutZIOPar (#9065) @regiskuckaertz
- Fix behaviour of
ZEnvironment.empty.get[Any](#9074) @kyri-petrou
Other changes (CI, dependencies and documentation)
- Fix checkout on release (#9142) @kyri-petrou
- STM Documentation: Improve Writing and Fix Grammar Mistakes (#9107) @khajavi
- fix(deps): update dependency @zio.dev/zio-redis to v1 (#9141) @renovate
- fix(deps): update dependency @zio.dev/zio-logging to v2.3.1 (#9140) @renovate
- fix(deps): update dependency @zio.dev/zio-kafka to v2.8.2 (#9137) @renovate
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.0-rc26 (#9134) @renovate
- chore(deps): update dependency @types/react to v18.3.4 (#9133) @renovate
- fix(deps): update dependency @zio.dev/zio-kafka to v2.8.1 (#9132) @renovate
- Fix flaky
ZStreamtest (#9121) @kyri-petrou - Reduce CI test time & optimize zio-test execution (#9128) @kyri-petrou
- Add video component (#9111) @SvMak
- Fix typos and improve English in index.md (#9119) @nedmules-sked
- Setup improving website (#9110) @SvMak
- fix(deps): update dependency @zio.dev/zio-schema to v1.4.1 (#9114) @renovate
- fix(deps): update dependency @zio.dev/zio-schema to v1.4.0 (#9109) @renovate
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc29 (#9108) @renovate
- Ensure green CI with re-actors/alls-green (#9104) @sideeffffect
- fix(deps): update dependency @zio.dev/zio-json to v0.7.2 (#9103) @renovate
- Reduce number of CI workflows (#9096) @kyri-petrou
- fix(deps): update dependency @zio.dev/zio-optics to v0.2.2 (#9099) @renovate
- fix(deps): update dependency @zio.dev/zio-constraintless to v0.3.3 (#9097) @renovate
- Fix flaky
WeakConcurrentBagSpectest (#9095) @kyri-petrou - Fix TestClock (#9080) @asr2003
- add new ZIO template project to the list of template projects (#9094) @lachezar
- Fix flaky
ZLayertest (#9092) @kyri-petrou - chore(deps): update dependency cytoscape to v3.30.2 (#9085) @renovate
- fix(deps): update dependency @zio.dev/zio-prelude to v1.0.0-rc28 (#9083) @renovate
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.0-rc25 (#9090) @renovate
- fix(deps): update dependency postcss to v8.4.41 (#9078) @renovate
- Typo in stream reference (#9064) @SADmitry
- docs: add clarification note on initialization of test bootstrap layers (#9057) @varshith257
2.1.7
This release adds support for Scala Native 0.5, contains various bug fixes as well as performance optimizations.
Highlights
Scala Native 0.5 support
This version of ZIO is released using Scala Native 0.5, which means that libraries that depend on ZIO can now also update their Scala Native version. Special thanks to @sideeffffect for his work on this 🎉
Warning
At the moment, ZIO is not yet fully compatible for use with Scala Native's multi-threading feature. We are planning on adding support for it soon, but until then, users are encouraged to disable it using nativeConfig ~= { _.withMultithreading(false) } in their project config.
Fix memory leaks in parallel ZStream processing methods
In v2.1.3 we did a number of optimizations to parallel ZStream processing. Unfortunately, since then we received a number of reports where users experienced memory leaks, which we managed to trace back to these optimizations. While we managed to patch a number of these issues in subsequent releases, we weren't able to fully eliminate them and therefor we made the decision to temporarily revert them back to their pre-v2.1.3 implementation. We are planning be revisiting optimizations for these methods in a future release but this time ensuring that they don't lead to memory leaks for edge-case usage patterns.
Tip
Based on the reports we received, it appears that many users use unbounded parallelism (i.e., n = Int.MaxValue) in ZStream's *Par methods. To improve performance of these methods, we highly encourage users the following:
- Use a finite parallelism limit for ZStream's
*Parmethods. The limit needs to make sense for the workflow and system's resources. If unsure on what value to use, you can use these values as a vague starting point:
i. CPU-bounded workflow:n = nCPU
ii. IO-bounded: workflown = nCPU x ~8-16 - If overriding the buffer size, use a relatively small value (i.e.,
<= 16) - Use a power of 2 value for both parallelism and buffer sizes
What's Changed
- Avoid usage of
equalsmethod when updating/joiningFiberRefs(#8989) @kyri-petrou - ZSink - collectAllToMapValue{N} (#9062) @Petter-K
- Avoid additional
Function1allocation when usingZIO.succeedin Scala 3 (#9047) @kyri-petrou - Log a warning when a Gen stream doesn't generate any values (#9069) @kyri-petrou
- fix: avoid unbounded buffer in mapOutZIOPar (#9061) @regiskuckaertz
- Fix
ClassCastExceptionwhen concatenating chunks of different primitives (#9060) @kyri-petrou - fix: revert mapZIOPar, mapOutZIOParUnordered and mergeAllWith (#9054) @regiskuckaertz
- Add implicit conversions between scala and java numeric types (#8939) @pablf
- Optimizations of future interop methods (#9045) @kyri-petrou
- Improve performance of updating interruption by 1 order of magnitude (#9033) @kyri-petrou
- Scala Native 0.5.x (#8840) @sideeffffect
- Ensure bounded queue items are correctly ordered (#9044) @kyri-petrou
- Avoid unnecessary parking/unparking of threads when yielding (#9026) @kyri-petrou
- Ensure UnsafeAPI performs stateful updates within fiber (#9040) (#9042) @steinybot
- Use fresh names for compose helper method in layer macro (#9037) @joroKr21
- core: use reference equality for null checks where possible (#9038) @hearnadam
- Optimize failures, retries and stack trace generation (#9020) @kyri-petrou
- Zio-9012 async resumption (#9016) @eyalfa
- Optimize
ZIO.foreachmethods (#9005) @kyri-petrou - Make
ZIO.fromAutoCloseablesafer (#9008) @guizmaii
Other changes (CI, dependencies and documentation)
- Increase timeout for flaky ZStream test (#9071) @kyri-petrou
- Add exclusion for Scala 3 (#9070) @kyri-petrou
- Add TestAspect.withLiveClock to the docs (#8973) @varshith257
- docs: sharing the result of an effectful value between tests (#9063) @nartamonov
- Documentation: Remove Extra Empty Lines (#9059) @khajavi
- fix(deps): update dependency autoprefixer to v10.4.20 (#9067) @renovate
- fix: untie streams-test from core-test (#9066) @regiskuckaertz
- Dependency and doc updates (#9051) @kyri-petrou
- Run mima checks against latest stable version (#9055) @kyri-petrou
- Additional tests for queues with bounded parallelism (#9053) @kyri-petrou
- fix(deps): update dependency postcss to v8.4.40 (#9039) @renovate
- chore(deps): update dependency cytoscape to v3.30.1 - autoclosed (#9024) @renovate
- chore(deps): update dependency typescript to v5.5.4 (#9035) @renovate
- Don't run side effects in STM docs (#9050) @ghostdogpr
- Remove unused
AsyncJump(#9048) @kyri-petrou - Add
.git-blame-ignore-revsfile (#9034) @kyri-petrou - Add formatter for Scala 3 files (#9032) @kyri-petrou
- Remove some sbt warnings (#9029) @guizmaii
- Fix Scala 2.12 release (#9027) @kyri-petrou
- Improve compile-time optimizations (#9021) @kyri-petrou
- Update v2 version on website (#9022) @kyri-petrou
- Skip compilation of
scalafixmodules via IntelliJ (#9017) @kyri-petrou - fix(deps): update dependency @zio.dev/zio-schema to v1.3.0 (#9014) @renovate
- fix(deps): update dependency @zio.dev/zio-query to v0.7.4 (#9009) @renovate
- fix(deps): update dependency @zio.dev/zio-kafka to v2.8.0 (#9010) @renovate
2.1.6
This minor release contains a few important bug fixes and optimizations to improve performance. The most notable fix was done in #8997 which fixed a potential memory leak when using ZStream#mapZIOParUnordered.
What's Changed
- Avoid forking in
zipWithParwhen one of the effects is anExit.Success(#8999) @kyri-petrou - Optimize various ZIO methods to reduce allocations and
flatMaps(#8990) @kyri-petrou - fix ZStream#mapZIOParUnordered memory leak (#8997) @myazinn
- Improved rechunker for large chunks (#8991) @davidlar
- Fix unused warning in
ZLayer#providemacro for Scala 2 (#8994) @kyri-petrou - Use a
ConcurrentHashMapas a cache inZEnvironment(#8992) @kyri-petrou - Optimize
FiberRef#locally(#8988) @kyri-petrou - Avoid unnecessary
flatMaps in different ZIO methods (#8984) @kyri-petrou - Disable
FiberRuntimeassertions for release versions (#8980) @kyri-petrou - Improve
ZLayer.deriveand allow Tags to be derived viaderiveskeyword for Scala 3 (#8975) @kyri-petrou
Other changes (CI, dependencies and documentation)
- Fix
-Xelide-belowflag for Scala 2.12 (#9004) @kyri-petrou - Reduce Scala Native CI time to 13 mins (down from 25) (#9000) @kyri-petrou
- fix(deps): update dependency @zio.dev/zio-query to v0.7.3 (#8985) @renovate
- chore(deps): update dependency typescript to v5.5.3 (#8987) @renovate
- fix(deps): update dependency postcss to v8.4.39 (#8981) @renovate
- chore(deps): update dependency cytoscape to v3.30.0 (#8978) @renovate
- fix(deps): update dependency @zio.dev/zio-schema to v1.2.2 (#8979) @renovate
- fix(deps): update dependency @zio.dev/zio-http to v3.0.0-rc9 (#8972) @renovate
2.1.5
This minor release contains a bug fix and a few improvements. The most meaningful improvement is that we now try to detect when an asynchronous effect is run from inside another ZIO effect via Runtime.unsafe.run (which is an anti-pattern! but happens in the wild) and move it automatically to the blocking threadpool to prevent deadlocks.
What's Changed
- Cleanup
submitandsubmitAndYieldmethods inZSchedulerby @kyri-petrou in #8957 - Avoid deadlocks when a Fiber is unsafely running asynchronous effects by @kyri-petrou in #8955
- Prefer
Exit.succeedoverZIO.succeedfor pure functions by @kyri-petrou in #8961 - Add
Duration#asFiniteDurationby @Adriani277 @asr2003 @ghostdogpr in #8960 #8962 #8967 - Fixed defect in accessing environment when using
ZPipeline.fromFunctionby @eyalfa in #8966 - Use a mutable
HashMapas a cache inZEnvironmentby @kyri-petrou in #8974
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-sbt to v0.4.0-alpha.28 by @renovate in #8969
- fix(deps): update dependency @zio.dev/zio-json to v0.7.1 by @renovate in #8977
- fix(deps): update dependency @zio.dev/zio-query to v0.7.2 by @renovate in #8968
New Contributors
Full Changelog: 2.1.4...v2.1.5
2.1.4
This minor release contains 2 important bug fixes to ZStream parallel operations and ZLayer derivation. It also contains some performance improvements to ZStream and the new methods to ZIO that improve UX.
What's Changed
- Provide
traceexplicitly inZLayer#providemacros by @kyri-petrou in #8938 - Lower upper bound of zio_fiber_lifetimes buckets by @andrzejressel in #8937
- Improve rechunk performance by @paulpdaniels in #8928
- Micro-optimize
ZIO.environmentby @kyri-petrou in #8943 - Enrich
Promise#unsafeAPI by @kyri-petrou in #8942 - Add
xDiscardvariant ofZIO.whenandZIO.unlessby @kyri-petrou in #8944 - Changing order of
orElseinTestArrowmethodmetaby @pablf in #8941 - Optimize ZLayer via macro construction by @guymers in #8950
- Fix premature interrupt of debounce by @paulpdaniels in #8947
- Zio8935 unbounded map zio par xxx fixes by @eyalfa in #8954
- Fix debug layer regression, add a test by @joroKr21 in #8953
Other changes (CI, dependencies and documentation)
- fix(deps): update dependency @zio.dev/zio-kafka to v2.7.5 by @renovate in #8929
- Add test for mapZIOPar and mapZIOParUnordered for parallelism respected by @narma in #8940
Full Changelog: v2.1.3...2.1.4
2.1.3
This minor release contains an important fix to a regression introduced in v2.1.2, where ZEnvironment#prune throws an error in cases where a class implements multiple services. This regression is most likely to be observed during ZLayer composition during app initialization, but users that have updated to v2.1.2 are still advised to update to v2.1.3 as soon as possible.
In addition, this release also contains performance improvements to ZStream and Chunk, as well as some minor bug fixes.
What's Changed
- Fix pruning on union types when a service implements multiple services (#8934) @kyri-petrou
- Reduce generated code size for ZLayer.make on Scala 3 (#8905) @joroKr21
- Reimplement someOrElse with better type inference (#8920) @notxcain
- Add support for comparing related types in assertTrue in Scala 2 (#8923) @andrzejressel
- Handle stream completion gracefully for timeout APIs (#8852) @kpritam
- revisit Zstream.mapZIOPar and Zstream.mapZIOParUnordered optimization (#8908) @eyalfa
- Fix Tag support for generic type arguments (#8883) @andrzejressel
- Improve performance of
Chunk#map(#8904) @kyri-petrou
Other changes (CI, dependencies and documentation)
- Fix dependency in the build a restful webservice tutorial (#8930) @basdgrt
- Added assembly support for benchmarks (#8932) @ajaychandran
- Add Samsung Food to the list of adopters (#8925) @notxcain
- fix(deps): update dependency @zio.dev/zio-telemetry to v3.0.0-rc24 (#8921) @renovate
- Stream merge bench (#8919) @eyalfa
- fix(deps): update dependency @zio.dev/zio-json to v0.7.0 (#8918) @renovate