From 46625a611d3c25fc78fe034c687b99a3f1e02651 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 11 Nov 2023 10:28:17 -0500 Subject: [PATCH 1/5] uefi-raw: Add separate changelog file --- CHANGELOG.md | 9 --------- uefi-raw/CHANGELOG.md | 8 ++++++++ 2 files changed, 8 insertions(+), 9 deletions(-) create mode 100644 uefi-raw/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index a71b09091..400e5ff7d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,15 +21,6 @@ ## uefi-macros - [Unreleased] -## uefi-raw - [Unreleased] - -### Added -- Added `AbsolutePointerProtocol`. -- Added `SimpleFileSystemProtocol` and related types. - -### Changed -- `{install,reinstall,uninstall}_protocol_interface` now take `const` interface pointers. - ## uefi-services - [Unreleased] ### Changed diff --git a/uefi-raw/CHANGELOG.md b/uefi-raw/CHANGELOG.md new file mode 100644 index 000000000..c0fb3bd8b --- /dev/null +++ b/uefi-raw/CHANGELOG.md @@ -0,0 +1,8 @@ +# uefi-raw - [Unreleased] + +## Added +- Added `AbsolutePointerProtocol`. +- Added `SimpleFileSystemProtocol` and related types. + +## Changed +- `{install,reinstall,uninstall}_protocol_interface` now take `const` interface pointers. From 3b0479a86c68dece56a21899bf4f8af0798d0e89 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 11 Nov 2023 10:37:13 -0500 Subject: [PATCH 2/5] uefi-services: Add separate changelog file --- CHANGELOG.md | 88 -------------------------------------- uefi-services/CHANGELOG.md | 77 +++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+), 88 deletions(-) create mode 100644 uefi-services/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 400e5ff7d..0287af142 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,12 +21,6 @@ ## uefi-macros - [Unreleased] -## uefi-services - [Unreleased] - -### Changed -- `uefi_services::system_table` now returns `SystemTable` directly, rather - than wrapped in a `NonNull` pointer. - ## uefi - 0.25.0 (2023-10-10) ### Changed @@ -52,12 +46,6 @@ - `BootServices::memmove` and `BootServices::set_mem` have been removed, use standard functions like `core::ptr::copy` and `core::ptr::write_bytes` instead. -## uefi-services - 0.22.0 (2023-10-11) - -### Changed - -- Updated to latest version of `uefi`. - ## uefi - 0.24.0 (2023-06-20) ### Added @@ -74,24 +62,12 @@ - The `Deref` and `DerefMut` impls for `ScopedProtocol` will now panic if the interface pointer is null. -## uefi-services - 0.21.0 (2023-06-20) - -### Changed - -- Updated to latest version of `uefi`. - ## uefi - 0.23.0 (2023-06-04) ### Changed - Fixed function signature bug in `BootServices::install_configuration_table`. -## uefi-services - 0.20.0 (2023-06-04) - -### Changed - -- Updated to latest version of `uefi`. - ## uefi - 0.22.0 (2023-06-01) ### Added @@ -109,11 +85,6 @@ `BUFFER_TOO_SMALL` error can only occur when reading a directory, not a file. - `RegularFile::read` now reads in 1 MiB chunks to avoid a bug in some firmware. This fix also applies to `fs::FileSystem::read`. -## uefi-services - 0.19.0 (2023-06-01) - -### Changed - -- Internal updates for changes in `uefi`. ## uefi - 0.21.0 (2023-05-15) @@ -190,12 +161,6 @@ (empty inputs) to create valid empty strings. They include the null-byte. - The `entry` macro now works correctly with docstrings. -## uefi-services - 0.18.0 (2023-05-15) - -### Changed - -- Internal updates for changes in `uefi`. - ## uefi - 0.20.0 (2023-03-19) As of this release, the UEFI crates work on the stable channel. This requires @@ -241,14 +206,6 @@ Rust 1.68 or higher. - Errors produced by the `entry` macro have been improved. -## uefi-services - 0.17.0 (2023-03-19) - -### Changed - -- Drop use of unstable `alloc_error_handler` feature. As of Rust 1.68 we can use - [`default_alloc_error_handler`](https://github.com/rust-lang/rust/pull/102318) - instead. - ## uefi - 0.19.1 (2023-02-04) ### Added @@ -312,10 +269,6 @@ Rust 1.68 or higher. macro instead. For any other implementations of the `Identify` trait, implement it directly. -## uefi-services - 0.16.0 (2023-01-16) - -No changes in this release except depending on a newer version of `uefi`. - ## uefi - 0.18.0 (2022-11-15) ### Added @@ -379,18 +332,6 @@ No changes in this release except depending on a newer version of `uefi`. takes a more convenient string argument like the `unsafe_guid!` attribute macro. -## uefi-services - 0.15.0 (2022-11-15) - -### Changed - -- Changed the panic handler log message to use `println!` instead of - `error!`. This removes an extraneous file name and line number from - the log message. - -- Added a `logger` feature which reflects the same feature in `uefi`. - This allows using both crates while disabling `logger` in `uefi`, - which was previously impossible. - ## uefi - 0.17.0 (2022-09-09) @@ -455,16 +396,6 @@ No changes in this release except depending on a newer version of `uefi`. must both be named (e.g. `image: Handle` and `_image: Handle` are both OK, but not `_: Handle`). -## uefi-services - 0.14.0 (2022-09-09) - -### Added - -- Added `print!` and `println!` macros. - -### Changed - -- The `no_panic_handler` feature has been replaced with an additive - `panic_handler` feature. The new feature is enabled by default. ## uefi - 0.16.1 ### Added @@ -495,13 +426,6 @@ No changes in this release except depending on a newer version of `uefi`. - Relaxed the version requirements for the `proc-macro2`, `quote`, and `sync` dependencies to allow earlier patch versions. -## uefi-services - 0.13.1 (2022-08-26) - -### Changed - -- Relaxed the version requirements for the `log` dependency to allow - earlier patch versions. - ## uefi - 0.16.0 (2022-05-16) ### Added @@ -541,12 +465,6 @@ No changes in this release except depending on a newer version of `uefi`. - Added `cstr8` and `cstr16` macros for creating `CStr8`/`CStr16` string literals at compile time. -## uefi-services - 0.13.0 (2022-05-16) - -### Changed - -- Bumped `uefi` dependency to latest version. - ## uefi - 0.15.2 (2022-03-15) ### Added @@ -633,9 +551,3 @@ No changes in this release except depending on a newer version of `uefi`. ### Changed - Updated to the 2021 edition. - -## uefi-services - 0.12.1 (2022-03-15) - -### Changed - -- Updated to the 2021 edition. diff --git a/uefi-services/CHANGELOG.md b/uefi-services/CHANGELOG.md new file mode 100644 index 000000000..b75252767 --- /dev/null +++ b/uefi-services/CHANGELOG.md @@ -0,0 +1,77 @@ +# uefi-services - [Unreleased] + +## Changed +- `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 +- Drop use of unstable `alloc_error_handler` feature. As of Rust 1.68 we can use + [`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 +- Changed the panic handler log message to use `println!` instead of + `error!`. This removes an extraneous file name and line number from + the log message. +- Added a `logger` feature which reflects the same feature in `uefi`. + This allows using both crates while disabling `logger` in `uefi`, + which was previously impossible. + +# uefi-services - 0.14.0 (2022-09-09) + +## Added +- Added `print!` and `println!` macros. + +## Changed +- 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 +- Updated to the 2021 edition. From 9b64f7bf47607ee07cb4bdd8b6ce35803391dc15 Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 11 Nov 2023 10:42:05 -0500 Subject: [PATCH 3/5] uefi-macros: Add separate changelog file --- CHANGELOG.md | 71 ---------------------------------------- uefi-macros/CHANGELOG.md | 63 +++++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+), 71 deletions(-) create mode 100644 uefi-macros/CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 0287af142..f6afef18a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,8 +19,6 @@ - `BootServices::{install,reinstall,uninstall}_protocol_interface` now take `const` interface pointers. -## uefi-macros - [Unreleased] - ## uefi - 0.25.0 (2023-10-10) ### Changed @@ -149,18 +147,6 @@ - `GptPartitionAttributes` now has 16 additional `TYPE_SPECIFIC_BIT_` constants. -## uefi-macros - 0.12.0 (2023-05-15) - -- The `unsafe_protocol` macro no longer makes protocols `!Send` and - `!Sync`. Protocols can only be used while boot services are active, and that's - already a single-threaded environment, so these negative traits do not have - any effect. -- The `unsafe_protocol` macro now accepts the path of a `Guid` constant in - addition to a string literal. -- The `cstr8` and the `cstr16` macros now both accept `(nothing)` and `""` - (empty inputs) to create valid empty strings. They include the null-byte. -- The `entry` macro now works correctly with docstrings. - ## uefi - 0.20.0 (2023-03-19) As of this release, the UEFI crates work on the stable channel. This requires @@ -200,12 +186,6 @@ Rust 1.68 or higher. available since EFI 1.10 (2002). - `ScopedProtocol::interface` is not public anymore. Use the `Deref` trait. -## uefi-macros - 0.11.0 (2023-03-19) - -### Changed - -- Errors produced by the `entry` macro have been improved. - ## uefi - 0.19.1 (2023-02-04) ### Added @@ -255,20 +235,6 @@ 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-macros - 0.10.0 (2023-01-16) - -### Added - -- Added the `unsafe_protocol` macro to provide a slightly nicer way to - implement protocols. - -### Removed - -- The `unsafe_guid` attribute macro and `Protocol` derive macro have - been removed. For implementing protocols, use the `unsafe_protocol` - macro instead. For any other implementations of the `Identify` trait, - implement it directly. - ## uefi - 0.18.0 (2022-11-15) ### Added @@ -324,14 +290,6 @@ Rust 1.68 or higher. `proto::device_path::acpi::Acpi` and `proto::device_path::media::HardDrive` instead. ` -## uefi-macros - 0.9.0 (2022-11-15) - -### Added - -- Added a `guid!` macro. This is similar to `Guid::from_values`, but - takes a more convenient string argument like the `unsafe_guid!` - attribute macro. - ## uefi - 0.17.0 (2022-09-09) @@ -387,15 +345,6 @@ 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-macros - 0.8.0 (2022-09-09) - -### Changed - -- The `#[entry]` macro now calls `BootServices::set_image_handle` to set - the global image handle. Due to this change, the two arguments to main - must both be named (e.g. `image: Handle` and `_image: Handle` are both - OK, but not `_: Handle`). - ## uefi - 0.16.1 ### Added @@ -419,13 +368,6 @@ Rust 1.68 or higher. - Enabled `doc_auto_cfg` on docs.rs to show badges on items that are gated behind a feature. -## uefi-macros - 0.7.1 (2022-08-26) - -### Changed - -- Relaxed the version requirements for the `proc-macro2`, `quote`, and - `sync` dependencies to allow earlier patch versions. - ## uefi - 0.16.0 (2022-05-16) ### Added @@ -458,13 +400,6 @@ Rust 1.68 or higher. - Fixed undefined behavior in `proto::media::file::File::get_boxed_info`. -## uefi-macros - 0.7.0 (2022-05-16) - -### Added - -- Added `cstr8` and `cstr16` macros for creating `CStr8`/`CStr16` string literals - at compile time. - ## uefi - 0.15.2 (2022-03-15) ### Added @@ -545,9 +480,3 @@ Rust 1.68 or higher. truncated and could result in out-of-bounds reads. - Fixed size check for file info types so that alignment padding is taken into account. This fixes potential out-of-bounds writes. - -## uefi-macros - 0.6.1 (2022-03-15) - -### Changed - -- Updated to the 2021 edition. diff --git a/uefi-macros/CHANGELOG.md b/uefi-macros/CHANGELOG.md new file mode 100644 index 000000000..6f9b6f47e --- /dev/null +++ b/uefi-macros/CHANGELOG.md @@ -0,0 +1,63 @@ +# uefi-macros - [Unreleased] + +# uefi-macros - 0.12.0 (2023-05-15) + +## Changed +- The `unsafe_protocol` macro no longer makes protocols `!Send` and + `!Sync`. Protocols can only be used while boot services are active, and that's + already a single-threaded environment, so these negative traits do not have + any effect. +- The `unsafe_protocol` macro now accepts the path of a `Guid` constant in + addition to a string literal. +- The `cstr8` and the `cstr16` macros now both accept `(nothing)` and `""` + (empty inputs) to create valid empty strings. They include the null-byte. +- The `entry` macro now works correctly with docstrings. + +# uefi-macros - 0.11.0 (2023-03-19) + +## Changed +- Errors produced by the `entry` macro have been improved. + +# uefi-macros - 0.10.0 (2023-01-16) + +## Added +- Added the `unsafe_protocol` macro to provide a slightly nicer way to + implement protocols. + +## Removed +- The `unsafe_guid` attribute macro and `Protocol` derive macro have + been removed. For implementing protocols, use the `unsafe_protocol` + macro instead. For any other implementations of the `Identify` trait, + implement it directly. + +# uefi-macros - 0.9.0 (2022-11-15) + +## Added +- Added a `guid!` macro. This is similar to `Guid::from_values`, but + takes a more convenient string argument like the `unsafe_guid!` + attribute macro. + +# uefi-macros - 0.8.0 (2022-09-09) + +## Changed +- The `#[entry]` macro now calls `BootServices::set_image_handle` to set + the global image handle. Due to this change, the two arguments to main + must both be named (e.g. `image: Handle` and `_image: Handle` are both + OK, but not `_: Handle`). + +# uefi-macros - 0.7.1 (2022-08-26) + +## Changed +- Relaxed the version requirements for the `proc-macro2`, `quote`, and + `sync` dependencies to allow earlier patch versions. + +# uefi-macros - 0.7.0 (2022-05-16) + +## Added +- Added `cstr8` and `cstr16` macros for creating `CStr8`/`CStr16` string literals + at compile time. + +# uefi-macros - 0.6.1 (2022-03-15) + +## Changed +- Updated to the 2021 edition. From 1bd2eeb1cbe55486ea7af7064e65e007398e4fad Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 11 Nov 2023 10:44:16 -0500 Subject: [PATCH 4/5] uefi: Add separate changelog file --- CHANGELOG.md => uefi/CHANGELOG.md | 123 ++++++++++++------------------ 1 file changed, 47 insertions(+), 76 deletions(-) rename CHANGELOG.md => uefi/CHANGELOG.md (96%) diff --git a/CHANGELOG.md b/uefi/CHANGELOG.md similarity index 96% rename from CHANGELOG.md rename to uefi/CHANGELOG.md index f6afef18a..166a24233 100644 --- a/CHANGELOG.md +++ b/uefi/CHANGELOG.md @@ -1,12 +1,10 @@ -# Changelog +# uefi - [Unreleased] -## uefi - [Unreleased] - -### Added +## Added - Implemented `Index`, `IndexMut`, `get`, and `get_mut` on `MemoryMap`. - Added `SystemTable::as_ptr`. -### Changed +## Changed - We fixed a memory leak in `GraphicsOutput::query_mode`. As a consequence, we had to add `&BootServices` as additional parameter. - `BootServices::free_pages` and `BootServices::free_pool` are now `unsafe` to @@ -19,9 +17,9 @@ - `BootServices::{install,reinstall,uninstall}_protocol_interface` now take `const` interface pointers. -## uefi - 0.25.0 (2023-10-10) +# uefi - 0.25.0 (2023-10-10) -### Changed +## Changed - MSRV bumped to 1.70. - `Input::wait_for_key_event` now returns an `Option`, and is no longer `const`. - `Protocol::wait_for_input_event` now returns an `Option`, and is no longer `const`. @@ -40,13 +38,13 @@ the memory type of memory map. - Added the `ShellParams` protocol -### Removed +## Removed - `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) +# uefi - 0.24.0 (2023-06-20) -### Added +## Added - `DevicePath::to_boxed`, `DevicePath::to_owned`, and `DevicePath::as_bytes` - `DevicePathInstance::to_boxed`, `DevicePathInstance::to_owned`, and `DevicePathInstance::as_bytes` - `DevicePathNode::data` @@ -55,25 +53,22 @@ potentially-null interfaces without panicking. - `DevicePath::to_string` and `DevicePathNode::to_string` -### Changed +## Changed - Renamed `LoadImageSource::FromFilePath` to `LoadImageSource::FromDevicePath` - The `Deref` and `DerefMut` impls for `ScopedProtocol` will now panic if the interface pointer is null. -## uefi - 0.23.0 (2023-06-04) - -### Changed +# 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 +# uefi - 0.22.0 (2023-06-01) +## Added - Added `BootServices::install_configuration_table`. -### Changed - +## Changed - Renamed `FileSystemIOErrorContext` to `IoErrorContext`. - `ResetType` is now a newtype-enum instead of a Rust enum. Its members now have upper-case names. @@ -84,10 +79,9 @@ - `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 +# uefi - 0.21.0 (2023-05-15) +## Added - There is a new `fs` module that provides a high-level API for file-system access. The API is close to the `std::fs` module. The module also provides a `Path` and a `PathBuf` abstraction that is similar to the ones from @@ -117,8 +111,7 @@ - `MemoryType::BOOT_SERVICES_DATA` for UEFI boot drivers - `MemoryType::RUNTIME_SERVICES_DATA` for UEFI runtime drivers -### Changed - +## Changed - The `global_allocator` module has been renamed to `allocator`, and is now available regardless of whether the `global_allocator` feature is enabled. The `global_allocator` feature now only controls whether `allocator::Allocator` is @@ -147,13 +140,12 @@ - `GptPartitionAttributes` now has 16 additional `TYPE_SPECIFIC_BIT_` constants. -## uefi - 0.20.0 (2023-03-19) +# uefi - 0.20.0 (2023-03-19) As of this release, the UEFI crates work on the stable channel. This requires Rust 1.68 or higher. -### Added - +## Added - Added the `ComponentName1` and `ComponentName2` protocols. The `ComponentName` wrapper will automatically select `ComponentName2` if available, and fall back to `ComponentName1` otherwise. @@ -164,8 +156,7 @@ Rust 1.68 or higher. is no sensible way of presenting a useful Debug representation, such as for Unions. -### Changed - +## Changed - `SystemTable::exit_boot_services` now takes no parameters and handles the memory map allocation itself. Errors are now treated as unrecoverable and will cause the system to reset. @@ -186,14 +177,12 @@ 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 +# uefi - 0.19.1 (2023-02-04) +## Added - Added `table::boot::PAGE_SIZE` constant. -### Changed - +## Changed - Fixed several protocol functions so that they work with unsized protocols (like `DevicePath`): `BootServices::locate_device_path`, `BootServices::get_handle_for_protocol`, `BootServices::test_protocol`, @@ -201,10 +190,9 @@ 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 +# uefi - 0.19.0 (2023-01-16) +## Added - Implementations for the trait `EqStrUntilNul` now allow `?Sized` inputs. This means that you can write `some_cstr16.eq_str_until_nul("test")` instead of `some_cstr16.eq_str_until_nul(&"test")` now. @@ -217,8 +205,7 @@ Rust 1.68 or higher. integration with error-handling crates. (requires the **unstable** feature) - Added partial support for the TCG protocols for TPM devices under `uefi::proto::tcg`. -### Changed - +## Changed - `UnalignedSlice` now implements `Clone`, and the `Debug` impl now prints the elements instead of the internal fields. - The unstable `negative_impls` feature is no longer required to use this library. @@ -235,10 +222,9 @@ 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 +# uefi - 0.18.0 (2022-11-15) +## Added - Added `PhysicalAddress` and `VirtualAddress` type aliases. - Added `Guid::from_bytes` and `Guid::to_bytes`. - Added `UnalignedSlice` for representing a reference to an unaligned @@ -257,8 +243,7 @@ Rust 1.68 or higher. - Added `BootServices::register_protocol_notify`. - Added `SearchType::ByRegisterNotify`and `ProtocolSearchKey`. -### Changed - +## Changed - Renamed crate feature `alloc` to `global_allocator`. - Renamed crate feature `exts` to `alloc`. - Fixed the definition of `AllocateType` so that `MaxAddress` and @@ -277,8 +262,7 @@ Rust 1.68 or higher. - `CStr16::from_u16_with_nul_unchecked` and `cstr16!` are now allowed in `const` contexts. -### Removed - +## Removed - Removed `UnalignedCStr16`; use `UnalignedSlice` instead. An `UnalignedSlice` can be converted to a string with `to_cstr16` or `to_cstring16`. @@ -290,11 +274,9 @@ 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 +# uefi - 0.17.0 (2022-09-09) +## Added - Added `Deref` and `DerefMut` trait implementations to `ScopedProtocol`. This eliminates the need to explicitly access the `interface` field, which is now marked as deprecated. @@ -321,8 +303,7 @@ Rust 1.68 or higher. - The `File` trait now knows the methods `is_regular_file` and `is_directory`. Developers profit from this on the struct `FileHandle`, for example. -### Changed - +## Changed - Marked `BootServices::handle_protocol` as `unsafe`. (This method is also deprecated -- use `open_protocol_exclusive` or `open_protocol` instead.) - Deprecated `BootServices::locate_protocol` and marked it `unsafe`. Use @@ -333,8 +314,7 @@ Rust 1.68 or higher. additive. It is now a default feature. - Corrected the name of `BlockIOMedia::is_media_preset` to `is_media_present`. -### Removed - +## Removed - Removed the `exts::allocate_buffer` function. This function could cause undefined behavior when called with a `Layout` with an alignment other than 1. A safe alternative is to use @@ -345,14 +325,12 @@ 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 +# uefi - 0.16.1 +## Added - Added EFI revision constants to `Revision`. -### Fixed - +## Fixed - The table `Header` struct's `Debug` impl now prints the correct signature. - The `BootServices::create_event_ex` and `RuntimeServices::query_variable_info` methods now check the table @@ -361,17 +339,15 @@ Rust 1.68 or higher. - Fixed an incorrect pointer cast in the `Rng` protocol that could cause undefined behavior. -### Changed - +## Changed - Relaxed the version requirements for the `bitflags` and `log` dependencies to allow earlier patch versions. - 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 +# uefi - 0.16.0 (2022-05-16) +## Added - Added `FileHandle::into_directory` and `FileHandle::into_regular_file`. - Added `TimeParams`, `Time::invalid`, and `Time::is_invalid`. - Added `RuntimeServices::query_variable_info` and `VariableStorageInfo`. @@ -385,8 +361,7 @@ Rust 1.68 or higher. - Included `cstr8` and `cstr16` macros from `uefi-macros` in the prelude. - Added `DevicePathInstance`, `DevicePathNode`, and `FfiDevicePath`. -### Changed - +## Changed - `Time::new` now takes a single `TimeParams` argument so that date and time fields can be explicitly named at the call site. - The file info types now derive `PartialEq` and `Eq`. @@ -396,14 +371,13 @@ Rust 1.68 or higher. instances and nodes, respectively. - The methods of `Revision` are now `const`. -### Fixed +## Fixed - Fixed undefined behavior in `proto::media::file::File::get_boxed_info`. -## uefi - 0.15.2 (2022-03-15) - -### Added +# uefi - 0.15.2 (2022-03-15) +## Added - Added `PartialEq` impls for `CStr16 == CStr16`, `&CStr16 == CString`, and `CString == &CStr16`. - Added `Display` impl for `CString16`. @@ -425,8 +399,7 @@ Rust 1.68 or higher. - Added `Output::output_string_lossy`. - Added `ResultExt::handle_warning`. -### Changed - +## Changed - Updated to the 2021 edition. - `File::open` now takes the filename as `&CStr16` instead of `&str`, avoiding an implicit string conversion. @@ -445,8 +418,7 @@ Rust 1.68 or higher. `Completion`, so the type behaves more like a regular Rust `Result` type. -### Removed - +## Removed - Removed `CStr16::as_string` method. Use [`ToString`](https://doc.rust-lang.org/alloc/string/trait.ToString.html) instead. @@ -469,8 +441,7 @@ Rust 1.68 or higher. `log_warning` method has also been removed, use the new `ResultExt::handle_warning` method instead. -### Fixed - +## Fixed - Fixed compilation with Rust 1.60 by no longer enabling the `vec_spare_capacity` feature, which has been stabilized. - Fixed the header size calculated by `FileInfo::new` and From 789aa2143f9019d8287a00978c3cd06dc70f120f Mon Sep 17 00:00:00 2001 From: Nicholas Bishop Date: Sat, 11 Nov 2023 11:10:06 -0500 Subject: [PATCH 5/5] Put package changelog links in top-level changelog --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..97f0921a7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,6 @@ +# Changelog + +* [`uefi` changelog](uefi/CHANGELOG.md) +* [`uefi-macros` changelog](uefi-macros/CHANGELOG.md) +* [`uefi-raw` changelog](uefi-raw/CHANGELOG.md) +* [`uefi-services` changelog](uefi-services/CHANGELOG.md)