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.
gix
-> 0.61.gix
-> 0.60.ComboIndexCache::cache_path
to retrieve the path of a particular crate's index entry.toml-span
-> 0.2toml
with toml-span
removing several dependencies.gix
-> 0.58gix
-> 0.57LockOptions::cargo_package_lock
to be exclusive
to more closely match Cargo's behavior. This would not have been a problem in practice, but is more correct now.gix
-> 0.56windows-targets
to .5 to prevent using older versions that don't compile (See #40)gix
-> 0.55gix
.musl
libc.Error
.gix
-> 0.54.tame_index::utils::flock::FileLock
parameter to all methods on indices that perform disk operations.tame_index::utils::flock
, which contains a FileLock
for holding an OS file lock for a particular path, as well as LockOptions
for creating them.gix::lock
in favor of the aforementioned FileLock
LockOptions::cargo_package_lock
to easily create a lock file compatible with cargo's own ($CARGO_HOME global) package lock.d9cb55f
] fixed and issue with docs.rs documentation building.tame_index::external::http
for easier downstream usage.ComboIndexCache
and ComboIndex
as #[non_exhaustive]
. This avoids build breaks if the local
feature is enabled in one transitive dependency and not in another, as much as I hate non_exhaustive
.SparseIndex::make_remote_request
to take an optional ETag, completely avoiding disk I/O, which allows SparseIndex
to be used for making and parsing requests without worrying about cargo's global package lock.native-certs
feature to be able to use the OS certificate store instead of webpki-roots
. Thanks @Shnatsel!RemoteGitIndex::with_options
. Thanks @Shnatsel!RemoteSparseIndex::krates
, AsyncRemoteSparseIndex::krates
, and AsyncRemoteSparseIndex::krates_blocking
as helper methods for improving throughput when fetching index entries for many crates.semver::Version
.RemoteGitIndex::fetch
could fail in environments where the git committer was not configured.RemoteGitIndex
looks up blobs. Previously fetching would actually update references, now however we write a FETCH_HEAD
similarly to git/libgit2, and uses that (or other) reference to find the commit to use, rather than updating the HEAD to point to the same commit as the remote HEAD.cargo
does not set remotes for git registry indices, the previous code assumed there was a remote, thus failed to fetch updatescommitter.name
is now set to tame-index
rust-version
to 1.67.0.GitError::is_spurious
and GitError::is_locked
to detect fetch errors that could potentially succeed in the future if retried.reqwest
and gix
from tame_index::externals
for easier downstream usage.Local Registry
LocalRegistry
] as an option for ComboIndexCache
KrateName::cargo
and KrateName::crates_io
options for validating crates names against the (current) constraints of cargo and crates.io respectively.IndexUrl
, IndexPath
, and IndexLocation
HEAD
commit hash, for more granular change detection.