Skip to content

Releases: reactiveui/Akavache

v6.0.17-beta

24 Aug 15:45
ed6bf4f
Compare
Choose a tag to compare

Whats new in this release:

Big changes are the support of the System.Reactive 4.0.0 version, .NET Standard support, we now use Microsoft concurrent collections instead of our own, and minimum version of UWP has been updated.

Documentation

Fixes

New Features

  • feature: Update to support .NET Standard (#367) @PureWeen
  • feature: now using Microsoft concurrent containers instead of custom ones @PureWeen

Housekeeping Items

Thanks to all involved.

5.0.0

04 Nov 15:05
Compare
Choose a tag to compare

As part of this release we had 14 issues closed.

Breaking changes

  • #317 Update the SQLite dependency to support Android 7
  • #291 Akavache 5.0 Discussion
  • #283 Remove the support for WinRT80, since it can't even be opened in VS2015

Feature

  • #255 Allow UTC DateTimes to be forced.

Bugs

  • #282 Pin the Splat dependency in the nuspec file to the same version we're building Akavache with
  • #258 InsertAllObjects self recursion

Improvements

  • #319 Implemented automatic CI release workflow
  • #318 Implemented continuous integration
  • #289 Index the TypeName in the database to make bulk object queries faster
  • #288 Added CacheElement.Expiration index
  • #260 Lazily initialize the various SQLite operations
  • #259 Remove some unused code

Documentation

  • #311 Added issue/pr templates and contrib guidelines
  • #293 Added Shutdown instructions to README.

Where to get it

You can download this release from nuget.org

Akavache 4.1.2

27 Oct 05:04
Compare
Choose a tag to compare

What's New

Bug Fixes

  • Fix hang on initialization (#229, thanks @PureWeen)
  • Prevent shutdown for caches that aren't being used (#243, thanks @jcomtois)
  • Fix a deadlock in Flush / Vacuum (#254, thanks @niik)
  • Add a new property to force time zone for Akavache.SQLite3 (#255, thanks @kentcb)

Akavache 4.1.1

27 Oct 04:53
Compare
Choose a tag to compare

What's New

Akavache 4.1.0

03 Jan 23:07
Compare
Choose a tag to compare

What's New

Xamarin.iOS / Xamarin.Mac 64-bit support

Akavache now supports the Xamarin Unified profile for iOS and Mac - if you use the Migration tool, it is highly advised to remove and re-add the Akavache packages manually.

Bug Fixes

  • Fix DownloadUrl and friends to correctly store content

Akavache 4.0.4

06 Nov 05:17
Compare
Choose a tag to compare

What's New

  • Add a feature to DownloadUrl to specify an explicit key (#181, thanks @RocketPop)
  • Ensure that GetCreatedAt never throws (#184, thanks @flagbug)

Akavache 4.0.3

28 Aug 22:19
Compare
Choose a tag to compare

What's New

Bug Fixes

  • Fix GetCreatedAt to return correct times (#177, thanks @niik)
  • Ensure waiting on Shutdown doesn't block
  • Small performance improvement

Akavache 4.0.2

26 Aug 00:44
Compare
Choose a tag to compare

What's New

  • Update to v0.5.0 of SQLitePCL-Raw, (#171 thanks @shiftkey)
  • Improve performance on mobile devices by firing less timers (#176)

Akavache 4.0.1

08 Aug 15:38
Compare
Choose a tag to compare

What's New

Bug Fixes

  • Fix several bugs related to using Akavache.Sqlite3 on Windows Phone 8.1 (WinRT)

Akavache 4.0

03 Aug 09:29
Compare
Choose a tag to compare

Welcome to Akavache 4.0

After 8 months of work and 424 commits from 7 authors, Akavache 4.0 is now released! Thanks to the contributors for this release:

  • Johan Laanstra
  • Oren Novotny
  • Brendan Forster
  • Phil Haack
  • Herman Banken
  • Oskar Hermansson

In particular, a huge thanks goes to Johan, who migrated the SQLite-based backend to Eric Sink's SQLitePcl.Raw - a ton of work!

A Universal Akavache

Akavache 4.0 now supports a native SQLite on all platforms, as well as including support for new platforms:

  • Xamarin.Android
  • Xamarin.iOS
  • Xamarin.Mac
  • Xamarin Forms (iOS + Android + WP8)
  • .NET 4.5
  • Universal Windows Apps (WPA81)
  • Windows Phone 8.0 Apps (Silverlight-based)
  • Windows Store Apps (WinRT)

Akavache is also much smaller, because it no longer depends on ReactiveUI, instead depending on a much smaller library called Splat. Akavache also has now moved to the latest version of the Reactive Extensions, v2.2.5.

SQLite Performance is Significantly Improved

The SQLite driver has been completely rewritten in Akavache 4.0 for performance, especially when used by multiple threads at the same time. Synthetic benchmarks on the new SQLite backend show that it is 8x faster at reading random data, and a whopping 82x faster than the previous version at writing random data.

This improvement was done without any on-disk metadata changes - existing SQLite databases are immediately compatible. This new driver also completely resolves the "locking" issues that people would see when executing many operations in parallel.

Garbage Collection and Cleanup

Akavache now allows applications to explicitly schedule cleanup of the underlying database, via a new Vacuum API. This will drop all expired keys from the database, as well as its name implies, execute a VACUUM operation on SQLite to compact the database.

Migration Notes

  • Akavache now no longer ships the deprecated filesystem backend. You can now find this backend in the Akavache.Deprecated NuGet package. You should plan to move away from this backend and into the SQLite-based backend in your next release.
  • GetAllKeys is now an asynchronous operation.
  • TestBlobCache is now called InMemoryBlobCache