374 lines · 25.2 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.

v0.10.0 (2021-10-19)

This release pins beta versions of clap to avoid it to automatically fetch the latest one during installation.

This is made possible due to clap itself pinning its dependency to the clap-derive crate.

Commit Statistics

  • 1 commit contributed to the release.
  • 0 commits where understood as conventional.
  • 1 unique issue was worked on: #222

Commit Details

view details

v0.9.0 (2021-10-15)

A first usable version of git-repository to make using gitoxide from your applications so much easier. It serves as a one-stop shop for application developers without sacrificing performance by default while making common use-cases more convenient.

Feature list

  • git-repository as hub crate for application development with focus on usability without sacrificing any knob to tune performance.
  • opt-in async for git-packetline, git-transport and git-protocol for fully async git clients, along with the light-async feature toggle to build a gixp pack-receive with an async client instead of a blocking one.
  • Statistics for gixp pack-create with the -s/--statistics flag to have data indicating the cost of the operation. Currently it's doing a lot of work that has to be avoided in order to be useable in production and the numbers underline that. Future iterations will cause key metrics to go down.
  • Packs are now reproducible by default, which means that the same tip will always generate a pack with the same hash. This may be a desirable property for some kinds of packs, but not for others which is why it can be turned off for a considerable speed boost.
  • git-tempfile crate
  • git-lock crate
  • git-ref crate with complete loose-ref, packed-ref and transaction support.

Performance

  • On M1, thanks to a new release, Sha1 is now computed much faster which unlocks a massive performance boost. In my test, verifying/decoding the entire linux kernel pack now happens in 17s, as compared to 37s for canonical git.
  • git-object parsing is a few percent faster thanks a reworked error handling for objects. By default, error collection is disabled entirely making the error case zero-sized. If needed, verbose and stacked errors can be turned on using a feature toggle for applications who expect repositories with malformed objects and need detailed diagnostics.

New Features

  • control pack and object cache size in megabytes in some sub-commands

Commit Statistics

  • 4 commits contributed to the release over the course of 26 calendar days.
  • 1 commit where understood as conventional.
  • 2 unique issues were worked on: #200, #67

v0.8.4 (2021-09-10)

This is a maintenance release.

v0.8.3 (2021-09-07)

Commit Statistics

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

v0.8.2 (2021-08-17)

Commit Statistics

  • 1 commit contributed to the release over the course of 1 calendar day.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

v0.8.1 (2021-08-15)

Commit Statistics

  • 43 commits contributed to the release over the course of 95 calendar days.
  • 0 commits where understood as conventional.
  • 1 unique issue was worked on: #83

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

v0.7.0 (2021-05-09)

Commit Statistics

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

Thanks Clippy

Clippy helped 3 times to make code idiomatic.

v0.6.0 (2020-12-16)

Maintenance release without any new features.

These are created to account for breaking changes within the dependency graph of gitoxide crates. Due to some blunders in the past the version on crates.io could not be installed anymore. This was eventually fixed with new minor releases across the ecosystem.

Finally, yet another breaking change due to the introduction of the git-hash crate to break a dependency cycle between git-object and git-features caused yet another maintenance release.

v0.5.0 (2020-12-15)

Maintenance release without any new features.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Add lean-plumbing docs for path of commit-graph-verify (5c7b52d)
    • [commitgraph] Implement basic commit-graph file verification. (2571113)
    • [commitgraph] Stub out commit-graph-verify plumbing command. (aacf0f0)

v0.4.3 (2020-09-21)

Commit Statistics

  • 1 commit contributed to the release over the course of 1 calendar day.
  • 0 commits where understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

v0.4.1 (2020-09-18)

  • fix installation via cargo install

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Finish removal of rust 2018 idioms (0d1699e)
    • Provide terminal dimensions to better use horizontal space (11f6b84)

v0.4.0 (2020-09-12)

  • add remote-ref-list and pack-receive subcommands to gixp

CLI Breaking

  • rename plumbing sub-command from index-from-pack to pack-index-from-data

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • [clone] refs can now be written into a specified directory (fb1f048)
    • [clone] First version of writing references, but… (445be27)
    • [clone] first journey test for pack-receive (46a3511)
    • [clone] This actually works: first MVP of retrieving packs via clone (c06d819)
    • [ref-ls] add pretty version for ls-refs (487d06d)
    • [ref-ls] Fix progress display (2fcb557)
    • refactor (b38290e)
    • [ref-ls] refactor (35e26fc)
    • refactor (f90b92f)
    • [ref-ls] Frame for remote-ref-ls command in gitoxide-core (161e7df)
    • [clone] link up lean plumbing command with gitoxide-core: pack-receive (5ea49c8)
    • refactor (40a6412)
    • Less ambiguous name for 'index-from-pack': 'pack-index-from-data' (386673c)
    • refactor (b4a6e16)

v0.3.0 (2020-08-12)

  • add pack-explode and pack-index-from-data sub-commands
  • massive speed improvements for pack-verify

Many small and possibly breaking changes are not mentioned here.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • Make obvious that interrupt request was received (34b2373)
    • make interrupt handler work reliably (e71da0f)
    • unify used ranges for line renderer amond pretty and lean interface (f59f66e)
    • Add percentage and throughput to tasks that matter (763d7ca)
    • Upgrade to latest iteration of prodash (3a4faec)
    • support for JSON format output (1931575)
    • first pieces of the index-from-pack journey tests (181d69c)
    • Add versions back to main command, remove from sub-commands (e509373)
    • ditch structopt in favor of clap 3.0 beta1 (d7591e2)
    • Move common flags to common plac (c0352c2)
    • Write about user interfaces and the use/non-use of async (91ba045)
    • interrupt support for pretty plumbing (bca7ce2)
    • Revert "Less memory for look up mode, faster start" - too slow (584350a)
    • Less memory for look up mode, faster start (395c7e7)
    • remove memory mode entirely (and some complexity with it) (8812e91)
    • turns out you never want to keep deltas in memory (657aa2c)
    • Remove support for keeping compressed memory to reduce the index size (1e2ec7e)
    • …but there seem to be issues with the kernel pack… (cc147bc)
    • minor fixes after first local tests - it's up to twice as fast!! (43c7fd1)
    • quick and dirty impl of lean command-line for index-from-pack (9660bbf)
    • upgrade dependencies (44b8221)
    • remove invalid clap configuration (665696f)
    • prepare full 'verify' implementation (ee45c7f)
    • refactor (0a33b24)
    • Allow sink-compress configuration; choose best algorithm (29b9c23)
    • Nice error message on failure (adbc82c)
    • The first 'explode' implementation… (0d31ad1)
    • Get all pieces ready for action (1805d64)
    • Pass option for safety checks down to explode(…) (0bcb790)
    • refactor (f66b116)
    • basic tests and CLI args for explode pack (f932256)
    • rename verify-pack to pack-verify (keeping it more formal) (ec8c48a)
    • refactor (d3c00c8)
    • Change bin names from 'gio' to 'gix' and 'gixp' (5e23137)
    • Revert "Invert --statitics switch to become --no-statistics" (93a9b30)
    • Invert --statitics switch to become --no-statistics (aeb8778)
    • use faster algorithm by default (bb45c3d)
    • Fix clippy (ec40e09)
    • Change course and do pack streaming first (bcb275e)
    • get rid of annoying warnings - there is no better and easier way (41f38c4)
    • Fully implement --encode and --re-encode flags (a7cfac8)
    • prepare for re-encoding each pack object (afae684)
    • fix naming change, which was introduced accidentally (fbb9f98)
    • refactor (2888f1b)
    • pass threadlimit down from CLIs (f98c5b1)
    • add new Context argument to support more configuration options (7c5d8b8)

v0.1.0 (2020-07-12)

  • Initial release with pack-verify

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • bring color back to 'max' versions (c68d9ab)
    • Support for disabling the cursor in the pretty line renderer (48c4bbd)
    • Allow TUI to terminate action properly (1f1b725)
    • refactor (cce71aa)
    • refactor (f276a05)
    • preliminary support for line renderer in max version (4aa8022)
    • unify frame rate across plumbing (and later potentially porcelain) (e2a7bdd)
    • refactor (41e01a5)
    • Proper implementation of line renderer into 'lean' CLI (e98e7c2)
    • Mild improvements to look of verbose log (5fff552)
    • first very basic version of line renderer progress - works… (0cc1bf2)
    • prepare for optional addition of line renderer for lean version (aac0d34)
    • upgrade to prodash version 7 (af02b46)
    • Make --version flags work as expected. (a4d978c)
    • rename 'pretty' target into 'max', a better fit for what it is (5acecc5)
    • Make gio commands less cumbersome, self-document their build type (pretty, lean) (1f9bc03)
    • Allow to limit the logging depth for less cluttered output (fce7035)
    • support for json in pretty-plumbing and gitoxide (on demand) (b3780f8)
    • Simplify the 'keep open' logic of TUI progress window (13cd8ce)
    • attempt to implement progress with a mode enum (ac490c2)
    • Allow for more screen space when formatting (6794300)
    • assure pretty progress doesn't occlude the output (122d69f)
    • fix pretty build (6adf615)
    • pass average stats through to the top level (5b4979c)
    • refactor (7add82c)
    • Now ACTUALLY stop TUI when there is no progress anymore :D (3bf3321)
    • Automatically close the TUI when there is no progress anymore. (c416152)
    • Assure we wait for GUI thread to finish (60eaea0)
    • pretty progress in a generalized form (caa883b)
    • neater progress log messages: don't show the module it originates from (026a0dd)
    • refactor (30925e6)
    • support for logging in pretty binaries (67026e4)
    • --verbose flag for lean plumbing binary (aaf4825)
    • first very basic progress implementation (b820717)
    • Pass progress everywhere, for now just to discard it (da3ae1c)
    • split plumbing into separate binary (b1e51d6)
    • refactor (0fbba9f)
    • refactor (ba6a8ef)
    • add initial version of 'lean-cli' feature toggle, but… (f01c298)
    • Support for verifying pack files and index files (b09b4e1)
    • reorganize crates to make 'gitoxide' the CLI, and 'gitoxide-core' the library (0ac9c5a)
    • Add simple pack verification to gio (8c0e0b5)
    • goodbye git-core, hello git-repository (7cec2b6)
    • document existing use of unsafe, deny everywhere else (41f4bce)
    • cargo clippy (1179ac1)
    • move parsing tests close to actual parsing (3ca2c59)
    • color for all grit commands/subcommands (aa8efdd)
    • use structopt instead of clap (eb7388c)
    • Remove failure from grit binary, too (417c34b)
    • refactor (87c8a2e)
    • cargo fmt (2aa0857)
    • implement git-init (57737c2)
    • Initial commit - based on standard project template (c3d319f)