Tags

Tags give the ability to mark specific points in history as being important
  • git-tempfile-v2.0.4

    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### Commit Statistics
    
     - 4 commits contributed to the release over the course of 3 calendar days.
     - 6 days passed between releases.
     - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Thanks Clippy
    
    [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. 
    
    ### Commit Details
    
     * **Uncategorized**
        - thanks clippy (f90d772)
        - Merge branch 'example-new-repo' (946dd3a)
        - uniformize deny attributes (f7f136d)
        - remove default link to cargo doc everywhere (533e887)
  • git-attributes-v0.3.2

    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 6 commits contributed to the release over the course of 3 calendar days.
     - 6 days passed between releases.
     - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Release git-path v0.4.1 (5e82346)
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
        - remove default link to cargo doc everywhere (533e887)
  • git-quote-v0.2.1

    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### Commit Statistics
    
     - 3 commits contributed to the release over the course of 3 calendar days.
     - 142 days passed between releases.
     - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Merge branch 'example-new-repo' (946dd3a)
        - uniformize deny attributes (f7f136d)
        - remove default link to cargo doc everywhere (533e887)
  • git-glob-v0.3.2

    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 5 commits contributed to the release over the course of 3 calendar days.
     - 32 days passed between releases.
     - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
        - remove default link to cargo doc everywhere (533e887)
  • git-actor-v0.11.3

    ### Chore
    
     - uniformize deny attributes
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 4 commits contributed to the release over the course of 3 calendar days.
     - 4 days passed between releases.
     - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
  • git-features-v0.22.2

    ### Chore
    
     - uniformize deny attributes
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 4 commits contributed to the release over the course of 3 calendar days.
     - 8 days passed between releases.
     - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
  • git-hash-v0.9.8

    ### Chore
    
     - uniformize deny attributes
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 4 commits contributed to the release over the course of 3 calendar days.
     - 8 days passed between releases.
     - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
  • git-date-v0.0.5

    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### New Features
    
     - use docsrs feature in code to show what is feature-gated automatically on docs.rs
     - pass --cfg docsrs when compiling for https://docs.rs
    
    ### Commit Statistics
    
     - 6 commits contributed to the release over the course of 3 calendar days.
     - 4 days passed between releases.
     - 4 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Fix doc comment (51cd9ce)
        - Merge branch 'example-new-repo' (946dd3a)
        - use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
        - uniformize deny attributes (f7f136d)
        - pass --cfg docsrs when compiling for https://docs.rs (5176771)
        - remove default link to cargo doc everywhere (533e887)
  • git-path-v0.4.1

    5e823462 · Release git-path v0.4.1 ·
    ### Chore
    
     - uniformize deny attributes
     - remove default link to cargo doc everywhere
    
    ### Bug Fixes
    
     - Handle `.` specifically in `absolutize()`.
       Previously, absolutizing `./../../` would lead to one path component
       of the `../` to be ignored as `.` was popped successfully, not realizing
       that it is a no-op.
       
       This could lead to problems with repository discovery if `.` was passed.
    
    ### Commit Statistics
    
     - 4 commits contributed to the release over the course of 3 calendar days.
     - 31 days passed between releases.
     - 3 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Handle `.` specifically in `absolutize()`. (9171adb)
        - Merge branch 'example-new-repo' (946dd3a)
        - uniformize deny attributes (f7f136d)
        - remove default link to cargo doc everywhere (533e887)
  • git-repository-v0.21.1

    A maintenance release that speeds up `commit.describe()` performance if `max_candidates()` is 0.
    
    ### Commit Statistics
    
     - 2 commits contributed to the release.
     - 1 day passed between releases.
     - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - prepare for release of git-repository (8aa5389)
        - greatly improve `gix commit describe` performance by adding an object cache (d07daaa)
  • git-revision-v0.4.1

    ### New Features
    
     - revision describe can now short-cut what effectively is only a name-to-id lookup
       This makes situations easier where `max-candidates` is provided by the user or by
       configuration.
    
    ### Commit Statistics
    
     - 2 commits contributed to the release.
     - 1 day passed between releases.
     - 1 commit where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - prepare for release of git-repository (8aa5389)
        - revision describe can now short-cut what effectively is only a name-to-id lookup (ca66512)
  • git-actor-v0.11.2

    A maintenance release with a dependency update.
    
    ### Commit Statistics
    
     - 2 commits contributed to the release.
     - 1 day passed between releases.
     - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - update changelogs prior to release (1b5fd86)
        - prepare for release of git-repository (8aa5389)
  • git-date-v0.0.4

    ### New Features
    
     - Raw and Unix formats.
     - Add ISO-strict format
    
    ### Commit Statistics
    
     - 7 commits contributed to the release.
     - 1 day passed between releases.
     - 2 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - update changelogs prior to release (1b5fd86)
        - prepare for release of git-repository (8aa5389)
        - Raw and Unix formats. (8f7f9ce)
        - Foundation for custom formats that aren't easily done with `time` formatting (b74eaf8)
        - Add ISO-strict format (4b0c219)
        - refinements (b1fea0f)
        - Add common git date formats. (090795b)
  • v0.14.0

    ### Changed
    
     - Invert behaviour to `open::Options::strict_config()`, with lenient being the default.
       This means API users will get libgit2 behaviour but commands like `gix` can
       change options to emulate `git` behaviour.
    
    ### New Features
    
     - `--cat-file` flag for `gix rev parse` to cat instead of resolving.
     - `gix rev previous-branches` subcommand
    
    ### Changed (BREAKING)
    
     - `ein tools` to `ein tool` for as it's more intuitive
    
    ### New Features (BREAKING)
    
     - `gix rev resolve --explain`
    
    ### Commit Statistics
    
     - 15 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 5 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 1 unique issue was worked on: #427
    
    ### Commit Details
    
     * **#427**
        - `--cat-file` flag for `gix rev parse` to cat instead of resolving. (b83f6bd)
        - `gix rev resolve --explain` (c5846e0)
        - `gix rev previous-branches` subcommand (e972aad)
        - support for parsing multiple specs in one invocation (84b5448)
        - support overriding cache settings with environment variables in `gix` (b838202)
     * **Uncategorized**
        - Control which command is lenient or not. That way `gix-config` can be lenient. (6a9c58f)
        - Invert behaviour to `open::Options::strict_config()`, with lenient being the default. (0235111)
        - `ein tools` to `ein tool` for as it's more intuitive (edf73dd)
        - add aliases to make revision sub-commands more accessible (a6d79e3)
        - Merge branch 'write-index-files' into write-index-v2 (cddc2ca)
        - Merge branch 'write-index-files' into rev-parse-delegate (370110d)
        - Merge branch 'main' into rev-parse-delegate (4ae2bed)
        - Merge branch 'main' into rev-parse-delegate (6da8250)
        - make fmt (47724c0)
        - Fix typos (e9fcb70)
  • gitoxide-core-v0.16.0

    ### New Features
    
     - `--cat-file` flag for `gix rev parse` to cat instead of resolving.
     - `gix rev previous-branches` subcommand
    
    ### Changed (BREAKING)
    
     - remove `Repository::load_index()` in favor of `repo.worktree().open_index()`.
     - `git_revision` is now available in `revision::plumbing`.
       That way it won't clash with the higher-level constructs on top of it
       which use the same names.
    
    ### New Features (BREAKING)
    
     - `gix rev resolve --explain`
     - `Repository::rev_parse()` returns a `RevSpec`.
       This lays the foundation for actually handling rev-specs faithfully.
       Previous users should use `rev_parse().single()` to obtain a single
       object id which was the only supported usecase previously.
    
    ### Commit Statistics
    
     - 31 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 6 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 3 unique issues were worked on: #427, #450, #482
    
    ### Thanks Clippy
    
    [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. 
    
    ### Commit Details
    
     * **#427**
        - `--cat-file` flag for `gix rev parse` to cat instead of resolving. (b83f6bd)
        - `gix rev resolve --explain` (c5846e0)
        - make fmt (4b320e7)
        - `gix rev previous-branches` subcommand (e972aad)
        - support for parsing multiple specs in one invocation (84b5448)
        - adapt to changes in `git-repository` (ebb788c)
        - remove `Repository::load_index()` in favor of `repo.worktree().open_index()`. (ea35183)
        - Assure desirable performance by assuring an object cache exists. (af32128)
        - Use `Display` for revision printing instead of `Debug` (d194f15)
        - `git_revision` is now available in `revision::plumbing`. (4fd0968)
        - Make use of `git-revision::Spec` in `RevSpec` data structure. (004915e)
        - adjust to change in git-revision (51762bb)
        - adjust to changes in git-revision (df7da1f)
        - adjust to changes in `git-revision` (a70f262)
        - `gix rev parse` now uses `Repository::rev_parse()` (e191681)
        - `Repository::rev_parse()` returns a `RevSpec`. (e2aff28)
     * **#450**
        - first successful test for returning a refspec. (6e5bd5c)
     * **#482**
        - Bring back conversion from discovery kind to `git-repository::Kind` (ebb5bee)
     * **Uncategorized**
        - prepare for gitoxide release (6305d52)
        - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - fix tree ext reading and writing; round-trip with long path works now (f93febe)
        - Merge branch 'format_git_date_time' (99e12be)
        - thanks clippy (4bd747c)
        - Merge branch 'write-index-files' into write-index-v2 (cddc2ca)
        - Merge branch 'write-index-files' into rev-parse-delegate (370110d)
        - Merge branch 'main' into rev-parse-delegate (4ae2bed)
        - Merge branch 'main' into rev-parse-delegate (6da8250)
        - make fmt (47724c0)
        - Merge branch 'kianmeng-fix-typos' (4e7b343)
        - Fix typos (e9fcb70)
  • git-commitgraph-v0.8.1

    A maintenance release without user-facing changes.
    
    ### Commit Statistics
    
     - 3 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - prepare for gitoxide release (6305d52)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - Merge branch 'kianmeng-fix-typos' (4e7b343)
  • git-repository-v0.21.0

    ### Changed
    
     - Invert behaviour to `open::Options::strict_config()`, with lenient being the default.
       This means API users will get libgit2 behaviour but commands like `gix` can
       change options to emulate `git` behaviour.
    
    ### New Features
    
     - `Kind` can now represent submodules.
       This should complete the list of git repository types and flavors.
     - `open()` and `discover()` support opening submodules.
       This includes submodule checkouts as well as their original module git
       directories.
     - `open::Options::lenient_config(…)` to default otherwise invalid configuration values where possible
       Originally required by https://github.com/starship/starship/issues/4266 .
     - support core.worktree option
     - display for `object::tree::EntryRef`
     - `Head::prior_checked_out_branches()`
     - `Repository::index()` and `Worktree::index()`.
       These methods provide a possibly updated shared index.
     - add `Repository::object_cache_size_if_unset()`
     - `Commit::message_raw_sloppy()` to provide yet another way to obtain a commit message.
     - add `rev_spec::parse::ObjectKindHint` to support `core.disambiguate`.
       The latter is seemingly undocumented in the typical place, git-config.
    
    ### Bug Fixes
    
     - assure permissions per trust level are properly inherited into `open::Options`.
     - provide additional explanation about when to use `open::Options::with()`
    
    ### Refactor
    
     - <csr-id-b38a212459e2646ab97ad7b5c24e54d962aae960/> embrace `revision` module and move `rev_walk` there.
       Let's embrace the idea of structured modules and platforms in the right
       spot in the module hierarchy instead of forcing known names on it that
       over-simplify.
    
    ### Changed (BREAKING)
    
     - remove `permissions::Config::strict()` as they were unused internally.
       Furthermore, they were allowing everything as before so better not to
       have it.
     - rename `Repository::load_mailmap*` to `Repository::open_mailmap*`.
       For consistency with other similar methods.
     - remove `Repository::load_index()` in favor of `repo.worktree().open_index()`.
     - `git_revision` is now available in `revision::plumbing`.
       That way it won't clash with the higher-level constructs on top of it
       which use the same names.
     - Turn `id::Ancestors` into general-purpose `RevWalk`.
     - remove `Permissions::git_dir` field entirely.
       It was meant to help dealing with bailing out if the git dir isn't
       fully trusted, but the way this was done was over-engineered especially
       since the read-only permission level wasn't implemented at all.
       
       That function is now performed by a new flag, the `bail_on_untrusted`
       which is off by default.
    
    ### New Features (BREAKING)
    
     - `Repository::rev_parse()` returns a `RevSpec`.
       This lays the foundation for actually handling rev-specs faithfully.
       Previous users should use `rev_parse().single()` to obtain a single
       object id which was the only supported usecase previously.
    
    ### Bug Fixes (BREAKING)
    
     - Don't panic for `@{1}` in new repos; rename `Head::into_referent()` to `::try_into_referent()`
       The signature change will prevent such issues in the future as one
       cannot simply ignore new repositories.
    
    ### Commit Statistics
    
     - 133 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 22 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 2 unique issues were worked on: #427, #482
    
    ### Thanks Clippy
    
    [Clippy](https://github.com/rust-lang/rust-clippy) helped 6 times to make code idiomatic. 
    
    ### Commit Details
    
     * **#427**
        - display for `object::tree::EntryRef` (b47bbb7)
        - make fmt (4b320e7)
        - `Head::prior_checked_out_branches()` (727768a)
        - improve docs (1e47bc1)
        - refactor (e67deab)
        - implement @^{} syntax (fbd5aab)
        - access to reflog entries (5cd06cf)
        - declare reflog access by date to be planned. (95bcf3b)
        - officially make sibling branches 'planned' (145631b)
        - implement nth prior checkout (ff37fae)
        - test for nth prior checkout (4fd2314)
        - refactor, add complex test for traversal (4f83470)
        - support for ancestor traversal (ac2105f)
        - refactor (6ffbf4c)
        - support for parent traversal (aa80030)
        - Index lookup works and provides hints en-par with git in terms of information at least. (a049bd3)
        - failing tests for index rev-parsing (502d8c9)
        - Make `git-index` non-optional and part of the standard setup. (c2e84a4)
        - `Repository::index()` and `Worktree::index()`. (ffe7291)
        - rename `Repository::load_mailmap*` to `Repository::open_mailmap*`. (1c12d49)
        - remove `Repository::load_index()` in favor of `repo.worktree().open_index()`. (ea35183)
        - tests for reference name retrieval. (7a8c8f3)
        - add `Repository::object_cache_size_if_unset()` (47619f7)
        - Use `Display` for revision printing instead of `Debug` (d194f15)
        - adapt to changes in `git-revision` (65b337d)
        - Assure only commits serve as starting point (5ad0f96)
        - test regex negation, which brought up a traversal ordering bug (7b1733e)
        - multi-tip regex work (4ca4919)
        - A way to obtain a rev-walk platform directly from the top-level repo. (835dcf4)
        - Only run regex based searches if a substring search won't do (295bf9f)
        - fix docs (25fd8fe)
        - a first failing test for regex-search. (13e0938)
        - make clear in error text if regex aren't actually used. (cfb8c40)
        - Move `RevSpec` to `revision::Spec`. (1b8df18)
        - refactor (e05aa3b)
        - align tests to upcoming structure of RevSpec (41d6dd2)
        - `git_revision` is now available in `revision::plumbing`. (4fd0968)
        - embrace `revision` module and move `rev_walk` there. (b38a212)
        - Turn `id::Ancestors` into general-purpose `RevWalk`. (2424957)
        - git sorts commit traversals and so do we (538ecd4)
        - Use prefix consisently when reporting object ids (bf9e27b)
        - `Commit::message_raw_sloppy()` to provide yet another way to obtain a commit message. (d2611ce)
        - support for regex-based matching for single-tips (6369153)
        - assure regex search failure is registered as such (b58d7cb)
        - non-regex implementation of single-tip search for commit messages (7ad4e54)
        - Provide an error if regex is not compiled in but is used (838a6ba)
        - frame for optional regex support in git-repository (7f43d95)
        - Add complex repositry example similar to the one by Jon Loeliger (1e0b431)
        - assure all forms of ranges/merge-bases disambiguate equally (4fdc120)
        - fix tests that was flaky due to time-dependent comparison. (9fa9850)
        - follow refs as well when resolving names to ids. (34c8140)
        - Correctly disambiguate objects in ranges without falling back to repo-disambiguation configuration (17a1edf)
        - Disambiguation of ranges by committish works (8b0ceb5)
        - first failing test to check for range disambiguation (a5eb4fb)
        - better error messages in case all ambiguous objects fail a transformation (97922f8)
        - Make use of `git-revision::Spec` in `RevSpec` data structure. (004915e)
        - sketch the new version of the RevSpec data structure (98d32c6)
        - sketch data structure for actually using baseline range results (f6da78f)
        - basic parsing of range baseline (b6013b6)
        - adjust to change in git-revision (51762bb)
        - adjust to changes in git-revision (df7da1f)
        - fix docs (5425de9)
        - Adjust RevSpec::range() to match changes in `git-revision` (05ea453)
        - adjust to changes in `git-revision` (a70f262)
        - All disambiguation tests work as good as git or better. (c397761)
        - re-enable more tests (04e1558)
        - more tests, still in progress (8d92eb6)
        - improve error messages related to peeling (b61a343)
        - `gix rev parse` now uses `Repository::rev_parse()` (e191681)
        - also maintain git-style sort order of objects (c14754a)
        - git-style disambiguation errors (5717194)
        - refactor (6f7823f)
        - refactor; prepare for detailed ambiguous object information (0a08583)
        - refactor (017727a)
        - refactor (87e7d97)
        - refactor (1d2ef52)
        - a way to not degenerate information when chaining errors (8d723ad)
        - compare all configurable disambiguation types against baseline (c98195b)
        - refactor (929308d)
        - more impelmentation of object disambiguation (9127d15)
        - first repository-local disambiguation works (31db570)
        - a general setup to peel objects while managing candidates. (c418527)
        - set foundation for core.disambiguate implementation (96cb5ee)
        - parse `core.disambiguate` from configuration and cache it. (335c459)
        - add `rev_spec::parse::ObjectKindHint` to support `core.disambiguate`. (906c958)
        - `Repository::rev_parse()` returns a `RevSpec`. (e2aff28)
        - improve error message for Fail mode with ref matching as well as object(s) (1ef7281)
        - add support for keeping multiple candidates in case of ambiguous objects. (8b4e5e0)
        - refactor (2b2cb6d)
     * **#482**
        - Bring back conversion from discovery kind to `git-repository::Kind` (ebb5bee)
        - `Kind` can now represent submodules. (a01525d)
        - `open()` and `discover()` support opening submodules. (5dac021)
        - Add archive for submodule test (7ab3279)
        - test showing that submodules dirs can't be opened right now (5a9c537)
     * **Uncategorized**
        - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
        - prepare changelogs prior to reelase (c06ae1c)
        - Invert behaviour to `open::Options::strict_config()`, with lenient being the default. (0235111)
        - `open::Options::lenient_config(…)` to default otherwise invalid configuration values where possible (067c334)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - Merge branch 'index-write-refactor' (805f432)
        - first PoC for writing long paths, even though it doens't produce the entire file yet (581cbd7)
        - adjust `git_date::parsea(str)` to use a str (0f8680a)
        - Merge branch 'format_git_date_time' (99e12be)
        - refactor (bd64387)
        - thanks clippy (4bd747c)
        - Don't panic for `@{1}` in new repos; rename `Head::into_referent()` to `::try_into_referent()` (c68b125)
        - Merge branch 'feat-core-worktree' (df42d22)
        - remove `permissions::Config::strict()` as they were unused internally. (0deda0d)
        - test absolute worktree dirs as well when overridden in core.worktree (4e17864)
        - validate core.worktree handling in bare repositories (cba6983)
        - Add more tests around invalid `core.worktree` values (1591a50)
        - move tests into `worktree` module and prepare for more of them (a05b15b)
        - Use time format strings. (f84e8f5)
        - support core.worktree option (0bf8371)
        - refactor (556dd8c)
        - Format `git-date::Time` with `time::format_description`. (d4243bc)
        - Merge branch 'parse-refspec' (2ba338e)
        - support for `@:` == `@^{tree}` in rev-parsing (6c06406)
        - Merge branch 'write-index-files' into write-index-v2 (cddc2ca)
        - thanks clippy (90dccc3)
        - thanks clippy (df83e23)
        - Merge branch 'write-index-files' into rev-parse-delegate (370110d)
        - thanks clippy (6163caa)
        - Merge branch 'main' into rev-parse-delegate (4ae2bed)
        - thanks clippy (d8511bb)
        - thanks clippy (a479bd3)
        - Merge branch 'main' into rev-parse-delegate (6da8250)
        - remove `Permissions::git_dir` field entirely. (1df379a)
        - assure permissions per trust level are properly inherited into `open::Options`. (be6114e)
        - provide additional explanation about when to use `open::Options::with()` (270242c)
        - make fmt (47724c0)
        - Merge branch 'kianmeng-fix-typos' (4e7b343)
        - Fix typos (e9fcb70)
    
    
  • git-worktree-v0.4.1

    A maintenance release without user facing changes.
    
    ### Commit Statistics
    
     - 5 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
        - prepare changelogs prior to reelase (c06ae1c)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - Merge branch 'kianmeng-fix-typos' (4e7b343)
        - Fix typos (e9fcb70)
  • git-revision-v0.4.0

    ### New Features
    
     - `Spec` with `Display` implementation to reproduce itself.
       That way it can be parsed back perfectly after displaying itself, and
       will work normally when used in backticks in the shell for simple
       include patterns.
     - Add `Spec` data strcuture to fully represent a revision specification
     - Add support for `r1^@`
     - Add support for `r1^!`
     - support for `<rev>^-<n>` and `<rev>^-`
    
    ### Changed (BREAKING)
    
     - More intuitive variants for `Spec`.
     - rename various `Kind` variants to be more descrptive.
     - Rename `Kind::Single` to `Include` and add `Exclude` kind.
       So far I got ranges pretty wrong and was degenerating the `^rev` case
       due to misinterpretation of the docs.
       This summary corrected that: https://git-scm.com/docs/git-rev-parse#_revision_range_summary
    
    ### Commit Statistics
    
     - 38 commits contributed to the release over the course of 23 calendar days.
     - 26 days passed between releases.
     - 8 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 2 unique issues were worked on: #427, #450
    
    ### Thanks Clippy
    
    [Clippy](https://github.com/rust-lang/rust-clippy) helped 3 times to make code idiomatic. 
    
    ### Commit Details
    
     * **#427**
        - make fmt (4b320e7)
        - remove unused type (ad3475d)
        - Better docs for `Spec` and `spec::Kind` (6b76c06)
        - More intuitive variants for `Spec`. (42aea42)
        - `Spec` with `Display` implementation to reproduce itself. (36c70e1)
        - More fuzz success (f239796)
        - fix panics discovered by fuzzer input (0f9e959)
        - Add fuzz target (54108f4)
        - Add support for `r1^@` (4bb2003)
        - Add support for `r1^!` (7e5d31c)
        - refactor (dd1a208)
        - the first test for @^! syntax (b97677c)
        - rename various `Kind` variants to be more descrptive. (487941c)
        - Add all remainiing rev-spec kinds. (fcc737d)
        - Assure parsing ends after special syntax sugar (661bf29)
        - support for `<rev>^-<n>` and `<rev>^-` (fa1615d)
        - a way to intercept which ref or prefix was set (b7a823b)
        - first steps toward implementing ^-n (4b105f8)
        - tests for `r1^-`  and `r1^-n` syntactic sugar (5d983c6)
        - Adjust RevSpec::range() to match changes in `git-revision` (05ea453)
        - Omitted revisions after or before ../... are automatically defaulted to `HEAD`. (d6f481d)
        - make it possible to see the ordering of calls (b04614c)
        - Rename `Kind::Single` to `Include` and add `Exclude` kind. (baf34c4)
     * **#450**
        - add fuzz target and basic docs on how to run it (febf070)
     * **Uncategorized**
        - prepare changelogs prior to reelase (c06ae1c)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - Merge branch 'index-write-refactor' (805f432)
        - adjust `git_date::parsea(str)` to use a str (0f8680a)
        - Merge branch 'format_git_date_time' (99e12be)
        - thanks clippy (4bd747c)
        - raise `git-revision` to the status of 'usable' (09eb1a6)
        - Merge branch 'write-index-files' into write-index-v2 (cddc2ca)
        - Merge branch 'write-index-files' into rev-parse-delegate (370110d)
        - Add `Spec` data strcuture to fully represent a revision specification (5038ffa)
        - Merge branch 'main' into rev-parse-delegate (4ae2bed)
        - thanks clippy (ca82265)
        - thanks clippy (19db44a)
        - Merge branch 'main' into rev-parse-delegate (6da8250)
  • git-protocol-v0.18.1

    A maintenance release without user facing changes.
    
    ### Commit Statistics
    
     - 3 commits contributed to the release over the course of 26 calendar days.
     - 26 days passed between releases.
     - 0 commits where understood as [conventional](https://www.conventionalcommits.org).
     - 0 issues like '(#ID)' where seen in commit messages
    
    ### Commit Details
    
     * **Uncategorized**
        - prepare changelogs prior to reelase (c06ae1c)
        - Release git-hash v0.9.7, git-features v0.22.1 (232784a)
        - Fix typos (e9fcb70)