Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.7.4 (2023-09-01)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 9 calendar days.
  • 9 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized

0.7.3 (2023-08-22)

Chore

  • don't call crate ‘WIP’ in manifest anymore.

Commit Statistics

  • 3 commits contributed to the release over the course of 4 calendar days.
  • 15 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.7.3, gix-hash v0.12.0, gix-features v0.33.0, gix-actor v0.25.0, gix-object v0.35.0, gix-path v0.9.0, gix-glob v0.11.0, gix-quote v0.4.7, gix-attributes v0.17.0, gix-command v0.2.9, gix-packetline-blocking v0.16.5, gix-filter v0.3.0, gix-fs v0.5.0, gix-commitgraph v0.19.0, gix-hashtable v0.3.0, gix-revwalk v0.6.0, gix-traverse v0.31.0, gix-worktree-stream v0.3.0, gix-archive v0.3.0, gix-config-value v0.13.0, gix-tempfile v8.0.0, gix-lock v8.0.0, gix-ref v0.35.0, gix-sec v0.9.0, gix-config v0.28.0, gix-prompt v0.6.0, gix-url v0.22.0, gix-credentials v0.18.0, gix-diff v0.34.0, gix-discover v0.23.0, gix-ignore v0.6.0, gix-bitmap v0.2.7, gix-index v0.22.0, gix-mailmap v0.17.0, gix-negotiate v0.6.0, gix-pack v0.41.0, gix-odb v0.51.0, gix-pathspec v0.1.0, gix-packetline v0.16.5, gix-transport v0.35.0, gix-protocol v0.38.0, gix-revision v0.20.0, gix-refspec v0.16.0, gix-submodule v0.2.0, gix-worktree v0.24.0, gix-worktree-state v0.1.0, gix v0.52.0, gitoxide-core v0.31.0, gitoxide v0.29.0, safety bump 41 crates (30b2761)
    • Update changelogs prior to release (f23ea88)
    • Don't call crate ‘WIP’ in manifest anymore. (229bd48)

0.7.2 (2023-08-07)

A maintenance release without user-facing changes.

Commit Statistics

  • 6 commits contributed to the release over the course of 4 calendar days.
  • 15 days passed between releases.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #961

Commit Details

  • #961
    • Add another fuzz-failure that doesn't fail (90ec770)
  • Uncategorized
    • Release gix-glob v0.10.2, gix-date v0.7.2, gix-validate v0.8.0, gix-object v0.34.0, gix-ref v0.34.0, gix-config v0.27.0, gix-commitgraph v0.18.2, gix-revwalk v0.5.0, gix-revision v0.19.0, gix-refspec v0.15.0, gix-submodule v0.1.0, safety bump 18 crates (4604f83)
    • Prepare changelogs prior to release of gix-submodule (f3c4311)
    • Merge branch ‘dev-on-linux’ (6b4a303)
    • Fix various tests to run properly on linux (ef8ccd9)
    • Update time crate explicitly in Cargo.toml to latest version (e145a74)

0.7.1 (2023-07-22)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 1 calendar day.
  • 23 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.7.1, gix-hash v0.11.4, gix-trace v0.1.3, gix-features v0.32.0, gix-actor v0.24.0, gix-validate v0.7.7, gix-object v0.33.0, gix-path v0.8.4, gix-glob v0.10.0, gix-quote v0.4.6, gix-attributes v0.15.0, gix-command v0.2.7, gix-packetline-blocking v0.16.3, gix-filter v0.1.0, gix-fs v0.4.0, gix-chunk v0.4.4, gix-commitgraph v0.18.0, gix-hashtable v0.2.4, gix-revwalk v0.4.0, gix-traverse v0.30.0, gix-worktree-stream v0.2.0, gix-archive v0.2.0, gix-config-value v0.12.4, gix-tempfile v7.0.1, gix-utils v0.1.5, gix-lock v7.0.2, gix-ref v0.33.0, gix-sec v0.8.4, gix-prompt v0.5.3, gix-url v0.21.0, gix-credentials v0.17.0, gix-diff v0.33.0, gix-discover v0.22.0, gix-ignore v0.5.0, gix-bitmap v0.2.6, gix-index v0.21.0, gix-mailmap v0.16.0, gix-negotiate v0.5.0, gix-pack v0.40.0, gix-odb v0.50.0, gix-packetline v0.16.4, gix-transport v0.34.0, gix-protocol v0.36.0, gix-revision v0.18.0, gix-refspec v0.14.0, gix-worktree v0.22.0, gix v0.49.1 (5cb3589)
    • Update changelogs prior to release (2fc66b5)
    • Update license field following SPDX 2.1 license expression standard (9064ea3)

0.7.0 (2023-06-29)

New Features (BREAKING)

  • support dates prior to the UNIX epoch. This means such dates can now be parsed and represented. We do this by switching the time representation from u64 which is used in git to i64 which is used in libgit2.

Commit Statistics

  • 5 commits contributed to the release.
  • 6 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.7.0, gix-trace v0.1.2, gix-actor v0.23.0, gix-commitgraph v0.17.1, gix-utils v0.1.4, gix-object v0.32.0, gix-ref v0.32.0, gix-config v0.25.0, gix-diff v0.32.0, gix-discover v0.21.0, gix-hashtable v0.2.3, gix-revwalk v0.3.0, gix-traverse v0.29.0, gix-index v0.20.0, gix-mailmap v0.15.0, gix-negotiate v0.4.0, gix-pack v0.39.0, gix-odb v0.49.0, gix-protocol v0.35.0, gix-revision v0.17.0, gix-refspec v0.13.0, gix-worktree v0.21.0, gix v0.48.0, safety bump 20 crates (27e8c18)
    • Prepare changelogs prior to release (00f96fb)
    • Merge branch ‘i64-times’ (b407461)
    • Adapt to changes in gix-date (fba45c6)
    • Support dates prior to the UNIX epoch. (09fbfd2)

0.6.0 (2023-06-22)

Chore

  • Add clippy::redundant-closure-for-method-calls lint

New Features (BREAKING)

  • Represent time as 64 bit integer. That way, dates beyond 2038 are supported.

    Further, we rename Time::seconds_since_unix_epoch to seconds, and remove seconds() as there now is a new type, SecondsSinceUnixEpoch. In the same vein, we rename Time::offset_in_seconds to offset as it now has at type OffsetInSeconds.

Commit Statistics

  • 9 commits contributed to the release over the course of 11 calendar days.
  • 15 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.6.0, gix-hash v0.11.3, gix-trace v0.1.1, gix-features v0.31.0, gix-actor v0.22.0, gix-path v0.8.2, gix-glob v0.9.0, gix-quote v0.4.5, gix-attributes v0.14.0, gix-chunk v0.4.3, gix-commitgraph v0.17.0, gix-config-value v0.12.2, gix-fs v0.3.0, gix-tempfile v7.0.0, gix-utils v0.1.3, gix-lock v7.0.0, gix-validate v0.7.6, gix-object v0.31.0, gix-ref v0.31.0, gix-sec v0.8.2, gix-config v0.24.0, gix-command v0.2.6, gix-prompt v0.5.2, gix-url v0.20.0, gix-credentials v0.16.0, gix-diff v0.31.0, gix-discover v0.20.0, gix-hashtable v0.2.2, gix-ignore v0.4.0, gix-bitmap v0.2.5, gix-revwalk v0.2.0, gix-traverse v0.28.0, gix-index v0.19.0, gix-mailmap v0.14.0, gix-negotiate v0.3.0, gix-pack v0.38.0, gix-odb v0.48.0, gix-packetline v0.16.3, gix-transport v0.33.0, gix-protocol v0.34.0, gix-revision v0.16.0, gix-refspec v0.12.0, gix-worktree v0.20.0, gix v0.47.0, gitoxide-core v0.29.0, gitoxide v0.27.0, safety bump 30 crates (ea9f942)
    • Prepare changelogs prior to release (18b0a37)
    • just fmt (871dd0b)
    • Merge branch ‘corpus’ (aa16c8c)
    • Change MSRV to 1.65 (4f635fc)
    • Merge branch ‘help-874-redundant-closures’ (fe59956)
    • Add clippy::redundant-closure-for-method-calls lint (bcad5c2)
    • Merge branch ‘future-dates’ (8d2e6a9)
    • Represent time as 64 bit integer. (4bc0ae1)

0.5.1 (2023-06-06)

A maintenance release without user-facing changes.

Commit Statistics

  • 5 commits contributed to the release over the course of 12 calendar days.
  • 48 days passed between releases.
  • 0 commits were understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.5.1, gix-hash v0.11.2, gix-features v0.30.0, gix-actor v0.21.0, gix-path v0.8.1, gix-glob v0.8.0, gix-quote v0.4.4, gix-attributes v0.13.0, gix-chunk v0.4.2, gix-commitgraph v0.16.0, gix-config-value v0.12.1, gix-fs v0.2.0, gix-tempfile v6.0.0, gix-utils v0.1.2, gix-lock v6.0.0, gix-validate v0.7.5, gix-object v0.30.0, gix-ref v0.30.0, gix-sec v0.8.1, gix-config v0.23.0, gix-command v0.2.5, gix-prompt v0.5.1, gix-url v0.19.0, gix-credentials v0.15.0, gix-diff v0.30.0, gix-discover v0.19.0, gix-hashtable v0.2.1, gix-ignore v0.3.0, gix-bitmap v0.2.4, gix-traverse v0.26.0, gix-index v0.17.0, gix-mailmap v0.13.0, gix-revision v0.15.0, gix-negotiate v0.2.0, gix-pack v0.36.0, gix-odb v0.46.0, gix-packetline v0.16.2, gix-transport v0.32.0, gix-protocol v0.33.0, gix-refspec v0.11.0, gix-worktree v0.18.0, gix v0.45.0, safety bump 29 crates (9a9fa96)
    • Prepare changelogs prior to release (8f15cec)
    • Merge branch ‘main’ into auto-clippy (3ef5c90)
    • Merge branch ‘blinxen/main’ (9375cd7)
    • Include license files in all crates (facaaf6)

0.5.0 (2023-04-19)

New Features (BREAKING)

  • Rename serde1 cargo feature to serde and use the weak-deps cargo capability. With it it's possible to not automatically declare all optional dependencies externally visible features, and thus re-use feature names that oterwise are also a crate name.

    Previously I thought that serde1 is for future-proofing and supporting multiple serde versions at the same time. However, it‘s most definitely a burden I wouldn’t want anyway, so using serde seems to be the way to go into the future.

Commit Statistics

  • 5 commits contributed to the release over the course of 2 calendar days.
  • 57 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #814

Commit Details

  • #814
    • Rename serde1 cargo feature to serde and use the weak-deps cargo capability. (b83ee36)
  • Uncategorized
    • Release gix-utils v0.1.0, gix-hash v0.11.0, gix-date v0.5.0, gix-features v0.29.0, gix-actor v0.20.0, gix-object v0.29.0, gix-archive v0.1.0, gix-fs v0.1.0, safety bump 25 crates (8dbd0a6)
    • Prepare changelog prior to release (7f06458)
    • Merge branch ‘main’ into dev (cdef398)
    • Rename the serde1 feature to serde (19338d9)

0.4.3 (2023-02-20)

Bug Fixes

  • note that crates have been renamed from git-* to gix-*. This also means that the git-* prefixed crates of the gitoxide project are effectively unmaintained. Use the crates with the gix-* prefix instead.

    If you were using git-repository, then gix is its substitute.

  • compatibility with bstr v1.3, use *.as_bytes() instead of .as_ref(). as_ref() relies on a known target type which isn‘t always present. However, once there is only one implementation, that’s no problem, but when that changes compilation fails due to ambiguity.

Commit Statistics

  • 2 commits contributed to the release.
  • 3 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like ‘(#ID)’ were seen in commit messages

Commit Details

  • Uncategorized
    • Release gix-date v0.4.3, gix-hash v0.10.3, gix-features v0.26.5, gix-actor v0.17.2, gix-glob v0.5.5, gix-path v0.7.2, gix-quote v0.4.2, gix-attributes v0.8.3, gix-validate v0.7.3, gix-object v0.26.2, gix-ref v0.24.1, gix-config v0.16.2, gix-command v0.2.4, gix-url v0.13.3, gix-credentials v0.9.2, gix-discover v0.13.1, gix-index v0.12.4, gix-mailmap v0.9.3, gix-pack v0.30.3, gix-packetline v0.14.3, gix-transport v0.25.6, gix-protocol v0.26.4, gix-revision v0.10.4, gix-refspec v0.7.3, gix-worktree v0.12.3, gix v0.36.1 (9604783)
    • Compatibility with bstr v1.3, use *.as_bytes() instead of .as_ref(). (135d317)

0.4.2 (2023-02-17)

Other (BREAKING)

  • time::format::GIT_DEFAULT -> *::DEFAULT and *::DEFAULT -> *::GITOXIDE. That way we properly indicate what we are doing and don't try to somewhat sneakily suggest that the default for git dates is something else due to personal preference.

New Features (BREAKING)

  • upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.

    Note that git-features and git-pack are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.

Changed (BREAKING)

  • upgrade bstr to 1.0.1
  • parse now takes the current time parse(…, Option<time>) as parameter.

Chore

  • uniformize deny attributes
  • remove default link to cargo doc everywhere

Documentation

  • fix typos

New Features

  • Adds fuzzer for date parser

  • return the time that failed to parse in the error

  • Support git default date format This is the format output by default by git log or when using --pretty=%ad.

    The new git_date::time::format::GIT_DEFAULT format description may be used to output date strings in this format. It is also now used by git_date::parse() to accept date strings that may be in this format.

  • Format git-style RFC 2822 date strings Git outputs the day-of-month field as a non-padded number whereas strict RFC 2822 date strings are supposed to use a zero-padded two-digit number.

    The new git_date::time::format::GIT_RFC2822 format description allows Time to be formatted in git's RFC 2822 style. (Whereas the existing RFC2822 format description produces a strict RFC 2822 date string).

  • bump version to 1.0 to prevent accidental inclusions downstream For some reason, cargo considers different patch releases breaking, so creating a new patch can break installation of gitoxide entirely.

  • use docsrs feature in code to show what is feature-gated automatically on docs.rs

  • pass --cfg docsrs when compiling for https://docs.rs

  • Raw and Unix formats.

  • Add ISO-strict format

  • initialize Time from now_utc and now_local Localtime support depends on some other factors now, but that will only get better over time.

    We might have to document unsound_local_time at some point.

  • Time::is_set() to see if the time is more than just the default.

  • Add Time type. It was originally from the git-actor crate.

Bug Fixes

  • prevent panics from dates which cannot be represented by the time crate

  • panic in parse_raw() (as found by fuzzer)

  • Stricter raw date parsing The raw date parser (git_date::parse::function::parse_raw()) accepted some inputs that it should not have. Specifically, it would accept:

    • Any character for the timezone offset's sign

Commit Statistics

Thanks Clippy

Clippy helped 4 times to make code idiomatic.

Commit Details

  • #331
    • Initialize Time from now_utc and now_local (c76fde7)
    • Time::is_set() to see if the time is more than just the default. (aeda76e)
    • Frame for git-date (37e8ef8)
  • #427
  • #450
  • #470
    • Update changelogs prior to release (caa7a1b)
  • #691
  • #711
    • Assure we get the latest version of the time crate (cb31cd1)
  • #720
    • Prevent panics from dates which cannot be represented by the time crate (786f6dc)
  • Uncategorized
    • Release gix-date v0.4.2, gix-hash v0.10.2, gix-features v0.26.4, gix-actor v0.17.1, gix-glob v0.5.3, gix-path v0.7.1, gix-quote v0.4.1, gix-attributes v0.8.2, gix-config-value v0.10.1, gix-tempfile v3.0.2, gix-lock v3.0.2, gix-validate v0.7.2, gix-object v0.26.1, gix-ref v0.24.0, gix-sec v0.6.2, gix-config v0.16.1, gix-command v0.2.3, gix-prompt v0.3.2, gix-url v0.13.2, gix-credentials v0.9.1, gix-diff v0.26.1, gix-discover v0.13.0, gix-hashtable v0.1.1, gix-bitmap v0.2.1, gix-traverse v0.22.1, gix-index v0.12.3, gix-mailmap v0.9.2, gix-chunk v0.4.1, gix-pack v0.30.2, gix-odb v0.40.2, gix-packetline v0.14.2, gix-transport v0.25.4, gix-protocol v0.26.3, gix-revision v0.10.3, gix-refspec v0.7.2, gix-worktree v0.12.2, gix v0.36.0 (6ccc88a)
    • Merge branch ‘rename-crates’ into inform-about-gix-rename (c9275b9)
    • Rename git-testtools to gix-testtools (b65c33d)
    • Adjust to renaming of git-pack to gix-pack (1ee81ad)
    • Adjust to renaming of git-odb to gix-odb (476e2ad)
    • Adjust to renaming of git-index to gix-index (86db5e0)
    • Adjust to renaming of git-diff to gix-diff (49a163e)
    • Adjust to renaming of git-commitgraph to gix-commitgraph (f1dd0a3)
    • Adjust to renaming of git-mailmap to gix-mailmap (2e28c56)
    • Adjust to renaming of git-discover to gix-discover (53adfe1)
    • Adjust to renaming of git-chunk to gix-chunk (59194e3)
    • Adjust to renaming of git-bitmap to gix-bitmap (75f2a07)
    • Adjust to renaming for git-protocol to gix-protocol (823795a)
    • Adjust to renaming of git-refspec to gix-refspec (c958802)
    • Adjust to renaming of git-revision to gix-revision (ee0ee84)
    • Adjust to renaming of git-transport to gix-transport (b2ccf71)
    • Adjust to renaming of git-credentials to gix-credentials (6b18abc)
    • Adjust to renaming of git-prompt to gix-prompt (6a4654e)
    • Adjust to renaming of git-command to gix-command (d26b8e0)
    • Adjust to renaming of git-packetline to gix-packetline (5cbd22c)
    • Adjust to renaming of git-worktree to gix-worktree (73a1282)
    • Adjust to renamining of git-worktree to gix-worktree (108bb1a)
    • Adjust to renaming of git-url to gix-url (b50817a)
    • Adjust to renaming of git-date to gix-date (9a79ff2)
    • Rename git-date to gix-date (2b0a966)
    • Adjust to renamining of git-attributes to gix-attributes (4a8b3b8)
    • Adjust to renaminig of git-quote to gix-quote (648025b)
    • Adjust to renaming of git-config to gix-config (3a861c8)
    • Adjust to renaming of git-ref to gix-ref (1f5f695)
    • Adjust to renaming of git-lock to gix-lock (2028e78)
    • Adjust to renaming of git-tempfile to gix-tempfile (b6cc3eb)
    • Adjust to renaming of git-object to gix-object (fc86a1e)
    • Adjust to renaming of git-actor to gix-actor (4dc9b44)
    • Adjust to renaming of git-validate to gix-validate (5e40ad0)
    • Adjust to renaming of git-hash to gix-hash (4a9d025)
    • Adjust to renaming of git-features to gix-features (e2dd68a)
    • Adjust to renaming of git-glob to gix-glob (35b2a3a)
    • Adjust to renaming of git-sec to gix-sec (eabbb92)
    • Adapt to renaming of git-path to gix-path (d3bbcfc)
    • Adjust to rename of git-config-value to gix-config-value (622b3e1)
    • Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates (c196d20)
    • Prepare changelogs prior to release (7c846d2)
    • Merge branch ‘Lioness100/main’ (1e544e8)
    • Fix typos (39ed9ed)
    • Thanks clippy (bac57dd)
    • Merge branch ‘adjustments-for-cargo’ (7bba270)
    • Merge branch ‘fix-git-date-panics’ (56f5593)
    • Panic in parse_raw() (as found by fuzzer) (3d6c810)
    • Fix warnings, don't track Cargo.lock to use compatible latest dependencies (96a56a9)
    • Merge pull request #714 from silvergasp/fuzz-git-date (a52c54e)
    • Adds fuzzer for date parser (fe04934)
    • Optimize usage of hex_to_id() (6fa950d)
    • Break cyclical dev dependencies (1fea18f)
    • Return the time that failed to parse in the error (f5c9aa8)
    • Release git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 (5b5b380)
    • Prepare changelogs prior to release (93bef97)
    • Merge branch ‘patch-1’ (b93f0c4)
    • Thanks clippy (b34c9fe)
    • Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (0e3d0a5)
    • Prepare changelogs prior to release (d679f5b)
    • time::format::GIT_DEFAULT -> *::DEFAULT and *::DEFAULT -> *::GITOXIDE. (41fc2bb)
    • Merge branch ‘strict-raw-dates’ (c65ce7e)
    • Stricter raw date parsing (046af94)
    • Merge branch ‘issue-679’ (a910d9e)
    • Refactor (26597b9)
    • Support git default date format (4066ac7)
    • Format git-style RFC 2822 date strings (8094351)
    • Parse git-styled RFC 2822 date strings (dff0aa0)
    • Release git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates (e6b9906)
    • Prepare chnagelogs prior to git-repository release (7114bbb)
    • Merge branch ‘main’ into read-split-index (c57bdde)
    • Merge branch ‘adjustments-for-cargo’ (083909b)
    • Merge branch ‘bugfix/system-time-correct-offset-sign’ (6e40433)
    • Add non-isolated test that, depending on region, would catch the invalid-sign bug. (b649965)
    • Negative system timezone offsets should be serialized as such (39655f5)
    • Adjust to changes in git-testtools (4eb842c)
    • Merge branch ‘bugfix/signed-raw-time’ (f50b9f5)
    • Thanks clippy (75d6e88)
    • Refactor (f4e8051)
    • Correctly parse raw dates with negative timezone offsets (f4ea59d)
    • Extend git-date's baseline tests to also re-format the parsed dates (9f95f7f)
    • Merge branch ‘bugfix/timestamp-to-datetime-conversion’ (be0bbf5)
    • Always consider timestamps as UTC when loading from commits (be603f5)
    • Merge branch ‘main’ into http-config (bcd9654)
    • Release git-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates (b2c301e)
    • Prepare changelogs prior to release (e4648f8)
    • Merge branch ‘version2021’ (0e4462d)
    • Upgrade edition to 2021 in most crates. (3d8fa8f)
    • Merge branch ‘diff’ (25a7726)
    • Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (29a043b)
    • Merge branch ‘filter-refs’ (fd14489)
    • Merge branch ‘git_date_relative’ (83a3832)
    • Refactor (c5c6bf6)
    • Refactor (956613f)
    • Refactor (1026b7c)
    • WIP. (79d82d4)
    • Parse the output while parsing the baseline file. (70fe59f)
    • Make fmt (535e967)
    • Merge branch ‘main’ into filter-refs-by-spec (1f6e5ab)
    • Parse now takes the current time parse(…, Option<time>) as parameter. (c24ea67)
    • Merge branch ‘git_date_parse’ (75591fb)
    • Thanks clippy (590fcc9)
    • A sample on how to more easily test relative date parsing (c585c9b)
    • Add test to check times before unix epoch (eb304ea)
    • Refactor (0e231eb)
    • Refactor (5793465)
    • Refactor; add failing test to see invalid date error in action (90008aa)
    • Merge branch ‘main’ into index-from-tree (bc64b96)
    • PR comments. (1eac4de)
    • parse is pure function. (9ad1a5f)
    • Fallible timestamp cast i64 -> u32. (cce7616)
    • parse() returns Result. (206f392)
    • Add output to baseline. (5c3b733)
    • parse returns Result. (67c8c6a)
    • Add fixtures. (6c40ac1)
    • Add git baseline. (b747a60)
    • Refactor (3e6e0f9)
    • Draft. (95b4902)
    • Draft. (43b6c06)
    • Merge branch ‘main’ into filter-refs-by-spec (cfa1440)
    • Merge branch ‘fix-ci-installation’ (9245083)
    • Release git-date v0.1.0, git-actor v0.11.4, git-revision v0.4.3, git-repository v0.22.1, cargo-smart-release v0.11.0, git-commitgraph v0.8.2, gitoxide-core v0.17.0, gitoxide v0.15.0 (1fb931a)
    • Update changelogs prior to release (23cb58f)
    • Bump version to 1.0 to prevent accidental inclusions downstream (034c8dc)
    • Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (4974eca)
    • Merge pull request #497 from svetli-n/patch-2 (bd02b39)
    • Fix doc comment (51cd9ce)
    • Merge branch ‘main’ into remote-ls-refs (e2ee3de)
    • Merge branch ‘docsrs-show-features’ (31c2351)
    • 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)
    • Merge branch ‘main’ into remote-ls-refs (c82bbfa)
    • Release git-date v0.0.4, git-actor v0.11.2, git-revision v0.4.1, git-repository v0.21.1 (2f9dc84)
    • Update changelogs prior to release (1b5fd86)
    • Prepare for release of git-repository (8aa5389)
    • Merge branch ‘add_common_git_formats’ (c53e5a4)
    • 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)
    • Merge branch ‘main’ into remote-ls-refs (bd5f3e8)
    • 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)
    • Merge branch ‘main’ into remote-ls-refs (c4bf958)
    • Adjust git_date::parsea(str) to use a str (0f8680a)
    • Refactor (11a5fa2)
    • Refactor (8e6f4a9)
    • Merge branch ‘format_git_date_time’ (99e12be)
    • Thanks clipppy (b139d70)
    • Refactor (bd64387)
    • Use time format strings. (f84e8f5)
    • Refactor (556dd8c)
    • Refactor (5bbcbcd)
    • Format git-date::Time with time::format_description. (d4243bc)
    • Merge branch ‘rev-parse-delegate’ (2f506c7)
    • Merge pull request #2 from SidneyDouw/main (ce885ad)
    • Merge branch ‘Byron:main’ into main (9b9ea02)
    • Merge branch ‘main’ into rev-parse-delegate (6da8250)
    • Merge branch ‘main’ into pathspec (7b61506)
    • Make fmt (47724c0)
    • Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (4737b1e)
    • Prepare changelog prior to release (3c50625)
    • Merge branch ‘config-cascade’ (f144eaf)
    • Merge pull request #1 from Byron/main (085e76b)
    • Merge branch ‘main’ into pathspec (89ea12b)
    • Merge branch ‘main’ into cont_include_if (41ea8ba)
    • Release git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (a417177)
    • Update changelogs prior to release (bb424f5)
    • Merge branch ‘revspec-parsing’ (a2c8969)
    • Merge branch ‘main’ into repo-status (0eb2372)
    • Release git-date v0.0.0 (2bc2f76)

0.4.1 (2023-01-10)

A maintenance release without user-facing changes.

0.4.0 (2023-01-06)

New Features

  • Support git default date format This is the format output by default by git log or when using --pretty=%ad.

    The new gix_date::time::format::GIT_DEFAULT format description may be used to output date strings in this format. It is also now used by gix_date::parse() to accept date strings that may be in this format.

  • Format git-style RFC 2822 date strings Git outputs the day-of-month field as a non-padded number whereas strict RFC 2822 date strings are supposed to use a zero-padded two-digit number.

    The new gix_date::time::format::GIT_RFC2822 format description allows Time to be formatted in git's RFC 2822 style. (Whereas the existing RFC2822 format description produces a strict RFC 2822 date string).

Bug Fixes

  • Stricter raw date parsing The raw date parser (gix_date::parse::function::parse_raw()) accepted some inputs that it should not have. Specifically, it would accept:

    • Any character for the timezone offset's sign

Other (BREAKING)

  • time::format::GIT_DEFAULT -> *::DEFAULT and *::DEFAULT -> *::GITOXIDE. That way we properly indicate what we are doing and don't try to somewhat sneakily suggest that the default for git dates is something else due to personal preference.

0.3.1 (2022-12-19)

Bug Fixes

  • Negative system timezone offsets should be serialized as such
  • correctly parse raw dates with negative timezone offsets
  • always consider timestamps as UTC when loading from commits

0.3.0 (2022-11-21)

New Features (BREAKING)

  • upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn‘t more than a patch release as it should break nobody who is adhering to the MSRV, but let’s be careful and mark it breaking.

    Note that gix-features and gix-pack are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.

0.2.0 (2022-09-20)

Changed (BREAKING)

  • upgrade bstr to 1.0.1
  • parse now takes the current time parse(…, Option<time>) as parameter.

0.1.0 (2022-08-24)

New Features

  • bump version to 1.0 to prevent accidental inclusions downstream For some reason, cargo considers different patch releases breaking, so creating a new patch can break installation of gitoxide entirely.

0.0.5 (2022-08-24)

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

0.0.4 (2022-08-19)

New Features

  • Raw and Unix formats.
  • Add ISO-strict format

0.0.3 (2022-08-17)

A maintenance release without user facing changes.

0.0.2 (2022-07-22)

New Features

  • initialize Time from now_utc and now_local Localtime support depends on some other factors now, but that will only get better over time.

    We might have to document unsound_local_time at some point.

  • Time::is_set() to see if the time is more than just the default.

0.0.1 (2022-06-13)

New Features

  • Add Time type. It was originally from the gix-actor crate.

0.0.0 (2022-04-14)

An empty crate without any content to reserve the name for the gitoxide project.