Skip to content

chore(main): release git-metadata 0.2.1#5

Closed
git-quickbeam[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--git-metadata
Closed

chore(main): release git-metadata 0.2.1#5
git-quickbeam[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--git-metadata

Conversation

@git-quickbeam
Copy link
Copy Markdown
Contributor

@git-quickbeam git-quickbeam Bot commented May 17, 2026

Release Notes

0.2.1 (2026-05-17)

⚠ BREAKING CHANGES

  • metadata_remove no longer takes MetadataOptions

Features

  • metadata validates input and ref-target shape (dbeb94c)
  • Accept optional author signature in Ledger::create (cb4d735), closes #10
  • Add --author-name and --author-email to create subcommand (cb4d735)
  • Add --file flag and optional --set values to git-ledger (800e3cf)
  • Add --file flag to create and update commands (800e3cf)
  • Add --link <rev> to add (resolved permalink, peels tags) (8499883)
  • Add --link-ref <name> to add (unresolved ref name as blob) (8499883)
  • Add -a/--all flag to list subcommand (8fed577)
  • Add AlreadyExists, InvalidRootType, FanoutPathConflict errors (dbeb94c)
  • Add ContentAddressable and Pointer traits (677936a)
  • Add DEFAULT_FANOUT constant (82f6a4f)
  • Add Edit and Merge CLI subcommands (eb21231)
  • Add Error::UnexpectedKind variant (d57c2ba)
  • Add Executor::merge for 3-way merge of metadata refs (eb21231)
  • Add Executor::read_blob_at for reading blob entries (eb21231)
  • Add Executor::repo() accessor (8ac3697)
  • Add Executor::stale() read-only counterpart to prune (8ac3697)
  • Add InvalidFanoutDepth and FanoutFind error variants (82f6a4f)
  • Add list <object> subcommand (replaces old show flat output) (ce0fc2a)
  • Add message: Option<&str> to MetadataRepository::metadata_delete (8ac3697)
  • Add message: Option<&str> to MetadataRepository::metadata (8ac3697)
  • Add message/author params to Executor::upsert, import, remove (8ac3697)
  • Add Metadata::id and Metadata::data accessors (0c8fb44)
  • Add Metadata::id and Metadata::data accessors (9757be5)
  • Add tree::remove_leaf helper that prunes empty intermediates (8764905)
  • Add TreeId newtype with From<gix::Tree> and From<TreeId> for gix::ObjectId (f5d5c88)
  • Add Tx::with_message() builder; default commit message is "store: commit transaction" (d57c2ba)
  • Add CLI (ff68888)
  • Add edit and merge subcommands (eb21231)
  • Add Error::FanoutDepthConflict variant (a77bc5d)
  • Add executor (exe) and CLI implementation (10d9c07)
  • Add FileMode enum (Blob, Executable, Tree, Commit) (c72b96c)
  • Add git-chain (2a2cfea)
  • Add git-chain crate (3ffe461)
  • Add git-db crate to workspace (e2ed0fc)
  • Add git-ledger (2a2cfea)
  • Add git-ledger and git-chain to workspace (e79274f)
  • Add git-ledger crate (c6d47d0)
  • Add global --force flag used by add, copy, and man-page generation (676d45a)
  • Add IdStrategy::CommitOid for commit-OID-keyed entity refs (31c8dc3), closes #6
  • Add initial trait method and accompanying implementation (c4ed9f8)
  • Add log CLI subcommand to git-ledger (8badb72)
  • Add man generation to CLI (275207f)
  • Add man page generation to all crates and fix CI/CD workflows (0f3d0ef)
  • Add man page generation to git-ledger and git-chain (0f3d0ef)
  • Add metadata trait method definitions (30ef2eb)
  • Add metadata trait method implementations (30ef2eb)
  • Add MetadataIndex::metadata (fd7b179)
  • Add MetadataIndex::metadata_commit (fd7b179)
  • Add Mutation::Pin for inserting entries that reference existing objects (c72b96c)
  • Add optional author override to Ledger::create (cb4d735)
  • Add print_tree_entry helper in main.rs (4f09287)
  • Add store abstractions (260820f)
  • Add validate_metadata_tree to MetadataRepository trait (a77bc5d)
  • Auto-detect fanout depth on read and remove (bd86065)
  • Enable gix tree-editor feature for structural sharing (bf946a9)
  • Glob matching for remove patterns (*, **, prefix match) (4cf0d90)
  • Implement ContentAddressable, Ref, and Transaction over gix (7949943)
  • Implement Executor::upsert (0c8fb44)
  • Implement Executor::upsert (333a29f)
  • Implement find_metadata (0c8fb44)
  • Implement find_metadata (119791d)
  • Implement metadata_default_ref returning refs/metadata/commits (82f6a4f)
  • Implement metadata_delete and add tree::remove_leaf (0c8fb44)
  • Implement metadata_delete and add tree::remove_leaf (8764905)
  • Implement metadata, mirror libgit2 notes shape (0c8fb44)
  • Implement metadata, mirror libgit2 notes shape (dbeb94c)
  • Implement compile_patterns and tree_is_empty helpers (7269b52)
  • Implement Executor::copy (7269b52)
  • Implement Executor::remove with glob-pattern matching (7269b52)
  • Implement Executor::remove, stale, copy, prune (7269b52)
  • Implement Executor::stale and Executor::prune (7269b52)
  • Implement Executor::upsert using tree::insert_leaf directly (7302605)
  • Implement Executor::upsert; parameterize insert_leaf over leaf_kind (0c8fb44)
  • Implement Executor::upsert; parameterize insert_leaf over leaf_kind (7302605)
  • Implement relation operations in git-metadata (7f4b5ad)
  • Implement relation operations in git-metadata (7725be8)
  • Implement Store and Tx for phase 1 transaction (bf946a9)
  • Install nextest via taiki-e/install-action@nextest (8b9181f)
  • Make list show flat tree entries and show render a tree (ce0fc2a)
  • Open editor for add when no content is provided interactively (2a7cd53)
  • Path-based metadata API following git-notes semantics (4cf0d90)
  • Print man page path on write and require --force to overwrite (676d45a)
  • Read .fanout depth blob in metadatas (82f6a4f)
  • Read committer identity from git config via repo.committer(), falling back to generic defaults (d57c2ba)
  • Render show output as a tree via termtree (ce0fc2a)
  • Require .fanout depth in metadata trees and document MetadataRepository (0c8fb44)
  • Require .fanout depth in metadata trees and document MetadataRepository (82f6a4f)
  • Resolve revisions (HEAD, refs, short OIDs) in all object arguments (4cf0d90)
  • Rework add to support --link/--link-ref; make --path optional (8499883)
  • Run doctests with cargo test --doc (8b9181f)
  • Run tests with cargo nextest run (8b9181f)
  • Scaffolding for git-store (4480796)
  • Split --generate-man-page into bool flag plus --man-dir (676d45a)
  • Split Pointer into Ref and Transaction traits (7ff0b5f)
  • Store::open/init bind to refs/db/<n> (bf946a9)
  • Support --set key with empty blob default (800e3cf)
  • Tx::commit with configurable CAS retry loop (bf946a9)
  • Tx::get/put/delete/list over nested tree paths (bf946a9)

Bug Fixes

  • --force is no longer global; add and copy each declare their own --force flag (c06cd88)
  • Add initial_depth: Option<u8> to MetadataRepository::metadata(); wire --shard-level through upsert (c06cd88)
  • Apply clippy suggestions (search_is_some in tests, fmt in main.rs) (3338eea)
  • Apply clippy suggestions (search_is_some in tests, fmt in main.rs) (6f83928)
  • Auto-detect fanout depth and correct shard level semantics (bd86065)
  • Bind metadata_default_ref() result so the borrow outlives the match (6afe663)
  • Broaden CD tag regex to match all three crate prefixes (0f3d0ef)
  • Change remove return type to Result<Option<gix::ObjectId>> (707709d)
  • CI man job uses checkout@v4 and generates for all crates (0f3d0ef)
  • Correct fanout traversal and error propagation in metadatas (0c8fb44)
  • Correct fanout traversal and error propagation in metadatas (6afe663)
  • Correct generate-man arguments (5e879a1)
  • Correct release-please manifest package key (88f4ec1)
  • Correct stale [Repo] link in module doc to [Executor] (707709d)
  • Create man dir if necessary (21d2a15)
  • Default man page output dir to XDG_DATA_HOME (f713512)
  • Document force behavior in upsert, copy, and import (707709d)
  • Document copy --force as a destructive wholesale replace (c06cd88)
  • Ensure_fanout_blob now errors on type/depth conflict, no-ops on match (a77bc5d)
  • Fail fast on non-hex fanout leaves (6afe663)
  • Fix editor template line-continuation formatting (c06cd88)
  • Handle arbitrary-depth nested fields in ledger tree operations (55991b9)
  • Handle slash in link keys and batch prune commits in git-metadata (15cd0a1)
  • Handle slash in link keys and batch prune commits in git-metadata (a37fb3e)
  • List and show return empty output instead of erroring when no metadata ref exists (c06cd88)
  • Make object a keyword argument in add, remove, and edit subcommands (2b88890)
  • Make object positional in remove (was -o/--object, inconsistent with add/show) (c06cd88)
  • Metadata::new no longer requires id to be a blob; any object type is valid (c06cd88)
  • Move project to new repository (4697dfa)
  • Nested delete, create consistency, and Box::leak in git-ledger (c00e676)
  • Peel metadata ref to a tree before traversal (6afe663)
  • Propagate ref-find, peel, and traverse errors via new variants (6afe663)
  • Publish only the crate matching the release tag (912b8ce)
  • Publish pre-release crates to crates.io (6f1d588)
  • Reject empty paths in Tx operations (f541852)
  • Reject non-blob .fanout entries (symlink, gitlink) with InvalidFanoutDepth (6e20304)
  • Remove --shard-level from copy (concept does not apply) (c06cd88)
  • Remove cargo-workspace plugin for single-crate repo (1d19a7d)
  • Remove manual version pins (ed13199)
  • Remove redundant get_ref method (707709d)
  • Replace cargo-binstall with taiki-e/install-action for semver-checks (fd9c719)
  • Replace panicking into_commit()/into_tree() with try_into_commit()/try_into_tree(), returning Error::UnexpectedKind on mismatch (d57c2ba)
  • Require positional argument to be last (4827a71)
  • Resolve clippy -D warnings diagnostics in stub impls (2793dde)
  • Resolve diagnostics in metadatas impl (0818601)
  • Resolve nine CLI issues and rename default metadata ref (c06cd88)
  • Revert upsert to todo!() pending rewrite (707709d)
  • Shard-level default changed from 2 to 1 (git-notes compatible) (bd86065)
  • Update --path help to mention --link and --link-ref as alternatives (c06cd88)
  • Use iterative thread walk, normalize message newlines in git-chain (4db4a14)
  • Validate thread root against chain commits, not the repo object database (d08ddee)

Performance Improvements

  • Hoist hex buffer allocation out of the entry loop (6afe663)

Miscellaneous Chores


This release was generated with Release Please.

@git-quickbeam git-quickbeam Bot changed the title chore(main): release git-metadata 0.4.0-rc.2 chore(main): release git-metadata 0.2.1 May 17, 2026
@git-quickbeam git-quickbeam Bot force-pushed the release-please--branches--main--components--git-metadata branch from c3ffbc1 to e216f4b Compare May 17, 2026 02:57
@jdc-pub jdc-pub closed this May 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant