Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Releases: zio/zio

v1.0.4-1

28 Jan 12:46
7047993

Choose a tag to compare

This minor release contains a fix to a regression introduced in v1.0.4 regarding error handling in ZIO.collectAllParN_. Upgrading is recommended for all users. This release is binary compatible with v1.0.0.

Notable Changes

ZIO Core

ZIO Stream

ZIO Test

v1.0.4

25 Jan 01:41
5f6672b

Choose a tag to compare

This minor release contains support for Scala 3.0.0-M3 as well as bug fixes and various other improvements. This release is binary compatible with v1.0.0.

Notable Changes

ZIO Core

ZIO Stream

ZIO Test

  • Include source location (filename, line number) of the executing specs (#4242) (by @hmemcpy)
  • MutableRunnableSpec (#4523) (by @fokot)
  • ZIO-Test: Solve the test conflict with zio.test. (#4532) (by @dkarlinsky)
  • zio-test: improvements for assert capturing expression and location (#4533) (by @dkarlinsky)
  • Fix #4472 - make findMatching pure (#4539) (by @senia-psm)
  • fix zio test Assertion.isSubtype example (#4531) (by @kazchimo)
  • Add includeCase parameter to DefaultTestReporter.render (#4486) (by @blast-hardcheese)
  • ZIO Test: Support Stateful Property Based Testing (#4497) (by @adamgfraser)
  • Temporary magnolia-free implementation of zio-test-magnolia on Scala 3 (#4487) (by @vigoo)
  • zio-test: make assert capture expression and source location using macro (#4427) (by @dkarlinsky)
  • Issue/4347 ignored tests not visible in report (#4429) (by @lmserrano)
  • Fix the mockable macro to work with systems using CRLF too. (#4423) (by @vigoo)
  • Adding test_assertions docs and other misc cleanup (#4406) (by @blast-hardcheese)
  • Fix 4358 . Assertion::equals should never throw exceptions (#4362) (by @senia-psm)
  • Delete redundant eqlReflexive instance (#4350) (by @joroKr21)
  • Update Examples in TestClock Documentation (#4345) (by @adamgfraser)
  • ZIO Test: Implement Test Aspects To Run Effects Before Or After All Tests (#4341) (by @adamgfraser)
  • ZIO Test Magnolia: Add derived generator for Instant (#4333) (by @aartigao)
  • Increase the number of generators to 10 in zipN* methods (#4317) (by @aartigao)

1.0.3

08 Oct 22:21
4cac39c

Choose a tag to compare

This minor release contains a fix to a regression introduced in v1.0.2 regarding tags. Upgrading is recommended for all users. This release is binary compatible with v1.0.0.

Notable Changes

ZIO Core

ZIO Stream

ZIO Test

1.0.2

06 Oct 07:58
37ee076

Choose a tag to compare

This is a minor release containing bug fixes as well as some new features. It is binary compatible with v1.0.0.
There's one breaking change on the ZStream data type - see the section below for details.

Notable changes

ZIO Core

Implement ZLayer#project (#4123) (by @adamgfraser)
Immediately Shift to ZIO Thread Pool In UnsafeRunAsync (#4120) (by @adamgfraser)
Improve Support For Single Threaded Environments (#4115) (by @adamgfraser)
Support unsafeRunAsyncCancelable on Scala Native (#4131) (by @sideeffffect)
Implement TSet#toSet (#4132) (by @mijic)
Fix Documentation of ZIO#firstSuccessOf (#4134) (by @ghostdogpr)
Implement ZLayer#tap (#4138) (by @adamgfraser)
Fix Delay Computation In Schedule#fixed (#4147) (by @iravid)
Implement ZIO#getOrFailUnit (#4163) (by @politrons)
Implement ZIO.fromPromise (#4165) (by @politrons)
Don't transform to Chunk when using foreach in ZManaged (#4169) (by @ghostdogpr)
Improve ZLayer how-to documentation (#4156) (by @leszekgruchala)
Implement ZIO#forkInternal (#4142) (@adamgfraser)
Fix Memory Leak in FiberContext#await (#4171) (by @adamgfraser)
Prevent Interruption While Closing Scopes (#4121) (by @adamgfraser)
Add some Schedule constructors for cron-like functionality (#4174) (by @heaven-born)
Fix signature of effectBlockingIO (#4182) (by @adamgfraser)
Enable effectual filtering of Sets (#4188) (by @kelvin-chappell)
Add some Schedule constructors for cron-like functionality: dayOfWeek (#4195) (by @heaven-born)
Fix Bug in Chunk#foldRight (#4199) (by @adamgfraser)
Implement ZIO.not (#4201) (by @evis)
Introduce ZManaged.runtime (#4215) (by @fsvehla)
Use SetRemoveOnCanceledPolicy In Scheduler To Prevent Memory Leaks (#4237) (by @adamgfraser)
Don't Leak Fibers From Within ZIO#foreachParN (#4253) (by @adamgfraser)
Remove thread factory hash from thread name (#4256) (by @mijicd)
Avoid Recomputing Hash Code In ZLayer (#4258) @adamgfraser)
Add some Schedule constructors for cron-like functionality: dayOfMonth (#4212) (by @heaven-born)
Switch to java.lang.Class comparisons in Chunk.Tags (#4274) (by @iravid)
Implement Schedule#contramapM (#4271) (by @adamgfraser)

ZIO Streams

BREAKING CHANGE: This release changes the behavior of ZStream#collectWhileSuccess to end the stream on Exit.Failure values instead of emitting those failures. Please use ZStream#flattenExitOption for the previous behavior.

Fix Gunzipper when consuming multiple gzipped parts as a single chunk (#4124) (by @ghostbuster91)
Fix Bug In ZStream#fixed (#4140) (by @luis3m)
Make ZStream#aggregateAsyncWithin fail fast (#4141) (by @luis3m)
Add Back ZStream#effectAsync to JS (#4143) (by @luis3m)
Add ZStream#takeRight (#4154) (by @luis3m)
Fix BufferedPull#pullChunk (#4164) (by @mikearnaldi)
Add ZStream#scan and its variants (#4153) (by @luis3m)
Optimize ZStream.range to emit chunks (#4006) (by @TobiasPfeifer)
Add a promise poll to ZStream#interruptWhen (#4166) (by @luis3m)
Add ZStream.fromResource (#4228) (by @fsvehla)
Add maxChunkSize to ZStream.fromQueue (#4205) (by @svroonland)
Remove Some Extraneous Type Parameters (#4244) (by @adamgfraser)
Compile ZIO Streams for Scala Native (#4252) (by @sideeffffect)
Add UStream alias for streams that can't fail (#4267) (by @erdeszt)
Fix ZStream#takeWhile stopping on empty chunks (#4273) (by @iravid)
Add a bunch of collect combinators (#4279) (by @iravid)

ZIO Test

Implement parallel checkM (#4221) (by @lightning95)
Add LawfulF and LawsF for Divariant (#4220) (by @lemastero)
Delete Gen.usASCII (#4236) (by @adamgfraser)
Evaluate Effects Sequentially In Gen#zipWith (#4238) (by @adamgfraser)
Add example of testing layered effects with Clock (#4219) (by @leszekgruchala)
Harden TestClock (#4248) (by @adamgfraser)
Build ZIO Test for Scala Native (#4260) (by @sideeffffect)
Preserve Original Failure When Shrinks Is Set To Zero (#4265) (by @adamgfraser)

1.0.1

19 Aug 18:36
09c14b0

Choose a tag to compare

Maintenance release with some important bugfixes and nice feature additions. This release is binary compatible with v1.0.0.

Notable changes

ZIO Core

Improve Stack Safety Of Chunk (#4114) (by @adamgfraser)
Fix Division By Zero In Schedule#fixed (#4111) (by @adamgfraser)
Implement Schedule#unionWith (#4113) (by @adamgfraser)
Don't Memoize Fresh Layers (#4095) (by @adamgfraser)
Implement ZManaged#reserve (#4056) (by @adamgfraser)
make Chunk#append and Chunk#prepend stack safe (#4088) (by @adamgfraser)
add a ZIO#foreach variant for Map (#4089) (by @adamgfraser)
suspend evaluation of by name parameter (#4086) (by @adamgfraser)
Small fixes to Java interop (#4077) (by @sideeffffect)
Use putStrLnErr instead of putStrLn in ZIO.exitCode (#4080) (by @taeguk)
Fix Schedule.unfold causing stack overflow (#4064) (by @tuleism)
report root fibers to the supervisor (#4048) (by @jczuchnowski )
Fix Schedule#forever (#4057) (by @mikearnaldi)
Fix Schedule.windowed repeating too fast (#4053) (by @tuleism)

ZIO Streams

Add ZStream#onError (#4097) (by @joroKr21)
Add a GZIP transducer (#4075) (by @LGLO)
Fix ZStream.grouped to produce correct group size (#4060) (by @tuleism)

ZIO Test

Implement TestConfig (#4094) (by @adamgfraser)
ZIO Test: Make ExecutedSpec Its Own Data Type (#3699) (by @adamgfraser)

v1.0.0

03 Aug 18:14
7397852

Choose a tag to compare

We are excited to announce the release of version 1.0 of ZIO! This is the culmination of work by more than 300 contributors and countless users. From here we will be preserving binary compatibility for ZIO Core across the 1.0 cycle. This should facilitate further development of the ecosystem and adoption of ZIO, though this has been happening rapidly even without a 1.0 release!

The vast majority of the changes in this version are bug fixes and implementation of new stream constructors and combinators.

The one material change to the API is to Schedule. Schedule has been refactored with a new design by @jdegoes to make it easier to build and compose schedules that occur at specific points in time. This will allow implementing cron job like functionality directly with Schedule. To facilitate this, combinators that use schedules such as repeat or retry now depend on Clock. For simple use cases of repeating or retrying that do not involve time, such as retryWhile, implementations have bene provided that do not depend on Clock. For more details see #3976.

Once again, thank you to everyone who has contributed to ZIO and to all the users who have tried it and given their feedback. We can't wait to see what you go out and build with it!

Notable changes:

ZIO Core

ZIO Streams

ZIO Test

ZIO Macros

v1.0.0-RC21-2

30 Jun 20:57
68fefa7

Choose a tag to compare

This release contains bug fixes related to the fiber supervision model that are binary compatible with RC21 and RC21-1. Upgrading is recommended for all users.

Notable changes:

v1.0.0-RC21-1

27 Jun 03:07
168d1c2

Choose a tag to compare

ZIO 1.0.0-RC21-1 contains a few bug fixes, performance improvements and additions that are binary/source compatible with 1.0.0-RC21.

Notable changes:

1.0.0-RC21

19 Jun 22:11
dd21e98

Choose a tag to compare

We are excited to announce the release of ZIO 1.0.0-RC21, what we hope will be the final release candidate before version 1.0.

From here we do not expect significant API changes and will be focused on fixing any bugs that are identified and polishing the API in anticipation of the 1.0 release. Please report any issues you experience with this release candidate so we can address them immediately. Thank you for your support!

Notable changes

ZIO Core

The most significant change in this release candidate is refinements to the fiber supervision model. There is now a concept of explicit scopes, modeled by ZScope. Each fiber has a scope and when fibers are forked they are forked within a scope. Fibers forked with fork are forked in the scope of the parent fiber and fibers forked with forkDaemon are forked in the global scope. Fibers can now also be forked in another scope using the forkIn operator. A variety of combinators are provided for composing scopes, offering powerful tools for library authors to achieve fine grained control of fiber lifetimes.

In general we do not expect significant user facing impact as a result of these improvements. The main changes that users should see are that fibers can now be safely forked in zipPar (for example left.fork zipPar right) and parallel construction of layers in ZLayer has been reenabled.

In addition, this release candidate features significant improvements to Chunk, including implementing fast single element prepend, addressing a stack safety issue, and improving the efficiency of operations on chunks created through concatenation.

Finally, a new TPriorityQueue data structure has been included in the stm package.

ZIO Streams

This release candidate features a variety of improvements and bug fixes thanks to feedback from users. In particular, sinks now maintain leftovers. This aspect of sink was dropped in the RC19 release, and has now been brought back due to popular demand. In addition, ZStream#runHead will now only consume the first element of the stream before exiting.

ZIO Test

1.0.0-RC20

25 May 18:51
feae26f

Choose a tag to compare

This release features a number of important bugfixes for ZStream. Upgrading is advised!

Notable changes

ZIO Core

The return type for the run method in zio.App has changed to ZIO[ZEnv, Nothing, ExitCode]. ExitCode is a simple wrapper around an integer, with handy constructors for error and success (ExitCode.success, ExitCode.failure). In addition, a convenience combinator ZIO#exitCode was added that converts a ZIO value to an ExitCode.

ZIO Streams

We've seen in the last release that removing Take[E, A] and relying on Exit[Option[E], Chunk[A]] instead degrades ergonomics significantly when working with ZStream. So we went ahead and re-added it, this time as a wrapper over Exit[Option[E], Chunk[A]]. Apologies for the inconvenience!

  • Modify ZStream#mergeWith implementation to use a queue (#3691) (by @luis3m)
  • [Breaking] Add back ZStream.Take (#3669) (by @luis3m)
  • Modify ZStream#debounce to take chunk last element (#3689) (by @luis3m)
  • Fix ZTransducer.splitLines (#3690) (by @iravid)
  • Fix debounce to properly handle empty chunks (#3611) (by @luis3m)
  • Fix memory leak in ZStream#forever (#3681) (by @iravid)
  • Add ZStream#zipWithNext & ZStream#zipWithPrevious (#3596) (by @luis3m)
  • Allow schedule on ZStream.repeatEffectWith rely on effect value (#3618) (by @luis3m)
  • Fix ZStream.fromInputStream (#3678) (by @iravid)
  • Maintain ZStream's laziness on chunks at the expense of performance (#3666) (by @iravid)
  • Add ZStream#flattenTake (#3661) (by @luis3m)
  • Fix ZSink#collectAllWhileWith (#3665) (by @simpadjo)
  • [Breaking] ZSink.fromOutputStream should return Long (#3652) (by @simpadjo)
  • Fix ZStream#toInputStream error handling (#3700) (by @simpadjo)
  • Add ZStream.fromFile (#3697) (by @iravid)

ZIO Test