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.
- String getter methods for
ParsedVersion
now return a string slice (&str
) instead of a reference to a string (&String
) - Methods returning copyable types now pass ownership of the value to the caller
- Update MSRV
HashMode::from_manifest
now checks for sourceforge/fosshub hash modes after generic hash modes- This allows manifest authors to specify a different form of hash extraction that takes precedent over sourceforge/fosshub extraction
- Implemented
get
method forAutoupdateArchitecture
to get the config for a given architecture - Implemented
Index
trait forAutoupdateArchitecture
to get the config for a given architecture - Implemented
get_mut
method forAutoupdateArchitecture
to get a mutable reference to the config for a given architecture - Implemented
get_best
method forAutoupdateArchitecture
to get the best available config for a given architecture
- Infinite recursion in
TryFrom
trait forVersionHandle
- Method to
PackageHandle
to get local version - Constant to
ScoopContext
to check if the context requires elevation
- Updated gix to 0.68.x and gix-object to 0.46.x
- Updated
package::Reference
name resolution to supportmanifest.json
file paths
- Better support for compiling on non-windows platforms
leaf
function now returns a&str
instead of aString
- Added optional name parameter to
DownloadHandle::new
- Fix
XDG_CONFIG_HOME
type
- Minor updates for
gix
monorepo breaking changes - Updated non-windows error message
- Dependency updates
- Updated MSRV
- Default logging directory for
User
context implementation is now%LocalAppData%/sfsu/logs
instead of<sfsu app path>/logs
- Provide more default trait methods for
ScoopContext
. This may cause different outputs for certain implementations. - Config type is now an associated type of
ScoopContext
rather than a generic type parameter- This saves a lot of boilerplate, internally and externally, having generics everywhere to account for the config type
- Removed
v1
feature.v1
breaking changes have been merged in this release. - Updated git2 to v0.19
- Renamed
AliasArray
toNestedArray
- Renamed
TOrArrayOfTs
toSingleOrArray
- Renamed
Downloader
toDownloadHandle
- Removed
Default
implementations forUser
- Added fallible
Result
return forUser
andGlobal
- If Scoop path cannot be found both
User
andGlobal
will return an error- Previously
User
would panic andGlobal
would return the invalid path anyway
- Previously
- Removed
Uninstaller
struct Uninstaller
struct has been replaced withInstaller
in the manifest- Installer host
run
function will now remove the installer file ifkeep
is not set to true CreateManifest
from_str
now takesimpl AsRef<str>
rather thanString
- An empty hash string now deserializes as
None
rather than throwing an error - Feature
rustls-tls
has been removed - Feature
rustls-tls-native-roots
has been removed - Feature
vendored-libgit2
has been removed - Feature
vendored-openssl
has been removed - Feature
zlib-ng
has been removed - Feature
zlib-ng-compat
has been removed - Feature
zlib-stock
has been removed
- Refactor substitutions trait. It now only requires
fn substitute
rather thanfn into_substituted
- Do not do any manifest updates if the version is the same as the current version
- Replace
parallel
feature withrayon
feature - Updated
derive_more
to v1.0 - Performance improvements for
Process::find_running
when usingProcess::ExactExe
- Updated quick-xml to v0.34
- Builds will fail less often by falling back to the default buckets if the buckets.json file fails to download
- Added
EmptyConfig
struct for when your implementation does not have a config InstallerHost
struct for running installers- Tests for
InstallerHost
andPowershellScript
from/to_object
methods for Scoop config for converting to/from serde_json objects- Implement
FromStr
forScoopBranch
array
module for working with nested arrays- Implement
DoubleEndedIterator
,FusedIterator
andExactSizeIterator
forNestedIterator
- Sha512 hash benchmark
- Added running function for package handles
- Function for finding running processes
- Process enum for handling the finding of running processes
- Implemented
Manifest
toPackageHandle
conversion - Downloader trait for downloading files
- Added Summary struct for determining what will run for (un)installers and scripts
- Implemented
Runner
for (un)installers VersionHandle
struct for handling version directories- Implemented
list_versions
forPackageHandle
- Implemented
substitute
forInstallerHost
- Made substitution module public
- Removed bench files and file benchmarks
- Removed blake3 benchmarks
- Enable
tokio/fs
feature undermanifest-hashes
feature - Fix cache path extension not being renamed by url segment
- Cargo packaging
- Builds without default features
- Hashing algorithm benchmarks
For older version's changelogs, see the releases page.