crates-index-diff-rs

Learn what's changed on crates.io

MIT License

Downloads
65.2K
Stars
15
Committers
10
crates-index-diff-rs - v13.0.0

Published by Byron about 2 years ago

This release drops git2 in favor of gitoxide.

Important note for users of ssh:// index urls

Advanced git2 based credential configuration isn't supported
anymore until gitoxide catches up. It generally implements all
configuration options that are relevant for git and fully implements
HTTP based authentication, but is probably lacking in regard to
non-default ssh configuration.

If that's a problem, prefer staying with the v12.X line.

Changed (BREAKING)

  • remove git2 in favor of gitoxide.
    gitoxide is now used for cloning and fetching as well.

Commit Statistics

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

Commit Details

  • Uncategorized
    • prepare changelog prior to release (35b1ce7)
    • Merge branch 'remove-git2' (ab529ad)
    • switch to released version of git-repository (v0.25) (533bfab)
    • fix makefile (7cede70)
    • remove git2 in favor of gitoxide. (4cedf27)
    • all tests pass, time to remove git2 (6975d67)
    • use gitoxide based cloning on demand in tests, one failure (1774f94)
    • Add a way to clone using gitoxide without removing git2 just yet. (878abe9)
    • Add fetch_changes_with_options() using gitoxide (900ae56)
    • Use gitoxide for fetching in test (00e6875)
    • sketch a new peek method that uses gitoxide to fetch things (759ff30)
crates-index-diff-rs - v12.1.0

Published by Byron about 2 years ago

New Features

  • re-export git-repository as git
    This makes type conversions possible where needed.

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

  • Uncategorized
    • re-export git-repository as git (74866b4)
crates-index-diff-rs - v12.0.0

Published by Byron about 2 years ago

This release is v11.2, but correctly indicates the breaking change introduced by upgrading
git-repository to v0.24, which fixes #23.

Commit Statistics

  • 2 commits contributed to the release.
  • 8 days passed between releases.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #23

Commit Details

  • #23
    • update changelog prior to release (6017b3f)
    • update version to 12.0 to indicate breaking change via git-repository (1fcac4b)
crates-index-diff-rs - v11.2.0

Published by Byron about 2 years ago

New Features

  • upgrade to git-repository v0.24 to simplify diff implementation.

Commit Statistics

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

Commit Details

  • Uncategorized
    • Use the latest diff API to obtain line diffs. (300e966)
    • upgrade to git-repository v0.24 to simplify diff implementation. (9159397)
    • remove accidentally added example (cd23a28)
crates-index-diff-rs - v11.1.6

Published by Byron about 2 years ago

Bug Fixes

  • Ignore directory deletions.
    Previously deleted directories would be picked up as crate deletions,
    with the crate name being the deleted directory.

    Now only file deletions will be assumed to be crate deletions.

Commit Statistics

  • 1 commit contributed to the release.
  • 11 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #20

Commit Details

  • #20
    • Ignore directory deletions. (4ce0021)
crates-index-diff-rs - v11.1.5

Published by Byron about 2 years ago

Bug Fixes

  • Ignore all changed files with an extension.
    There are non-crate files that as far as we know all have file
    extensions, as opposed to the crate files we are interested in, which do
    not.

    Thus skipping all files with extension helps us to get past the initial
    commit which includes such files, like .github/*.yml.

    Related to https://github.com/rust-lang/docs.rs/pull/1807#issuecomment-1235158502

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

  • Uncategorized
    • Ignore all changed files with an extension. (8af61f2)
crates-index-diff-rs - v11.1.4

Published by Byron about 2 years ago

Bug Fixes

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

  • Uncategorized
    • improve error descriptions and provide details when decoding of crate versions fails. (ab6e46c)
    • fix rev-spec (83e91f5)
crates-index-diff-rs - v11.1.3

Published by Byron about 2 years ago

Bug Fixes

  • switch git2 back to v0.14 - v0.15 is a breaking change…
    …for everyone who uses git2 as direct dependency as well due to
    libgit2-sys.

Commit Statistics

  • 1 commit contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

  • Uncategorized
    • switch git2 back to v0.14 - v0.15 is a breaking change… (a430c03)
crates-index-diff-rs - v11.1.2

Published by Byron about 2 years ago

Bug Fixes

  • make fetches work again by using safe-performance mode of git-repository.
    This fixes the 'zlib stream broken' issue when fetching crates.io
    changes which was caused by git-repository configuring for
    max-performance by default, which affects a crate used by git2 as
    well. For some reason, changing to zlib-ng as backend wasn't taken
    kindly by libgit2 causing it to fail after a short while of receiving
    a pack from the remote.

    The fix avoids making such modifications to the zlib crate, allowing
    both crates, git-repository and git2 to co-exist in the same
    dependency tree.

Commit Statistics

  • 6 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' where seen in commit messages

Commit Details

  • Uncategorized
    • Merge branch 'fix-zlib-stream-error' (ac83e7a)
    • make fetches work again by using safe-performance mode of git-repository. (23a66b9)
    • refactor (e93f1c6)
    • Upgrade to latest git2 version (7616db2)
    • properly parameterize script so it's obvious what is what (02f715e)
    • Make test-lookup independent of prior commits (4b7fc6e)
crates-index-diff-rs - v11.1.1

Published by Byron about 2 years ago

Bug Fixes

  • Consider all crates yanked if 'yanked = true'.
    Previously, due to a missing test, a bug snuck in that would assume
    that all lines in an added files must be new versions, marking them
    as Change::Added. This ignored the fact that any line could also
    carry a yanked crate, misrepresenting them.

    This is now fixed, and yanked crates generally show up as
    Change::Yanked.

    One might take this as a hint that diffentiating by yank status might
    not be that useful after all as it doesn't scale that well. Maybe
    a future version changes how Change is represented.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 day passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #19

Commit Details

  • #19
    • Consider all crates yanked if 'yanked = true'. (28de9d4)
    • Add failing test (89378e1)
crates-index-diff-rs - v11.1.0

Published by Byron about 2 years ago

New Features

  • make the name of the remote configurable.
    This is primarily used in testing and we try even harder to make it fail
    to deal with squashed remote references, but it seems to work fine.

    For good measure, now using + in the refspec to assure it forces
    an update.

Bug Fixes

  • assure refs can be reet when fetching to support squashing.
    Previously tests didn't replicate this, now they do.

Commit Statistics

  • 4 commits contributed to the release over the course of 1 calendar day.
  • 1 day passed between releases.
  • 2 commits where understood as conventional.
  • 1 unique issue was worked on: #16

Commit Details

  • #16
    • fix assertion message (51559b8)
  • Uncategorized
    • make the name of the remote configurable. (09489ab)
    • assure refs can be reet when fetching to support squashing. (cdcac41)
    • Add test to validate we can deal with squashed indices (ed4ba38)
crates-index-diff-rs - v11.0.0

Published by Byron about 2 years ago

Changed (BREAKING)

  • Use gitoxide Repository instead of git2::Repository
    This comes with plenty of changes to the API of the
    last_seen_reference() and to the lower-level methods that take
    object ids (now git::hash::ObjectId.

    Note that git2 is still used internally for fetching and cloning.
    This change was made to assure that at no time there are two open
    repositories (once for git2, once for gitoxide), as this has the
    potential to double resource usage for file handles.

  • move CloneOptions into index module.
    The index module is now public for that reason.

Commit Statistics

  • 38 commits contributed to the release over the course of 1 calendar day.
  • 97 days passed between releases.
  • 2 commits where understood as conventional.
  • 1 unique issue was worked on: #16

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

  • #16
    • update to latest release of gitoxide (23e14af)
    • and normalization works now (eb148e5)
    • first stab at normalization can reduce 245 version, but… (ae3f971)
    • adapt to changes in git-repository (68ff142)
    • remove git2 verion of the diff algorithm (371b512)
    • refactor (3749220)
    • refactor (7cee17e)
    • all diff-tests pass like before (9ba7921)
    • handle modifications and yanks (3416414)
    • handle entire crate deletions as well (eadc65f)
    • first sketch of addition is working (55d71dc)
    • frame for diffing (cd86f5b)
    • refactor (fa9cfab)
    • Use gitoxide Repository instead of git2::Repository (2d3a182)
    • port all old tests to the new fixture (272bec8)
    • test for auto-clone (8a1bc25)
    • remove redundant tests (45494f0)
    • test for peek changes (61e217a)
    • refactor (aeb6f45)
    • use most recent git version of gitoxide for now (6dadfb7)
    • thanks clippy (ebacafd)
    • normalization test (877b519)
    • add more tests for typical operations (56bfad7)
    • first successful test for addition (365bcf0)
    • simplify CI.yml (c0295c5)
    • fix fixture script (0efccd4)
    • first test can instantiate an Index on the new fixture (f9e31f2)
    • add support for git-lfs to support archives (9a2ce43)
    • build git repository from parts (d28591b)
    • also add commit-message information (7e85688)
    • refactor (0c77e40)
    • refactor (78e05bd)
    • re-enable and fix doc-tests (946ca4c)
    • move CloneOptions into index module. (07f4b6c)
    • refactor (ecd84eb)
    • a script to create an index fixture (9a5f312)
  • Uncategorized
    • Merge branch 'semantic-stability' (b7574d8)
    • thanks clippy (9e9b972)
crates-index-diff-rs - v10.0.0

Published by Byron over 2 years ago

New Features (BREAKING)

  • Add support for detecting deleted crates.
    Previously there was no need to do that as deletions couldn't happen -
    crates are yanked instead.

    Now that the ecosystem experienced its first (known) supply-chain attack
    crates can also be deleted and we should be able to detect that to allow
    downstream users to act on this automatically.

Bug Fixes

  • update version in usage example

Commit Statistics

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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

  • Uncategorized
    • prepare changelog prior to release (cc19788)
    • Assure tests run serially without needing --jobs 1 (2701f5c)
    • Merge branch 'syphar-handle-crate-delets' (aba9087)
    • thanks clippy (df91215)
    • disallow Rust 2018 idioms for clearer code (220b943)
    • Add support for detecting deleted crates. (3831937)
    • Upgrade makefile for better auto-docs (0301da5)
    • refactor logic to handle crate-deletes (40655bd)
    • update version in usage example (d273245)
crates-index-diff-rs - v9.0.0

Published by Byron over 2 years ago

  • Upgrade to git2 v0.14, a BREAKING change. In order to use this release, assure that other dependencies also use git2 v0.14.

Commit Statistics

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

Commit Details

  • Uncategorized
    • update changelog; bump major version (997ea73)
    • ignore certain tests fo now until new hashes are found that work (e78694f)
    • Revert "see if this special case fixes tests" (5af8ec4)
    • prep for renaming 'master' to 'main' (e228d92)
    • see if this special case fixes tests (f00226b)
    • upgrade git2 to 0.14.0 (448eec7)
crates-index-diff-rs - v8.0.1

Published by Byron over 2 years ago

  • Only download the master branch on clone, not all branches, to greatly reduce the initial download size from nearly 800MB to just about 100MB.

Commit Statistics

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

Commit Details

  • Uncategorized
    • prepare changelog (76ae38d)
    • Add some more debugging info to failing test (b111e03)
    • Only fetch the master crates.io branch, not all branches (79cf4ca)