Skip to content

v0.7.0

Choose a tag to compare

@github-actions github-actions released this 01 Mar 00:33
· 31 commits to main since this release
4da14d0

Minor Changes

  • #106 ac391b6 Thanks @LiranCohen! - Add daemon lockfile (~/.enbox/daemon.lock) so gitd serve advertises its PID and port, and git-remote-did resolves did:: remotes to the local daemon before attempting DID document resolution. This removes the DID-resolution round-trip for local development.

  • #110 978ff95 Thanks @LiranCohen! - Add auto-managed daemon lifecycle: git-remote-did now auto-starts gitd serve in the background when no daemon is running, with idle auto-shutdown after 1 hour. New lifecycle commands: gitd serve status|stop|restart|logs. The lockfile now includes the gitd version for upgrade detection.

  • #109 4724167 Thanks @LiranCohen! - Add preflight git dependency check: all CLI commands (except --version and help) now verify that git >= 2.28.0 is installed, with clear error messages when it is missing or outdated. Version and help commands print a warning instead of blocking.

  • #103 e6947c9 Thanks @LiranCohen! - Add gitd pr checkout <number> (alias co) to fetch a PR's bundle from DWN, import git objects, and create a local branch at the tip commit. Supports --branch to override the local branch name and --detach for a detached HEAD.

  • #102 de5dcf8 Thanks @LiranCohen! - Wire gitd pr create to automatically generate a revision record and attach a scoped git bundle when run from a git repo with commits ahead of the base branch. The command now computes merge-base, diff stats, commit count, and creates a repo/patch/revision + repo/patch/revision/revisionBundle in one shot. Use --no-bundle to skip git operations and create a metadata-only PR.

  • #104 98e04d5 Thanks @LiranCohen! - Replace metadata-only gitd pr merge with actual git merge. The command now checks out the base branch, performs the merge with --merge (default), --squash, or --rebase strategy, records the real merge commit SHA in a mergeResult record, creates a statusChange audit trail record, and deletes the local PR branch (use --no-delete-branch to keep it).

  • #98 18f310a Thanks @LiranCohen! - Rename gitd patch CLI command to gitd pr for a familiar GitHub-like UX. The patch subcommand is kept as an alias. All user-facing output now says "PR" instead of "patch". Internal protocol names (repo/patch, ForgePatchesProtocol) are unchanged.

  • #100 f01dab2 Thanks @LiranCohen! - Add repo/patch/revision/bundle path to ForgePatchesProtocol for carrying git bundle binaries with PR revisions. Each revision can have at most one bundle ($recordLimit: { max: 1 }), immutable, with tipCommit/baseCommit/refCount/size tags. This enables cross-DWN PR submissions where contributors attach scoped git bundles to their patch revisions.

  • #105 5865642 Thanks @LiranCohen! - Populate GitHub shim PR response fields from DWN revision and mergeResult records. head.sha, base.sha, commits, additions, deletions, changed_files now come from the latest revision record; merge_commit_sha comes from the mergeResult record. The user field uses sourceDid when available. Also add statusChange audit trail records to pr close, pr reopen, and the shim merge endpoint, and fix the migrate command's CHANGES_REQUESTEDreject verdict mapping.

  • #136 d10a031 Thanks @LiranCohen! - Replace sequential PR/issue numbers with short hash IDs derived from DWN record IDs (first 7 hex chars of SHA-256). Remove number from protocol tags and data types. CLI and web UI now use short hash IDs for display and lookup.

  • #101 7e3bbe4 Thanks @LiranCohen! - Open ForgePatchesProtocol to external contributors: anyone can now create patches, reviews, and review comments without needing a contributor role. All child paths (revision, revisionBundle, review, reviewComment, statusChange, mergeResult) are publicly readable. This enables open-source-style PR submissions from any DID.

Patch Changes

  • #135 baa4f0e Thanks @LiranCohen! - Fix audit findings: rebase merge logic, comment body parsing, issues protocol permissions, draft PR mapping, repo name validation, and enbox.repo git config

  • #112 6c46f8b Thanks @LiranCohen! - Add two-actor E2E collaboration test exercising the full maintainer + contributor workflow: repo creation, clone, feature branch, git bundle PR submission, review, merge, pull, and push authorization. Uses offline agent creation (DidDht with publish: false) to avoid DHT network dependency.

  • #141 d07aaf9 Thanks @LiranCohen! - Support --flag=value syntax in CLI argument parsing so flags like --port=8080 work in addition to --port 8080

  • #137 0a35619 Thanks @LiranCohen! - Fix potential deadlocks and unbounded memory growth in git subprocess management: drain unused stderr/stdout pipes across all spawn helpers, and handle stdin backpressure in spawnGitService

  • #140 53966f0 Thanks @LiranCohen! - Make issue and PR migration idempotent: store GitHub source number in the data payload and skip already-imported items on re-run

  • #138 ab5f671 Thanks @LiranCohen! - Guard onPushComplete behind git subprocess exit code so rejected pushes (non-fast-forward, hook failures) no longer trigger ref-sync and bundle-sync

  • #139 b23a762 Thanks @LiranCohen! - Prevent silent ref deletion when git fails: ref-sync now aborts instead of deleting all DWN ref records when git for-each-ref exits with a non-zero code

  • #144 a8f9b1a Thanks @LiranCohen! - Fix setup --check to report failure when symlinks point to the wrong target or when binaries exist as regular files instead of symlinks

  • #143 dc22a98 Thanks @LiranCohen! - Validate port number in gitd web command using parsePort instead of raw parseInt, rejecting invalid values with a clear error