NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
NuGet · #2114 most downloaded on NuGet
Package Description
Last release 2 months ago
07 Aug 2026
Ships fairly regularly
a new release about every 5 months
Rarely documented
notes for 9 of the last 60 stable releases
6 versions withdrawn
withdrawn after publishing
127 years old
100 releases · first in 1900
7f85316 refactor!: adopt the Sharp analyzer set across the repo ( #1226 ) @glennawatson
🔗 Full Changelog: v12.1.1...v13.0.0
💖 Thanks to all the contributors: @glennawatson
🤖 Automated services that contributed: renovate[bot]
One column per quarter.
🔏 12.1.1 — consolidated, re-signed v12 release
This is the recommended v12 release. It supersedes and folds together 11.6.1, 12.0.8, 12.0.12, and 12.1.0, which were signed with (or pulled dependencies signed with) a code-signing certificate that has since been revoked — NuGet restore fails on them with NU3012. 12.1.1 is re-signed with a valid certificate and its dependencies are refreshed to their re-signed builds. Those superseded releases have been removed and their notes consolidated here.
⚠️ v12 is a major upgrade from v11: Akavache moved off
sqlite-net-pclto the low-level SQLitePCLRaw, modernized the API, and split the HTTP downloader into Akavache.HttpDownloader. Review the V10→V11 migration helpers before upgrading.
sqlite-net-pcl with SQLitePCLRaw; extract the HTTP downloader (#1182) @glennawatsonAkavache.Http → Akavache.HttpDownloader to avoid a NuGet name collision (#1186) @CopilotSettingsBase to a primary constructor; cache improvements (#1147) @ChrisPulmanWithLegacyFileLocation() for V10→V11 migration; ensure legacy cache directories are created (#1175) @glennawatson23.2.28, Splat 19.4.1, ReactiveUI.SourceGenerators 3.0.0 (#1188, #1160) @renovate[bot] @glennawatson2.1.0 (re-signed) (#1200) @renovate[bot]2.1.3 (#1202, #1197, #1196, #1185); Microsoft.SourceLink.GitHub → 10.0.300 (#1199, #1181, #1162) @renovate[bot]31.17.0 (#1203, #1184, #1183); .NET test stack + microsoft.testing (#1204, #1193, #1198) @renovate[bot]🔗 Full Changelog: 11.5.1...v12.1.1
🌱 New contributor: @markuspalme
💖 Thanks to all the contributors: @glennawatson, @ChrisPulman, @Copilot, @markuspalme
🤖 Automated services that contributed: @renovate[bot], @github-code-quality[bot]
Add an optional 'sourceRef' workflow_dispatch input (default empty = this branch, normally main). When set to a tag/branch/SHA it is passed to the reu
Add an optional 'sourceRef' workflow_dispatch input (default empty =
this branch, normally main). When set to a tag/branch/SHA it is passed
to the reusable release workflow's 'ref' so historical source is built
and signed with the current pipeline, and the new release tag is pinned
to that commit via 'target'.
fix: read Akavache 11.x encrypted databases by falling back to SQLCipher-4 compat mode and rekeying forward to the modern cipher
fix: read Akavache 11.x encrypted databases by falling back to SQLCipher-4 compat mode and rekeying forward to the modern cipher
Akavache 11.x linked SQLitePCLRaw.bundle_e_sqlcipher (SQLCipher 4 — PBKDF2-SHA512, AES-256-CBC, 256k iterations). v12 swapped the native bundle for SQLite3MC.PCLRaw.bundle, whose PRAGMA key derivation defaults to ChaCha20-Poly1305. The two are incompatible: opening a v11 database with v12 surfaces SQLITE_NOTADB on the first PRAGMA after sqlite3_open, and the user's data is unreadable through the v12 public API.
This patch keeps the modern cipher as the default for new files and adds aone-shot legacy fallback for existing v11 files:
1. Open the database and apply PRAGMA key on the modern cipher.
2. Probe with `PRAGMA journal_mode=WAL`. On success, continue normally.
3. On SQLITE_NOTADB *with a password*, dispose the handle and re-open
with SQLite3MC's SQLCipher-4 shim:
PRAGMA cipher = 'sqlcipher';
PRAGMA legacy = 4;
PRAGMA key = '<password>';
then touch page 1 (`SELECT count(*) FROM sqlite_master`) to confirm
the password is genuinely correct (a wrong password still throws).
4. Switch the cipher back (`PRAGMA cipher = 'chacha20'`) and rekey in
place (`PRAGMA rekey = '<password>'`). The next open of this file
takes the fast modern path — the migration is a one-time cost on
first read after upgrade.
The fallback is gated on #if ENCRYPTED, so the unencrypted Akavache.Sqlite3 assembly is unchanged. Behaviour for new databases is unchanged: callers without a password skip the encrypted path entirely, and freshly-created encrypted databases write SQLite3MC's modern cipher from the start.
Use SupressMessage attributes instead of pragmas for warning suppresion
Use specific exception type in test.
chore: Rename Akavache.Http → Akavache.HttpDownloader to avoid NuGet …
chore: Rename Akavache.Http → Akavache.HttpDownloader to avoid NuGet …
housekeeping: release 11.6
housekeeping: release 11.6
762dccb Fix InvalidateAll to remove all cache entries and add tests ( #1141 ) @ChrisPulman
🔗 Full Changelog: 11.4.1...11.5.1
💖 Thanks to all the contributors: @ChrisPulman, @glennawatson
🤖 Automated services that contributed: @renovate[bot]
🚀 Akavache v11.4.1 Release Notes
This release focuses on enhancing stability across different platforms, improving the build process, and significantly upgrading the documentation.
FileNotFoundException crash that could occur in the AkavacheBuilder constructor.
TargetFrameworks and updated Copilot instructions to streamline development with .NET 9 and workloads.
🔗 Full Changelog: 11.3.3...11.4.1
11.3.3 Compare # Choose a tag to compare
11.3.3
Compare
11.1.1 Compare # Choose a tag to compare
11.1.1
Compare
11.0.1 Compare # Choose a tag to compare
11.0.1
Compare
10.2.41 Compare # Choose a tag to compare
10.2.41
Compare
10.1.6 Compare # Choose a tag to compare
10.1.6
Compare
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →