1125 lines · 73.1 KB · Markdown
RawDownload

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.22.0 (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.

Changed (BREAKING)

  • remove local-time-support feature toggle. We treat local time as default feature without a lot of fuzz, and will eventually document that definitive support needs a compile time switch in the compiler (--cfg unsound_local_offset or something).

    One day it will perish. Failure is possible anyway and we will write code to deal with it while minimizing the amount of system time fetches when asking for the current local time.

Commit Statistics

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

Commit Details

view details
  • #331
    • remove local-time-support feature toggle. (89a41bf)
    • initialize Time from now_utc and now_local (c76fde7)
    • a first sketch on how identity management could look like. (780f14f)
  • Uncategorized
    • prepare changelog prior to release (3c50625)
    • git-features' walkdir: 2.3.1 -> 2.3.2 (41dd754)

0.21.1 (2022-06-13)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 6 calendar days.
  • 25 days passed between releases.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

view details
  • Uncategorized
    • 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)
    • Assure we used most recent version of crossbeam-utils (033f0d3)

0.21.0 (2022-05-18)

Changed (BREAKING)

  • remove path module in favor of git-path crate

New Features (BREAKING)

  • mild refactor of paths module to waste less on unix Previously it might have performed find-and-replace on unix paths even though they wouldn't have changed afterwards, yet costing an allocation.

    There is also the realization that it should go into its own crate to have neater import paths and more convenience.

Commit Statistics

  • 9 commits contributed to the release over the course of 46 calendar days.
  • 46 days passed between releases.
  • 2 commits where understood as conventional.
  • 2 unique issues were worked on: #298, #301

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #298
    • Enforce path conversion on windows gnu, it doesn't seem to like slashes (4d55a8f)
  • #301
    • update changelogs prior to release (84cb256)
    • remove path module in favor of git-path crate (90611ce)
    • mild refactor of paths module to waste less on unix (d078d6e)
    • refactor (8345b7c)
  • Uncategorized
    • Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (654cf39)
    • Merge branch 'git_includeif' of https://github.com/svetli-n/gitoxide into svetli-n-git_includeif (0e01da7)
    • thanks clippy (380174f)
    • Merge branch 'for-onefetch' (8e5cb65)

0.20.0 (2022-04-02)

New Features

  • Add git_config::values::Path for a typesafe git path Add a Path type to the git_config::values which can be interpolated according to gits own path interpolation rules.
  • add new 'path' module for all path-related conversions It's meant to unify all path and byte related handling to help assuring encoding is handled correctly or at least similarly everywhere.
  • in-manifest and in-lib documentation of feature toggles

Bug Fixes

  • Assure std::io::copy() doesn't hang when we cause an interrupt The user can ask for interruptions which previously used the error kind Interrupted. This however has special meaning and usually means to retry.

New Features (BREAKING)

  • interrupt::Iter, rename interrupt::Iter -> interrupt::IterWithError

Commit Statistics

  • 40 commits contributed to the release over the course of 67 calendar days.
  • 68 days passed between releases.
  • 5 commits where understood as conventional.
  • 6 unique issues were worked on: #298, #301, #329, #331, #333, #366

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • #298
    • Use hash_hasher based hash state for better keys/less collisions (814de07)
    • upgrade parking_lot and cargo_toml (f95c1a0)
  • #301
    • more stable testing of perviously racy test for new parallelization mechanism (0b4b90f)
    • Salvage an alternative parallelization approach which might be good for index-creation (7e76796)
    • refactor (f86eacc)
    • Use hopefully faster crossbeam channel to receive parallelized results (3b324b8)
    • switch index checkout to chunk-based operation (e5f6943)
    • add thread-count and chunk-size computation; interrupt capability (8cbe85d)
    • interrupt::Iter, rename interrupt::Iter -> interrupt::IterWithError (8945d95)
    • fix interrupt::Iter (0f0d390)
  • #329
    • in-manifest and in-lib documentation of feature toggles (15ff212)
  • #331
    • Update changelog prior to release (1d07934)
    • Remove Option return values in favor of Result (493dbae)
    • Add git_config::values::Path for a typesafe git path (e4d6685)
  • #333
    • Use git_features::path everywhere where there is a path conversion (2e1437c)
    • Make real clear panics are only possible on windows (6b283dc)
    • one usage of os_str_bytes down, along with some custom conversion code (1cc95ce)
    • gitoxide-core without os-str-bytes (909aa14)
    • Remove os_str_bytes from git-pack (86f6e50)
    • Don't use os_str_ext in git-features; adapt git-ref (9258b7b)
    • add new 'path' module for all path-related conversions (3c8581f)
  • #366
    • the first possibly working version of loading a mailmap with multiple sources (98d745e)
    • cleanup bstr usage to not accidentally pull in unicode (8ff53af)
  • Uncategorized
    • Release git-features v0.20.0, git-config v0.2.0 (a6460db)
    • Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24)
    • Merge branch 'svetli-n-refactor_git_config_tests' (babaa9f)
    • remove 'unused_mut' warning on windows (4733e6c)
    • make fmt (7cf3545)
    • Merge branch 'main' into mailmap (b2df941)
    • Commit to using 'unicode' feature of bstr as git-object wants it too (471fa62)
    • Assure std::io::copy() doesn't hang when we cause an interrupt (234cd10)
    • Upgrade to prodash 19 (90c6c5a)
    • thanks clippy (07a4094)
    • Merge branch 'short-id' (5849d5b)
    • properly document optional features (572e57d)
    • Small refactoring and documentation. (fefb01b)
    • upgrade document-features (c35e62e)
    • thanks clippy (a8e9497)
    • Merge branch 'AP2008-implement-worktree' (f32c669)
    • Merge branch 'index-information' (025f157)

0.19.1 (2022-01-23)

A maintenance release thanks to upgrade to prodash 18.

Changed (BREAKING)

  • renamed progress::Read::reader -> progress::Read::inner

New Features

  • Add InOrderIter to 'parallel' module This iterator makes possible identifies results using a sequence id and returns only consecutive items.

    Use it to collect unordered results produced by threads. It's advantage to collecting yourself and sorting is the potential for a smaller memory footprint of in-flight results, one doesn't have to collect them all for ordering, necessarily.

  • Make a scope-like abstraction available This allows more delicate threading control like is required for the index.

  • decoding of variable int numbers. It's here only so that we can share the code across crates, for now without any feature toggles.

  • Add progress::Write to automatically pass bytes written to a progress instance

Chore

  • update sha-1 dependency to 0.10

Commit Statistics

  • 5 commits contributed to the release.
  • 4 days passed between releases.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7)
    • Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8)
    • prepare changelogs for release (674ec73)
    • prepar changelogs for cargo-smart-release release (8900d69)
    • upgrade to tui 0.17 and prodash 18 (eba101a)

0.19.0 (2022-01-19)

Chore

  • update sha-1 dependency to 0.10

New Features

  • Add InOrderIter to 'parallel' module This iterator makes possible identifies results using a sequence id and returns only consecutive items.

    Use it to collect unordered results produced by threads. It's advantage to collecting yourself and sorting is the potential for a smaller memory footprint of in-flight results, one doesn't have to collect them all for ordering, necessarily.

  • Make a scope-like abstraction available This allows more delicate threading control like is required for the index.

  • decoding of variable int numbers. It's here only so that we can share the code across crates, for now without any feature toggles.

  • Add progress::Write to automatically pass bytes written to a progress instance

Changed (BREAKING)

  • renamed progress::Read::reader -> progress::Read::inner

Commit Statistics

  • 18 commits contributed to the release over the course of 47 calendar days.
  • 51 days passed between releases.
  • 6 commits where understood as conventional.
  • 4 unique issues were worked on: #266, #279, #287, #293

Commit Details

view details
  • #266
    • update sha-1 dependency to 0.10 (361892c)
    • remove slow/unnecessary threading utilities (269b7ef)
  • #279
    • Add progress::Write to automatically pass bytes written to a progress instance (0a749a2)
    • renamed progress::Read::reader -> progress::Read::inner (61e5cfe)
    • Adjust to changes in git-hash and git-pack (0cae25b)
  • #287
  • #293
    • prepare changelogs for git-index and dependencies (f54bf4b)
    • fix docs (3f89b63)
    • fix build (e3977fe)
    • Use InOrderIter from git-features (7721b5f)
    • Add InOrderIter to 'parallel' module (cb7e4e7)
    • Make a scope-like abstraction available (ca095ed)
    • single and multi-threaded index tests (a22cb0f)
    • decoding of variable int numbers. (b8400ed)
  • Uncategorized
    • Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725)
    • upgrade dependencies (968df47)
    • refactor (e7fbd9f)
    • thanks clippy (7dd2313)

0.18.0 (2021-11-29)

New Features

  • add threading primitives with feature toggle If the threading feature is set, the threading module will contain thread-safe primitives for shared ownership and mutation, otherwise these will be their single threaded counterparts.

    This way, single-threaded applications don't have to pay for threaded primitives.

Changed (BREAKING)

  • parallel utilities now use Send + Clone insted of Send + Sync This helps to assure that thread-local computations always work with the kind of types we provide. The ones that are carrying out actions are notably not Sync anymore.

    We cater to that by defining our bounds accordingly, but for those who want to use other utilities that need Sync, using types like Repository and thread_local!() is the only way to make this work.

Commit Statistics

  • 9 commits contributed to the release over the course of 5 calendar days.
  • 40 days passed between releases.
  • 2 commits where understood as conventional.
  • 2 unique issues were worked on: #259, #263

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #259
    • unify trait bounds for parallel code: prefer Clone over Sync (c805d0b)
    • remove trait bounds to allow single-threaded applications to exist (3c790e0)
  • #263
    • Make it possible to return read guards with packed buffers (f5c3c8f)
    • parallel utilities now use Send + Clone insted of Send + Sync (e7526b2)
    • A mad attempt to use thread-local everywhere and avoid Sync… (0af5077)
    • add threading primitives with feature toggle (7e95d8a)
  • Uncategorized
    • Release git-features v0.18.0, git-actor v0.7.0, git-config v0.1.9, git-object v0.16.0, git-diff v0.12.0, git-traverse v0.11.0, git-pack v0.15.0, git-odb v0.25.0, git-packetline v0.12.2, git-transport v0.14.0, git-protocol v0.13.0, git-ref v0.10.0, git-repository v0.13.0, cargo-smart-release v0.7.0, safety bump 12 crates (acd3737)
    • Adjust changelogs prior to release (ec38950)
    • thanks clippy (db1bb99)

v0.17.0 (2021-10-19)

A maintenance release due to properly dealing with previously breaking changes in git-hash.

Commit Statistics

  • 4 commits contributed to the release.
  • 3 days passed between releases.
  • 0 commits where understood as conventional.
  • 1 unique issue was worked on: #222

Commit Details

view details
  • #222
    • update changelogs prior to release (9a493d0)
    • stabilize changelogs (920e832)
    • Update changelogs prior to release (b3e2252)
  • Uncategorized
    • Release git-hash v0.8.0, git-features v0.17.0, git-actor v0.6.0, git-object v0.15.0, git-diff v0.11.0, git-traverse v0.10.0, git-pack v0.13.0, git-odb v0.23.0, git-packetline v0.12.0, git-transport v0.13.0, git-protocol v0.12.0, git-ref v0.9.0, git-repository v0.11.0, git-commitgraph v0.6.0, gitoxide-core v0.12.0, gitoxide v0.10.0, cargo-smart-release v0.5.0, safety bump 16 crates (0e02953)

v0.16.5 (2021-10-15)

This release contains no functional changes.

Commit Statistics

  • 9 commits contributed to the release over the course of 5 calendar days.
  • 38 days passed between releases.
  • 0 commits where understood as conventional.
  • 1 unique issue was worked on: #198

Commit Details

view details
  • #198
    • Handle changelogs with upcoming version section if they were left for editing (0f5f47d)
    • deduplicate conventional message ids (e695eda)
    • regenerate all changelogs to get links (0c81769)
    • Mention actual issues that where worked on (a517e39)
    • Allow 'refactor' and 'other' in conventional messages if they have breaking changes (4eebaac)
    • new changelogs for actor and features crates (e0d437c)
  • Uncategorized
    • Release git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-config v0.1.7, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0 (59ffbd9)
    • Adjusting changelogs prior to release of git-hash v0.7.0, git-features v0.16.5, git-actor v0.5.3, git-validate v0.5.3, git-object v0.14.1, git-diff v0.10.0, git-tempfile v1.0.3, git-lock v1.0.1, git-traverse v0.9.0, git-pack v0.12.0, git-odb v0.22.0, git-packetline v0.11.0, git-url v0.3.4, git-transport v0.12.0, git-protocol v0.11.0, git-ref v0.8.0, git-repository v0.10.0, cargo-smart-release v0.4.0, safety bump 3 crates (a474395)
    • make fmt, but now it picked up some parts that usually don't get altered… (01f7b72)

v0.16.4 (2021-09-07)

Commit Statistics

  • 8 commits contributed to the release over the course of 6 calendar days.
  • 10 days passed between releases.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release git-features v0.16.4 (fd189c7)
    • Bump git-hash v0.6.0 (6efd90d)
    • [features #190] be more explicit about why sha1-asm is disabled (507d710)
    • [various #190] rename 'local-offset' to 'local-time-support' (3a7d379)
    • [actor #190] methods to get an actor signature at the current time (6d0bedd)
    • [features #189] simple UTC-offset support for git-features (b58134b)
    • [features #???] WIP local time (1388ebf)
    • [#189] Upgrade to prodash 16… (8e98418)

v0.16.3 (2021-08-27)

Commit Statistics

  • 5 commits contributed to the release over the course of 5 calendar days.
  • 10 days passed between releases.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Lines 1–500 of 1125.