- Fetch crate metadata concurrently.
- Handle missing invalid metadata non-fatally.
- Support env var
RUST_LOG
log filter configuration. - Add info logs for release & metadata fetch latency.
- When fetching all releases handle 429 by backing off.
- Improve fetch error logging.
- Added crate eligibility cache. May be controlled with config
cache-releases-older-than
. - Introduce configurable cache backend with a RocksDB implementation (set
cache.type = "rocksdb"
andcache.path = "cache"
to use it), defaults tocache.type = "in-memory"
. - Support crate yanking by creating a
yanked
file on the release. - Add
bust-cache
command, invoked viassh [registry] -- bust-cache [project] [crate-name] [crate-version]
to remove eligibility cache (ie. after a crate has been yanked) - Update dependencies, require libsodium at build & runtime.
- Add package page caching. Controlled with config
cache-releases-older-than
. - Support gzip compressed responses.
- Add optional
metadata-format
config. Options:json
(default) &json.zst
. When the latter selected the server will fetchmetadata.json.zst
files.
- Add
ssl-cert
configuration value undergitlab
to allow self-signed certificates to be used (#50) - thanks @fdbastionamio for the contribution - Update dependencies (#54) - thanks @alexheretic for the contribution
- Allow authentication using personal access tokens rather than admin tokens (#53) - thanks @momoson for the contribution
- Use thin LTO and strip release binaries (#56) - thanks @alexheretic for the contribution
- Make admin-token optional (#55) - thanks @alexheretic for the contribution
Add expires_at field to impersonation_tokens POST request to conform to Gitlab breaking change in v16.1
Various bugfixes relating to interaction with Cargo - thanks @Eijebong for the contribution.
Initial release