Releases: frewsxcv/rust-crates-index
v2.6.0
Chore
- update to gix v0.59
Commit Statistics
- 2 commits contributed to the release.
- 28 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v2.5.1
Bug Fixes
-
assure Git index updates to refs are actually written.
The remote git repository may alter its references in such a way that
local fast-forwards aren't possible anymore.This happens regularly as the history will be squashed on the remote.
Now we forcefully store the updated references, which resolves
the issue that callingupdate()
didn't seem to do anything despite
being busy (i.e. downloading a possibly huge pack, and resolving it).
Commit Statistics
- 2 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
v2.5.0
Chore
- update
gix
to v0.58
New Features
- upgrade to
gix-0.58
Commit Statistics
- 2 commits contributed to the release.
- 22 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v2.4.0
Chore
- update
gix
to v0.57
Other
- Update readme to include the sparse protocol
- Link to examples of how to update the sparse index
Commit Statistics
- 9 commits contributed to the release over the course of 53 calendar days.
- 53 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Bump minor version for gix dependency change (3ae82f5)
- Merge branch 'maintenance' (be03b1f)
- Adapt to quite drastic changes in memory requirements. (c237796)
- Update
gix
to v0.57 (81f70d7) - Fix cargo-check (2920beb)
- Add new example to list the most recent version of a crate using the git index (61f3090)
- Update readme to include the sparse protocol (4ffad17)
- Link to examples of how to update the sparse index (39d9fb6)
- Update ureq-sparse-example to use ureq 2.8.0 (239b009)
v2.3.0
Chore
- upgrade
gitoxide
to v0.55.2
Commit Statistics
- 3 commits contributed to the release.
- 41 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v2.2.0
New Features
- upgrade
gix
to v0.54
Bug Fixes
- be less strict when determining if the crates-index remote matches the target URL.
Previously a trailing slash could have caused it to think ti's not the same.
Commit Statistics
- 5 commits contributed to the release.
- 36 days passed between releases.
- 2 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
v2.1.1
Chore
- upgrade gix to v0.51 from v0.50
Bug Fixes
- Allow using git::URL without git feature active
Commit Statistics
- 6 commits contributed to the release over the course of 17 calendar days.
- 17 days passed between releases.
- 2 commits were understood as conventional.
- 1 unique issue was worked on: #149
Commit Details
v2.1.0
New Features
- add
GitIndex::try_new*()
andGitIndex::try_with_path()
to open without cloning.
These methods are naturally read-only and thus have no issues in concurrent contexts, while
not providing an option to not auto-clone a whole index. - Add
Names
iterator as building block for fuzzy-lookups.
It creates all allowed permutations regarding-
and_
in the crate name,
so it should be possible to find a crate even if the name doesn't have the correct
hyphens or underscores set.
Bug Fixes
-
GitIndex::new_*()
will not discover the git repository anymore.
Previously, discovery was used which may traverse the directory structure
upwards to find the index. This may be error prone as the index location is
supposed to be well-known.Now the index path provided must either be
.../index
or.../index.git
to be
opened successfully. -
remove the usage of file locks in preference for documentation when opening a git index.
Previously, to allow concurrently opening and possibly updating a crates-index, a file-lock was
used for synchronization. However, it was rather specific to what the test-suite needed while
adding another failure mode for production code which could leave lock-files behind that then
lock the crates-index forever for this library at least.Instead, appropriate locking will be used in tests only, while the documentation of all
open
methods ofGitIndex
was adjusted to inform about ways to protect concurrent accesses
on application level. -
always use
/
for sparse URLs
Previously on windows, backslashes could have snuck in which may cause problems.
Other
- add new example to print information using the sparse index:
list_recent_versions
.
Run it withcargo run --example list_recent_versions -- foo bar baz gix rustc gcc foobar blaz
.
Commit Statistics
- 36 commits contributed to the release over the course of 3 calendar days.
- 3 days passed between releases.
- 6 commits were understood as conventional.
- 1 unique issue was worked on: #62
Commit Details
view details
- #62
- Improve docs to better clarify the locking behaviour and implications (4919cb2)
- Uncategorized
- Merge branch 'locking' (d8fc1c1)
- Add
GitIndex::try_new*()
andGitIndex::try_with_path()
to open without cloning. (639b081) GitIndex::new_*()
will not discover the git repository anymore. (28ab782)- Remove the usage of file locks in preference for documentation when opening a git index. (c67033d)
- Minor refactor to make names in example more descriptive (6f8aa18)
- Add new example to print information using the sparse index:
list_recent_versions
. (421de35) - Slighlty more informative printing in new example and improve usability (dc6537a)
- Refactor (fdf663e)
- Rename new example to fit what it does even better (5f73acd)
- Add example to Cargo.toml (6125624)
- Add a small example to show the full sparse workflow (2ef9dac)
- Example "update_and_get_latest" requires git-https (f755b0f)
- Merge branch 'names-optimizations' (7b8683e)
- Improve docs for
Names
(6ab652e) - Minor refactor (a20138d)
- First return all-hyphens & all_underscores (6b66356)
- Update test to capture edge case (b63ec37)
- Use max_count for count() (254d21e)
- Fix typo in Names doc (c8aa392)
- Improve documentation of
Names
iterator (5272d41) - Add
Names
iterator as building block for fuzzy-lookups. (abe5d70) - Return the input name first (797081e)
- Double the performance/throughput by absusing our knowledge about UTF-8 (61ddff0)
- Prefer hyphens over underscores as these are more common (1f542a5)
- Avoid allocation of vector for separator indices (a7801b0)
- Allow the
Names
iterator to fail creation if too many permutations are possible (9b88659) - Refactor tests (95308c8)
- Refactor structure (bc16839)
- Add PoC of NamePermutationIterator (1429c4e)
- Only test on stable Rust as this covers most use-cases (a0bba1c)
- Change links from lib.rs to crates.io (5f1f245)
- Always use
/
for sparse URLs (3bb46ab) - Add a cache as well to speed up builds, hopefully, particularly on windows (e322e13)
- See if CI can handle windows tests as well (2b6e070)
- Always use / as a separator for sparse urls (1d8a895)
v2.0.0
This is a major release with many breaking changes to make the overall package structure, type-names and feature names more consistent.
Note that the default
features changed, so if you relied on that you will have to change the dependency definition in your cargo
manifest
to something like default-features = false, features = ["git-performance", "git-https"]
. This is due to the sparse index now being the default,
just like with cargo
itself.
Further, now crate_index::Index
is crates_index::GitIndex
, but when done all should work as before, maybe even a little bit faster thanks to
replacing git2
with gix
.
For details about all breaking changes, please take a look at the (BREAKING)
paragraphs that follow.
Other
- make clear that
GitIndex
auto-clones any index as needed.
New Features
- add
dirs::TBD
to make it possible to know where the index should be looked for.
This might be interesting also for tools that deal with the data alone, likecargo-cache
.
Chore
- Add
CHANGELOG.md
for a built-in version of it - replace
git2
withgix
.
This change bringe performance improvements along with increased compatibilty
with other build targets, as pure Rust builds are now possible.
Refactor (BREAKING)
-
refactor code structure
The goal is to keep related code together, instead of spreading it out into
top-level modules exclusively.This also renames
Index
toGitIndex
.
Further changes involved renamingChangesIter
togit::Changes
, and
INDEX_GIT_URL
togit::URL
, andCRATES_IO_HTTP_INDEX
tosparse::URL
.
Chore (BREAKING)
-
remove
ssh
feature, and rename many existing features, change defaultsgit-index
->git
- add
git-performance
https
->git-https
sparse-http
->sparse
The default features are now
sparse
, effectively adjusting to the fact
that the default is now the http registry. -
remove
changes
feature
It only gated a little bit of code, but no dependencies. Thus it had no considerable
effect on build times and can be removed.
Other
- make clear that
GitIndex
auto-clones any index as needed. - crate features are now documented
Chore
- Add
CHANGELOG.md
for a built-in version of it
Commit Statistics
- 38 commits contributed to the release over the course of 7 calendar days.
- 8 days passed between releases.
- 8 commits were understood as conventional.
- 1 unique issue was worked on: #129
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- #129
- Replace
git2
withgix
. (2c5d33a)
- Replace
- Uncategorized
- Fix
include
directive to allow publish to succeed (40caa8f) - Merge branch 'v2.0' (d3b0069)
- Enable cargo-fmt (365f9dc)
- Add
dirs::TBD
to make it possible to know where the index should be looked for. (0d89352) - Make clear that
GitIndex
auto-clones any index as needed. (965f6e9) - Remove
ssh
feature, and rename many existing features, change defaults (a8953e0) - Crate features are now documented (beb9f12)
- Bump version to 2.0, update CHANGELOG.md with excerpt from README.md (b0836d1)
- Run
cargo-diet
to optimize package size (2fdf3a8) - Refactor code structure (7e86e3c)
- Remove
changes
feature (260c103) - Rename
testdata
tofixtures
(aba9606) - Move tests of the public API into
tests/
where integration tests live (0096b92) - Add
CHANGELOG.md
for a built-in version of it (42d89c2) - Use
thiserror
for the error type. (fed6904) - Improve "find_repo_head()" to be more resilient (5649466)
- Fix refspecs for updating the crates index (cc6b8f9)
- Add an example that gets the latest changed crate right after updating the index. (7d70f8f)
- Use the latest
gix
release for API improvements (f50308f) - Run
cargo fmt
on everything that changed inchanges.rs
(084f226) - Re-use test utilities for a unified experience (90da01e)
- Remove all remainders of
git2
(d649f95) - Convert
Changes
fromgit2
togix
(beddca6) - Additional protection against raciness when cloning in parallel (11a7522)
- Fix alrogithm for finding the head-reference (50edb46)
- Cargo-fmt on all portions that changed (ab0f126)
- Switch to latest
gix
version to smoothen API usage (940ed59) - Thanks clippy (8939074)
- Use
gix
forupdate()
(ebfda0f) - Clone the crate index with
gix
(92291cf) - Use
gix
for implementingcrate_()
(2cf53dd) - Use
gix
forindex_config()
(cd7f910) - Convert
crates()
togix
(fbf169c) - Use
gix
forcrates_parallel()
(141285e) - Add more local git tests to run quickly (i.e. those that don't clone) (9cac8a8)
- Add
gix
as alternative (3fe885c) - Fix doc-tests for 'changes' feature and run that on CI as well (f234c9b)
- Fix