# Multiplatform Settings version 0.6 is out!

DevFeed: [Multiplatform Settings version 0.6 is out!](<https://devfeed.tech/articles/multiplatform-settings-version-0-6-is-out-25000.md>)

Original publisher: [Read original article](<https://dev.to/russhwolf/multiplatform-settings-version-0-6-is-out-2i41>)

Author: Russell Wolf

Published: 2020-04-26T20:03:33Z

Content type: release

Language: en

Sources: [DEV Community 👩💻👨💻: Russell Wolf](<https://devfeed.tech/sources/dev-community-russell-wolf.md>)

Topics: [multiplatform](<https://devfeed.tech/topics/multiplatform.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [implementation](<https://devfeed.tech/topics/implementation.md>)

Tags: [coding](<https://devfeed.tech/tags/coding.md>), [community](<https://devfeed.tech/tags/community.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [inclusive](<https://devfeed.tech/tags/inclusive.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlinmultiplatform](<https://devfeed.tech/tags/kotlinmultiplatform.md>), [multiplatform](<https://devfeed.tech/tags/multiplatform.md>), [news](<https://devfeed.tech/tags/news.md>), [platform](<https://devfeed.tech/tags/platform.md>), [release](<https://devfeed.tech/tags/release.md>), [software](<https://devfeed.tech/tags/software.md>), [thread](<https://devfeed.tech/tags/thread.md>), [threads](<https://devfeed.tech/tags/threads.md>), [windows](<https://devfeed.tech/tags/windows.md>)

## AI overview

Multiplatform Settings 0.6 adds a Windows implementation that stores data in the registry, a no-argument module for common code, size and keys APIs, and improved thread safety for update listeners on Apple platforms. Some listener and Windows functionality remains limited or experimental.

## Source excerpt

Today I've released version 0.6 of Multiplatform Settings! I thought I'd write a few words about what's been added and what's still to come. Windows One major new feature is a Windows implementation which stores data in the registry. For that I'm thankful for the initial contribution from Andrew Mikhaylov, without which I wouldn't have known how any of the Windows APIs work. It currently doesn't implement the listener APIs in ObservableSettings, but it should be possible to get something working in the future, using something like RegNotifyChangeKeyValue. Contributions welcome. If you do native Windows work, let me know if it meets your needs. no-arg Another new feature is a new module called multiplatform-settings-no-arg. This is in response to a longstanding friction I've heard of from some users, where configuration can seem too complicated. I've generally focused the design of Multiplatform Settings around platform interop, with the expectation that you probably have some existing key-value storage that you want to use from both your shared and platform-specific code. But if that doesn't matter for your use-case, needing to configure things separately from each platform can be frustrating. So the no-arg module lets you call Settings() from common code. Note that this is not currently implemented on Windows, but it is available for other existing platforms. More details in the readme keys and size APIs A minor update is the addition of size and keys APIs, which have been a longstanding to-do item of mine. I held off for a while because they behave unintuitively on Apple platforms, where after a clear() call some keys are still present. However, after realizing that this might already be confusing for the hasKey() API that already exists, I decided that it wasn't a reason to keep them out of the library. Listener updates Finally, this release brings better thread-safety for update listeners on Apple platforms. This is something I've been wanting to get back and im