Releases: typelevel/cats-effect
v2.0.0-M3
v2.0.0-M2
Milestone v2.0.0-M2
release.
This release is source compatible with the 1.x
series, except cats-effect-laws
.
Changes
Features:
Chores:
- #524: Update Discipline version
- #527: Update scalatest to 3.1.0-SNAPSHOT
- #538: Update sbt to 1.2.8
- #540: Use sbt-tpolecat, fix ensuing warnings
Tests:
- #542: Increased all the sleeps in Timer tests by an order of magnitude
Documentation changes:
- #525: Code of Conduct link tweaks
- #531: Fix broken sentence in SyncIO doc
- #536: Fix typo in mvar doc
- #534: Update Resource docs after the change from #496
Special Thanks
This release was made possible by:
Thanks to all those involved!
v1.3.1
General 1.3.1
release.
This release is binary compatible with the 1.x
series.
Changes
Fixes:
- #543: Backport Scala.js IOApp signal handler fix from #540
- #533: Fix IORunLoop#step bug (backported from master)
- #537: Concurrent.memoize is well behaved under cancellation (backported from master)
Documentation changes:
- #522: Fix version references on the README
Special Thanks
This release was made possible by:
Thanks to all those involved!
v2.0.0-M1
Milestone v2.0.0-M1
release.
This release is binary compatible with the 1.x
series, except cats-effect-laws
.
Changes
Features:
- #508: Scala-2.13.0-RC1 support with cats-2.0.0-M1 and scalacheck-1.14
Fixes:
- #513: Remove unused
Eq[IO[Either[F[A], A]]]
fromEffectTests
Chores:
- #514: Remove unused ec in tests
Documentation changes:
Special Thanks
This release was made possible by:
Thanks to all those involved!
v1.3.0
General 1.3.0
release.
This release is binary compatible with the 1.x
series.
Changes
Features:
- #482: Suspend vars in
SyncLaws
- #494: Add
IO.fromTry
- #491: Add
LiftIO
instance forResource
- #492: Add
LiftIO.liftK
,Effect.toIOK
- #490: Add
Resource.evalTap
- #472: Make
IO.Par
's applicative commutative - #511: Add
Resource.fromDestroyable
Fixes:
- #496: Make
Resource.liftF
interruptible - #499: Fix infinitely waiting cancellation of a bracket which failed to acquire
Chores:
- #484: Update cats-core, cats-laws to 1.6.0
- #501: Update sbt-travisci to 1.2.0
- #505: Update sbt-scalajs, scalajs-compiler to 0.6.27
- #495: Update sbt-header to 5.2.0
- #471: Fix shell test to makeMicrosite
- #510: Update sbt-jmh to 0.3.6
- #518: Switch to xenial and openjdk8
Documentation changes:
- #478: Fix typo in Resource scaladoc
- #506: Remove redundant brace
- #504: Fix fib in cats-effect/datatypes documentation
- #497: Remove unnecessary Parallel instance in semaphore docs
- #489: Use ContextShift.apply in the tutorial
- #516: Clear up Resource docs
Special Thanks
This release was made possible by:
- @aaabramov
- @alexandru
- @ChristopherDavenport
- @Daron666
- @djspiewak
- @jooohn
- @kartavtcev
- @ksonj
- @kubukoz
- @lrodero
- @mpurins
- @nigredo-tori
- @RafalSumislawski
- @rossabaker
- @scala-steward
- @SystemFw
- @tixxit
Thanks to all those involved!
v1.2.0
General 1.2.0
release.
This release is binary compatible with 1.1.0
and the 1.x
series.
Changes
Features:
- #395: Adds
Deferred.tryGet
, via a newTryableDeferred
interface - #437: Adds a
map
method directly onResource
- #439: Adds an
evalMap
method toResource
- #464: Adds
mapK
ontoResource
Fixes:
- #442: Fixes #441, the law
bracketReleaseIsCalledOnCompletedError
assumes generators never fail - #443: Uses
parSequence
rather thansequence
inRefTests
- #458: Avoids
Throwable#addSuppressed
&CompositeException
- #462: Lazily create instance of
TimeoutException
inIO.timeout
- #473: Adds "repeated asyncF evaluation not memoized" law
Chores:
- #457: Ignores any MiMa problems from the internals package
- #474: Updates copyright
- #476: Updates Simulacrum to
0.15.0
- Updates Scala to 2.12.8 link
Documentation changes:
- #372: Adds one
ContextShift
example out of three provided options - #394: Adds documentation on throwing in release function (issue #357)
- #434: Adds an awesome data types cheat sheet
- #447: Removes misleading information about Context shift from IO parallel tutorial
- #454: Fixes error in the
Ref
docs - #456: Updates the type class diagram
- #463: Various spelling corrections
- #470: Does some doc fixing
- #477: Fixes doc,
fusionMaxStackDepth
system property referred to as env var
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: @alexandru, @andimiller, @Avasil, @ceedubs, @CucumisSativus, @dwijnand, @johnynek, @kubukoz, @ksonj, @ml10, @Odomontois, @prayagupd, @t3hnar, @Slakah, @SystemFw, @XoJIoD89, @Zelenya
Thanks to all those involved!
v1.1.0
General 1.1.0
release.
This follows the 1.1.0-M1 milestone.
Changes (since M1)
Added features:
- #334: Add
ContextShift#evalOnK
- #365: Add
IorT
instances - #392: Introduce
mapK
operations to concurrent primitives - #393: Add dual effect concurrent data constructors
- #419:
Resource.allocated
Fixes:
- #374, #427: Properly propogate
Writer
andState
effects inbracketCase
- #403: Fix resource leak in
Semaphore#withPermit
andacquireN
- #421: Fix
Resource
attempt on suspend - #424, #402: Ensure that
MVar.take
,MVar.put
,Semaphore.release
andDeferred.complete
do not block, also improving fairness for theConcurrent
versions
Chores:
- #362: Tutorial for Cats-Effect
- #366: Add some test cases for
LinkedMap
- #397: Add missing test methods for
Semaphore
- #399: Fix sentence flow in
IOApp
docs - #406: Update reference to
evalOn
'sfa
parameter - #408: Update
sbt-travisci
to 1.1.3 - #409: Update
sbt-pgp
to1.1.2
- #410: Update
sbt-mima-plugin
to0.3.0
- #411: Update
sbt-git
to1.0.0
- #414: Update
sbt-jmh
to0.3.4
- #417: Typeclasses cheat sheet
- #426: Update
kind-projector
to0.9.9
- #428: Update
sbt-scalajs
,scalajs-compiler
,scalajs-library
... to0.6.26
- #429, #425: Upgrade to Scala
2.12.7
and2.13.0-M5
- #432: Add proper Scala.js source maps, pointing to GitHub repo
- #433: Update SBT to
1.2.7
- #435: Update Cats to version
1.5.0
Changes in M1
Added features:
- #387: Add
ContextShift.apply
to summon implicitContextShift
- #389: Add
Timer.apply
to summon implicitTimer
- #400: Add
Clock.apply
to summon implicitClock
Docs:
- #356: Change to Scala's Code of Conduct
- #358: Concurrency basics pictures
- #385: Update readme to reference partial unification
- #381: Add concurrency basics to menu
- #396: Add
Finch
as adopter
Bug fixes and chores:
- #361: Add more semaphore tests
- #353: Reset MiMa baseline
- #377: Remove unused
IOConnection
inIOBracket
release frames - #379 : Upgrade to cats-1.4.0 (supersedes #352)
- #376: Force
fiber#cancel
to await completion ofbracket
, fix idempotence ofrelease
- #355: Increase test coverage of
Ref
- #398: Update oraclejdk10 to openjdk11 in test matrix
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: @alexandru, @ahjohannessen, @Avasil, @catostrophe, @charles-rumley, @ChristopherDavenport, @CucumisSativus, @djneades, @fthomas, @ghisvail, @joan38, @kubukoz, @lrodero, @LukaJCB, @mpilquist, @mszczygiel, @Odomontois, @RaasAhsan, @rossabaker, @scala-steward, @SystemFw, @vkostyukov, @Zelenya and several other reviewers and commenters.
Thanks to all those involved!
v1.1.0-M1
This is a milestone release to test new bugfixes and features. It is fully binary compatible with 1.0.0.
List of Changes
Added features:
- #387: Add
ContextShift.apply
to summon implicitContextShift
- #389: Add
Timer.apply
to summon implicitTimer
- #400: Add
Clock.apply
to summon implicitClock
Docs:
- #356: Change to Scala's Code of Conduct
- #358: Concurrency basics pictures
- #385: Update readme to reference partial unification
- #381: Add concurrency basics to menu
- #396: Add
Finch
as adopter
Bug fixes and chores:
- #361: Add more semaphore tests
- #353: Reset MiMa baseline
- #377: Remove unused
IOConnection
inIOBracket
release frames - #379 : Upgrade to cats-1.4.0 (supersedes #352)
- #376: Force
fiber#cancel
to await completion ofbracket
, fix idempotence ofrelease
- #355: Increase test coverage of
Ref
- #398: Update oraclejdk10 to openjdk11 in test matrix
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: @alexandru, @ahjohannessen, @Avasil, @charles-rumley, @ChristopherDavenport, @CucumisSativus, @joan38, @kubukoz, @LukaJCB, @mszczygiel, @RaasAhsan, @rossabaker, @SystemFw, @vkostyukov, @Zelenya and several other reviewers and commenters.
Thanks to all those involved!
v1.0.0
This is the eagerly anticipated 1.0.0 release of Cats-Effect!
Binary compatibility will be maintained through the 1.x series, with new features introduced in minor releases. This release is not binary or source compatible with the previous 0.10 release.
List of Changes
Major behavioral / breaking changes:
- #317: New
Sync
laws related to stack safety ofbracket
- #323: Remove
Ref#lazySet
andRef#compareAndSet
Added features:
- #333: Add
IO.delay
- #328: Add
Async.memoize
andConcurrent.memoize
- #343: Try to set
process.exitCode
inIOApp
under Scala.js - #344: Add
IOApp.WithContext
to JVM to configure the thread pools - #346: Create unique thread names for the global scheduler
Docs:
- #318: Typo fixes
- #322: Instructions on building the microsite
- #329: Fix
raceWith
references inConcurrent
doc - #325: Fix
ExecutionContext
s example in Concurrency Basics doc - #338: Update concurrency and cancellation documentation
- #340: Note that
MVar#take
empties the variable - #342: Add pictures for the concurrency primitives
- #350: Fix
Fiber#cancel
scaladoc
Bug fixes and chores:
- #331: Execute a handful of tests that previously weren't
- #335: Ensure that canceling
join
does not cancel theFiber
- #349: Fix spurious test failure in
ConcurrentLaws
- #352: Upgrade to cats-1.3.1
Previous Release Candidates
For 1.0.0
we went through multiple release candidates, so for a full list of changes since 0.10
, see these release notes:
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: @alexandru, @Avasil, @d1skort, @erlangxk, @kubukoz, @mpilquist, @RaasAhsan, @rossabaker, @Stefanqn, @SystemFw, @Zelenya, and several other reviewers and commenters.
Thanks to all those involved!
v1.0.0-RC3
This is the third release candidate before 1.0. The only planned changes before the final release are documentation and an upgrade to cats-1.3.0 when it is released.
List of Changes
New data types:
Major behavioral / breaking changes:
- #278: New encoding of
Resource
- #282: Change laws for
Bracket
andConcurrent
to support auto-cancelable and streaming types - #290: Changes to concurrency and cancellation:
Concurrent#cancelable
is no longer a primitive.- Replace
IO[Unit]
withF[Unit]
as the cancellation token, aliased toCancelToken[F]
IO#unsafeRunCancelable
now returns aCancelToken[IO]
to support backpressure
- #298: Introduce
SyncIO
, which becomes return type inEffect#runAsync
andConcurrentEffect#runCancelable
- #296:
Sync
extendscats.Defer
- #289, #307: Separation of concerns in
Timer
:Timer#shift
moved to newContextShift
Timer#clockMonotonic
andTimer#clockRealtime
moved ontoTimer#clock
Timer.deriveIO
is removed.- Added derived
Timer
instances for various monad transformers overF[_]
.
- #309: Remove
Effect#runSyncStep
- #311: Make
IO
auto-cancelable after async boundaries and removeIO#onCancelRaiseError
Added features:
- #266: Update
implicitNotFound
error message inTimer
- #269: Add
Resource.fromAutoCloseable
- #249: Add
Applicative[Fiber[F, ?]]
instance givenConcurrent[F]
- #305: Backpressure on
IO
cancellation tokens to support sequenced finalizers - #289: Improved support for blocking APIs with
ContextShift#evalOn
Docs:
- #263: Replace
Task
's mentions withIO
fromMVar
docs - #264, #283: Cleanup to documentation for
Ref
- #292, #300: Typo fixes
- #300: Document stack safety as another use case for
IO.shift
- #303: Remove redundant
Parallel[IO, IO]
instance fromDeferred
docs - #302: Document
SyncIO
- #304: List related projects
- #287: New guide to concurrency basics
Bug fixes and chores:
- #274: Test against Oracle JDK 10
- #273: Build with sbt-1.1.6
- #275: Build with scala-2.12.6, scalatest-3.0.5
- #293: Remove deprecated procedure syntax
- #294: Build for scala-2.13.0-M4 and with cats-1.2.0
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: @Avasil, @bthuillier, @adamw, @sullis, @aoiroaoino, @alexandru, @kubokoz, @vaslabs, @LukaJCB, @xuwei-k, @mpilquist, @dscleaver, @ericlurla, @gvolpe, @pchlupacek, @rossabaker, @ChristopherDavenport and several other reviewers and commenters.
Thanks to all those involved!