Skip to content

Latest commit

 

History

History
119 lines (81 loc) · 5.35 KB

CHANGELOG.md

File metadata and controls

119 lines (81 loc) · 5.35 KB

[0.8.0] - 06-12-20

Paging and sharing network calls between all repository instances.

Added

  • add isFirstFetch to cachestate
  • add mock objects for paging feature
  • improve paging api. Add function to easily go to the next page of the cache. Filter none state when observing cache. Create cache state object just for paging.
  • create repository for paging
  • share network calls between all repositories

[0.7.1] - 01-04-2020

Forgot to add refreshIfNoCache functionality to RepositoryMock from 0.7.0 release.

Added

  • Added refreshIfNoCache functionality to RepositoryMock.

[0.7.0] - 01-03-2020

Added

  • Enable or disable automatic refresh in a Repository. Issue
  • Assert that a cache exists, or refresh. Issue

[0.6.0] - 12-23-19

Added

  • Convert instances of DataState to another data type with convert()

Fixed

  • Allow DataSource instances to define Error type from fetching

[0.5.1] - 12-20-19

Fixed

  • Cache state machine crash, traveling to incorrect node. Issue

Changed

  • Repository internal refresh calls added to Rx dispose bag to cancel on deinit.

[0.5.0] - 11-25-19

Added

  • Utilities to write integration tests against Teller
  • Pre-built mock for Repository for unit testing

Changed

  • Breaking Change Changed DataState parsing switch statement to more simple API.
  • Breaking Change Remove need to subclass Repository in API!
  • Breaking Change Remove all local functionality. Teller only caches network fetches now.

[0.4.0-alpha] - 7-24-19

Changed

  • Breaking Change Switch to using Swift5's Result object in API. This (hopefully) concludes the Swift5 conversion.

[0.3.1-alpha] - 7-19-19

Fixed

  • Fix crash when localdatastate none #55

[0.3.0-alpha] - 7-5-19

Changed

  • Compile Teller with Swift5 and XCode 10.2

[0.2.2-alpha] - 3-19-2019

Fixed crash when delivering the OnlineCacheState when state of cache is none.

Fixed

  • Fixed crash when calling OnlineCacheState.cacheState() when cache state is none.

[0.2.1-alpha] - 2-7-2019

Fixed crash in OnlineRepository after first fetch is completed successfully. Do not use 0.2.0-alpha, use this release instead.

Fixed

[0.2.0-alpha] - 2-3-2019

Changes to the API. Thread safety and bug fixes.

Changed

  • Breaking Change OnlineRepository's sync() has been renamed to refresh().
  • Breaking Change OnlineDataState.FetchingFreshDataState has been renamed to OnlineDataState.NoCacheState.
  • Breaking Change A few of the properties in OnlineDataState have been renamed. Even though it's best practice to use OnlineDatatState.___State to parse it, you can access the properties manually if you wish.
  • Breaking Change OnlineRepositoryDataSource.observeCachedData() and OnlineRepositoryDataSource.isDataEmpty() gets called on UI thread. OnlineRepositoryDataSource.saveData() gets called on background thread. #28
  • OnlineRepository.observe() and LocalRepository.observe() no longer throws. Observe anytime you wish and receive event updates through all changes of the repository.
  • OnlineRepository.refresh() calls are shared in the same OnlineRepository instance. This saves on the amount of network calls performed. OnlineRepository.observe() observers are all notified when OnlineRepository.refresh() actions are performed. #24
  • OnlineRepository is thread safe.

Added

  • OnlineRepository now supports observing 2+ queries, as long as it's the same type of data. #38
  • Delete Teller data for development purposes or when someone logs out of your app and the data is cleared. #19

Contributors changelog

Changed

  • OnlineDataState has been refactored to using a finite state machine implementation. See OnlineDataStateStateMachine. It's a immutable object that represents an immutable OnlineDataState instance.
  • Fetching fresh cache data and the state of the cache data have been decoupled in OnlineDataState. Each of these 2 different states (fetching and cache) are updated independently from each other in the OnlineRepository so decoupling them fixes bugs that have been reported.

Fixed

  • Fixed memory leak's in the Rx observables inside of LocalRepository and OnlineRepository. This also fixes the repositories being able to deinit now which results in the internal observables being disposed (the intended behavior).
  • Fixed #20
  • Fixed #41
  • Fixed #32
  • Fixed #29

[0.1.0-alpha] - 2018-10-04

First release of Teller!

Added

  • LocalRepository for saving and querying locally cached data.
  • OnlineRepository for saving, querying, and fetching remote data that is cached locally.
  • Unit tests for all parts of the library.
  • README.md documentation on status of project and how to use it.