-
2.2.2 protected Release: 2.2.2 • Bug fixes, Kotlin 2.0.0
Bug fixes, Kotlin 2.0.0 ### Build and deployment - Fixed JVM tests not running (ec557993, !129) - Enable code coverage for all modules (#142, !129) - Migrate Progress tests to Prepared (778387b1, !129) - Stop publishing the `tester` module (89f4d925, !119) ### Dependencies - Kotlin 2.0.0 (55a01666, !70) - Slf4J 2.0.13 (00733016, !132) - Arrow 1.2.4 (3884e8a6, !132) - Logback Classic 1.5.6 (983d8f98, !132) - KotlinX.Datetime 0.5.0 (03dbf236, !132) - KotlinX.Coroutines 1.8.0 (03dbf236, !132)
-
2.2.1 protected Release: 2.2.1 • Improved testing, Kotlin 2.0.0-RC1
Improved testing, Kotlin 2.0.0-RC1 ### Testing - Fixed JVM tests not running (ec557993, !129) - Set a minimal code coverage for all active modules (#142, !129) ### Spine (deprecated) - Unify the string representation of floating-point numbers on all platforms (99f5d234) ### Dependencies - Kotlin 2.0.0-RC1 (66672126)
-
2.2.0 protected Release: 2.2.0 • Documentation improvements, Arrow built into State, experimental progressive DSL
Documentation improvements, Arrow built into State, experimental progressive DSL ### Backbone - Documentation improvements and example modernization (#133, !118) ### State - Merge :state-arrow into :state (1ddf5e18, !123) - Documentation improvements for State (!123) - Experimental DSL for ProgressiveOutcome (!124) ### Documentation - Remove the link to Logger from the main README (7186f217, !122) - Fix links after move to OpenSavvy Groundwork (c4fcbd7a, !122)
-
2.1.1 protected Release: 2.1.1 • Experimental LocalStorage cache
Experimental LocalStorage cache ### Cache - Created the experimental LocalStorage/SessionStorage cache implementation (#2, !114) ### Spine - Mention that Spine is being rewritten (24c862d6, 110) ### Build and deployment - Fixed incorrect documentation URL in MavenCentral metadata (#127, !101) ### Dependencies - Kotlin 1.9.22 (128dfe13)
-
2.1.0 protected Release: 2.1.0 • Helpers to combine incomplete results
Helpers to combine completed results ### State - Helpers to accumulate incomplete results with the previous complete result (#125, !96) ### Documentation - Mark each module's stability (#119, !95) - Fixed a broken link in State Arrow (f1e814d9) - Document how each logger implementation works (154377bd)
-
2.0.0 protected Release: 2.0.0 • Typesafe failures, independent progress and API surface cleanup
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:<module>:<version>' instead of 'opensavvy:<module>:<version>' (#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 protected Release: 2.0.0-rc.10 • Last release candidate before 2.0.0
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.9 protected Release: 2.0.0-rc.9 • LinuxX64 support
LinuxX64 support ### Build and deployment - Support for the LinuxX64 platform (#115, !86) ### Cache - Explicitly specify which clock to use when using ExpirationCache (#111, !85)
-
2.0.0-rc.8 protected Release: 2.0.0-rc.8 • Fix MavenCentral publication
Fix MavenCentral publication
-
2.0.0-rc.7 protected Release: 2.0.0-rc.7 • Blocking cache and MavenCentral publication
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)
-
2.0.0-rc.6 protected Release: 2.0.0-rc.6 • State documentation and Spine crash
Documentation and Spine fixes ### State - Improved documentation (#98, !74) ### Spine - Do not crash when deserializing a malformed SpineFailure
-
2.0.0-rc.5 protected Release: 2.0.0-rc.5 • Type-safe errors for Spine
Type-safe Spine errors ### Pedestal - Completely rewrite of the documentation (#97, !72) ### Spine Spine is deprecated and will be removed in the future. - Type-safe errors (#103, !73)
-
2.0.0-rc.4 protected Release: 2.0.0-rc.4 • Easier error management
Easier Outcome-based error management ### Progress - ProgressReporter.NoOp has been moved to a private class, accessed by the factory 'emptyProgressReporter' (#90, !69) ### State - Added Outcome.mapFailure and ProgressiveOutcome.mapFailure (#92, !70) ### Build and deployment - Fixed the links in Dokka to the Arrow documentation (#63, !71)
-
2.0.0-rc.3 protected Release: 2.0.0-rc.3 • Failure simplification
Failure removal ### State - Removed the Failure interface (#87, !67) - Conversion functions from Either to Outcome (!67) - Accessors for Outcome<Nothing, T> and similar (#88, !68)
-
2.0.0-rc.2 protected Release: 2.0.0-rc.2 • Contextual caches
Contextual caches ### Cache - Created contextual cache algorithms (#85, !66) ### Backbone - Removed Backbone.request (#84, !64) ### Build and deployment - Cleaned up the README (#82, !62) - Added the OpenSavvy coding style (#83, !63)
-
2.0.0-rc.1 protected Release: 2.0.0-rc.1 • Pedestal 2.0
Pedestal 2.0 first release candidate ### Progress The progress management, originally a part of Pedestal State, has been split into its own Pedestal Progress project. To facilitate usage into projects with specific requirements, it is organized as a main project and a compatibility module to use with Kotlin Coroutines. - Extracted Progress from the State project (#58, !54) ### State Completely reworked the failure management. Previously, failure was a single class, whereas it became an interface. This allows code to declare its own sealed classes of possible failures, making testing easier. - Complete failure rework (#59, #70, !58) ### Backbone - Hide the cache as an implementation detail instead of exposing it (#71, !61) ### Spine - Spine is deprecated, and will be removed in the future (#73, !59) ### Build and deployment - Enabled the Gradle Build Cache (#76, !55, !56) - Exposed Dokka as a review app (#78, !57) - The library is now published as 'opensavvy.pedestal:<module>:<version>' instead of 'opensavvy:<module>:<version>' (#69, !68)
-
1.1.0 protected Release: 1.1.0 • iOS support and Gradle convention plugins
iOS support & Gradle convention plugins ### Platform support Thanks to @LandryNorris for contributing the support for iOS platforms and helping me set up the CI for them. - Added iOS support for State and Logger (!47) - Added iOS support for Cache and Backbone (!50) - Configured the CI to run on MacOS virtual machines to test and publish the libraries (#64, !50) ### State - Added ProgressiveOutcome.map, Flow<ProgressiveOutcome>.mapSuccess (#56, !45) ### Build and deployment - Complete rewrite of the Gradle build using convention plugins (#61, #67, !46, !49) - Kotlin 1.8.10 and other dependency updates (#66, !48)