rx_storage 4.0.0
rx_storage: ^4.0.0 copied to clipboard
Reactive storage for Dart/Flutter. RxDart Storage for Dart/Flutter.
4.0.0 Oct 23, 2026 #
Dependencies #
-
Update dependencies:
rxdart_extfrom^0.3.0to^0.4.0.stack_tracefrom^1.10.0to^1.11.1.
-
Breaking: require Dart SDK
>=3.0.0 <4.0.0; Dart 2 is no longer supported.
Changes #
-
Breaking: enforce inheritance and implementation restrictions with Dart 3 class modifiers:
Storage,TransactionalStorage,RxStorage,RxStorageLogger, andRxStorageLoggerEventare nowabstract interfaceclasses. Implement these contracts instead of extending them.RealRxStorage,RxStorageDefaultLogger, andRxStorageEmptyLoggerare nowbaseclasses. Extend them to reuse their implementation, and mark subclasses asbase,final, orsealed.KeyAndValue,RxStorageError, and the concrete logger event classes are nowfinal. Define custom logger events by implementingRxStorageLoggerEvent.
-
Breaking: remove the deprecated
RxStorage.executeUpdateAPI and itsRealRxStorageimplementation. Useupdatewith named arguments (key,decoder,transformer,encoder, and optionaloptions) instead. -
Breaking:
Storage.readAll()andRxStorage.observeAll()now require anEntryDecoder<Key>callback and return maps of decoded values. The callback receives both the key and its stored value and supports asynchronous decoding. Pass(key, raw) => rawto retain the previous raw-value behavior. Null decoding results retain their keys; removed keys are omitted from maps. -
Add the built-in
InMemoryStorage<Key>adapter with synchronous and asynchronous encoder/decoder support. Encoded null values retain their keys;remove()deletes entries, andreadAll()decodes a shallow entry snapshot into a new map.
Fixes #
- Reject queued writes with
StateErroron disposal instead of leaving their futures pending. Started operations can finish without further notifications or logs. - Retain asynchronous adapter initialization failures for later operations without emitting an uncaught error before the first operation starts.
- Run external disposal cleanup at most once and share its result across
concurrent and repeated
dispose()calls. - Release idle write queues after synchronous task failures.
Docs #
- Clarify the README and illustrate stream emissions with a timeline diagram.
- Exclude repository tooling, image prompts, and generated output from the published package.
3.0.0 Jul 19, 2024 #
- Update dependencies
rxdart_extto^0.3.0(~rxdartto^0.28.0).
2.1.0 Oct 4, 2023 #
-
Accept
Dart SDKversions above 3.0. -
Deprecated
RxStorage.executeUpdate. It has been replaced byupdatemethod.Future<void> update<T extends Object>({ required Key key, required Decoder<T?> decoder, required Transformer<T?> transformer, required Encoder<T?> encoder, Options? options, }) -
Transformer<T>can return aFuture<T>. -
Update dependencies
disposebagto^1.5.1.
2.0.0 Jun 1, 2022 #
-
Update dependencies
rxdartto0.27.4.rxdart_extto0.2.1.
-
Rename
LoggertoRxStorageLogger.LoggerEventtoRxStorageLoggerEvent.EmptyLoggertoRxStorageEmptyLogger.DefaultLoggertoRxStorageDefaultLogger.
-
Update
RxStorageEmptyLogger: add@nonvirtualtologmethod. -
EncoderandDecodercan return aFuture
1.2.0 Sep 11, 2021 #
-
Update dependencies
rxdartto0.27.2rxdart_extto0.1.2metato1.7.0
-
Internal: migrated from
pedantictolints.
1.1.0 May 9, 2021 #
- Update
rxdartto0.27.0.
1.0.0 Apr 30, 2021 #
- Stable release for null safety.
- Add
RxStorage.executeUpdate: Read–modify–write style. - Synchronize writing task by key.
- Internal refactoring, optimize performance.
1.0.0-nullsafety.0 Feb 24, 2021 #
- Breaking:
- Opt into nullsafety.
- Set Dart SDK constraints to
>=2.12.0-0 <3.0.0. - Big refactoring for
Logger,RealRxStorageimplementation.
0.0.2 Jan 4, 2021 #
- Refactors
StorageandRxStorage:- Supports any type via
EncoderandDecoder. - Generic
Keyand genericOptions.
- Supports any type via
- Exports
RealRxStorageclass.
0.0.1 Dec 14, 2020 #
- Initial version.
