Skip to content

2023

2.0.0 • Stable 2.0.0 release

Here are the highlights of this range of updates. To learn more, see the pre-release changelogs:

Progress

Previously a part of Pedestal State, the progress management is now its own independent library (#58, !54).

State

  • State was previously based on Arrow. We have decided to make State independent of Arrow. We have completely rewritten the failure management (#59, #70, !58).
  • Introduced a compatibility module for use with Arrow.
  • Introduced a compatibility module for use with Coroutines.

Cache

  • Reworked the module so implementations are private, and only instantiation methods are public. This will make it much easier to make changes to implementations in the future (#86, !81).
  • Introduced contextual cache algorithms, which understand authentication or paging (#85, !66).
  • Introduced blocking algorithms for Java interoperability (#109, !83).

Backbone

  • Reworked the Backbone pattern to entirely hide the Cache as an implementation detail, making future changes much easier (#73, !59).

Build and deployment

  • The project is now published as 'dev.opensavvy.pedestal::' instead of 'opensavvy::' (#69, !68)
  • Major documentation improvements.
  • Support for LinuxX64 (#115, !86)
  • The project is now published on MavenCentral!
  • The project is now based on the OpenSavvy Playground (#114, !87)

2.0.0-rc.10 • Log bug and better documentation

Documentation

  • Avoid single-letter type parameters (#112, !88)
  • Mention the LinuxX64 support in the README (#118, !90)

Build and deployment

  • The project is now based on the OpenSavvy Playground, which should make build configuration easier (#114, !87)
  • Fixed the CI not running on the GitLab Shared Runners for MacOS (!82, !92)

Cache

  • Fixed the lock bug on Kotlin/JS (#101, !91)

Dependencies

  • Kotlin 1.9.0
  • Arrow 1.2.0
  • Dokka 1.9.0
  • Logback 1.4.8
  • Slf4j 2.0.7
  • Ktor 2.3.2
  • KotlinX.Coroutines 1.7.2
  • KotlinX.Serialization 1.5.1

Contributions

Thanks @darbyfrey (from the GitLab team) for helping us figure out how to use the MacOS Shared Runners.

2.0.0-rc.7 • Blocking cache and MavenCentral publication

Migration steps

The group for Gradle configuration has been renamed from 'opensavvy.pedestal' to 'dev.opensavvy.pedestal'.

Cache

  • Better documentation (#9bf6b475, !81)
  • All implementations are internal, only their factory methods are public (#86, !81)
  • Create blocking wrappers to use the library without coroutines (#109, !83)

Build and deployment

  • Gitpod support to contribute to the project in a cloud environment (#107, !79)
  • Migrate after changes to the GitLab shared MacOS runners (#102, !78)
  • Pedestal is now published on MavenCentral (#105, !77)