|
1 | 1 | # CHANGELOG for crate `multiboot2`
|
2 | 2 |
|
| 3 | +## Unreleased |
| 4 | + |
| 5 | +- added `InformationBuilder::default()` |
| 6 | + |
3 | 7 | ## 0.19.0 (2023-09-21)
|
| 8 | + |
4 | 9 | - **BREAKING** MSRV is 1.69.0
|
5 | 10 | - **BREAKING** `Tag::get_dst_str_slice` renamed to
|
6 | 11 | `Tag::parse_slice_as_string` and now returns `Result<&str, StringError>`
|
|
14 | 19 | `add_tag` was introduced for that.
|
15 | 20 |
|
16 | 21 | ## 0.18.1 (2023-07-13)
|
| 22 | + |
17 | 23 | - Documentation improvements
|
18 | 24 |
|
19 | 25 | ## 0.18.0 (2023-07-13)
|
| 26 | + |
20 | 27 | - **BREAKING** The `TagTrait` was enhanced and now has an associated `ID`
|
21 | 28 | constant. This is only breaking to users that used `BootInformation::get_tag`
|
22 | 29 | or that implement custom tags. `BootInformation::get_tag` doesn't need the
|
|
37 | 44 | - Internal code cleanup.
|
38 | 45 |
|
39 | 46 | ## 0.17.0 (2023-07-12)
|
40 |
| -- **BREAKING** Make functions of `InformationBuilder` chainable. They now consume the builder. |
| 47 | + |
| 48 | +- **BREAKING** Make functions of `InformationBuilder` chainable. They now |
| 49 | + consume the builder. |
41 | 50 | - **BREAKING** Allow non-standard memory area types by using new pair of
|
42 | 51 | corresponding types: `MemoryAreaTypeId` and `MemoryAreaType`.
|
43 | 52 |
|
44 | 53 | ## 0.16.0 (2023-06-23)
|
| 54 | + |
45 | 55 | - **BREAKING** renamed `MULTIBOOT2_BOOTLOADER_MAGIC` to `MAGIC`
|
46 | 56 | - **BREAKING** `EFIMemoryDesc` was removed and is now an alias of
|
47 | 57 | `uefi_raw::table::boot::MemoryDescriptor`
|
48 | 58 | - **BREAKING** `EFIMemoryAreaType` was removed and is now an alias of
|
49 | 59 | `uefi_raw::table::boot::MemoryType`
|
50 | 60 | - **BREAKING** MSRV is 1.68.0
|
51 |
| -- **BREAKING** Removed `MemoryAreaIter` and `MemoryMapTag::available_memory_areas` |
52 |
| -- **BREAKING** Renamed `BootInformation::load_base_addr` to `BootInformation::load_base_addr_tag` |
53 |
| -- **BREAKING** Renamed `BootInformation::efi_32_ih` to `BootInformation::efi_32_ih_tag` |
54 |
| -- **BREAKING** Renamed `BootInformation::efi_32_ih` to `BootInformation::efi_32_ih_tag` |
| 61 | +- **BREAKING** Removed `MemoryAreaIter` |
| 62 | + and `MemoryMapTag::available_memory_areas` |
| 63 | +- **BREAKING** Renamed `BootInformation::load_base_addr` |
| 64 | + to `BootInformation::load_base_addr_tag` |
| 65 | +- **BREAKING** Renamed `BootInformation::efi_32_ih` |
| 66 | + to `BootInformation::efi_32_ih_tag` |
| 67 | +- **BREAKING** Renamed `BootInformation::efi_32_ih` |
| 68 | + to `BootInformation::efi_32_ih_tag` |
55 | 69 | - **BREAKING** Renamed `ImageLoadPhysAddr` to `ImageLoadPhysAddrTag`
|
56 | 70 | - **BREAKING** Renamed `EFIImageHandle32` to `EFIImageHandle32Tag`
|
57 | 71 | - **BREAKING** Renamed `EFIImageHandle64` to `EFIImageHandle64Tag`
|
58 | 72 | - **BREAKING** Renamed `EFISdt32` to `EFISdt32Tag`
|
59 | 73 | - **BREAKING** Renamed `EFISdt64` to `EFISdt64Tag`
|
60 |
| -- **BREAKING** Renamed `EFIBootServicesNotExited` to `EFIBootServicesNotExitedTag` |
61 |
| -- **BREAKING** Renamed `CommandLineTag::command_line` renamed to `CommandLineTag::cmdline` |
62 |
| -- **\[Might be\] BREAKING** Added `TagTrait` trait which enables to use DSTs as multiboot2 tags. This is |
| 74 | +- **BREAKING** Renamed `EFIBootServicesNotExited` |
| 75 | + to `EFIBootServicesNotExitedTag` |
| 76 | +- **BREAKING** Renamed `CommandLineTag::command_line` renamed |
| 77 | + to `CommandLineTag::cmdline` |
| 78 | +- **\[Might be\] BREAKING** Added `TagTrait` trait which enables to use DSTs as |
| 79 | + multiboot2 tags. This is |
63 | 80 | mostly relevant for the command line tag, the modules tag, and the bootloader
|
64 | 81 | name tag. However, this might also be relevant for users of custom multiboot2
|
65 | 82 | tags that use DSTs as types. See the example provided in the doc of the
|
|
72 | 89 | - added `MemoryMapTag::entry_size` and `MemoryMapTag::entry_version`
|
73 | 90 |
|
74 | 91 | ## 0.15.1 (2023-03-18)
|
| 92 | + |
75 | 93 | - **BREAKING** `MemoryMapTag::all_memory_areas()` was renamed to `memory_areas`
|
76 | 94 | and now returns `MemoryAreaIter` instead of
|
77 | 95 | `impl Iterator<Item = &MemoryArea>`. Experience showed that its better to
|
|
86 | 104 | - fix: prevent a possible panic in `ElfSection::section_type()`
|
87 | 105 |
|
88 | 106 | ## 0.15.0 (2023-03-17)
|
| 107 | + |
89 | 108 | - **BREAKING** MSRV is 1.56.1
|
90 | 109 | - **BREAKING** fixed lifetime issues: `VBEInfoTag` is no longer `&static`
|
91 | 110 | - **BREAKING:** `TagType` is now split into `TagTypeId` and `TagType`
|
92 |
| - - `TagTypeId` is a binary-compatible form of a Multiboot2 tag id |
93 |
| - - `TagType` is a higher-level abstraction for either specified or custom tags |
94 |
| - but not ABI compatible. |
95 |
| - - There exists a seamless integration between `u32`, `TagType`, and |
96 |
| - `TagTypeId` via `From` and `PartialEq`-implementations. |
| 111 | + - `TagTypeId` is a binary-compatible form of a Multiboot2 tag id |
| 112 | + - `TagType` is a higher-level abstraction for either specified or custom |
| 113 | + tags |
| 114 | + but not ABI compatible. |
| 115 | + - There exists a seamless integration between `u32`, `TagType`, and |
| 116 | + `TagTypeId` via `From` and `PartialEq`-implementations. |
97 | 117 | - fixed another internal lifetime issue
|
98 | 118 | - `BootInformation::framebuffer_tag()` now returns
|
99 | 119 | `Option<Result<FramebufferTag, UnknownFramebufferType>>` instead of
|
|
106 | 126 | from.
|
107 | 127 |
|
108 | 128 | ## 0.14.2 (2023-03-17)
|
| 129 | + |
109 | 130 | - documentation fixes
|
110 | 131 | - `MbiLoadError` now implements `Display`
|
111 | 132 | - Added the `unstable` feature, which enables nightly-only functionality.
|
112 | 133 | With this feature, `MbiLoadError` now implements `core::error::Error` and can
|
113 | 134 | be used with `anyhow::Result` for example.
|
114 | 135 |
|
115 | 136 | ## 0.14.1 (2023-03-09)
|
116 |
| -- fixed the calculation of the last area of the memory map tag ([#119](https://github.com/rust-osdev/multiboot2/pull/119)) |
117 |
| - (Previously, iterating the EFI Memory map resulted in a superfluous entry as it ran over the next tag) |
| 137 | + |
| 138 | +- fixed the calculation of the last area of the memory map |
| 139 | + tag ([#119](https://github.com/rust-osdev/multiboot2/pull/119)) |
| 140 | + (Previously, iterating the EFI Memory map resulted in a superfluous entry as |
| 141 | + it ran over the next tag) |
118 | 142 |
|
119 | 143 | ## 0.14.0 (2022-06-30)
|
| 144 | + |
120 | 145 | - **BREAKING CHANGES** \
|
121 |
| - This version includes a few small breaking changes that brings more safety when parsing strings from the |
| 146 | + This version includes a few small breaking changes that brings more safety |
| 147 | + when parsing strings from the |
122 | 148 | multiboot information structure.
|
123 |
| - - `BootLoaderNameTag::name` now returns a Result instead of just the value |
124 |
| - - `CommandLineTag::command_line` now returns a Result instead of just the value |
125 |
| - - `ModuleTag::cmdline` now returns a Result instead of just the value |
126 |
| - - `RsdpV1Tag::signature` now returns a Result instead of an Option |
127 |
| - - `RsdpV1Tag::oem_id` now returns a Result instead of an Option |
128 |
| - - `RsdpV2Tag::signature` now returns a Result instead of an Option |
129 |
| - - `RsdpV2Tag::oem_id` now returns a Result instead of an Option |
| 149 | + - `BootLoaderNameTag::name` now returns a Result instead of just the value |
| 150 | + - `CommandLineTag::command_line` now returns a Result instead of just the |
| 151 | + value |
| 152 | + - `ModuleTag::cmdline` now returns a Result instead of just the value |
| 153 | + - `RsdpV1Tag::signature` now returns a Result instead of an Option |
| 154 | + - `RsdpV1Tag::oem_id` now returns a Result instead of an Option |
| 155 | + - `RsdpV2Tag::signature` now returns a Result instead of an Option |
| 156 | + - `RsdpV2Tag::oem_id` now returns a Result instead of an Option |
130 | 157 | - internal code improvements
|
131 | 158 |
|
132 | 159 | ## 0.13.3 (2022-06-03)
|
| 160 | + |
133 | 161 | - impl `Send` for `BootInformation`
|
134 | 162 |
|
135 | 163 | ## 0.13.2 (2022-05-02)
|
| 164 | + |
136 | 165 | - `TagType` now implements `Ord` so that it can be used in `BTreeSet`
|
137 |
| -- small internal improvements and restructuring of the code (no breaking changes to public API) |
| 166 | +- small internal improvements and restructuring of the code (no breaking changes |
| 167 | + to public API) |
138 | 168 |
|
139 | 169 | ## 0.13.1 (2022-01-09)
|
| 170 | + |
140 | 171 | - minor fix
|
141 | 172 |
|
142 | 173 | ## 0.13.0 (**yanked**)
|
| 174 | + |
143 | 175 | - added missing getters for tag `ImageLoadPhysAddr`
|
144 | 176 | - added missing getters for tags `EFIImageHandle32` and `EFIImageHandle64`
|
145 | 177 |
|
146 | 178 | ## 0.12.2 (2021-10-02)
|
| 179 | + |
147 | 180 | - `TagType` now implements `Eq` and `Hash`
|
148 | 181 | - internal improvements
|
149 |
| - - `std` can be used in tests; the crate is still `no_std` |
150 |
| - - this implies that `cargo test` doesn't work on "non-standard" targets |
151 |
| - - CI (Ubuntu) still works. |
152 |
| - - code formatting/style |
153 |
| - - sensible style checks as optional CI job |
154 |
| - - `.editorconfig` file |
155 |
| - - prepared co-existence of crates `multiboot2` and `multiboot2-header` |
156 |
| - in a Cargo workspace inside the same repository |
| 182 | + - `std` can be used in tests; the crate is still `no_std` |
| 183 | + - this implies that `cargo test` doesn't work on "non-standard" targets |
| 184 | + - CI (Ubuntu) still works. |
| 185 | + - code formatting/style |
| 186 | + - sensible style checks as optional CI job |
| 187 | + - `.editorconfig` file |
| 188 | + - prepared co-existence of crates `multiboot2` and `multiboot2-header` |
| 189 | + in a Cargo workspace inside the same repository |
157 | 190 |
|
158 | 191 | ## 0.12.1 (2021-08-11)
|
| 192 | + |
159 | 193 | - `TagType`-enum introduced in `v0.11` is now actually public
|
160 | 194 | - internal code improvements
|
161 | 195 |
|
162 | 196 | ## 0.12.0 (2021-08-06)
|
| 197 | + |
163 | 198 | - **breaking:** `load()` and `load_with_offset` now returns a result
|
164 | 199 | - added public constant `MULTIBOOT2_BOOTLOADER_MAGIC`
|
165 | 200 | - Rust edition 2018 (instead of 2015)
|
166 | 201 | - internal code improvements
|
167 | 202 |
|
168 | 203 | ## 0.11.0 (2021-07-07)
|
169 | 204 |
|
170 |
| -- **breaking:** iterator functions (e.g. `ElfSectionsTag::sections()`) return `impl Iterator` instead of a concrete type |
| 205 | +- **breaking:** iterator functions (e.g. `ElfSectionsTag::sections()`) |
| 206 | + return `impl Iterator` instead of a concrete type |
171 | 207 | - lib now contains `TagType`-enum that contains
|
172 | 208 | all possible mbi tags that are specified (taken from spec)
|
173 | 209 | - much improved debug-formatting of `BootInformation`
|
174 | 210 | - internal code improvements / formatting
|
175 | 211 |
|
176 | 212 | ## 0.10.0 (2020-11-03)
|
| 213 | + |
177 | 214 | - allow access to all memory regions (MemoryMap-Tag)
|
178 | 215 | - internal code improvements
|
179 | 216 |
|
180 | 217 | ## 0.9.0 (2020-07-06)
|
181 | 218 |
|
182 |
| -- Add a `checksum_is_valid` method to the RSDP tags ([#64](https://github.com/rust-osdev/multiboot2/pull/64)) |
| 219 | +- Add a `checksum_is_valid` method to the RSDP |
| 220 | + tags ([#64](https://github.com/rust-osdev/multiboot2/pull/64)) |
183 | 221 |
|
184 | 222 | ## 0.8.2 (2022-03-02)
|
185 | 223 |
|
186 |
| -- Add some basic documentation ([#62](https://github.com/rust-osdev/multiboot2/pull/62)) |
187 |
| -- Add MemoryAreaType, to allow users to access memory area types in a type-safe way ([#61](https://github.com/rust-osdev/multiboot2/pull/61)) |
| 224 | +- Add some basic |
| 225 | + documentation ([#62](https://github.com/rust-osdev/multiboot2/pull/62)) |
| 226 | +- Add MemoryAreaType, to allow users to access memory area types in a type-safe |
| 227 | + way ([#61](https://github.com/rust-osdev/multiboot2/pull/61)) |
0 commit comments