Releases: zio/zio
2.0.10
This release contains bug fixes and performance improvements.
What's Changed
- Make ZManaged accessible (without macros) by @charlescd in #7120
- Make Schedule.resetWhen/resetAfter behave like their versions in ZIO 2.0 by @sturmin in #6478
- ZIO 1.x: Update izumi-reflect to 2.2.5 by @neko-kai in #7790
- ZIO Test: Handle Keys With Small Domain In Gen#mapOf by @adamgfraser in #7832
- Use Logging For Timeout Warning by @adamgfraser in #7835
- Handle indexed sequence, and allow more backends for ConfigProvider by @afsalthaj in #7823
- ZIO Stream: Terminate Zip In Uninterruptible Region by @adamgfraser in #7836
- Documentation of Config Front-end in ZIO by @khajavi in #7830
- Clean-up Blocking operations Docs by @khajavi in #7834
- Implement Runtime#unsafe.runOrFork by @adamgfraser in #7840
- typo in doc by @tnielens in #7844
- Website: Add Event Tab by @khajavi in #7847
- Implement ZStream.alphanumeric by @adamgfraser in #7845
- Clean Up Declarations Of Test Services by @adamgfraser in #7850
- Update Scala.js and Scala Native to last supporting 2.11 by @sideeffffect in #7852
- zio-logging 2.1.10 website by @justcoon in #7854
- Merge series/1.x to series/2.x by @sideeffffect in #7853
- scala-java-time 2.4.0 by @sideeffffect in #7857
- Optimise
Duration::asScala
,Duration::asJava
andDuration.fromJava
by @guizmaii in #7859 - fix type for zio.test.Assertion#diesWithA by @vasyl-zhurba in #7860
- Optimize ZIO.foldLeft by @adamgfraser in #7849
- Optimize Chunk#toArray by @adamgfraser in #7851
- Optimise
_IdentityFn
by @guizmaii in #7862 - Add ZIO HTTP to The Official Libraries' Sidebar by @khajavi in #7864
- Remove duplicate entry for sbt-scalafix by @gnp in #7865
- fix link for zio-http by @TomTriple in #7873
- Optimize Gen.collectAll by @adamgfraser in #7866
- Fix Typo by @adamgfraser in #7868
- Override Chunk#copyToArray by @adamgfraser in #7871
- Align ZPipeline.mapZIO with ZStream#mapZIO by @adamgfraser in #7872
- Optimize PinchableArray#pinch by @adamgfraser in #7875
- Update zio-kafka version by @guizmaii in #7879
- Catch and forward exceptions in channel read by @vigoo in #7880
- Overriding some more operators on Exit by @vigoo in #7877
- ZIO Test: Fix Type Signature Of Assertion.failsWithA by @adamgfraser in #7876
- Read Scala Duration by @adamgfraser in #7867
- Remove Deprecated Docs by @khajavi in #7881
- Optimize Collection Operators by @adamgfraser in #7869
- Review Usage Of Lazy Values by @adamgfraser in #7870
- Optimize Gen#flatMap by @adamgfraser in #7874
- Implement ZStream#ensuringWith by @adamgfraser in #7882
- Delete Flaky Test by @adamgfraser in #7884
- Turn Mermaid on (not only) for ZIO Prelude by @sideeffffect in #7886
- Update chunk.md to be explicit about Chunk being an order collection by @alphaho in #7887
- Un-inline Mirror in derive for layer by @Kordyjan in #7889
- Handle empty list keeping backward compatibility by @afsalthaj in #7891
New Contributors
- @charlescd made their first contribution in #7120
- @sturmin made their first contribution in #6478
- @vasyl-zhurba made their first contribution in #7860
- @Kordyjan made their first contribution in #7889
Full Changelog: v2.0.9...v2.0.10
2.0.9
This release contains bug fixes.
What's Changed
- zio-logging 2.1.9 website by @justcoon in #7813
- Reduce Test Size by @adamgfraser in #7814
- Only Recover In Config#optional When All Errors Are Missing Data by @adamgfraser in #7811
- Delete ZIO.succeedNow by @adamgfraser in #7816
- ZIO Stream: Propagate Finalizer Failure by @adamgfraser in #7812
- Test Projects Sequentially by @adamgfraser in #7821
- Add Timed To Test Aspects For Internal Test Suite by @adamgfraser in #7819
- ZIO Test: Optimize Gen#setOf by @adamgfraser in #7818
- Reduce Size Of Some Generated Data by @adamgfraser in #7824
- Dedicated Themes For Light and Dark Modes by @khajavi in #7827
- Small cleanup by @narma in #7826
- Deprecate ZIO.succeedNow by @adamgfraser in #7817
- ZPool: Shutdown Pool In Uninterruptible Region by @adamgfraser in #7828
- Clean Up Tests by @adamgfraser in #7820
- Add Annotations To Cause by @adamgfraser in #7808
Full Changelog: v2.0.8...v2.0.9
2.0.8
This release contains a couple of bug fixes.
What's Changed
- Implement ZPipeline#flattenTake by @adamgfraser in #7792
- ZIO Stream: Write Elements In ZStream#mapZIOParUnordered by @adamgfraser in #7796
- Remove Flaky Test Aspect by @adamgfraser in #7799
- ZIO Stream: Close Scope In Uninterruptible Region In ZChannel#runScoped by @adamgfraser in #7795
- Add Pirum to list of adopters by @regiskuckaertz in #7800
- Revert ProvideSome Optimizations by @adamgfraser in #7797
- Add debug test output by @swoogles in #7765
- Reduce Size Of Test Data by @adamgfraser in #7805
- Update Binary Compatibility Version by @adamgfraser in #7804
- Handle Null Values In Chunk.Tags.fromValue by @adamgfraser in #7806
- Allow Child To Outlive Parent In Race by @adamgfraser in #7803
Full Changelog: v2.0.7...v2.0.8
2.0.7
This release contains bug fixes and performance improvements.
This release also contains a change to the semantics of race operators. These operators now consistently await the termination of the losing fiber. If you don't want this you can use disconnect
on one or both sides (e.g. left.disconnect race right.disconnect
) to create a version of a workflow where interruption returns immediately and proceeds in the background. We believe this is a more sensible default and the behavior of interruption returning immediately can be easily achieved with disconnect
.
As always, thank you for your support!
What's Changed
- Fix zio-metrics-connectors Version by @khajavi in #7718
- Revert Smart Assertion Changes by @adamgfraser in #7713
- Optimize ZStream.empty by @adamgfraser in #7719
- Override flatMap in Exit by @vigoo in #7714
- Implement TestAspect.withConfigProvider by @adamgfraser in #7723
- Ensure ChannelExecutor#close Is Called By Fiber Itself by @adamgfraser in #7725
- ZIO Config: Don't Split Values Unless A Sequence Is Expected by @adamgfraser in #7724
- Implement Pipelines For Parallel Processing by @adamgfraser in #7717
- Add Test For Config.Secret by @adamgfraser in #7729
- Add tofu-zio2-logging to community libs by @vagroz in #7728
- Implement Runtime#setConfigProvider by @adamgfraser in #7730
- zio-logging 2.1.8 website by @justcoon in #7734
- Imports optimize by @rituraj2342 in #7735
- ZIO Stream: Optimize ZStream#crossRight by @adamgfraser in #7739
- ZIO Stream: Optimize ZStream#onExecutor by @adamgfraser in #7740
- Implement ConfigProvider#contramapPath by @adamgfraser in #7731
- Simplify Race Implementation by @adamgfraser in #7736
- Fix Race Benchmark by @adamgfraser in #7737
- Add ZIO Interop Cats Docs by @khajavi in #7742
- Optimize ZStream.fromPath by @adamgfraser in #7744
- Append Scala3 ZIO2 project to the sample projects list by @lewapek in #7743
- Blocking Optimizations by @adamgfraser in #7746
- Optimize ZPipeline.splitLines by @adamgfraser in #7747
- Update ZIO Quickstart templates links and description by @jczuchnowski in #7752
- Fix Flaky Test by @adamgfraser in #7753
- Fix overview doc link from basic-concurrency to running-effects by @starkej2 in #7750
- add timer with custom boundaries by @golovnyakpa in #7751
- Return To Default Executor More Eagerly by @adamgfraser in #7749
- Fix Another Flaky Test by @adamgfraser in #7754
- Fix Flaky Hub Test by @adamgfraser in #7755
- Fix Flaky Stream Test by @adamgfraser in #7756
- Add Test by @adamgfraser in #7757
- Await Interruption in ZIO#timeout by @adamgfraser in #7758
- Clarify that we're not currently leveraging loom by @robmwalsh in #7762
- Deprecate Await Race Variants by @adamgfraser in #7761
- Speed up toQueueOfElements by @regiskuckaertz in #7763
- Implement ConfigProvider Structural Operators by @adamgfraser in #7767
- Implement ZIO#withLogger by @adamgfraser in #7769
- Implement ConfigProvider Case Operators by @adamgfraser in #7770
- Chain Back To Previous Signal Handler by @adamgfraser in #7771
- Fix ZIO metrics title typo by @mijicd in #7777
- Update exceptional-and-unexceptional-effects.md by @chetankokil in #7776
- Add DaSCH to list of adopters by @subotic in #7774
- ZIO Test: Print Timeout Warning by @adamgfraser in #7779
- Added Wefunder to the adopters list by @nikelin in #7782
- Suspend Layer Construction by @adamgfraser in #7786
- Create Warning Fiber In Test Clock Scope by @adamgfraser in #7787
- Implement ZPipeline#fromFunction by @adamgfraser in #7789
- Implement GroupedWithin Directly On Stream by @adamgfraser in #7791
New Contributors
- @vagroz made their first contribution in #7728
- @rituraj2342 made their first contribution in #7735
- @lewapek made their first contribution in #7743
- @starkej2 made their first contribution in #7750
- @golovnyakpa made their first contribution in #7751
- @chetankokil made their first contribution in #7776
- @nikelin made their first contribution in #7782
Full Changelog: v2.0.6...v2.0.7
1.0.18
This release improves compatibility with Scala Native and fixes #7489 for ZIO 1.x series on Scala 3 by updating izumi-reflect to version 2.2.5
. All Scala 3 users and downstream libraries are advised to update to ZIO 1.0.18
or newer and release newly recompiled versions to avoid stale Tags generated by older versions of izumi-reflect from surfacing #7489 on Scala 3.
What's Changed
- Make concatenation of empty chunks 600 times faster #7396 @RafalSumislawski
- Improve Chunk.empty concatenation 50x for 1.x #7399 @shawjef3
- Update things for Scala Native (still no running tests) #7409 @sideeffffect
- Small Scala Native improvements #7452 @sideeffffect
- Make ZManaged accessible (without macros) #7120 @charlescd
- Make Schedule.resetWhen/resetAfter behave like their versions in ZIO 2.0 #6478 @sturmin
- ZIO 1.x: Update izumi-reflect to 2.2.5 #7790 @neko-kai
New Contributors
- @charlescd made their first contribution in #7120
- @sturmin made their first contribution in #6478
2.0.6
This release contains bug fixes and performance improvements.
What's Changed
- Sbt bump 1.8.0 by @IdiosApps in #7609
- ZIO Stream: Don't Process Empty Chunks In ZStream#aggregateAsync by @adamgfraser in #7613
- Implement ZIO#whenRef and ZIO#whenFiberRef by @adamgfraser in #7615
- ZIO Stream: Ensure Sink Can Consume All Stream Elements in ZStream#tapSink by @adamgfraser in #7617
- Use Comma For Default Sequence Delimiter In ConfigProvider.envProvider by @adamgfraser in #7616
- Update Signature Of ZIO#whenRef and ZIO#whenFiberRef by @adamgfraser in #7618
- Always Treat StackOverflowError As Fatal by @adamgfraser in #7619
- update zio sql docs by @sviezypan in #7620
- Propagate Prefix in Config#mapOrFail by @adamgfraser in #7622
- Treat Creation of CountdownLatch With Negative Value as Die Failure by @adamgfraser in #7625
- ZIO Environment Use-cases by @khajavi in #7623
- Deprecate ZIO#unary_! by @adamgfraser in #7621
- Filter Empty Causes In ZIO#tapDefect by @adamgfraser in #7629
- Update zio-connect docs to v0.4.4 by @adrianfilip in #7630
- Expose Unsafe Operators On Default Services by @adamgfraser in #7627
- Update website to latest zio-profiling release by @mschuwalow in #7633
- Update to zio-flow 1.0.0-RC2 by @vigoo in #7638
- Optimize ZLayer.>>> by @adamgfraser in #7634
- Succeed With Empty Map When Keys Are Empty In Config.table by @adamgfraser in #7626
- Optimize ZIO#provideSome by @adamgfraser in #7635
- Fix suiteAll error channel by @swoogles in #7643
- Fix running-tests documentation by @swoogles in #7644
- Honor TestArgs TestRenderer throughout zio-test machinery by @swoogles in #7647
- Update make-a-zio-application-configurable.md by @vsimko in #7648
- Propagate Defects in ZIO#collectAllSuccesses by @adamgfraser in #7652
- zio-logging 2.1.6 website by @justcoon in #7651
- Expose Unsafe FiberRef Constructors by @adamgfraser in #7650
- Restore Previous Fiber by @adamgfraser in #7642
- zio-logging 2.1.7 website by @justcoon in #7655
- Do Not Filter Traces In ZIO Name Space by @adamgfraser in #7637
- Add missing assertion params to withCode by @matthewjones372 in #7641
- Update Copyright by @adamgfraser in #7662
- delegate to other combinators by @TomTriple in #7661
- Expose Unsafe Constructors On More Concurrent Data Types by @adamgfraser in #7663
- Fix A Couple Tests by @adamgfraser in #7666
- Fix Another Stream Test by @adamgfraser in #7668
- Fix ZStream#bufferChunksSliding Test by @adamgfraser in #7669
- Update ZIO Direct Docs by @khajavi in #7670
- Garbage Collect Weak References by @adamgfraser in #7674
- Fix ZStream.fromIterable ignoring its chunkSize argument. by @shawjef3 in #7675
- Record test results by @swoogles in #7673
- ZIO Test: Properly Handle Chunks Of Bytes In TestRandom by @adamgfraser in #7680
- Preserve Supervision Relationships In Race by @adamgfraser in #7676
- ZIO Stream: Implement Pipelines For Asynchronous Aggregation by @adamgfraser in #7679
- More Robust Equality For Config Secret by @adamgfraser in #7682
- Add Observer Before Starting Fiber In Runtime.unsafe.runToFuture by @adamgfraser in #7683
- Fix ZIO Logging Sidebar Issue by @khajavi in #7688
- Optimize Fiberrefs#updatedAs by @adamgfraser in #7685
- Further Refinements to Race Fiber Supervision Semantics by @adamgfraser in #7686
- Correctly Handle Concatenated Bit Chunks by @adamgfraser in #7692
- Specialize foldCauseZIO in Exit by @vigoo in #7693
- Clean Up Benchmarks by @adamgfraser in #7691
- Safer polling of memory metrics by @vigoo in #7694
- Fallback for assertTrue method resolution by @vigoo in #7695
- ZPool.md: fromI{n->}terable by @nafg in #7696
- Correctly Handle ChronoUnit In Metric.timer by @adamgfraser in #7698
- Fail in Config#chunkOf If Data Is Missing by @adamgfraser in #7690
- Implement Config#orElseIf by @adamgfraser in #7699
- Make NonEmptyChunk Serializable by @adamgfraser in #7707
- ZIO Test: Correctly Handle Java Booleans In Smart Assertions by @adamgfraser in #7708
- Propagate Defects in ZStream#bufferSliding by @adamgfraser in #7702
- Implement ConfigProvider.Flat#merge by @adamgfraser in #7700
New Contributors
- @IdiosApps made their first contribution in #7609
- @vsimko made their first contribution in #7648
- @matthewjones372 made their first contribution in #7641
- @TomTriple made their first contribution in #7661
Full Changelog: v2.0.5...v2.0.6
v2.0.5
This release contains miscellaneous bug fixes and performance improvements.
What's Changed
- fixed zio-mock documentation on mocking collaborators compose layers (#7600) @JoaquinIglesiasTurina
- Website: Add zio-sbt Documentation (#7607) @khajavi
- Fix #7605 Config.Error.|| (#7606) @mleclercq
- ZIO Stream: Interrupt Schedule Fiber In ZStream#aggregateAsync (#7603) @adamgfraser
- Fix Flaky Stream Test (#7604) @adamgfraser
- Implement ZIO#logError (#7593) @adamgfraser
- Fix Documentation Regarding Gen.elements (#7597) @adamgfraser
- STM: Translates unexpected failures in the driver to TExit.die (#7599) @mikearnaldi
- STM: Avoid calling catchAll with defects (#7598) @mikearnaldi
- Simplify ZChannel.mergeAllWith Implementation (#7577) @adamgfraser
- Embed Generated Card List For Ecosystem Section (#7596) @khajavi
- ZIO Ecosystem Docusaurus Plugin (#7595) @khajavi
- JUnit runner: fix an ignored test erroneously reported twice (#7594) @hmemcpy
- Cleanup Overview Section (#7582) @khajavi
- Clean Up Scala 3 JS Fix (#7591) @adamgfraser
- Clean Up Scheduler Changes (#7572) @adamgfraser
- Preserve Stack Trace in ZIO#retry (#7590) @adamgfraser
- Fix typo in migration-guide.md (#7573) @BardurArantsson
- Upgrade to Latest Izumi Reflect Version (#7589) @adamgfraser
- document fromAutoClosable (#7575) @DaniRey
- #7468 Move debounce from ZStream to ZPipeline (#7588) @tewecske
- use attemptBlocking for Source.fromFile (#7578) @DaniRey
- Removed anti-pattern in good example (#7579) @DaniRey
- Add zio-direct Docs (#7585) @khajavi
- zio-flow v1.0.0-RC1 (#7583) @vigoo
- Upgrade Docusaurus (v2.2.0) (#7581) @khajavi
- reduce allocations (#7570) @shawjef3
- Fix typo in Scope docs (#7571) @jan-pieter
- Reduce allocations (#7568) @shawjef3
- Update zio-connect to 0.4.1 (#7569) @adrianfilip
- Fix zio-profiling URL Path (#7567) @khajavi
- Collect Last Output Of Schedule In Schedule#collectAll (#7565) @adamgfraser
- Fix link to
Code of Conduct
page. (#7564) @sergiilagutin - Fix "Fatal: Not in a git directory" Error When Publishing Docs (#7563) @khajavi
- ZIO Test: make existsIterable assertion more strict (#7317) @myazinn
- Website: Convert Bash Script to Github Workflow (#7562) @khajavi
- Implement ZIO#withConfigProvider (#7559) @adamgfraser
- Optimize Promise (#7557) @adamgfraser
- Periodically Graduate Root Fibers From Nursery (#7553) @adamgfraser
- Notify supervisors before notifying other observers on fiber end (#6980) @mschuwalow
- Add missing JVM metrics (#7554) @rwiskerke
- Implement ZSink.exists and ZSink.forall (#7552) @adamgfraser
- Upgrade Website Actions (#7551) @khajavi
- Use
AND
PoC. (#7310) @Wosin - Fix Publishing Errors of Website (#7549) @khajavi
- Reduce Int boxing using IntFunction (#7368) @shawjef3
- Increase Maximum Heap and Swap Space for Github Workflow (#7536) @khajavi
- Integrate Remaining Docs (#7548) @khajavi
- Update ZChannel index.md (#7546) @counter2015
- Fix Scala 3 JS Issue (#7547) @adamgfraser
- Integrate Some More Docs (#7545) @khajavi
- Propagate Tags In Runtime Metrics (#7544) @adamgfraser
- Always Succeed With Constant Configuration Value (#7543) @adamgfraser
- Render Throwable Cause (#7541) @adamgfraser
- ZIO Stream: Preserve Chunks In ZStream#flattenChunks (#7539) @adamgfraser
- Remove broken link in docs (#7534) @visortelle
v2.0.4
This release brings a range of bug fixes, performance improvements and new features. Most notably:
- Regional Metric Tags. This feature enables you to locally, either at the level of your main function, or any other level, add a set of tags to all ZIO metrics. This is convenient for tagging metrics based on web server or other parameters.
- Disable Work Stealing. Work stealing degrades performance without a large stack size, so the optimizationo is disabled by default. You should notice improved performance versus 2.0.3.
- Add Integrated Config. ZIO 2 now directly supports both defining configuration, as well as loading it from a configuration provider. Two built in configuration providers are based on environment variables and system properties.
- Metric Listeners. For better integration with monitoring solutions such as DataDog, you can now install a metric listener for fine-grained (non-snapshot) based metric update notifications.
What's Changed
- Fix Flaky Test (#7538) @adamgfraser
- Metric listeners (#7474) @petoalbert
- ZIO Test: Scope Dependencies of Shared Service to Lifetime of Suite (#7533) @adamgfraser
- Micro-optimization for Schedule (#7532) @ollyw
- ZIO Stream: Execute Acquire Uninterrupibly (#7527) @adamgfraser
- Fixing iterate example and adding repeat example (#7524) @michelchan
- Make Tags A Region Setting (#7498) @adamgfraser
- Use Specific Versions for Docs Dependencies (#7523) @khajavi
- Turn on config (+ final tweaks) (#7522) @jdegoes
- Disable Work Stealing By Default (#7519) @adamgfraser
- Propagate Defects In ZStream#toQueueOfElements (#7520) @adamgfraser
- Website: Integrate Some Other Official Libraries (#7516) @khajavi
- ignoreLogged does not log fix (#7515) @piotrga
- Print test timing annotation before failures (#7509) @swoogles
- Fix Intellij assertion failure link click behavior (#7512) @swoogles
- Website: Integrate zio-logging and zio-connect Documents (#7507) @khajavi
- fix typo (#7508) @markusheilig
- Preserve Cause in ZIO#refineToOrDie (#7504) @adamgfraser
- Extend documentation for
jittered
(#7505) @erikvanoosten - Update manual-layer-construction.md (#7502) @ouertani
- Prevent Extremely Large Stack Traces (#7501) @adamgfraser
- Optimize Zlayer >+> (#7500) @adamgfraser
- Make Secret Package Private (#7492) @adamgfraser
- Yield After Repeatedly Generating Stack Traces (#7495) @adamgfraser
- Upgrade Binary Compatibility Version (#7491) @adamgfraser
- Upgrade Izumi Reflect Version (#7490) @adamgfraser
2.0.3
This release contains a variety of optimizations and bug fixes. In particular asynchronous operations in the runtime are significantly faster based on work by @jdegoes. As always, thanks for using ZIO and we're so excited to see everything that you are building with ZIO!
Performance Improvements
The performance of many core operations, including interruptible async operations and joining fibers, have been greatly improved, by a combination of micro-optimization and interning. A new "gen 3" optimization allows the ZIO 2 runtime system to avoid stack unwinding for fast asynchronous operations, and work stealing enables one run loop suspended by an async operation to steal a bit of work on behalf of another fiber. The weak concurrent bag for root fibers has been completely re-written with massive performance improvements in forkDaemon-heavy scenarios. Overall, these performance improvements make the ZIO 2 runtime system faster than it's ever been.
Future areas of improvement include additional micro-optimizations in the runtime system, lower overhead for the fiber actor machinery, and intelligent auto-tuning for JVM stack or reified stack run modes.
v1.0.17
What's Changed
- Small fix in the docs. by @kurgansoft in #7180
- Modify smart assertion to handle nulls correctly. by @Wosin in #7227
- Added flush calls to stdout and stderr on system exit by @ithinkicancode in #7192
- fix interruptAll to interrupt all fibers before waiting by @somdoron in #7294
- Set
Test / fork := true
to improve log readability by @sideeffffect in #7312 - Fix Gen.instant when upper and lower bound second part are the same 1.x by @strokyl in #7325
New Contributors
- @kurgansoft made their first contribution in #7180
- @somdoron made their first contribution in #7294
Full Changelog: v1.0.16...v1.0.17