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.
Unreleased - ReleaseDate
0.16.0 - 2024-11-28
- PR#75 updated
gix
-> 0.68.
0.15.0 - 2024-11-11
- PR#74 updated
gix
-> 0.67.
- PR#74 fixed a bug where the list of reserved crate names was not sorted correctly for binary searching.
0.14.0 - 2024-09-20
- PR#73 updated
gix
-> 0.66.
0.13.2 - 2024-08-20
- PR#72 updated crates.
0.13.1 - 2024-08-01
- PR#69 resolved an issue where 32-bit targets would have a different ident hash from what cargo would have due to cargo being target dependent in the hash calculation.
0.13.0 - 2024-07-25
- PR#67 updated
gix
-> 0.64.
0.12.2 - 2024-07-22
- PR#66 added the
gix-curl
feature, which is mutually exclusive with thegit
andgix-reqwest
features.
0.12.1 - 2024-06-26
- PR#65 updated
toml-span
-> 0.3.0.
0.12.0 - 2024-05-24
- PR#64 updated
gix
-> 0.63.
0.11.1 - 2024-05-03
- PR#61 addressed #60 by adding
IndexUrl::for_registry_name
to read a registry's index url from the config/environment.
0.11.0 - 2024-04-23
- PR#59 updated
gix
-> 0.62,reqwest
-> 0.12,http
-> 1.1.
0.10.0 - 2024-03-21
0.9.9 - 2024-03-21
- PR#54 updated
gix
-> 0.61.
0.9.8 - 2024-03-17
- PR#53 updated
gix
-> 0.60.
0.9.7 - 2024-03-12
- PR#52 added
ComboIndexCache::cache_path
to retrieve the path of a particular crate's index entry.
0.9.6 - 2024-03-12
- PR#51 updated dependencies.
0.9.5 - 2024-02-22
- PR#49 updated
toml-span
-> 0.2
0.9.4 - 2024-02-20
- PR#48 replaced
toml
withtoml-span
removing several dependencies.
0.9.3 - 2024-02-07
- PR#47 fixed #46 by ensuring one full DNS lookup and request response roundtrip is made before going wide to ensure that excessive DNS lookups and connections are not made.
0.9.2 - 2024-01-21
- PR#45 bumped
gix
-> 0.58
0.9.1 - 2024-01-12
- PR#44 bumped
gix
-> 0.57
0.9.0 - 2023-12-13
- PR#43 fixed the file lock options from
LockOptions::cargo_package_lock
to beexclusive
to more closely match Cargo's behavior. This would not have been a problem in practice, but is more correct now.
- PR#43 bumped
gix
-> 0.56
0.8.0 - 2023-11-06
- PR#41 resolved #29 by force disabling gpg signing in test.
- Commit e3c6ff1 bumped the patch version of
windows-targets
to .5 to prevent using older versions that don't compile (See #40)
- PR#41 bumped
gix
-> 0.55
0.7.2 - 2023-10-18
- PR#39 resolved #38 by ensuring all parent directories are created before attempting a clone with
gix
.
0.7.1 - 2023-09-29
- PR#34 resolved a compile issue when targeting
musl
libc.
0.7.0 - 2023-09-29
- PR#32 resolved #31 by reducing the size of
Error
. - PR#33 updated dependencies, notably
gix
-> 0.54. - PR#33 added a
tame_index::utils::flock::FileLock
parameter to all methods on indices that perform disk operations.
- PR#33 added
tame_index::utils::flock
, which contains aFileLock
for holding an OS file lock for a particular path, as well asLockOptions
for creating them.
- PR#33 resolved #30 by removing the usage of
gix::lock
in favor of the aforementionedFileLock
- PR#33 resolved #17 by adding
LockOptions::cargo_package_lock
to easily create a lock file compatible with cargo's own ($CARGO_HOME global) package lock.
0.6.0 - 2023-09-11
0.5.6 - 2023-09-11 yanked
0.5.5 - 2023-09-06
- PR#26 changed sparse index request creation to not use HTTP/2 for the version to support corporate potato proxies. This results in a slight but noticeable degradation in throughput when making many requests to a sparse index.
0.5.4 - 2023-08-24
0.5.3 - 2023-08-23
- PR#22 fixed an issue where ssh index urls would be mapped to the incorrect local directory. This issue was raised in cargo-deny.
0.5.2 - 2023-08-23
- [
d9cb55f
] fixed and issue with docs.rs documentation building.
0.5.1 - 2023-08-23
- PR#20 publicly exposed
tame_index::external::http
for easier downstream usage.
0.5.0 - 2023-08-23
- PR#18 resolved #16 by marking
ComboIndexCache
andComboIndex
as#[non_exhaustive]
. This avoids build breaks if thelocal
feature is enabled in one transitive dependency and not in another, as much as I hatenon_exhaustive
.
- PR#18 changed
SparseIndex::make_remote_request
to take an optional ETag, completely avoiding disk I/O, which allowsSparseIndex
to be used for making and parsing requests without worrying about cargo's global package lock.
0.4.1 - 2023-08-21
- PR#15 added the
native-certs
feature to be able to use the OS certificate store instead ofwebpki-roots
. Thanks @Shnatsel!
0.4.0 - 2023-08-18
- PR#14 added the ability to specify the repository lock policy when calling
RemoteGitIndex::with_options
. Thanks @Shnatsel!
0.3.2 - 2023-08-15
- PR#13 fixed a bug where git repository url canonicalization was incorrect if the url was not a github.com url that ended with .git.
0.3.1 - 2023-08-04
- PR#11 added
RemoteSparseIndex::krates
,AsyncRemoteSparseIndex::krates
, andAsyncRemoteSparseIndex::krates_blocking
as helper methods for improving throughput when fetching index entries for many crates.
0.3.0 - 2023-08-03
- PR#10 unfortunately had to relax the constraint that crate versions in an index are always parsable as
semver::Version
.
0.2.5 - 2023-08-02
0.2.4 - 2023-07-28
- PR#7 fixed an issue where
RemoteGitIndex::fetch
could fail in environments where the git committer was not configured.
- PR#7 change how
RemoteGitIndex
looks up blobs. Previously fetching would actually update references, now however we write aFETCH_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.
0.2.3 - 2023-07-26
- PR#6 fixed two bugs with git registries.
cargo
does not set remotes for git registry indices, the previous code assumed there was a remote, thus failed to fetch updates- Updating reflogs after a fetch would fail in CI-like environments without a global git config that set the committer,
committer.name
is now set totame-index
0.2.2 - 2023-07-26
- PR#5 relaxed
rust-version
to 1.67.0.
0.2.1 - 2023-07-26
- PR#4 added
GitError::is_spurious
andGitError::is_locked
to detect fetch errors that could potentially succeed in the future if retried.
- PR#4 now re-exports
reqwest
andgix
fromtame_index::externals
for easier downstream usage.
0.2.0 - 2023-07-25
- PR#3 added support for
Local Registry
- PR#3 added [
LocalRegistry
] as an option forComboIndexCache
- PR#3 added
KrateName::cargo
andKrateName::crates_io
options for validating crates names against the (current) constraints of cargo and crates.io respectively.
- PR#3 refactored how index initialization is performed by splitting out the individual pieces into a cleaner API, adding the types
IndexUrl
,IndexPath
, andIndexLocation
- PR#3 fixed an issue where the .cache entries for a git index were not using the same cache version of cargo, as of 1.65.0+. cargo in those versions now uses the object id of the blob the crate is read from, rather than the
HEAD
commit hash, for more granular change detection.
0.1.0 - 2023-07-05
- PR#1 added the initial working implementation for this crate
0.0.1 - 2023-06-19
- Initial crate squat