This is the second and final release candidate before 1.0 — it's not a planned release candidate, but due to a flurry of activity and awesome PRs from FS2, Monix and Http4s contributors, we can't release a 1.0 with so much being added, a total of 35 PRs, which aren't light at all, a record for this project.
List of Changes
New data types:
Resource
(doc) — #188Ref
(doc) andDeferred
(doc) — #204, #211, #218 and #220Semaphore
(doc) — #205MVar
(doc) — #217, #222, #223, #224IOApp
(doc) — #213, #252
Major behavioral / breaking changes:
- #232: Require
Timer
andshift
automatically in concurrent operations - #237, #254: Restate
Concurrent
laws to accept auto-cancelable run-loops - #241: Move
uncancelable
toBracket
, changeBracket
laws to makeacquire
andrelease
uncancelable - #195, #215 and #261: Add
Effect#runSyncStep
, fixing #104 - #248, #258: Introduce
Async.asyncF
- #221: add
toIO
operation toEffect
Added Features:
- #191: Add
IO#redeemWith
, in combination with the future typelevel/cats/pull/2237 - #214: Add
IO#timeout
andConcurrent.timeout
- #236:
Bracket
instance for Kleisli - #234:
bracket
should work on top of JavaScript viaunsafeRunSync
- #235: remove
NonFatal
, switch to the standard one - #250: Optimize async trampoline, add
ContextSwitch
- #255, #257: use the standard
Throwable#addSuppressed
inbracket
when bothuse
andrelease
throw - #253: Add a la carte syntax package, syntax for Bracket and timeouts
Docs:
- #201: Docs for
parTraverse
andparSequence
- #203: Docs for
Resource
,Deferred
,Ref
andSemaphore
- #238: Docs for
Resource
Bug fixes and chores:
- #225:
IOTimer
does not use the parameter specified - #260: Exclude non-terminating laws from default set
- #259: Decrease default
stackSafeIterationsCount
in laws
Getting Involved
You can always help with:
- Feedback by joining us on Gitter
- Re-tweet the release announcement
- Give us a star on GitHub 🙂
Special Thanks
This release was made possible by: @rossabaker, @mpilquist, @SystemFw, @oleg-py, @johnynek, @durban, @ptravers, @stephennancekivell, @gvolpe, @ajaychandran and @alexandru .
(apologies if I forgot anybody)
Thanks to all those involved!