Skip to content

Releases: russhwolf/multiplatform-settings

v0.6.1

17 Aug 22:03
Compare
Choose a tag to compare
v0.6.1 Pre-release
Pre-release
  • Kotlin 1.4.0, Gradle 6.6, and Android Gradle Plugin 4.0.1
  • Support for both legacy and IR compiler modes in Kotlin/JS

v0.6

26 Apr 19:22
Compare
Choose a tag to compare
v0.6 Pre-release
Pre-release
  • Kotlin 1.3.72 and Android Gradle Plugin 3.6.3
  • Add multiplatform-settings-no-arg module, including common Settings() function for easy default configuration
  • Experimental WindowsSettings implementation via registry
  • Improved thread-safety for AppleSettings update listeners
  • New keys and size members on Settings.
  • Add workaround for potential native name collisions (KT-36721)

v0.5.1

04 Mar 02:49
Compare
Choose a tag to compare
v0.5.1 Pre-release
Pre-release
  • Update to Kotlin 1.3.70
  • Update to Android Gradle Plugin 3.6.1
  • Convert @Experimental usage to @RequiresOptIn

v0.5

16 Dec 01:21
Compare
Choose a tag to compare
v0.5 Pre-release
Pre-release
  • Update to Kotlin 1.3.61
  • Update to Android Gradle Plugin 3.5.3
  • Breaking changes:
    • Long-based APIs were previously being backed by Ints on 32-bit Apple targets (eg iosArm32), which means they were limited to Int values. This has been replaced with using String-backed storage that will respect the full range of Long values.
    • Apple artifacts have been renamed to use default target names. This should only have impact for consumers who depended on platform-specific artifacts instead of using Gradle Metadata and depending only on the multiplatform-settings artifact.
  • Deprecate Settings.removeListener() and replace with SettingsListener.deactivate()
  • Deprecate @ExperimentalJs annotation. Javascript now has the same stability as the rest of the library.
  • Deploy common code to all available platforms. This enables users to add implementations on platforms not included by default.
  • Add JS browser target to sample project
  • Remove incorrect logic attempting to run JvmPreferencesSettings.Listener updates on the main thread. This listener implementation updates on an internally-managed background thread. The behavior has not changed but is now documented.
  • Build script refactors. This should be largely invisible but please file issues if anything is inconsistent.

v0.4.1

19 Nov 05:50
Compare
Choose a tag to compare
v0.4.1 Pre-release
Pre-release
  • Update to Kotlin 1.3.60

v0.4

16 Nov 23:05
Compare
Choose a tag to compare
v0.4 Pre-release
Pre-release
  • Add new JvmPreferencesSettings implementation for JVM target, using Preferences APIs.
    • To continue with the existing Properties implementation, use JvmPropertiesSettings. This implementation may be deprecated and removed in the future.
  • Add optional persistence callback in JvmPropertiesSettings
  • Add iosArm32 support.
  • Add new nullable get APIs (eg Settings.getIntOrNull(key))
  • Add JVM sample

v0.3.3

23 Aug 01:48
Compare
Choose a tag to compare
v0.3.3 Pre-release
Pre-release
  • Update to Kotlin 1.3.50
  • Convert build scripts to Kotlin

v0.3.2

24 Jun 01:49
Compare
Choose a tag to compare
v0.3.2 Pre-release
Pre-release
  • Update to Kotlin 1.3.40
  • Use new automated JS configuration
  • Reduce @Experimental annotations to warning status

v0.3.1

19 May 22:43
Compare
Choose a tag to compare
v0.3.1 Pre-release
Pre-release
  • Add multiplatform-settings-test dependency with MockSettings implementation
  • Update to Kotlin 1.3.31 and Gradle 5.4.1
  • Rename ListenableSettings to ObservableSettings

v0.3

21 Apr 15:00
Compare
Choose a tag to compare
v0.3 Pre-release
Pre-release
  • Update to Kotlin 1.3.30 and Gradle 5.3.1
  • Remove redundant PlatformSettings expect declarations
  • Add macOS platform
  • Add experimental Javascript platform
  • Add experimental JVM platform
  • Refactor experimental listener behavior to separate interface
  • Make delegate keys optional