Skip to content

Tags: reactiveui/Akavache

Tags

v12.1.1

Toggle v12.1.1's commit message
chore(deps): update Blazor.Common.Analyzers to 2.1.0

2.1.0 is re-signed with a valid certificate (2.0.0 carried the revoked
signing certificate).

v12.1.0

Toggle v12.1.0's commit message
ci(release): allow releasing from a historical ref

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'.

12.0.12

Toggle 12.0.12's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: read Akavache 11.x encrypted databases with v12 (#1192)

* 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.

v12.0.12

Toggle v12.0.12's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
fix: read Akavache 11.x encrypted databases with v12 (#1192)

* 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.

12.0.8

Toggle 12.0.8's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore: Rename Akavache.Http → Akavache.HttpDownloader to avoid NuGet …

…name collision (#1186)

* Initial plan

* feat: rename Akavache.Http to Akavache.HttpDownloader

- Renamed production project folder src/Akavache.Http/ → src/Akavache.HttpDownloader/
- Renamed Akavache.Http.csproj → Akavache.HttpDownloader.csproj
- Updated Description to "HTTP download and caching extensions for Akavache"
- Updated InternalsVisibleTo from Akavache.Http.Tests → Akavache.HttpDownloader.Tests
- Renamed test project folder src/tests/Akavache.Http.Tests/ → src/tests/Akavache.HttpDownloader.Tests/
- Renamed Akavache.Http.Tests.csproj → Akavache.HttpDownloader.Tests.csproj
- Updated namespace in GlobalTestHooks.cs to Akavache.HttpDownloader.Tests
- Updated Akavache.slnx project paths
- Updated InternalsVisibleTo in Akavache.Core, Akavache.Sqlite3, Akavache.EncryptedSqlite3
- Updated ProjectReference in Akavache.Drawing and all affected test csproj files
- Updated CLAUDE.md and .github/copilot-instructions.md documentation

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/dadd7383-80d3-4ede-a8ef-f2b21589978c

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

* docs: add Akavache.HttpDownloader to README optional extensions

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/8bfccb95-2dbd-408e-b715-ff9d2d085a67

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

* docs: add NuGet packages table to README with badges and links

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/32f8bbef-e3da-4d52-b6af-5f27fad32b8b

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

* docs: add NuGet packages table to README with badges and links

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/32f8bbef-e3da-4d52-b6af-5f27fad32b8b

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

* docs: add NuGet packages table to README with badges and links

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/32f8bbef-e3da-4d52-b6af-5f27fad32b8b

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

* docs: remove raw binary LFS files from commit (Images/logo.png, assets/Logo.psd)

Agent-Logs-Url: https://github.com/reactiveui/Akavache/sessions/f197b7a3-113d-4c94-9a92-ccaafdfc8c6b

Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: glennawatson <5834289+glennawatson@users.noreply.github.com>

12.0.1-beta

Toggle 12.0.1-beta's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
chore(deps): update dependency verify.tunit to 31.16.0 (#1183)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

11.6.1

Toggle 11.6.1's commit message
housekeeping: release 11.6

11.5.1

Toggle 11.5.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Bump version from 11.4 to 11.5.x

11.4.1

Toggle 11.4.1's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
housekeeping: Bump version from 11.3 to 11.4

11.3.3

Toggle 11.3.3's commit message

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
Fix nullability issues and update package references (#1102)

Resolved nullability warnings in SerializerExtensionsTests by using null-forgiving operator and updating delegate type. Removed Microsoft.Maui.Controls package reference from Directory.Packages.props.