-
2.3.0 protecteda4aee9ca · ·
Experimental Progressive holder and the new Weak module ### Progress - Experimental Progressive holder class (#144, !136) - Experimental helpers to capture progress into a Flow (!136) - Increased test coverage (!142) ### State - Experimental conversions from Progressive, Outcome and ProgressiveOutcome (!136) - Increased test coverage (!142) ### Weak Pedestal Weak is a new module to use weak reference and associated data structures from common Kotlin code! - Experimental WeakRef and SoftRef (#152, !147) - Experimental WeakMap (#153, !147) - Experimental pure Kotlin implementation of WeakKeyMap (!147) - Helpers to test weak data structures (!147) ### Dependencies - KotlinX.Datetime 0.6.0 (!143) - KotlinX.Coroutines 1.8.1 (!143) - KotlinX.Serialization 1.7.1 (!143) - Prepared 1.3.0 (!143)
-
2.2.2 protectedf567aabe · ·
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 protected0914107a · ·
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 protected50c581c9 · ·
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 protected163cfa05 · ·
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 protected823b1e1a · ·
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 protected4738f165 · ·
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 protected4fdb35df · ·
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 protecteded58443d · ·
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 protectedae02a744 · ·
Fix MavenCentral publication
-
2.0.0-rc.7 protected88825f9d · ·
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 protected8bce3772 · ·
Documentation and Spine fixes ### State - Improved documentation (#98, !74) ### Spine - Do not crash when deserializing a malformed SpineFailure
-
2.0.0-rc.5 protected521e98c3 · ·
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 protectedae251480 · ·
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 protected0cc0c4b9 · ·
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 protectedab31754b · ·
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 protectedb48efd5c · ·
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)