Releases: cb372/cats-retry
v4.0.0
This is a new major version of cats-retry, providing new features and a fresh API design.
Major user-facing changes
The major changes in v4 are as follows:
- Scala 3. The library is now published for Scala 3 only.
- Cats Effect. The library is now more strongly coupled to Cats Effect.
- Adaptation. cats-retry now supports adaptation in the face of errors or failures.
- Dynamic retry policies. Retry policies are now more powerful.
- API redesign. The API has been completely rewritten to provide more power and flexibility with fewer combinators.
Migrating from cats-retry v3
cats-retry v4 is not binary-compatible or source-compatible with v3, so you will need to make some changes to your source code.
Please see the migration guide for detailed instructions.
Behind the scenes
- The codebase has been ported to Scala 3 syntax, getting rid of package objects, updating the syntactic sugar to use Scala 3 extension methods, switching to Scala 3 enums, etc
- The tests have been ported from ScalaTest to MUnit, and many test suites have been completely rewritten
- All the dependencies and sbt plugins have been upgraded
PRs
- V4 🚀 by @cb372 @AlejandroBudy @ccantarero91 in #549, which aggregated the following PRs
- feat: migrate to scala 3 by @ccantarero91 in #532
- Remove Sleep typeclass by @AlejandroBudy in #536
- feat: migrate to scala 3 v2 by @ccantarero91 in #538
- Rename higher kinded type parameter from M to F by @AlejandroBudy in #540
- API changes to support adaptation by @cb372 in #534
- Remove the remaining package objects by @cb372 in #543
- Reorder params by @cb372 in #544
- Return result wrapped in an Either to indicate success/failure by @cb372 in #545
- Upgrade dependencies by @cb372 in #546
- Add a v3 -> v4 migration guide by @cb372 in #547
- Add new devs to POM by @cb372 in #548
- Install sbt in GH actions by @cb372 in #551
- Dynamic retry policies by @cb372 in #550
- Use Cats Effect Random for randomness in fullJitter by @cb372 in #552
- Fix the installation of Jekyll in CI by @cb372 in #553
- Update method signatures in migration guide by @cb372 in #555
- Remove obsolete Mergify and release-drafter configs by @cb372 in #556
- Update scalafmt-core to 3.8.3 by @scala-steward in #507
- Update sbt-scalajs, scalajs-library_2.13, ... to 1.18.1 by @scala-steward in #557
- Update sbt-scalafmt to 2.5.3 by @scala-steward in #558
- Update scalafmt-core to 3.8.4 by @scala-steward in #559
Full Changelog: v3.1.1...v4.0.0
v4.0.0-RC2
What's Changed
- V4 🚀 by @cb372 @AlejandroBudy @ccantarero91 in #549 (Please see that PR for a full list of PRs)
- Fix the installation of Jekyll in CI by @cb372 in #553
Major user-facing changes
The major changes in v4 are as follows:
- Scala 3. The library is now published for Scala 3 only.
- Cats Effect. The library is now more strongly coupled to Cats Effect.
- Adaption. cats-retry now supports adaptation in the face of errors or failures.
- Dynamic retry policies. Retry policies are now more powerful.
- API redesign. The API has been completely rewritten to provide more power and flexibility with fewer combinators.
Migrating from cats-retry v3
cats-retry v4 is not binary-compatible or source-compatible with v3, so you will need to make some changes to your source code.
Please see the migration guide for detailed instructions.
Behind the scenes
- The codebase has been ported to Scala 3 syntax, getting rid of package objects, updating the syntactic sugar to use Scala 3 extension methods, switching to Scala 3 enums, etc
- The tests have been ported from ScalaTest to MUnit, and many test suites have been completely rewritten
- All the dependencies and sbt plugins have been upgraded
Full Changelog: v4.0.0-RC1...v4.0.0-RC2
v4.0.0-RC1
What's Changed
- V4 🚀 by @cb372 @AlejandroBudy @ccantarero91 in #549 (Please see that PR for a full list of PRs)
Major user-facing changes
The major changes in v4 are as follows:
- Scala 3. The library is now published for Scala 3 only.
- Cats Effect. The library is now more strongly coupled to Cats Effect.
- Adaption. cats-retry now supports adaptation in the face of errors or failures.
- Dynamic retry policies. Retry policies are now more powerful.
- API redesign. The API has been completely rewritten to provide more power and flexibility with fewer combinators.
Migrating from cats-retry v3
cats-retry v4 is not binary-compatible or source-compatible with v3, so you will need to make some changes to your source code.
Please see the migration guide for detailed instructions.
Behind the scenes
- The codebase has been ported to Scala 3 syntax, getting rid of package objects, updating the syntactic sugar to use Scala 3 extension methods, switching to Scala 3 enums, etc
- The tests have been ported from ScalaTest to MUnit, and many test suites have been completely rewritten
- All the dependencies and sbt plugins have been upgraded
Full Changelog: v3.1.1...v4.0.0-RC1
v3.1.3
v3.1.2
v3.1.1
v3.1.0
What's Changed
- Cross-publish for Scala 3, update Scala and dependencies versions by @andreamarcolin in #327
New Contributors
- @andreamarcolin made their first contribution in #327
Full Changelog: v3.0.0...v3.1.0
v3.0.0: CE3 support
What’s Changed
- "migrate" to cats effect 3 (#305) @b3nk3i
- Fix #283: Change bool functions to m bool (#284) @pjrt
- Removed duplicate lines for scalatest and scalacheck in libraryDependencies (#289) @tototoshi
- Update scalacheck to 1.15.2 (#266) @scala-steward
- Update cats-effect to 2.3.1 (#268) @scala-steward
- Update cats-mtl to 1.1.1 (#269) @scala-steward
- Update discipline-scalatest to 2.1.1 (#270) @scala-steward
- Update sbt to 1.4.6 (#274) @scala-steward
- Update sbt-scalajs, scalajs-compiler, ... to 1.4.0 (#275) @scala-steward
v2.1.0: more combinators, cats/cats-effect 2.3.0
What’s Changed
- Update scalafmt to 2.7.5 (#262) @etspaceman
- Rename retryingM to retryingOnFailures (#261) @etspaceman
- Improve combinators documentation (#264) @cb372
- Functionality to Retry Failures and Errors In The Same Retry Strategy (#259) @etspaceman
- Update sbt-ci-release to 1.5.5 (#257) @scala-steward
- Update cats-core to 2.3.0 (#263) @etspaceman
- Update sbt to 1.4.5 (#260) @scala-steward
- Update cats-effect to 2.3.0 (#254) @scala-steward
- Update cats-mtl to 1.1.0 (#253) @scala-steward
- Update sbt-scalajs, scalajs-compiler, ... to 1.3.1 (#247) @scala-steward
- Update discipline-scalatest to 2.1.0 (#246) @scala-steward
- Update scalatest to 3.2.3 (#245) @scala-steward
- Update scalacheck to 1.15.1 (#244) @scala-steward
- Update sbt-ci-release to 1.5.4 (#243) @scala-steward
- Update sbt to 1.4.2 (#242) @scala-steward
- Update scalacheck to 1.15.0 (#241) @scala-steward
v2.0.0: cats/cats-effect 2.2.0, cats-mtl 1.x, Scala.js 1.x
What’s Changed
- Update sbt-mima-plugin to 0.8.1 (#239) @scala-steward
- Update sbt-scalajs, scalajs-compiler to 1.3.0 (#236) @scala-steward
- Update all GH actions to latest versions (#238) @cb372
- Update sbt-buildinfo to 0.10.0 (#223) @scala-steward
- Update sbt-scalafmt to 2.4.2 (#220) @scala-steward
- Update libraries (cats, cats-effect, cats-mtl, scalatest), drop Scala 2.11 support (#229) @iRevive
- Update sbt to 1.4.0 (#233) @scala-steward
- Update sbt to 1.3.13 (#214) @scala-steward
- Update scalacheck-1-14 to 3.2.0.0 (#212) @scala-steward
- Update scalatest to 3.2.0 (#211) @scala-steward
Breaking changes
- We now publish artifacts for Scala.js 1.x, not 0.6.x.
- The cats-mtl integration module now depends on cats-mtl 1.x, not 0.7.x. This introduces a bunch of breaking changes within that module, e.g. cats-mtl's
ApplicativeHandle
is now calledHandle
.