v0.7.0
Minor Changes
-
#106
ac391b6Thanks @LiranCohen! - Add daemon lockfile (~/.enbox/daemon.lock) sogitd serveadvertises its PID and port, andgit-remote-didresolvesdid::remotes to the local daemon before attempting DID document resolution. This removes the DID-resolution round-trip for local development. -
#110
978ff95Thanks @LiranCohen! - Add auto-managed daemon lifecycle:git-remote-didnow auto-startsgitd servein 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
4724167Thanks @LiranCohen! - Add preflight git dependency check: all CLI commands (except--versionandhelp) now verify thatgit >= 2.28.0is installed, with clear error messages when it is missing or outdated. Version and help commands print a warning instead of blocking. -
#103
e6947c9Thanks @LiranCohen! - Addgitd pr checkout <number>(aliasco) to fetch a PR's bundle from DWN, import git objects, and create a local branch at the tip commit. Supports--branchto override the local branch name and--detachfor a detached HEAD. -
#102
de5dcf8Thanks @LiranCohen! - Wiregitd pr createto 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 arepo/patch/revision+repo/patch/revision/revisionBundlein one shot. Use--no-bundleto skip git operations and create a metadata-only PR. -
#104
98e04d5Thanks @LiranCohen! - Replace metadata-onlygitd pr mergewith actual git merge. The command now checks out the base branch, performs the merge with--merge(default),--squash, or--rebasestrategy, records the real merge commit SHA in amergeResultrecord, creates astatusChangeaudit trail record, and deletes the local PR branch (use--no-delete-branchto keep it). -
#98
18f310aThanks @LiranCohen! - Renamegitd patchCLI command togitd prfor a familiar GitHub-like UX. Thepatchsubcommand is kept as an alias. All user-facing output now says "PR" instead of "patch". Internal protocol names (repo/patch,ForgePatchesProtocol) are unchanged. -
#100
f01dab2Thanks @LiranCohen! - Addrepo/patch/revision/bundlepath to ForgePatchesProtocol for carrying git bundle binaries with PR revisions. Each revision can have at most one bundle ($recordLimit: { max: 1 }), immutable, withtipCommit/baseCommit/refCount/sizetags. This enables cross-DWN PR submissions where contributors attach scoped git bundles to their patch revisions. -
#105
5865642Thanks @LiranCohen! - Populate GitHub shim PR response fields from DWN revision and mergeResult records.head.sha,base.sha,commits,additions,deletions,changed_filesnow come from the latest revision record;merge_commit_shacomes from the mergeResult record. Theuserfield usessourceDidwhen available. Also addstatusChangeaudit trail records topr close,pr reopen, and the shim merge endpoint, and fix the migrate command'sCHANGES_REQUESTED→rejectverdict mapping. -
#136
d10a031Thanks @LiranCohen! - Replace sequential PR/issue numbers with short hash IDs derived from DWN record IDs (first 7 hex chars of SHA-256). Removenumberfrom protocol tags and data types. CLI and web UI now use short hash IDs for display and lookup. -
#101
7e3bbe4Thanks @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
baa4f0eThanks @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
6c46f8bThanks @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
d07aaf9Thanks @LiranCohen! - Support--flag=valuesyntax in CLI argument parsing so flags like--port=8080work in addition to--port 8080 -
#137
0a35619Thanks @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
53966f0Thanks @LiranCohen! - Make issue and PR migration idempotent: store GitHub source number in the data payload and skip already-imported items on re-run -
#138
ab5f671Thanks @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
b23a762Thanks @LiranCohen! - Prevent silent ref deletion when git fails: ref-sync now aborts instead of deleting all DWN ref records whengit for-each-refexits with a non-zero code -
#144
a8f9b1aThanks @LiranCohen! - Fixsetup --checkto report failure when symlinks point to the wrong target or when binaries exist as regular files instead of symlinks -
#143
dc22a98Thanks @LiranCohen! - Validate port number ingitd webcommand usingparsePortinstead of rawparseInt, rejecting invalid values with a clear error