diff --git a/multiboot2/CHANGELOG.md b/multiboot2/CHANGELOG.md index 8a5b82e1..2e529194 100644 --- a/multiboot2/CHANGELOG.md +++ b/multiboot2/CHANGELOG.md @@ -56,10 +56,14 @@ Sorry for all the UB that silently slept insight many parts of the code base. This is a community project that has grown over the years. But now, the code base is in excellent shape! -## 0.21.0 (2024-08-17) +All previous versions have been marked as **YANKED**. `0.22.0` is the first +version where all unit tests are passed by Miri, i.e., the first version +without Undefined Behavior. + +## 0.21.0 (2024-08-17) (**YANKED**) This release contains a massive refactoring of various internals. Now, almost -**unit tests pass Miri**, thus we removed lots of undefined behaviour and +all **unit tests pass Miri**, thus we removed lots of undefined behaviour and increased the memory safety! 🎉 Only a small part of these internal refactorings leak to the public interface. If you don't use external custom tags, you should be fine from any refactorings. @@ -87,11 +91,11 @@ release and you'll be fine!** - documentation enhancements - updated dependencies -## 0.20.2 (2024-05-26) +## 0.20.2 (2024-05-26) (**YANKED**) - fix Debug implementation of `EfiMemoryMapTag` -## 0.20.1 (2024-05-26) +## 0.20.1 (2024-05-26) (**YANKED**) - fixed the handling of `EFIMemoryMapTag` and `EFIMemoryAreaIter` - **BREAKING** Fixed wrong creation of `EFIMemoryMapTag`. @@ -99,12 +103,12 @@ release and you'll be fine!** `EFIMemoryMapTag::new_from_map`. - `ModuleTag::new`'s `end` parameter now must be bigger than `start`. -## 0.20.0 (2024-05-01) +## 0.20.0 (2024-05-01) (**YANKED**) - added `InformationBuilder::default()` - MSRV is 1.70 -## 0.19.0 (2023-09-21) +## 0.19.0 (2023-09-21) (**YANKED**) - **BREAKING** MSRV is 1.69.0 - **BREAKING** `Tag::get_dst_str_slice` renamed to @@ -118,11 +122,11 @@ release and you'll be fine!** - `InformationBuilder` now also allows to add custom tags. The new public method `add_tag` was introduced for that. -## 0.18.1 (2023-07-13) +## 0.18.1 (2023-07-13) (**YANKED**) - Documentation improvements -## 0.18.0 (2023-07-13) +## 0.18.0 (2023-07-13) (**YANKED**) - **BREAKING** The `TagTrait` was enhanced and now has an associated `ID` constant. This is only breaking to users that used `BootInformation::get_tag` @@ -143,14 +147,14 @@ release and you'll be fine!** - Better debug output of `BootInformation` and `MemoryArea` - Internal code cleanup. -## 0.17.0 (2023-07-12) +## 0.17.0 (2023-07-12) (**YANKED**) - **BREAKING** Make functions of `InformationBuilder` chainable. They now consume the builder. - **BREAKING** Allow non-standard memory area types by using new pair of corresponding types: `MemoryAreaTypeId` and `MemoryAreaType`. -## 0.16.0 (2023-06-23) +## 0.16.0 (2023-06-23) (**YANKED**) - **BREAKING** renamed `MULTIBOOT2_BOOTLOADER_MAGIC` to `MAGIC` - **BREAKING** `EFIMemoryDesc` was removed and is now an alias of @@ -188,7 +192,7 @@ release and you'll be fine!** - added `BootInformation::load` as new default constructor - added `MemoryMapTag::entry_size` and `MemoryMapTag::entry_version` -## 0.15.1 (2023-03-18) +## 0.15.1 (2023-03-18) (**YANKED**) - **BREAKING** `MemoryMapTag::all_memory_areas()` was renamed to `memory_areas` and now returns `MemoryAreaIter` instead of @@ -203,7 +207,7 @@ release and you'll be fine!** value. This prevents possible panics. - fix: prevent a possible panic in `ElfSection::section_type()` -## 0.15.0 (2023-03-17) +## 0.15.0 (2023-03-17) (**YANKED**) - **BREAKING** MSRV is 1.56.1 - **BREAKING** fixed lifetime issues: `VBEInfoTag` is no longer `&static` @@ -225,7 +229,7 @@ release and you'll be fine!** (check docs.rs). There is also a small unit test that you can use to learn from. -## 0.14.2 (2023-03-17) +## 0.14.2 (2023-03-17) (**YANKED**) - documentation fixes - `MbiLoadError` now implements `Display` @@ -233,14 +237,14 @@ release and you'll be fine!** With this feature, `MbiLoadError` now implements `core::error::Error` and can be used with `anyhow::Result` for example. -## 0.14.1 (2023-03-09) +## 0.14.1 (2023-03-09) (**YANKED**) - fixed the calculation of the last area of the memory map tag ([#119](https://github.com/rust-osdev/multiboot2/pull/119)) (Previously, iterating the EFI Memory map resulted in a superfluous entry as it ran over the next tag) -## 0.14.0 (2022-06-30) +## 0.14.0 (2022-06-30) (**YANKED**) - **BREAKING CHANGES** \ This version includes a few small breaking changes that brings more safety @@ -256,26 +260,26 @@ release and you'll be fine!** - `RsdpV2Tag::oem_id` now returns a Result instead of an Option - internal code improvements -## 0.13.3 (2022-06-03) +## 0.13.3 (2022-06-03) (**YANKED**) - impl `Send` for `BootInformation` -## 0.13.2 (2022-05-02) +## 0.13.2 (2022-05-02) (**YANKED**) - `TagType` now implements `Ord` so that it can be used in `BTreeSet` - small internal improvements and restructuring of the code (no breaking changes to public API) -## 0.13.1 (2022-01-09) +## 0.13.1 (2022-01-09) (**YANKED**) - minor fix -## 0.13.0 (**yanked**) +## 0.13.0 (**YANKED**) - added missing getters for tag `ImageLoadPhysAddr` - added missing getters for tags `EFIImageHandle32` and `EFIImageHandle64` -## 0.12.2 (2021-10-02) +## 0.12.2 (2021-10-02) (**YANKED**) - `TagType` now implements `Eq` and `Hash` - internal improvements @@ -288,19 +292,19 @@ release and you'll be fine!** - prepared co-existence of crates `multiboot2` and `multiboot2-header` in a Cargo workspace inside the same repository -## 0.12.1 (2021-08-11) +## 0.12.1 (2021-08-11) (**YANKED**) - `TagType`-enum introduced in `v0.11` is now actually public - internal code improvements -## 0.12.0 (2021-08-06) +## 0.12.0 (2021-08-06) (**YANKED**) - **breaking:** `load()` and `load_with_offset` now returns a result - added public constant `MULTIBOOT2_BOOTLOADER_MAGIC` - Rust edition 2018 (instead of 2015) - internal code improvements -## 0.11.0 (2021-07-07) +## 0.11.0 (2021-07-07) (**YANKED**) - **breaking:** iterator functions (e.g. `ElfSectionsTag::sections()`) return `impl Iterator` instead of a concrete type @@ -309,7 +313,7 @@ release and you'll be fine!** - much improved debug-formatting of `BootInformation` - internal code improvements / formatting -## 0.10.0 (2020-11-03) +## 0.10.0 (2020-11-03) (**YANKED**) - allow access to all memory regions (MemoryMap-Tag) - internal code improvements