From bce30ef039ecbc8c2371008e1bd00eedd79bbccf Mon Sep 17 00:00:00 2001 From: DanConwayDev Date: Thu, 20 Aug 2026 21:07:03 +0000 Subject: [PATCH] chore: prepare release 3.0.0 Motivation: The v3 storage, security, private-repository, and proactive-sync changes have completed production migration and integrity-check validation. Approach: Promote the accumulated changelog entries to 3.0.0, polish the major-release summary, advance comparison links, and align Cargo plus the NixOS module package versions. Correctness: Cargo metadata and both Nix package evaluations report 3.0.0, matching the version required by the tag-triggered release workflow. Excluded scope: This commit does not create the v3.0.0 tag, publish release assets, change runtime behavior, or modify deployment pins. Validation: git diff --check; cargo metadata --locked; nix eval for ngit-grasp and static package versions. No build or tests were run for this metadata-only change. --- CHANGELOG.md | 19 ++++++++++++++----- Cargo.lock | 2 +- Cargo.toml | 2 +- nix/module.nix | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bb65dca..811b48b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,15 +7,23 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [3.0.0] - 2026-08-20 + ### Summary -Private Repos - via private grasp service (grasp-08) - initially self-hosted only but the intention is to allow providers to offer it as service. +ngit-grasp 3.0.0 adds self-hosted private repositories through GRASP-08, with +the protocol designed so hosting providers can offer managed private services +later. -Proactive Sync Plus (GRASP-03) - a big enabler for maintainer based moderation and simplier and more performant git nostr clients. +Proactive Sync Plus (GRASP-03) enables maintainer-based moderation and simpler, +more performant Nostr Git clients. -Performance and Security fixes - along with other improvements; immediate upgrade recommended; some breaking changes make v2-v3 a one way street! +This major release also includes significant security and performance fixes; +an immediate upgrade is recommended. Its Git storage migration makes the +v2-to-v3 upgrade one-way without restoring a pre-upgrade snapshot. -Expect a bit of downtime as a git data migraiton is performed on startup. The largest grasp service relay.ngit.dev took 50mins. +Plan for downtime while the first v3 startup migrates Git data. The largest +GRASP service tested so far, `relay.ngit.dev`, took approximately 51 minutes. ### Breaking changes @@ -563,7 +571,8 @@ defensive limits explicit and operator-configurable. Initial release of ngit-grasp, a GRASP relay implementation in Rust. -[unreleased]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v2.1.2...HEAD +[unreleased]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v3.0.0...HEAD +[3.0.0]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v2.1.2...v3.0.0 [2.1.2]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v2.1.1...v2.1.2 [2.1.1]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v2.1.0...v2.1.1 [2.1.0]: https://gitworkshop.dev/npub15qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exs5cyejr/ngit-grasp/compare/v2.0.0...v2.1.0 diff --git a/Cargo.lock b/Cargo.lock index 45a0310..5fd94eb 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1319,7 +1319,7 @@ checksum = "f0efe882e02d206d8d279c20eb40e03baf7cb5136a1476dc084a324fbc3ec42d" [[package]] name = "ngit-grasp" -version = "2.1.2" +version = "3.0.0" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 9adb5fd..6b4be40 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "ngit-grasp" -version = "2.1.2" +version = "3.0.0" edition = "2021" authors = ["ngit-grasp contributors"] license = "MIT" diff --git a/nix/module.nix b/nix/module.nix index 8a8b1c6..d6f0eb7 100644 --- a/nix/module.nix +++ b/nix/module.nix @@ -6,7 +6,7 @@ let # Build ngit-grasp package (shared across all instances) ngit-grasp = pkgs.rustPlatform.buildRustPackage { pname = "ngit-grasp"; - version = "2.1.2"; + version = "3.0.0"; src = ../.; NGIT_BUILD_REVISION = ngitGraspSourceRevision; cargoLock = {