| Age | Commit message (Expand) | Author |
| 2026-04-10 | release: v1.0.2HEADv1.0.2master | DanConwayDev |
| 2026-04-10 | feat: scan filesystem for orphan git repos with no matching 30617 event | DanConwayDev |
| 2026-04-10 | fix: pass --git-dir as global git option in check_repo_empty | DanConwayDev |
| 2026-04-10 | feat: add cleanup-empty-repos subcommand to remove stale events for empty git... | DanConwayDev |
| 2026-04-10 | fix: purgatory replacement announcements leaked into DB without git data | DanConwayDev |
| 2026-04-10 | fix: accept any d-tag identifier; percent-encode in URLs | DanConwayDev |
| 2026-04-09 | fix: reject identifiers with whitespace and URL-decode path components | DanConwayDev |
| 2026-03-25 | chore: remove arbitrary default max connections limit | DanConwayDev |
| 2026-02-27 | release: v1.0.1v1.0.1 | DanConwayDev |
| 2026-02-26 | chore: apply cargo fmt and fix clippy warnings | DanConwayDev |
| 2026-02-26 | fix: ignore peeled tag entries (^{}) in state event ref parsing | DanConwayDev |
| 2026-02-26 | send auth rejection reason to git client via ERR pkt-line | DanConwayDev |
| 2026-02-26 | release: v1.0.0v1.0.0 | DanConwayDev |
| 2026-02-25 | docs: remove comparison doc and update architecture to reflect announcement p... | DanConwayDev |
| 2026-02-25 | drop nostr-db backend support, keep only lmdb and memory | DanConwayDev |
| 2026-02-25 | show probe help when invoked with no arguments | DanConwayDev |
| 2026-02-25 | update README to document probe subcommand with checks, flags, and timeout be... | DanConwayDev |
| 2026-02-25 | make read-only the default probe mode; add --create-repo to opt into write path | DanConwayDev |
| 2026-02-25 | show software and version in nip11_fetch detail | DanConwayDev |
| 2026-02-25 | diagnose overall timeout: name culprit check if it consumed >50% of budget, e... | DanConwayDev |
| 2026-02-25 | report partial results on overall timeout: completed checks pass/fail, timed-... | DanConwayDev |
| 2026-02-25 | add overall probe timeout of min(20s, watch_interval) to prevent overlapping ... | DanConwayDev |
| 2026-02-25 | silence all library logs for probe subcommand in both human and JSON modes | DanConwayDev |
| 2026-02-25 | suppress [Run N] header and redirect logs to stderr in JSON mode for clean pi... | DanConwayDev |
| 2026-02-25 | use compact single-line JSON output for machine consumption and --watch log p... | DanConwayDev |
| 2026-02-25 | rename find_announcement to serves_latest_announcement and drop redundant det... | DanConwayDev |
| 2026-02-25 | hide read-only mode skips from human and JSON probe output | DanConwayDev |
| 2026-02-25 | fix git_refs_match_state in read-only mode to fetch state events from relay | DanConwayDev |
| 2026-02-25 | add probe subcommand for end-to-end relay health checks | DanConwayDev |
| 2026-02-24 | fix grasp-audit test isolation to prevent cross-spec relay state corruption | DanConwayDev |
| 2026-02-24 | wire PurgatoryTests into CLI runner so purgatory tests are actually run | DanConwayDev |
| 2026-02-24 | add background job to clean up grasp-audit test events and git repos | DanConwayDev |
| 2026-02-24 | update grasp-audit README port examples and remove stale TAG_MIGRATION doc | DanConwayDev |
| 2026-02-24 | remove unused dependencies from ngit-grasp and grasp-audit | DanConwayDev |
| 2026-02-24 | remove dead code: get_authorization_from_db and collect_all_authorized_mainta... | DanConwayDev |
| 2026-02-24 | rename: fetch_repository_data -> fetch_repository_data_{excluding,with}_purga... | DanConwayDev |
| 2026-02-24 | clarify DB-only count in fetch_repository_data log message | DanConwayDev |
| 2026-02-24 | Fix purgatory announcement not promoted when OIDs arrive via cross-owner stat... | DanConwayDev |
| 2026-02-24 | fix migration scripts for non-interactive SSH and bash 5.3 | DanConwayDev |
| 2026-02-23 | feat: announcement purgatory | DanConwayDev |
| 2026-02-23 | Merge master into 3ca0-announcements-purgatory | DanConwayDev |
| 2026-02-23 | persist and restore announcement events across graceful restarts | DanConwayDev |
| 2026-02-23 | docs: update purgatory docs to reflect announcements purgatory implementation | DanConwayDev |
| 2026-02-23 | feat: handle deletion of PR/PR-update events from purgatory | DanConwayDev |
| 2026-02-23 | fix: rewrite deletion integration tests to avoid shared-state side effects | DanConwayDev |
| 2026-02-23 | feat: remove purgatory announcements on NIP-09 deletion events | DanConwayDev |
| 2026-02-23 | fix: only soft-expire announcement when bare repo deletion succeeds | DanConwayDev |
| 2026-02-23 | feat: extend purgatory announcement expiry during git push authorization | DanConwayDev |
| 2026-02-23 | feat: extend purgatory announcement expiry when state event arrives | DanConwayDev |
| 2026-02-23 | feat: implement soft expiry and revival for purgatory announcements | DanConwayDev |
| 2026-02-23 | refactor: replace inline purgatory sync registration with timer-only approach | DanConwayDev |
| 2026-02-23 | fix: promote purgatory announcements after git sync copy path | DanConwayDev |
| 2026-02-23 | fix: re-process hot-cache maintainer announcements after git push promotion | DanConwayDev |
| 2026-02-23 | remove recursive relay discovery test | DanConwayDev |
| 2026-02-23 | test: update sync tests to set up git data for purgatory flow | DanConwayDev |
| 2026-02-18 | test: update run_sync_test to use push_to_relay for purgatory flow | DanConwayDev |
| 2026-02-18 | fix: use unique commit instead of deterministic Owner variant for wrong-commi... | DanConwayDev |
| 2026-02-18 | extract OwnerRepoState fixture to make dependency chain explicit | DanConwayDev |
| 2026-02-18 | fix: restructure PR clone tag test to use bootstrap relay instead of user-sub... | DanConwayDev |
| 2026-02-18 | fix: replace repo_sync_index wiring with purgatory announcement sync timer | DanConwayDev |
| 2026-02-18 | refactor: move archive_read_only test to archive_grasp_services and remove re... | DanConwayDev |
| 2026-02-18 | fix: simplify purgatory sync - fix SelfSubscriber sync_level upgrade and nege... | DanConwayDev |
| 2026-02-18 | Revert "fix: use sync-level-aware filters in negentropy fallback to prevent p... | DanConwayDev |
| 2026-02-18 | Revert "feat: upgrade repo to Full sync and trigger PR event subscription aft... | DanConwayDev |
| 2026-02-18 | test: rewrite PR sync tests to reflect purgatory-first announcement flow | DanConwayDev |
| 2026-02-18 | feat: upgrade repo to Full sync and trigger PR event subscription after annou... | DanConwayDev |
| 2026-02-18 | fix: use sync-level-aware filters in negentropy fallback to prevent premature... | DanConwayDev |
| 2026-02-18 | fix: update NIP-77 test to use kind 10317 events accepted without promoted repo | DanConwayDev |
| 2026-02-18 | fix: preserve state events when another owner's announcement remains in purga... | DanConwayDev |
| 2026-02-18 | fix: only evict purgatory entry when incoming rejected announcement is newer | DanConwayDev |
| 2026-02-18 | fix: break circular deadlock in sync loop by including purgatory in URL lookup | DanConwayDev |
| 2026-02-18 | fix: handle announcement replacement when original is still in purgatory | DanConwayDev |
| 2026-02-18 | fix: check purgatory in maintainer announcement lookup | DanConwayDev |
| 2026-02-17 | docs: clarify why fetch_repository_data excludes purgatory | DanConwayDev |
| 2026-02-17 | fix: include purgatory announcements in state event authorization | DanConwayDev |
| 2026-02-13 | feat: add SyncLevel to sync system for purgatory announcement state-only sync | DanConwayDev |
| 2026-02-13 | fix: revert wrong sync approach for purgatory announcements | DanConwayDev |
| 2026-02-13 | feat: implement announcement purgatory core (breaks archive sync test) | DanConwayDev |
| 2026-02-13 | fix: use ValidRepoServed for events that tag repo events | DanConwayDev |
| 2026-02-13 | refactor(grasp-audit): clarify PR purgatory test names and intent | DanConwayDev |
| 2026-02-13 | test: add PR purgatory tests with PREvent2 fixtures | DanConwayDev |
| 2026-02-13 | fix: add trailing newlines to deterministic commit content | DanConwayDev |
| 2026-02-12 | chore: fix clippy warnings | DanConwayDev |
| 2026-02-12 | feat(grasp-audit): add explicit purgatory tests | DanConwayDev |
| 2026-02-12 | refactor(grasp-audit): split ValidRepo into Sent/Served, add tolerant purgatory | DanConwayDev |
| 2026-02-12 | refactor(grasp-audit): introduce SpecRef enum for type-safe spec references | DanConwayDev |
| 2026-02-12 | fix: update doctest to use valid FixtureKind::RepoState variant | DanConwayDev |
| 2026-02-12 | fix: use consistent git identity for PR test commit hash | DanConwayDev |
| 2026-02-12 | docs: annocunment purgatory clarify soft expiry rationale | DanConwayDev |
| 2026-02-05 | docs: complete high-level announcements purgatory design | DanConwayDev |
| 2026-02-05 | add notes to announcment purgatory design | DanConwayDev |
| 2026-02-03 | Handle SIGTERM for graceful shutdown with systemd | DanConwayDev |
| 2026-02-03 | Add hex ID, kind, and pubkey to orphan event rejection log | DanConwayDev |
| 2026-02-03 | Add error logging to all git handler IO operations | DanConwayDev |
| 2026-02-03 | Reduce log noise: change per-ref updates to DEBUG level | DanConwayDev |
| 2026-02-03 | feat: add diagnostic logging for partial state event matches | DanConwayDev |
| 2026-02-03 | fix: accept no-op pushes where old_oid == new_oid | DanConwayDev |
| 2026-02-03 | Merge relay.ngit.dev migration: bug fixes and migration tooling | DanConwayDev |
| 2026-02-03 | docs: archive relay.ngit.dev migration materials for reference | DanConwayDev |
| 2026-01-28 | feat(purgatory): track event source for filtered expiry logging | DanConwayDev |