Releases: kalbasit/ncps
v0.9.0-rc4
Warning
This is a pre-release version and should not be used in production. Your data may be lost or corrupted.
Please use the latest release for production environments.
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
Docker Images v0.9.0-rc4
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.9.0-rc4
kalbasit/ncps:0.9.0-rc4
kalbasit/ncps:sha-41a2ce9
ghcr.io/kalbasit/ncps:v0.9.0-rc4
ghcr.io/kalbasit/ncps:0.9.0-rc4
ghcr.io/kalbasit/ncps:sha-41a2ce9
Helm Chart Release v0.9.0-rc4
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc4Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc4Values
See values.yaml for all configuration options.
Documentation
See Helm Chart Documentation for detailed documentation and examples.
What's Changed
- fix: resolve race condition in GetNarInfo during migration by @kalbasit in #797
- refactor: improve NAR to Chunks migration efficiency and reporting by @kalbasit in #798
- feat: refactor NarInfo migration reporting and source of truth by @kalbasit in #799
- perf: avoid double-reading data during CDC by @kalbasit in #800
- feat: switch chunk hashing to BLAKE3 by @kalbasit in #801
- feat: improve db-wrapper generator with explicit mapping and validation by @kalbasit in #802
- feat: add database queries for NAR chunking and compression tracking by @kalbasit in #803
- feat: add DecompressReader for automatic NAR decompression by @kalbasit in #804
- chore: migrate pkg/golomb out of the repository by @kalbasit in #813
- docs: add notice about pre-releases and data safety/consistency by @kalbasit in #814
- feat: Add special handling for MySQL UPDATE Statements by @kalbasit in #808
- feat: Add UpdateNarInfo query to all engines by @kalbasit in #809
- feat: implement background migration and cleanup for compressed NARs by @kalbasit in #810
- feat: enable transparent zstd compression for NAR downloads by @kalbasit in #811
- feat: wire up compressed NAR cleanup and migration cron jobs by @kalbasit in #812
- ci: fix vendor hash update and add one for gen-db-wrappers by @kalbasit in #815
- refactor: remove unused error by @kalbasit in #816
- fix(deps): update module golang.org/x/tools to v0.42.0 by @renovate[bot] in #807
- refactor: improve the withNarURL() in pkg/server by @kalbasit in #817
- fix(deps): update module github.com/klauspost/compress to v1.18.4 by @renovate[bot] in #818
- fix(deps): update module golang.org/x/term to v0.40.0 by @renovate[bot] in #819
- refactor: reorganize nar and narinfo helper logic into dedicated packages by @kalbasit in #821
- test: Ensure all NAR entries are tested in the upstream test by @kalbasit in #822
- refactor: improve pkg/narinfo consistency with pkg/nar by @kalbasit in #826
- fix: Add support for missing FileSize and FileHash by @kalbasit in #823
- test: improve LRU cleanup tests to handle potential compression transformation by @kalbasit in #824
- fix: testdata.Nar7 has the incorrect compression by @kalbasit in #828
- fix: trim narinfo hash prefix from NarURL in upstream cache by @kalbasit in #831
- fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.34 by @renovate[bot] in #835
- fix(deps): update module github.com/lib/pq to v1.11.2 by @renovate[bot] in #834
- feat: Add NAR URL normalization function and support dashes/underscores in hashes by @kalbasit in #836
- fix: Apply NAR URL normalization in storage layer by @kalbasit in #837
- fix: Improve NAR file serving and remove old URL prefix workaround by @kalbasit in #838
- fix: Fix test data generation and skip signature verification by @kalbasit in #839
- refactor: move RandString into the testhelper package by @kalbasit in #845
- feat: add test helpers to generate random NarInfo/Nar hashes by @kalbasit in #846
- refactor: use testhelper instead of custom hash generator by @kalbasit in #847
- fix: harden the narinfo hash validation by @kalbasit in #840
- fix: narinfo should return NAR URL normalized by @kalbasit in #843
- fix: harden the narinfo route pattern by @kalbasit in #841
- test: improve the local storage test by @kalbasit in #852
- fix: normalize the URL when storing in the database by @kalbasit in #844
- fix: harden NAR hash validation and improve URL parsing by @kalbasit in #842
- fix: enhance NAR URL normalization and fix potential path traversal by @kalbasit in #856
- feat: add compressed_size column to chunks table for CDC compression tracking by @kalbasit in #860
- refactor: update PutChunk interface to return compressed_size by @kalbasit in #861
- feat: add zstd compression to local chunk store by @kalbasit in #862
- feat: add zstd compression to s3 chunk store by @kalbasit in #863
- test: add end-to-end test for CDC chunk compression by @kalbasit in #864
- feat: implement ZSTD compression pooling and integrate across project by @kalbasit in #865
- chore: remove redundant hash verification by @kalbasit in #866
- fix: allow the NAR hash to be 32 chars (Nix32) and 52 chars (Base16) by @kalbasit in #869
- fix: wrap the regex in non-capturing group by @kalbasit in #872
- fix(cdc): decompress NARs before chunking and normalize compression by @kalbasit in #873
- fix(cdc): normalize narInfo compression in pullNarInfo for CDC mode by @kalbasit in #874
- fix(cdc): update narinfo compression and URL after MigrateNarToChunks by @kalbasit in #875
- fix(cdc): normalize compression in PutNarInfo for CDC mode by @kalbasit in #876
- feat(server): add transparent brotli and gzip encoding for NAR responses by @kalbasit in #877
- feat: improve the run.py and add nix-isolated-build.py by @kalbasit in #879
- feat: add Base16 nar hash test helpers by @kalbasit in #881
- fix: server must allow nar hashes with base16 as well as nix32 by @kalbasit in #882
- ci: remove Fuzz testing for non-existing package by @kalbasit in #884
- fix: narinfo FileSize must be update to match NarSize by @kalbasit in #886
- ci: allow the CI job to be dispatched by @kalbasit in #894
- fix: improve dev-scripts for better isolation and observability by @kalbasit in #887
- test: add per-entry zstd encoding control to test server by @kalbasit in #888
- test: add failing nix-serve upstream test by @kalbasit in #889
- feat: upstream package handles transparent zstd encoding/decoding by @kalbasit in #890
- refactor: simplify cache layer by removing explicit zstd mutators by @kalbasit in #891
- feat: store and serve uncompressed NARs as zstd by @kalbasit in #892
- fix: race condition when serving normalized nar urls by @kalbasit in #893
- chore: update flake.lock and run go mod tidy by @kalbasit in #899
- feat: enhance development scripts and improve tmux orchestration by @kalb...
v0.8.5
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
This release includes support for nix-serve as upstream. Thanks @gepbird for reporting the issue.
Docker Images v0.8.5
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.5
kalbasit/ncps:v0.8
kalbasit/ncps:v0
kalbasit/ncps:sha-48f060e
kalbasit/ncps:latest
ghcr.io/kalbasit/ncps:v0.8.5
ghcr.io/kalbasit/ncps:v0.8
ghcr.io/kalbasit/ncps:v0
ghcr.io/kalbasit/ncps:sha-48f060e
ghcr.io/kalbasit/ncps:latest
Helm Chart Release v0.8.5
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- fix: MySQL CreateNarInfo upsert logic and refactor cache tests [backport #791] by @kalbasit in #792
- refactor: reorganize nar and narinfo helper logic into dedicated packages [backport #821] by @kalbasit in #825
- test: Ensure all NAR entries are tested in the upstream test [backport #822] by @kalbasit in #827
- fix: Add support for missing FileSize and FileHash [backport #823] by @kalbasit in #829
- test: improve LRU cleanup tests to handle potential compression transformation [backport #824] by @kalbasit in #832
- fix: testdata.Nar7 has the incorrect compression [backport #828] by @kalbasit in #830
- fix: trim narinfo hash prefix from NarURL in upstream cache [backport #831] by @kalbasit in #833
- chore: backport recent fixes to release 0.8 by @kalbasit in #848
- feat: add test helpers to generate random NarInfo/Nar hashes [backport #846] by @kalbasit in #849
- refactor: use testhelper instead of custom hash generator [backport #847] by @kalbasit in #850
- fix: harden the narinfo hash validation [backport #840] by @kalbasit in #851
- fix: harden the narinfo route pattern [backport #841] by @kalbasit in #854
- fix: narinfo should return NAR URL normalized [backport #843] by @kalbasit in #853
- test: improve the local storage test [backport #852] by @kalbasit in #855
- fix: normalize the URL when storing in the database [backport #844] by @kalbasit in #857
- fix: harden NAR hash validation and improve URL parsing [backport #842] by @kalbasit in #858
- fix: enhance NAR URL normalization and fix potential path traversal [backport #856] by @kalbasit in #859
- fix: allow the NAR hash to be 32 chars (Nix32) and 52 chars (Base16) [backport #869] by @kalbasit in #871
- fix: wrap the regex in non-capturing group [backport #872] by @kalbasit in #878
- feat: improve the run.py and add nix-isolated-build.py [backport #879] by @kalbasit in #880
- fix: server must allow nar hashes with base16 as well as nix32 by @kalbasit in #883
- fix: improve dev-scripts for better isolation and observability [backport #887] by @kalbasit in #895
- fix: race condition when serving normalized nar urls [backport #893] by @kalbasit in #897
- fix: respect Content-Encoding header for NAR compression detection by @kalbasit in #896
- chore: Backport #794 and #900 by @kalbasit in #901
Full Changelog: v0.8.4...v0.8.5
v0.8.5-rc3
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
This release includes support for nix-serve as upstream. Thanks @gepbird for reporting the issue.
Docker Images v0.8.5-rc3
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.5-rc3
kalbasit/ncps:0.8.5-rc3
kalbasit/ncps:sha-e410567
ghcr.io/kalbasit/ncps:v0.8.5-rc3
ghcr.io/kalbasit/ncps:0.8.5-rc3
ghcr.io/kalbasit/ncps:sha-e410567
Helm Chart Release v0.8.5-rc3
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc3Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc3Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- fix: improve dev-scripts for better isolation and observability [backport #887] by @kalbasit in #895
- fix: race condition when serving normalized nar urls [backport #893] by @kalbasit in #897
- fix: respect Content-Encoding header for NAR compression detection by @kalbasit in #896
Full Changelog: v0.8.5-rc2...v0.8.5-rc3
v0.8.5-rc2
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
This release includes support for nix-serve as upstream. Thanks @gepbird for reporting the issue.
Docker Images v0.8.5-rc2
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.5-rc2
kalbasit/ncps:0.8.5-rc2
kalbasit/ncps:sha-6a83c2d
ghcr.io/kalbasit/ncps:v0.8.5-rc2
ghcr.io/kalbasit/ncps:0.8.5-rc2
ghcr.io/kalbasit/ncps:sha-6a83c2d
Helm Chart Release v0.8.5-rc2
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc2Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc2Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- fix: allow the NAR hash to be 32 chars (Nix32) and 52 chars (Base16) [backport #869] by @kalbasit in #871
- fix: wrap the regex in non-capturing group [backport #872] by @kalbasit in #878
- feat: improve the run.py and add nix-isolated-build.py [backport #879] by @kalbasit in #880
- fix: server must allow nar hashes with base16 as well as nix32 by @kalbasit in #883
Full Changelog: v0.8.5-rc1...v0.8.5-rc2
v0.8.5-rc1
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
This release includes support for nix-serve as upstream. Thanks @gepbird for reporting the issue.
Docker Images v0.8.5-rc1
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.5-rc1
kalbasit/ncps:0.8.5-rc1
kalbasit/ncps:sha-c24ce1a
ghcr.io/kalbasit/ncps:v0.8.5-rc1
ghcr.io/kalbasit/ncps:0.8.5-rc1
ghcr.io/kalbasit/ncps:sha-c24ce1a
Helm Chart Release v0.8.5-rc1
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc1Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.5-rc1Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- fix: MySQL CreateNarInfo upsert logic and refactor cache tests [backport #791] by @kalbasit in #792
- refactor: reorganize nar and narinfo helper logic into dedicated packages [backport #821] by @kalbasit in #825
- test: Ensure all NAR entries are tested in the upstream test [backport #822] by @kalbasit in #827
- fix: Add support for missing FileSize and FileHash [backport #823] by @kalbasit in #829
- test: improve LRU cleanup tests to handle potential compression transformation [backport #824] by @kalbasit in #832
- fix: testdata.Nar7 has the incorrect compression [backport #828] by @kalbasit in #830
- fix: trim narinfo hash prefix from NarURL in upstream cache [backport #831] by @kalbasit in #833
- chore: backport recent fixes to release 0.8 by @kalbasit in #848
- feat: add test helpers to generate random NarInfo/Nar hashes [backport #846] by @kalbasit in #849
- refactor: use testhelper instead of custom hash generator [backport #847] by @kalbasit in #850
- fix: harden the narinfo hash validation [backport #840] by @kalbasit in #851
- fix: harden the narinfo route pattern [backport #841] by @kalbasit in #854
- fix: narinfo should return NAR URL normalized [backport #843] by @kalbasit in #853
- test: improve the local storage test [backport #852] by @kalbasit in #855
- fix: normalize the URL when storing in the database [backport #844] by @kalbasit in #857
- fix: harden NAR hash validation and improve URL parsing [backport #842] by @kalbasit in #858
- fix: enhance NAR URL normalization and fix potential path traversal [backport #856] by @kalbasit in #859
Full Changelog: v0.8.4...v0.8.5-rc1
v0.9.0-rc3
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
Docker Images v0.9.0-rc3
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.9.0-rc3
kalbasit/ncps:0.9.0-rc3
kalbasit/ncps:sha-59df4dc
ghcr.io/kalbasit/ncps:v0.9.0-rc3
ghcr.io/kalbasit/ncps:0.9.0-rc3
ghcr.io/kalbasit/ncps:sha-59df4dc
Helm Chart Release v0.9.0-rc3
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc3Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc3Values
See values.yaml for all configuration options.
Documentation
See Helm Chart Documentation for detailed documentation and examples.
What's Changed
- ci: add sponsorship to releases by @kalbasit in #775
- fix: resolve local locker deadlock with ref-counted per-key mutexes by @kalbasit in #777
- fix: resolve goroutine leak in selectUpstream by @kalbasit in #781
- ci: create a workflow for DevSkim by @kalbasit in #782
- feat: enable WAL on the sqlite database and set busy_timeout by @kalbasit in #783
- fix: fix bulk operations with multiple slices in gen-db-wrappers by @kalbasit in #785
- feat: write chunks to the database in batches by @kalbasit in #784
- refactor: improve gen-db-wrappers code generator formatting by @kalbasit in #789
- fix: MySQL CreateNarInfo upsert logic and refactor cache tests by @kalbasit in #791
- test: refactor cache tests to use backend factory by @kalbasit in #790
- ci: Fix the vendorHash computation by @kalbasit in #788
- perf: optimize chunk recording by using bulk LinkNarFileToChunks by @kalbasit in #786
- perf: optimize chunk streaming with prefetch pipeline by @kalbasit in #779
- perf: optimize progressive chunk streaming with prefetch pipeline by @kalbasit in #780
- feat: add a ttfb.py dev-script for testing HA deployments by @kalbasit in #794
- test: add compliance test for all database functions by @kalbasit in #793
- ci: fix the hash computation by @kalbasit in #796
- chore: update flake.lock and run go mod tidy by @kalbasit in #795
Full Changelog: v0.9.0-rc2...v0.9.0-rc3
v0.9.0-rc2
Docker Images v0.9.0-rc2
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.9.0-rc2
kalbasit/ncps:0.9.0-rc2
kalbasit/ncps:sha-0831656
ghcr.io/kalbasit/ncps:v0.9.0-rc2
ghcr.io/kalbasit/ncps:0.9.0-rc2
ghcr.io/kalbasit/ncps:sha-0831656
Helm Chart Release v0.9.0-rc2
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc2Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc2Values
See values.yaml for all configuration options.
Documentation
See Helm Chart Documentation for detailed documentation and examples.
What's Changed
- fix: flaky test failing due to small size of NAR assumed large by @kalbasit in #759
- feat: optimize migrate-nar-to-chunks and add safety checks by @kalbasit in #760
- chore: stop creating the narinfo path in the store by @kalbasit in #758
- fix: avoid MySQL deadlocks in migrate-nar-to-chunks tests by @kalbasit in #762
- chore: stop creating the config path in the store by @kalbasit in #763
- feat: properly prefix all logs with [localhost:{port}] in run.py by @kalbasit in #765
- fix(deps): update module github.com/go-chi/chi/v5 to v5.2.5 by @renovate[bot] in #769
- fix: migrate NAR to chunks using a detached context by @kalbasit in #767
- fix(deps): update github.com/kalbasit/fastcdc digest to 8bfc2b0 by @renovate[bot] in #768
- fix: ensure CI job accurately reflects the status of all dependent jobs by @kalbasit in #770
- fix: log already chunked NAR migration as skipped by @kalbasit in #772
- fix: increase expectation of TTFB by @kalbasit in #773
- fix: GetNar timeout when CDC is disabled by @kalbasit in #774
Full Changelog: v0.9.0-rc1...v0.9.0-rc2
v0.8.4
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
Docker Images v0.8.4
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.4
kalbasit/ncps:v0.8
kalbasit/ncps:v0
kalbasit/ncps:sha-e5cd665
kalbasit/ncps:latest
ghcr.io/kalbasit/ncps:v0.8.4
ghcr.io/kalbasit/ncps:v0.8
ghcr.io/kalbasit/ncps:v0
ghcr.io/kalbasit/ncps:sha-e5cd665
ghcr.io/kalbasit/ncps:latest
Helm Chart Release v0.8.4
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.4Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.4Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- fix: resolve local locker deadlock with ref-counted per-key mutexes [backport #777] by @kalbasit in #778
Full Changelog: v0.8.3...v0.8.4
v0.8.3
Important
If you are enjoying ncps, please consider showing a token of appreciation by:
- Pressing the “Star” button on GitHub (top-right).
- Considering a one-time or recurrent donation via GitHub Sponsors or PayPal.
Docker Images v0.8.3
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.8.3
kalbasit/ncps:v0.8
kalbasit/ncps:v0
kalbasit/ncps:sha-ff5b22e
kalbasit/ncps:latest
ghcr.io/kalbasit/ncps:v0.8.3
ghcr.io/kalbasit/ncps:v0.8
ghcr.io/kalbasit/ncps:v0
ghcr.io/kalbasit/ncps:sha-ff5b22e
ghcr.io/kalbasit/ncps:latest
Helm Chart Release v0.8.3
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.3Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.8.3Values
See values.yaml for all configuration options.
Documentation
See Helm Chart README for detailed documentation and examples.
What's Changed
- chore: stop creating the narinfo path in the store [backport #758] by @kalbasit in #761
- chore: stop creating the config path in the store [backport #763] by @kalbasit in #764
Full Changelog: v0.8.2...v0.8.3
v0.9.0-rc1
Docker Images v0.9.0-rc1
The following image tags were published to Dockerhub:
kalbasit/ncps:v0.9.0-rc1
kalbasit/ncps:0.9.0-rc1
kalbasit/ncps:sha-6542bc9
ghcr.io/kalbasit/ncps:v0.9.0-rc1
ghcr.io/kalbasit/ncps:0.9.0-rc1
ghcr.io/kalbasit/ncps:sha-6542bc9
Helm Chart Release v0.9.0-rc1
Installation
helm install ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc1Upgrade
helm upgrade ncps oci://ghcr.io/kalbasit/helm/ncps --version v0.9.0-rc1Values
See values.yaml for all configuration options.
Documentation
See Helm Chart Documentation for detailed documentation and examples.
What's Changed
- docs: update helm chart documentation link by @kalbasit in #666
- fix(ci): send the flake workflow the codecov secret by @kalbasit in #672
- feat: add core content-defined chunking (CDC) infrastructure by @kalbasit in #667
- refactor: Remove address-pr-comments workflow moved to my global workflows by @kalbasit in #673
- refactor: move S3 configuration to its own package by @kalbasit in #675
- refactor: extract S3 test helpers for reuse by @kalbasit in #676
- feat: add S3 storage support for chunks by @kalbasit in #668
- fix(deps): update github.com/kalbasit/fastcdc digest to a440053 by @renovate[bot] in #674
- feat: remove empty directories after file deletion in local storage by @kalbasit in #678
- feat: integrate CDC with cache and implement chunk GC by @kalbasit in #669
- feat: add CLI and Helm configuration for CDC and S3 by @kalbasit in #670
- style: apply nix fmt to documentation and project files by @kalbasit in #671
- docs: document Content-Defined Chunking (CDC) feature by @kalbasit in #680
- feat: add GitHub Pages documentation deployment and Trilium doc scripts by @kalbasit in #681
- feat: implement migrate-nar-to-chunks command by @kalbasit in #682
- ci: Run at most one deploy-docs-pages job by @kalbasit in #684
- ci: Fix the release workflow by @kalbasit in #685
- ci: Consolidate jobs in one workflow and speed it up with Cachix by @kalbasit in #686
- chore(deps): update actions/github-script action to v8 by @renovate[bot] in #688
- fix(deps): update github.com/kalbasit/fastcdc digest to b91691b by @renovate[bot] in #687
- test: add CDC scenarios to test value generation by @kalbasit in #689
- refactor(metrics): make background migration metrics generic by @kalbasit in #691
- feat: Enforce CDC requirement for High Availability deployments by @kalbasit in #693
- fix: prevent exponential notation in configmap by @kalbasit in #696
- feat: add Nix-native Kind integration testing tool (k8s-tests) by @kalbasit in #690
- fix: make database password optional for postgresql and mysql by @kalbasit in #697
- refactor: unify k8s-tests into a single Python CLI by @kalbasit in #698
- test: integrate helm unit tests into CI workflow by @kalbasit in #702
- fix(deps): update opentelemetry-go monorepo by @renovate[bot] in #700
- fix(deps): update module go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp to v0.65.0 by @renovate[bot] in #699
- feat: add migration metrics for NAR and NarInfo by @kalbasit in #683
- refactor: use t.Cleanup instead of defer cleanup in testing by @kalbasit in #694
- feat: add fuzz tests and security workflows by @kalbasit in #703
- test: add fuzz tests for pkg/nar and pkg/golomb by @kalbasit in #705
- ci: refactor fuzz workflow to use matrix strategy by @kalbasit in #706
- test: expand fuzz testing coverage by @kalbasit in #707
- fix(ci): use the nix environment when running the fuzz test by @kalbasit in #708
- ci: fuzz the golomb package Encoder and fix the workflow by @kalbasit in #710
- fix: handle # character in SQLite database file paths by @kalbasit in #718
- refactor: use multi-backend testing pattern across all test files by @kalbasit in #709
- refactor: disable tests for the Docker image to speed up tests by @kalbasit in #719
- fix: restrict hash parameter and add validation to prevent SSRF by @kalbasit in #720
- fix: binding a socket to localhost network interfaces by @kalbasit in #723
- fix: prevent path injection by validating hashes in file paths by @kalbasit in #722
- fix(deps): update github.com/kalbasit/fastcdc digest to 8c906f1 by @renovate[bot] in #724
- ci: create an issue only if artifacts were uploaded by @kalbasit in #729
- test: isolate distributed lock failover keys by @kalbasit in #730
- fix: correct ErrNoRows handling in db wrapper generator by @kalbasit in #732
- fix: update NarInfo file size on mismatch by @kalbasit in #731
- chore: update flake.lock by @kalbasit in #736
- fix(deps): update github.com/kalbasit/fastcdc digest to 2d0826d by @renovate[bot] in #734
- chore: run go mod tidy by @kalbasit in #738
- feat: add GetNarFileSize method to Cache by @kalbasit in #735
- perf: optimize NAR HEAD requests by using NarInfo FileSize by @kalbasit in #733
- fix(deps): update github.com/kalbasit/fastcdc digest to ac8af67 by @renovate[bot] in #739
- feat: improve dev-script/run.py with support for custom cache url/signature by @kalbasit in #740
- feat: in dev-scripts/run.py, prefix all stdout/stderr with [localhost:{port}] by @kalbasit in #741
- fix: resolve concurrent NAR streaming failures in distributed setup by @kalbasit in #742
- fix: handle sql.Null* types correctly in database wrapper generator by @kalbasit in #744
- feat: implement progressive chunk streaming for CDC concurrent downloads by @kalbasit in #743
- fix: use int64 for the chunk index by @kalbasit in #746
- fix: check for CDC chunks when verifying NAR existence in GetNarInfo by @kalbasit in #747
- ci: update flake.lock weekly by @kalbasit in #737
- fix(ci): do not run nix flake check in the flake update job by @kalbasit in #749
- ci: automerge flake.lock update pr by @kalbasit in #751
- ci: fix the auto-merge step in the flake weekly updater workflow by @kalbasit in #753
- fix: resolve thundering herd in cache migrations by @kalbasit in #755
- ci: run go mod tidy after updating flake.lock by @kalbasit in #756
- chore: update flake.lock by @kalbasit in #754
- feat: add the new flag to the chart and documentation by @kalbasit in #745
- chore: update flake.lock and run go mod tidy by @kalbasit in #757
Full Changelog: v0.8.0...v0.9.0-rc1