- Add license to PreferenceUtil.kt
- Fix crash "IllegalStateException: Recursive update" on Coroutines library (#23)
- Deprecates getObjectNonNull() function (#24)
- Correct the exception message when incorrect sharedprefereces is listened to (#26)
- Add in docs and website for Rx-Preferences (#25)
- Deprecates
RxSharedPreferences.getObjectNonNull()
in favor ofRxSharedPreferences.getObject()
- Breaking Change release
- Use extension functions for Rx libraries
- This removes the uses of the various
*SharedPreference
classes, and provides a singleRxSharedPreferences
class - This also removes the various
*Preference
classes in favor of a singlePreference
class - All reactive frameworks are now accessible as extension functions against the
Preference
class.- Java will have util classes to provide the access to extension functions
- This removes the uses of the various
- Update CI to build against latest android images
- Update several dependencies
- Remove deprecated APIs from rx-sharedpreferences
- Add in utility to convert
Preference<T>
toPreference<Optional<T>>
for reactive frameworks that don't allownull
.
- Update dependencies
- Move to compile sdk 34
- Use vanniktech for maven publishing
- Update CI script so that publishing occurs via CI now
- Remove build health checks from CI (for now)
- Fork of f2prateek/rx-preferences
- Due to group ID change and package change, this project will start the versioning at
1.0.0
for all libraries.
- Due to group ID change and package change, this project will start the versioning at
rx2
- Initial release
- Contains fix for f2prateek/rx-preferences#141
rx3
- Initial release
- Fix for f2prateek/rx-preferences#135
coroutines
,livedata
,core
,bom
- Initial release
Promotes 2.0.1-beta1
to a stable release.
-
Fix: Improve handling for
null
values stored in preferences. -
Improvement: Update dependencies and tools.
Promotes 2.0.0-RC3
to a stable release. If you are migrating from v1, please refer to the changelog for earlier RC versions to see what has changed.
-
New: Add ability to clear preferences via
RxSharedPreferences
. -
Fix: The default value for
RxSharedPreferences#getObject
may not be null, but was incorrectly annotated as@Nullable
. This corrects the annotation to@NonNull
.
This release includes multiple breaking changes.
- New: Replace
Adapter
withConverter
. AConverter
is a simpler interface that only deals with serialization, and abstracts away the complexity of working withSharedPreferences
orSharedPreferences.Editor
.
/**
* Converts instances of {@code T} to be stored and retrieved as Strings in {@link
* SharedPreferences}.
*/
interface Converter<T> {
/**
* Deserialize to an instance of {@code T}. The input is retrieved from {@link
* SharedPreferences#getString(String, String)}.
*/
@NonNull T deserialize(@NonNull String serialized);
/**
* Serialize the {@code value} to a String. The result will be used with {@link
* SharedPreferences.Editor#putString(String, String)}.
*/
@NonNull String serialize(@NonNull T value);
}
-
New: Disallow null values from being emitted by the Preference observable. Specifically
RxSharedPreferences#getEnum
andRxSharedPreferences#getObject
do not allow null values to be used as a default value. -
New: Make
Preference#set
only accept non null values. Trying to callset
with a null value will now throw an exception. -
New: Make the
Set<String>
returned byRxSharedPreferences#getStringSet
unmodifiable. -
Improvement: Use
@RequiresApi
instead of@TargetApi
.
rx-preferences has been updated to support RxJava 2.0. The Preference
type is now an interface, but the core itself is mostly unchanged. 2.0.0-RC1
does not handle backpressure yet.
Because the release includes breaking API changes, we're changing the project's package name from com.f2prateek.rx.preferences
to com.f2prateek.rx.preferences2
. The maven group has also changed to com.f2prateek.rx.preferences2
. This should make it possible for large applications and libraries to migrate incrementally.
- Remove custom backpressure support in favor of RxJava 1.1's built-in buffer latest.
- Add support for backpressure.
- Use reasonable defaults for creating Preferences that store primitives.
Initial release.