packages feed

nova-cache 0.3.0.0 → 0.3.1.0

raw patch · 3 files changed

+20/−11 lines, 3 filesdep +ramdep −memorydep ~crypton

Dependencies added: ram

Dependencies removed: memory

Dependency ranges changed: crypton

Files

CHANGELOG.md view
@@ -1,5 +1,13 @@ # Changelog +## 0.3.1.0 — 2026-03-07++### Drop `memory` dependency, use `ram`++- **`memory` → `ram`** — Replaced `memory` package with `ram` (modern, minimal replacement). Same `Data.ByteArray` API, drops the heavy `basement` transitive dependency. Fixes build failure with `crypton >= 1.1` which switched from `memory` to `ram` internally — `Data.ByteArray.ByteArrayAccess` instances were no longer compatible across packages.+- **`crypton >= 1.1` required** — Lower bound bumped from `1.0` to `1.1` so that `crypton` and `nova-cache` both link against `ram` for `ByteArrayAccess` instances. Older `crypton` versions used `memory`, causing instance mismatches at link time.+- All imports remain `Data.ByteArray` — no source-level changes needed for downstream consumers.+ ## 0.3.0.0 — 2026-02-28  ### Breaking changes
README.md view
@@ -7,7 +7,7 @@  [![CI](https://github.com/Novavero-AI/nova-cache/actions/workflows/ci.yml/badge.svg)](https://github.com/Novavero-AI/nova-cache/actions/workflows/ci.yml) [![Hackage](https://img.shields.io/hackage/v/nova-cache.svg)](https://hackage.haskell.org/package/nova-cache)-![Haskell](https://img.shields.io/badge/haskell-GHC%209.6-purple)+![Haskell](https://img.shields.io/badge/haskell-GHC%209.8-purple) ![License](https://img.shields.io/badge/license-BSD--3--Clause-blue)  </p>@@ -294,8 +294,8 @@   └──────────────────────────────────────────────────────┘ ``` -- **9 modules**, 7 pure + 2 at the IO boundary (Compression optional via flag)-- **58 core tests + 4 compression tests**, hand-rolled harness, no framework dependencies+- **10 modules**, 8 pure + 2 at the IO boundary (Compression optional via flag)+- **74 core tests + 4 compression tests**, hand-rolled harness, no framework dependencies - **Zero partial functions** — total by construction - **Strict by default** — bang patterns on all data fields @@ -405,7 +405,7 @@ | `paths` | no | Explicit store paths (space-separated). Defaults to all paths from `shell.nix` / `default.nix` | | `parallel` | no | Max concurrent uploads (default: 32) | -The action resolves Nix store path closures, exports them to a local binary cache, and uploads all narinfo + NAR files to the server. Works with any CI that has Nix installed.+The action fetches `GET /narinfo-hashes` to determine which paths are already cached, exports only the missing paths, and uploads narinfo + NAR files in parallel. Falls back to uploading everything if the endpoint is unavailable (servers < 0.3.0.0). Works with any CI that has Nix installed.  --- 
nova-cache.cabal view
@@ -1,6 +1,6 @@ cabal-version:      3.0 name:               nova-cache-version:            0.3.0.0+version:            0.3.1.0 synopsis:           Pure Nix binary cache protocol library description:   A focused, minimal, pure-first library implementing the full Nix binary@@ -17,7 +17,7 @@ category:           Nix, Distribution stability:          experimental build-type:         Simple-tested-with:        GHC == 9.6.7+tested-with:        GHC == 9.8.4 extra-doc-files:     CHANGELOG.md     README.md@@ -53,10 +53,10 @@     , base64-bytestring   >= 1.2 && < 1.3     , bytestring          >= 0.11 && < 0.13     , containers          >= 0.6 && < 0.8-    , crypton             >= 1.0 && < 2+    , crypton             >= 1.1 && < 2     , directory           >= 1.3 && < 1.4     , filepath            >= 1.4 && < 1.6-    , memory              >= 0.18 && < 1+    , ram                 >= 0.20 && < 1     , text                >= 2.0 && < 2.2     , vector              >= 0.12 && < 0.14 @@ -86,8 +86,9 @@   build-depends:       base                >= 4.16 && < 5     , bytestring          >= 0.11 && < 0.13-    , memory              >= 0.18 && < 1+    , crypton             >= 1.1 && < 2     , nova-cache+    , ram                 >= 0.20 && < 1     , http-types          >= 0.12 && < 0.13     , text                >= 2.0 && < 2.2     , wai                 >= 3.2 && < 3.3@@ -106,10 +107,10 @@       base                >= 4.16 && < 5     , base64-bytestring   >= 1.2 && < 1.3     , bytestring          >= 0.11 && < 0.13-    , crypton             >= 1.0 && < 2+    , crypton             >= 1.1 && < 2     , directory           >= 1.3 && < 1.4     , nova-cache-    , memory              >= 0.18 && < 1+    , ram                 >= 0.20 && < 1     , text                >= 2.0 && < 2.2  test-suite nova-cache-compression-test