diff --git a/Cargo.lock b/Cargo.lock index eb8ef64eb..398511bf9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -850,7 +850,7 @@ dependencies = [ [[package]] name = "uefi" -version = "0.27.0" +version = "0.28.0" dependencies = [ "bitflags 2.5.0", "cfg-if", @@ -876,7 +876,7 @@ dependencies = [ [[package]] name = "uefi-raw" -version = "0.5.1" +version = "0.5.2" dependencies = [ "bitflags 2.5.0", "ptr_meta", @@ -885,7 +885,7 @@ dependencies = [ [[package]] name = "uefi-services" -version = "0.24.0" +version = "0.25.0" dependencies = [ "uefi", ] diff --git a/README.md b/README.md index 434172832..768964871 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,7 @@ This project contains multiple sub-crates: - `uefi`: defines the standard UEFI tables / interfaces. The objective is to stay unopinionated and safely wrap most interfaces. + Additional opinionated features (such as a Logger) are feature-gated. - `uefi-macros`: procedural macros that are used to derive some traits in `uefi`. @@ -83,9 +84,6 @@ This project contains multiple sub-crates: Specification. Safe wrappers for these types are provided by the `uefi` crate. The raw types are suitable for implementing UEFI firmware. -- `uefi-services`: provides a panic handler, and initializes - the `alloc` / `logger` features. - - `uefi-test-runner`: a UEFI application that runs unit / integration tests. [log]: https://github.com/rust-lang-nursery/log diff --git a/book/src/tutorial/app.md b/book/src/tutorial/app.md index 9d2a84e56..272ccd078 100644 --- a/book/src/tutorial/app.md +++ b/book/src/tutorial/app.md @@ -16,7 +16,7 @@ cd my-uefi-app Add a few dependencies: ```sh -cargo add log uefi uefi-services +cargo add log uefi ``` Replace the contents of `src/main.rs` with this: diff --git a/template/Cargo.toml b/template/Cargo.toml index 527713ab8..109736564 100644 --- a/template/Cargo.toml +++ b/template/Cargo.toml @@ -5,4 +5,4 @@ edition = "2021" publish = false [dependencies] -uefi = { version = "0.27.0", features = ["alloc"] } +uefi = { version = "0.28.0", features = ["alloc"] } diff --git a/template/README.md b/template/README.md index dc22bb17f..9025adbfb 100644 --- a/template/README.md +++ b/template/README.md @@ -11,7 +11,7 @@ UEFI application developed using `uefi-rs`. - [`rust-toolchain.toml`](rust-toolchain.toml) adds the UEFI targets. - [`Cargo.toml`](./Cargo.toml) shows the necessary dependencies. - [`src/main.rs`](./src/main.rs) has a minimal entry point that - initializes the `uefi-services` crate and exits successfully. + initializes recommended helpers and exits successfully. ## Building kernels which use UEFI diff --git a/uefi-raw/CHANGELOG.md b/uefi-raw/CHANGELOG.md index d0315e37e..8195515b1 100644 --- a/uefi-raw/CHANGELOG.md +++ b/uefi-raw/CHANGELOG.md @@ -1,9 +1,13 @@ # uefi-raw - [Unreleased] + +# uefi-raw - 0.5.2 (2024-04-19) + ## Added - Added `TimestampProtocol`. - Added `DevicePathToTextProtocol` and `DevicePathFromTextProtocol`. + # uefi-raw - 0.5.1 (2024-03-17) ## Added @@ -13,6 +17,7 @@ - Added `LoadFileProtocol` and `LoadFile2Protocol`. - Added `firmware_storage` module. + # uefi-raw - 0.5.0 (2023-11-12) ## Added diff --git a/uefi-raw/Cargo.toml b/uefi-raw/Cargo.toml index 3382cc9eb..682b9c342 100644 --- a/uefi-raw/Cargo.toml +++ b/uefi-raw/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uefi-raw" -version = "0.5.1" +version = "0.5.2" readme = "README.md" description = "Raw UEFI types" diff --git a/uefi-services/CHANGELOG.md b/uefi-services/CHANGELOG.md index 6b9550b77..eeebcac7a 100644 --- a/uefi-services/CHANGELOG.md +++ b/uefi-services/CHANGELOG.md @@ -1,8 +1,18 @@ # uefi-services - [Unreleased] + +# uefi-services - 0.25.0 (2023-11-12) + ## Changed - `uefi-services` is deprecated and should be removed. All functionality was - moved to `uefi::helpers::init()` +moved to `uefi::helpers::init()` + + +# uefi-services - 0.24.0 (2023-03-17) + +## Changed +- Updated to latest version of `uefi`. + # uefi-services - 0.23.0 (2023-11-12) @@ -10,31 +20,37 @@ - `uefi_services::system_table` now returns `SystemTable` directly, rather than wrapped in a `NonNull` pointer. + # uefi-services - 0.22.0 (2023-10-11) ## Changed - Updated to latest version of `uefi`. + # uefi-services - 0.21.0 (2023-06-20) ## Changed - Updated to latest version of `uefi`. + # uefi-services - 0.20.0 (2023-06-04) ## Changed - Updated to latest version of `uefi`. + # uefi-services - 0.19.0 (2023-06-01) ## Changed - Internal updates for changes in `uefi`. + # uefi-services - 0.18.0 (2023-05-15) ## Changed - Internal updates for changes in `uefi`. + # uefi-services - 0.17.0 (2023-03-19) ## Changed @@ -42,11 +58,13 @@ [`default_alloc_error_handler`](https://github.com/rust-lang/rust/pull/102318) instead. + # uefi-services - 0.16.0 (2023-01-16) ## Changed - Bumped `uefi` dependency to latest version. + # uefi-services - 0.15.0 (2022-11-15) ## Changed @@ -57,6 +75,7 @@ This allows using both crates while disabling `logger` in `uefi`, which was previously impossible. + # uefi-services - 0.14.0 (2022-09-09) ## Added @@ -66,17 +85,20 @@ - The `no_panic_handler` feature has been replaced with an additive `panic_handler` feature. The new feature is enabled by default. + # uefi-services - 0.13.1 (2022-08-26) ## Changed - Relaxed the version requirements for the `log` dependency to allow earlier patch versions. + # uefi-services - 0.13.0 (2022-05-16) ## Changed - Bumped `uefi` dependency to latest version. + # uefi-services - 0.12.1 (2022-03-15) ## Changed diff --git a/uefi-services/Cargo.toml b/uefi-services/Cargo.toml index 9ceb954f1..41797dd46 100644 --- a/uefi-services/Cargo.toml +++ b/uefi-services/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uefi-services" -version = "0.24.0" +version = "0.25.0" readme = "README.md" description = "Deprecated. Please migrate to `uefi::helpers`." @@ -13,7 +13,7 @@ repository.workspace = true rust-version.workspace = true [dependencies] -uefi = { version = "0.27.0", features = ["global_allocator"] } +uefi = { version = "0.28.0", features = ["global_allocator"] } [features] default = ["panic_handler", "logger"] diff --git a/uefi/CHANGELOG.md b/uefi/CHANGELOG.md index 6d221044c..2770e37ee 100644 --- a/uefi/CHANGELOG.md +++ b/uefi/CHANGELOG.md @@ -1,14 +1,18 @@ # uefi - [Unreleased] + +# uefi - 0.28.0 (2024-04-19) + ## Added - Added `Timestamp` protocol. - Added `UnalignedSlice::as_ptr`. - Added common derives for `Event` and `Handle`. - `uefi::helpers::init` with the functionality that used to be in - `uefi::services`. With that, new features were added: - - `global_allocator` - - `panic_handler` - - `qemu` +`uefi::services`. With that, new features were added: +- `global_allocator` +- `panic_handler` +- `qemu` + # uefi - 0.27.0 (2024-03-17) @@ -23,6 +27,7 @@ - `DevicePath::to_string` and `DevicePathNode::to_string` now return out-of-memory errors as part of the error type rather than with an `Option`. + # uefi - 0.26.0 (2023-11-12) ## Added @@ -42,6 +47,7 @@ - `BootServices::{install,reinstall,uninstall}_protocol_interface` now take `const` interface pointers. + # uefi - 0.25.0 (2023-10-10) ## Changed @@ -67,6 +73,7 @@ - `BootServices::memmove` and `BootServices::set_mem` have been removed, use standard functions like `core::ptr::copy` and `core::ptr::write_bytes` instead. + # uefi - 0.24.0 (2023-06-20) ## Added @@ -83,11 +90,13 @@ - The `Deref` and `DerefMut` impls for `ScopedProtocol` will now panic if the interface pointer is null. + # uefi - 0.23.0 (2023-06-04) ## Changed - Fixed function signature bug in `BootServices::install_configuration_table`. + # uefi - 0.22.0 (2023-06-01) ## Added @@ -104,6 +113,7 @@ - `RegularFile::read` now reads in 1 MiB chunks to avoid a bug in some firmware. This fix also applies to `fs::FileSystem::read`. + # uefi - 0.21.0 (2023-05-15) ## Added @@ -165,6 +175,7 @@ - `GptPartitionAttributes` now has 16 additional `TYPE_SPECIFIC_BIT_` constants. + # uefi - 0.20.0 (2023-03-19) As of this release, the UEFI crates work on the stable channel. This requires @@ -202,6 +213,7 @@ Rust 1.68 or higher. available since EFI 1.10 (2002). - `ScopedProtocol::interface` is not public anymore. Use the `Deref` trait. + # uefi - 0.19.1 (2023-02-04) ## Added @@ -215,6 +227,7 @@ Rust 1.68 or higher. - Fixed a warning printed when using `uefi` as a dependency: "the following packages contain code that will be rejected by a future version". + # uefi - 0.19.0 (2023-01-16) ## Added @@ -247,6 +260,7 @@ Rust 1.68 or higher. - Redundant private field used for padding in `MemoryDescriptor` structure was removed. Now all fields of this struct are public. + # uefi - 0.18.0 (2022-11-15) ## Added @@ -299,6 +313,7 @@ Rust 1.68 or higher. `proto::device_path::acpi::Acpi` and `proto::device_path::media::HardDrive` instead. ` + # uefi - 0.17.0 (2022-09-09) ## Added @@ -350,6 +365,7 @@ Rust 1.68 or higher. can be replaced by calling `status.into()`, or `Result::from(status)` in cases where the compiler needs a type hint. + # uefi - 0.16.1 ## Added @@ -370,6 +386,7 @@ Rust 1.68 or higher. - Enabled `doc_auto_cfg` on docs.rs to show badges on items that are gated behind a feature. + # uefi - 0.16.0 (2022-05-16) ## Added @@ -400,6 +417,7 @@ Rust 1.68 or higher. - Fixed undefined behavior in `proto::media::file::File::get_boxed_info`. + # uefi - 0.15.2 (2022-03-15) ## Added diff --git a/uefi/Cargo.toml b/uefi/Cargo.toml index 9e2fe0e6f..d1ba545ba 100644 --- a/uefi/Cargo.toml +++ b/uefi/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "uefi" -version = "0.27.0" +version = "0.28.0" readme = "README.md" description = "Safe and easy-to-use wrapper for building UEFI apps." @@ -37,7 +37,7 @@ uguid.workspace = true cfg-if = "1.0.0" ucs2 = "0.3.2" uefi-macros = "0.13.0" -uefi-raw = "0.5.1" +uefi-raw = "0.5.2" qemu-exit = { version = "3.0.2", optional = true } [package.metadata.docs.rs]