Skip to content

Releases: yaes-io/yaes

v0.22.0

22 Jun 14:45
dca8ebf

Choose a tag to compare

🥁 YAES has a new home! From now on, the yaes-io is the organization behind the YAES libraries. We changed all the packages from in.rcard.yaes to io.yaes. Maybe we'll publish an OpenRewrite recipe to make the migration easier.

Oh, another important thing: We have a new contributor 🎉. Thanks to @andrzejressel !

What's Changed 🚀

  • Moved the project to the yaes-io GitHub organization by @rcardin in #295

Bugs 🐞

Maintenance ⚙️

  • Updated dependency sbt/sbt to v1.12.13 by @renovate[bot] in #287

New Contributors

Full Changelog: v0.21.0...v0.22.0

v0.21.0

12 Jun 13:27
82f8cf4

Choose a tag to compare

We're approaching summertime again ⛱️, and before going on holiday 🍹 , there is time for a new version of YAES! The main addition is the CircuitBreaker handler, which, together with the Retry handler, lets us develop resilient distributed applications using YAES 🚀

What's Changed 👍

  • Widen to AutoClosable the Resource.acquire function by @rcardin in #278
  • Added the CircuitBreaker handler by @rcardin in #279
  • Added the Raise.tapError function by @rcardin in #281

Bugs 🐞

  • fix(274): Fixed contravariance problem in the Retry handler by @rcardin in #277

Full Changelog: v0.20.0...v0.21.0

v0.20.0

29 May 09:42

Choose a tag to compare

We're approaching the Republic Day here in Italy 🇮🇹, and that means it's time for a new release of the YAES library! We focused on testing utilities this time, drawing on the accumulated experience we gained in developing the functional-event-sourcing-with-yaes application! 🚀

What's Changed 🎉

  • Added / path-segment operator to Uri by @rcardin in #269
  • Added LogSpec, RandomSpec, and SyncSpec to yaes-core-test-scalatest by @rcardin in #270
  • Added yaes-http-test-scalatest module with StubHttpServer by @rcardin in #271

Bugs Fixed 🐞

  • Raise.catching[E] uses isInstance instead of == for subclass matching by @rcardin in #268

Full Changelog: v0.19.0...v0.20.0

v0.19.0

11 May 15:46
4f7842e

Choose a tag to compare

Spring is here 🌸, and so is a new version of YAES! This release is all about making the HTTP client more ergonomic and type-safe. We sharpened the edges around URI construction, error body decoding, and the DecodingError model. Enjoy ❤️

What's Changed 🚀

  • Added the decoding of the HTTP responses with status other than 200 by @rcardin in #250
  • Http client ergonomic path parameter support via uri interpolator by @rcardin in #252
  • Decoding error redesign by @rcardin in #257

Maintenance ⚙️

  • Updated dependency scalafmt to v3.11.1 by @renovate[bot] in #244
  • Updated dependency org.scalameta:sbt-scalafmt to v2.6.1 by @renovate[bot] in #258

Full Changelog: v0.18.0...v0.19.0

v0.18.0

03 May 15:50
6258a6b

Choose a tag to compare

First version after the Scalar Conference 2026 🎊 . It's a very big version! As you might know, I started using YAES to build an application in direct-style Scala (see functional-event-sourcing-with-yaes). Many changes come from there. Enjoy ❤️

What's Changed 🚀

  • Added the Random.nextUuid function by @rcardin in #232
  • Accumulated decoding errors by @rcardin in #233
  • Split BodyCodec into BodyEncoder and BodyDecoder by @rcardin in #236
  • Added Jsoniter Scala integration for yaes-http by @rcardin in #239
  • Added yaes-core-test-scalatest module with Raise effect test utilities by @rcardin in #240
  • Added extraHeaders param to Response factory methods and new withStatus factory by @rcardin in #241
  • Replaced Reader.Unsafe trait with opaque type by @rcardin in #242

Maintenance ⚙️

  • Updated dependency org.scalameta:sbt-scalafmt to v2.6.0 by @renovate[bot] in #229
  • Updated dependency sbt/sbt to v1.12.11 by @renovate[bot] in #228
  • Updated dependency scala to v3.8.3 by @renovate[bot] in #190

Full Changelog: v0.17.0...v0.18.0

v0.17.0

01 Apr 11:57
87cd84c

Choose a tag to compare

Easter 🐰 is coming up fast, and what would you like to find in the chocolate eggs 🥚? A new version of YAES! Inspired by Pierre's PureLogic, we added the Reader and the Writer pure effects ❤️! Thanks, Pierre 🙏!

We also made a bold move: We removed the Yaes trait. We lost the ability to use for-comprehension, but after more than a year of YAES, we understood that it's not its main focus ⛔ . Moreover, this is a breaking change 😱!

What did we gain? The possibility to enable capture checking in future YAES versions! 🎉

What's Changed 🌷

  • Added the Writer pure effect by @rcardin in #222
  • Added the Reader pure effect by @rcardin in #225
  • Removed Yaes wrapper class and use Unsafe traits directly as context parameters by @rcardin in #224

Full Changelog: v0.16.0...v0.17.0

v0.16.0

19 Mar 10:27

Choose a tag to compare

Spring is approaching quite fast 🌹 , and today in Italy 🇮🇹 is Father's Day 👨. Let's celebrate with version 0.16.0 of YAES. Since we already have an HTTP server module, we added its client counterpart. Please, welcome the new yaes-http-client module! 💯

Ah, we also reviewed both the content and the site's look and feel. Check it out! YAES site

What's Changed 🌸

Bugs 🐞

  • Handled the Sync effect to YaesApp.run context parameters by @rcardin in #208
  • Added the Sync effect to the YaesServer.run method by @rcardin in #209

Maintanance 🔧

  • Updated dependency sbt/sbt to v1.12.6 by @renovate[bot] in #206

Full Changelog: v0.15.0...v0.16.0

v0.15.0

02 Mar 17:01
3274e80

Choose a tag to compare

Spring 🌷 is approaching fast here in Italy 🇮🇹, and a new version of YAES is here! This time, we have plenty of new features: A new integration with Circe 🐍 to encode/decode JSON in the yaes-http-server; A new Retry effect handler ↩️, which allows to retry code execution using different policies; Async.parTraverse 🧵...I don't need to add anything else; A Flow.merge operation to merge different Flows.

What's Changed 🎉

  • Added Circe integration by @rcardin in #187
  • Added Async.parTraverse for parallel execution over collections by @rcardin in #192
  • Added Flow.merge for non-deterministic interleaving of multiple flows by @rcardin in #193
  • Added Retry handler and schedule retry policy for typed error recovery by @rcardin in #194

Maintenance 🧰

  • Updated dependency sbt/sbt to v1.12.5 by @renovate[bot] in #183

Full Changelog: v0.14.0...v0.15.0

v0.14.0

17 Feb 20:19
bf0be2c

Choose a tag to compare

A new big/small version of YAES is here! We love breaking changes (❤️), so we moved to Scala 3.8.1 and JDK 25. Migrating the structured concurrency machinery inside the Async effect was a pain in the 🌔. We also added a more robust logging effect, based on SLF4J (the effect is called Slf4jLog).

Happy coding 🎉

What's Changed 🚀

  • Added the yaes-slf4j module by @rcardin in #175
  • Migrated to JDK 25 structured concurrency API (JEP 505) by @rcardin in #178

Maintenance 🧰

Full Changelog: v0.13.0...v0.14.0

v0.13.0

05 Feb 10:44
872f7b7

Choose a tag to compare

Here we go again, Scala lovers. ❤️ Big changes for version 0.13.0: First, we changed the dependency between the yaes-core and the yaes-data module. Now, the yaes-core doesn't depend on any other module.

BUT the significant change is that we HAVE an HTTP server based on YAES effects. 🎉🎉🎉 We built it from scratch, so it has a lot of limitations (please, have a look at them in the dedicated documentation). Any feedback is welcome, of course! 🤝

What's Changed 🥇

Maintenance ⚙️

  • Updated dependency scalafmt to v3.10.6 by @renovate[bot] in #165
  • Updated dependency sbt/sbt to v1.12.2 by @renovate[bot] in #167

Full Changelog: v0.12.1...v0.13.0