2023-01-16 21:28:45 +00:00
|
|
|
# Changelog
|
2017-02-28 20:31:13 +00:00
|
|
|
|
2023-09-14 16:33:26 +00:00
|
|
|
### Thank you to all our wonderful contributors and users
|
|
|
|
|
|
|
|
## [5.0.0] (2023-09-14 )
|
|
|
|
### Stable release of Store 5, major additions since Store 4 (no breaking changes)
|
|
|
|
* MutableStore
|
|
|
|
* Validator
|
|
|
|
* Fallback Mechanism
|
|
|
|
* KMP support
|
|
|
|
* Conflict Resolution for store writes
|
|
|
|
* Removal of experimental duration APIs
|
|
|
|
* StoreResult.NoNewData
|
2023-02-25 01:01:42 +00:00
|
|
|
|
2023-08-11 21:13:26 +00:00
|
|
|
## [5.0.0-beta03] (2023-08-11)
|
|
|
|
|
|
|
|
* Fix validator regression https://github.com/MobileNativeFoundation/Store/pull/573
|
|
|
|
|
2023-07-21 14:28:38 +00:00
|
|
|
## [5.0.0-beta02] (2023-07-21)
|
|
|
|
|
|
|
|
* Fix breaking changes with Source of
|
|
|
|
Truth [#560](https://github.com/MobileNativeFoundation/Store/pull/560)
|
|
|
|
|
2023-05-19 20:41:42 +00:00
|
|
|
## [5.0.0-beta01] (2023-05-19)
|
|
|
|
|
2023-07-21 14:28:38 +00:00
|
|
|
* Delegate memory cache implementation and provide a hybrid cache with automatic list decomposition
|
|
|
|
as a separate
|
2023-05-19 20:41:42 +00:00
|
|
|
artifact [#548](https://github.com/MobileNativeFoundation/Store/pull/548)
|
|
|
|
|
2023-05-09 17:45:22 +00:00
|
|
|
## [5.0.0-alpha06] (2023-05-08)
|
|
|
|
|
|
|
|
* Separate MutableStoreBuilder from
|
|
|
|
StoreBuilder [#542](https://github.com/MobileNativeFoundation/Store/commit/e050a15afc21c22ffea10a6a7d5f1b436ee34a6a)
|
2023-07-21 14:28:38 +00:00
|
|
|
* Support
|
|
|
|
Rx2 [#531](https://github.com/MobileNativeFoundation/Store/commit/7d73f08cc07294d00b176325af792b51874dfeff)
|
2023-05-09 17:45:22 +00:00
|
|
|
* Introduce Fallback
|
|
|
|
Mechanisms [#545](https://github.com/MobileNativeFoundation/Store/commit/d1e46a9d02703c798738bc5fb645344fefb90dd4)
|
|
|
|
|
2023-03-16 18:30:13 +00:00
|
|
|
## [5.0.0-alpha05] (2023-03-15)
|
|
|
|
|
|
|
|
* Target iOS Simulator
|
|
|
|
* Target Linux
|
|
|
|
* Make Bookkeeper optional
|
|
|
|
|
2023-02-25 01:01:42 +00:00
|
|
|
## [5.0.0-alpha04] (2023-02-24)
|
|
|
|
|
2022-12-21 01:34:00 +00:00
|
|
|
* Introduce MutableStore
|
|
|
|
* Implement RealMutableStore with Store delegate
|
|
|
|
* Extract Store and MutableStore methods to use cases
|
2021-05-17 16:48:14 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [5.0.0-alpha03] (2022-12-18)
|
2017-02-28 20:31:13 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
This release adds support for Store on iOS, JVM, and JS. Concepts and usage are unchanged from
|
|
|
|
Store4. In a future release we will reintroduce support for local and remote writes with conflict
|
|
|
|
resolution based on Google's offline first guidance.
|
2022-11-20 17:15:33 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
* Target Android, iOS, JVM, JS
|
|
|
|
* Remove concept of Market
|
|
|
|
* Remove support for local and remote writes (temporary)
|
|
|
|
|
|
|
|
## [5.0.0-alpha02] (2022-12-04)
|
|
|
|
|
|
|
|
* Target iOS and JS
|
|
|
|
* Rename packages
|
|
|
|
|
|
|
|
## [5.0.0-alpha1] (2022-12-04)
|
|
|
|
|
|
|
|
* Introduce Market
|
|
|
|
* Support local and remote writes with conflict resolution based on Google's offline-first guidance
|
|
|
|
* Target Android and JVM
|
|
|
|
|
|
|
|
## [4.0.5] (2021-03-30)
|
2022-11-20 17:04:26 +00:00
|
|
|
|
2022-03-30 16:56:54 +00:00
|
|
|
* Update to Kotlin 1.6.10
|
2023-01-16 21:28:45 +00:00
|
|
|
* Store `4.0.4-KT15` is the last version supporting Kotlin 1.5
|
|
|
|
* Store `4.0.1` is the last version supporting Kotlin 1.4
|
|
|
|
|
|
|
|
## [4.0.4-KT15] (2021-12-08)
|
2022-03-30 13:39:54 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
* Bug fixes and documentation updates
|
2021-12-08 18:59:41 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.3-KT15] (2021-11-18)
|
|
|
|
|
|
|
|
* Update to Kotlin 1.5.31 and Coroutines 1.5.2
|
|
|
|
* Bug fixes and documentation updates
|
|
|
|
|
|
|
|
## [4.0.2-KT15] (2021-05-06)
|
2021-11-18 18:13:20 +00:00
|
|
|
|
2021-05-17 16:48:14 +00:00
|
|
|
**Kotlin 1.5 introduced breaking changes in the experimental Duration apis we used**
|
|
|
|
**4.0.2-KT15 is a duplicate of 4.0.1 but compiled for kotlin 1.5**
|
|
|
|
**Version 4.0.1 is the last version compatible with Kotlin 1.4**
|
|
|
|
|
|
|
|
* Fire off kotlin 1.5 compatible snapshot (#273)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.1] (2021-05-06)
|
2021-05-17 16:48:14 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
* Fix issues when upgrading to kotlin 1.5 (Deprecated duration api)
|
2021-05-06 17:06:13 +00:00
|
|
|
* Add piggyback to all stores
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0] (2020-11-30)
|
|
|
|
|
|
|
|
* Update coroutines to 1.4.0, kotlin to 1.4.10 [#242](https://github.com/dropbox/Store/pull/242)
|
2020-11-30 20:00:10 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-beta] (2020-09-21)
|
2020-11-30 20:00:10 +00:00
|
|
|
|
2020-09-21 20:34:08 +00:00
|
|
|
**API change**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-09-21 20:34:08 +00:00
|
|
|
* Remove need for generics with `Error` type (#220)
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-09-21 20:34:08 +00:00
|
|
|
* Revert cache implementation to guava, rather than rolling our own (#200)
|
|
|
|
* Sample App improvements (#227)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha07] (2020-08-19)
|
|
|
|
|
2020-08-19 17:11:59 +00:00
|
|
|
**New Features**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-08-19 17:11:59 +00:00
|
|
|
* Add `StoreResult.NoNewData` to represent when a fetcher didn't return data. (#194)
|
|
|
|
* Move `Fetcher`-factories into `Companion` of `Fetcher` interface (#168)
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-08-19 17:11:59 +00:00
|
|
|
* Fix a leak of non-global coroutine contexts. (#199)
|
|
|
|
* Update to Kotlin 1.4.0 and Coroutines 1.3.9 (#195)
|
2023-01-16 21:28:45 +00:00
|
|
|
* Update to Coroutines 1.3.5 and remove `@FlowPreview` and `@ExperimentalCoroutinesApi`
|
|
|
|
annotations. (#166)
|
|
|
|
|
|
|
|
## [4.0.0-alpha06] (2020-04-29)
|
2020-08-19 17:11:59 +00:00
|
|
|
|
2020-04-29 17:47:15 +00:00
|
|
|
**Major API change!** (#123)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
This release introduces a major change to `StoreBuilder`'s API. This should be the LAST major API
|
|
|
|
change to store before
|
|
|
|
we'll move to beta.
|
|
|
|
|
2020-04-29 17:47:15 +00:00
|
|
|
* The typealias `Fetcher` was added to standardize the input type for a `StoreBuilder`
|
|
|
|
* `SourceOfTruth` in now a top level interface and part of `Store`'s public API
|
|
|
|
* `StoreBuilder` can now only be created using a `Fetcher` and optionally a `SourceOfTruth`
|
2023-01-16 21:28:45 +00:00
|
|
|
* All the overloads for creating a `StoreBuilder` were moved to `Fetcher` and `SourceOfTruth` as
|
|
|
|
appropriate.
|
2020-04-29 17:47:15 +00:00
|
|
|
* Rx artifacts were updated accordingly to match main artifacts.
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha05] (2020-04-03)
|
2020-04-19 23:51:50 +00:00
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-04-19 23:51:50 +00:00
|
|
|
* Contain @ExperimentalStdlibApi within relevant scope. (#154)
|
|
|
|
* Use AtomicFu to replace Java's AtomicBoolean and ReentrantLock (#147)
|
|
|
|
* migrate Multicast to Kotlin Test (#146)
|
|
|
|
* Remove Collections.unmodifiableMap (#145)
|
|
|
|
* Update AGP version (#143)
|
|
|
|
* Remove some unneeded java.util packages (#141)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha04] (2020-04-03)
|
2020-04-03 17:54:59 +00:00
|
|
|
|
|
|
|
**New Features**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-04-03 17:54:59 +00:00
|
|
|
* Add `asMap` function to Cache for backward compat (#136)
|
|
|
|
* Migrate filesystem library to use kotlin.time APIs (#133)
|
|
|
|
* Rx get fresh bindings (#130)
|
|
|
|
* Migrate cache library to use kotlin.time APIs (#129)
|
|
|
|
* Update sample app (#117)
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-04-03 17:54:59 +00:00
|
|
|
* Use Kotlin version of ArrayDeque in ChannelManager (#134)
|
|
|
|
* Kotlin 1.3.70 and other dependencies updates (#125)
|
|
|
|
* Make SharedFlowProducer APIs safe (#121)
|
|
|
|
* Ensure network starts after disk is established (#115)
|
|
|
|
* Update to Gradle 6.2 (#111)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha03] (2020-02-13)
|
2020-02-13 19:40:22 +00:00
|
|
|
|
|
|
|
**New Features**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-02-13 19:40:22 +00:00
|
|
|
* Added Rx bindings, available as store-rx2 artifact (#93)
|
|
|
|
* Bug fixes (#90)
|
|
|
|
* Add ability to delete all entries in the store (#79)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha02] (2020-01-29)
|
2020-01-29 15:07:33 +00:00
|
|
|
|
|
|
|
**New Features**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-01-29 15:07:33 +00:00
|
|
|
* Introduce piggyback only downstreams to multicaster and fix #59 (#75)
|
|
|
|
* Change flow collection util to drain the flow (#64)
|
|
|
|
* Readme improvements (#70, #72)
|
|
|
|
* Avoid illegal cast in RealStore.stream (#69)
|
|
|
|
* Added docs to MemoryPolicy.setMemorySize (#67) (#68)
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [4.0.0-alpha01] (2020-01-08)
|
2020-01-10 21:46:02 +00:00
|
|
|
|
|
|
|
**New Features**
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2020-01-10 21:46:02 +00:00
|
|
|
* Store has been rewritten using Kotlin Coroutines instead of RxJava
|
2018-06-07 17:43:16 +00:00
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [3.1.0] (2018-06-07)
|
2018-06-07 17:43:16 +00:00
|
|
|
|
|
|
|
**New Features**
|
|
|
|
|
|
|
|
* (#319) Store can now be used in Java (non-Android) projects
|
|
|
|
* (#338) Room integration for Store
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
|
|
|
|
|
|
|
* (#315) Add missing reading of expire-after-policy when creating a NoopPersister
|
|
|
|
* (#311) Update Kotlin & AGP versions
|
|
|
|
* (#328) Fix memory policy default size
|
|
|
|
* (#329) Adding docs to README for setting 1.8 compatibility
|
|
|
|
* (#273) Adds comments to the sample app
|
|
|
|
* (#336) Fixes errors in README
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [3.0.1] (2018-03-20)
|
2018-03-20 17:40:54 +00:00
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
|
|
|
|
|
|
|
* (#311) Update Kotlin & AGP versions
|
|
|
|
* (#314) Fix issues occured from RxJava1 dependency
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [3.0.0] (2018-02-01)
|
2018-02-01 18:45:53 +00:00
|
|
|
|
|
|
|
**New Features**
|
|
|
|
|
|
|
|
* (#275) Add ParsingFetcher that wraps Raw type Parser and Fetcher
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
* (#267) Kotlin 1.1.4 for store-kotlin
|
2018-02-01 18:45:53 +00:00
|
|
|
* (#290) Remove @Experimental from store-kotlin API
|
|
|
|
* (#283) Update build tools to 26.0.2
|
|
|
|
* (#259, #261, #272, #289, #303) README + documentation updates
|
|
|
|
* (#310) Sample app fixes
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [3.0.0-beta] (2017-07-26)
|
2017-07-26 15:31:30 +00:00
|
|
|
|
|
|
|
**New Features**
|
|
|
|
|
|
|
|
* (#229) Add store-kotlin module
|
|
|
|
* (#254) Add readAll / clearAll operations for a particular BarCode type
|
|
|
|
* (#250) Return object with meta data
|
|
|
|
* Create Code of Conduct
|
|
|
|
|
|
|
|
**Bug Fixes and Stability Improvements**
|
|
|
|
|
|
|
|
* (#239) Fix NoClassDefFoundError for StandardCharsets GsonBufferedSourceAdapter
|
|
|
|
* (#243) Update README for Rx2
|
|
|
|
* (#247) Remove intermediate streams
|
|
|
|
* (#246) Update to Moshi 1.5.0
|
|
|
|
* (#252) Fix stream for a single barcode
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
## [3.0.0-alpha] (2017-05-23)
|
2017-02-13 16:37:12 +00:00
|
|
|
|
2017-05-23 22:15:13 +00:00
|
|
|
This is a first alpha release of Store ported to RxJava 2.
|
2017-02-13 16:37:12 +00:00
|
|
|
|
|
|
|
**New Features**
|
2017-01-30 16:57:42 +00:00
|
|
|
|
2017-05-23 22:15:13 +00:00
|
|
|
* (#155) Port to RxJava 2
|
2023-01-16 21:28:45 +00:00
|
|
|
* (#220) Packages have been renamed to store3 to allow use of this artifact alongside the original
|
|
|
|
Store
|
2017-05-23 22:15:13 +00:00
|
|
|
* (#185) Return Single/Maybe where appropriate
|
|
|
|
* (#189) Add lambdas to Store and Filesystem modules
|
|
|
|
* (#214) expireAfterAccess added to MemoryPolicy
|
2023-01-16 21:28:45 +00:00
|
|
|
* (#214) Deprecate setExpireAfter and getExpireAfter -- use new expireAfterWrite or
|
|
|
|
expireAfterAccess, see #199 for
|
|
|
|
MemoryPolicy changes
|
2017-05-23 22:15:13 +00:00
|
|
|
* (#214) Add Raw to BufferedSource transformer
|
2017-01-30 16:57:42 +00:00
|
|
|
|
2017-05-23 22:15:13 +00:00
|
|
|
**Bug Fixes and Stability Improvements**
|
2017-01-10 14:51:38 +00:00
|
|
|
|
2017-05-23 22:15:13 +00:00
|
|
|
* (#214) Fix networkBeforeStale on cold start with no connectivity
|
|
|
|
* (#214) Add a missing source.close() call
|
2023-01-16 21:28:45 +00:00
|
|
|
* (#164) FileSystemPersister.persisterIsStale() should return false if record is missing or policy
|
|
|
|
is unspecified
|
2017-05-23 22:15:13 +00:00
|
|
|
* (#166) Remove apt dependency and use annotationProcessor instead
|
|
|
|
* (#214) Standardize store.stream() to emit only new items
|
|
|
|
* (#214) Fix typos
|
2023-01-16 21:28:45 +00:00
|
|
|
* (#214) Close source after write to filesystem
|
|
|
|
|
|
|
|
## [1.x]
|
|
|
|
|
|
|
|
* The change log for Store version 1.x can be
|
|
|
|
found [here](https://github.com/NYTimes/Store/blob/develop/CHANGELOG.md).
|
|
|
|
|
2023-07-21 14:28:38 +00:00
|
|
|
[Unreleased]: https://github.com/MobileNativeFoundation/Store/compare/v5.0.0-beta02...HEAD
|
|
|
|
|
|
|
|
[5.0.0-beta02]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-beta02
|
2023-05-19 20:41:42 +00:00
|
|
|
|
|
|
|
[5.0.0-beta01]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-beta01
|
2023-05-09 17:45:22 +00:00
|
|
|
|
|
|
|
[5.0.0-alpha06]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha06
|
2023-03-16 18:30:13 +00:00
|
|
|
|
|
|
|
[5.0.0-alpha05]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha05
|
2023-02-25 01:01:42 +00:00
|
|
|
|
2023-03-16 18:30:13 +00:00
|
|
|
[5.0.0-alpha04]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha04
|
2023-01-16 21:28:45 +00:00
|
|
|
|
2022-12-18 16:13:33 +00:00
|
|
|
[5.0.0-alpha03]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha03
|
|
|
|
|
2023-01-16 21:28:45 +00:00
|
|
|
[5.0.0-alpha02]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha02
|
|
|
|
|
|
|
|
[5.0.0-alpha1]: https://github.com/MobileNativeFoundation/Store/releases/tag/5.0.0-alpha1
|
|
|
|
|
|
|
|
[4.0.5]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.5
|
|
|
|
|
|
|
|
[4.0.4-KT15]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.4-KT15
|
|
|
|
|
|
|
|
[4.0.3-KT15]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.3-KT15
|
|
|
|
|
|
|
|
[4.0.2-KT15]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.2-KT15
|
|
|
|
|
|
|
|
[4.0.1]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.1
|
|
|
|
|
|
|
|
[4.0.0]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0
|
|
|
|
|
|
|
|
[4.0.0-beta]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-beta
|
|
|
|
|
|
|
|
[4.0.0-alpha07]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha07
|
|
|
|
|
|
|
|
[4.0.0-alpha06]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha06
|
|
|
|
|
|
|
|
[4.0.0-alpha05]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha05
|
|
|
|
|
|
|
|
[4.0.0-alpha04]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha04
|
|
|
|
|
|
|
|
[4.0.0-alpha03]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha03
|
|
|
|
|
|
|
|
[4.0.0-alpha02]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha02
|
|
|
|
|
|
|
|
[4.0.0-alpha01]: https://github.com/MobileNativeFoundation/Store/releases/tag/4.0.0-alpha01
|
|
|
|
|
|
|
|
[3.1.0]: https://github.com/MobileNativeFoundation/Store/releases/tag/3.1.0
|
|
|
|
|
|
|
|
[3.0.1]: https://github.com/MobileNativeFoundation/Store/releases/tag/3.0.1
|
|
|
|
|
|
|
|
[3.0.0]: https://github.com/MobileNativeFoundation/Store/releases/tag/3.0.0
|
|
|
|
|
|
|
|
[3.0.0-beta]: https://github.com/MobileNativeFoundation/Store/releases/tag/3.0.0-beta
|
|
|
|
|
|
|
|
[3.0.0-alpha]: https://github.com/MobileNativeFoundation/Store/releases/tag/3.0.0-alpha
|
|
|
|
|
|
|
|
[1.x]: https://github.com/NYTimes/Store/blob/develop/CHANGELOG.md
|