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.
- Implemented
ThisError
for error types - Implemented Sham for
std_process
- Implemented Sham for
reqwest
- Updated lint configuration for Rust 1.82
- Updated crate dependencies
- Added MSRV (Minimum Supported Rust Version) in
Cargo.toml
, set to 1.81.0
- Upgraded to Axum 0.7 and Hyper 1.0
- Changed use of
once_cell::Lazy
toLazyLock
and removedonce_cell
dependency - Updated lint configuration for Rust 1.80
- Updated lint configuration for Rust 1.81
- Updated crate dependencies
- Linted tests
- Moved linting configuration to
Cargo.toml
- Updated lint configuration for Rust 1.77
- Updated crate dependencies
- Added
server
module- Added release file checking and serving
- Added response signing
- Added
Config
struct - Added
Core
struct- Added
Core::new()
- Added
Core::latest_version()
- Added
Core::release_file()
- Added
Core::versions()
- Added
- Added
Axum
struct- Added
Axum::get_latest_version()
- Added
Axum::get_hash_for_version()
- Added
Axum::get_release_file()
- Added
Axum::sign_response()
- Added
- Added
client
module- Added update checking, downloading, verifying, and installing
- Added
Config
struct - Added
Updater
struct- Added
Updater::new()
- Added
Updater::deregister_action()
- Added
Updater::is_safe_to_update()
- Added
Updater::register_action()
- Added
Updater::set_status()
- Added
Updater::status()
- Added
Updater::subscribe()
- Added
- Added README documentation
- Added examples
- Added full unit, integration, and end-to-end tests