Skip to content

Commit 3c9d2d4

Browse files
committed
Add changelog for rust-osdev projects
1 parent 4d32ef0 commit 3c9d2d4

File tree

1 file changed

+131
-0
lines changed

1 file changed

+131
-0
lines changed

content/this-month/2024-04/index.md

Lines changed: 131 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,137 @@ In this section, we give an overview of notable changes to the projects hosted u
7070
<<changelog, either in list or text form>>
7171
-->
7272

73+
### [`volatile`](https://github.com/rust-osdev/volatile)
74+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp)</span>
75+
76+
The `volatile` crate provides a safe wrapper type for implementing volatile read and write operations. This is useful for accessing memory regions that have side-effects, such as memory-mapped hardware registers.
77+
78+
We merged the following PRs this month:
79+
80+
- [Add `VolatileRef::restrict` and `VolatilePtr::restrict`](https://github.com/rust-osdev/volatile/pull/47)
81+
- [Add `VolatileRef::borrow` and `VolatileRef::borrow_mut`](https://github.com/rust-osdev/volatile/pull/46)
82+
- [docs: remove unused `NonNull` imports](https://github.com/rust-osdev/volatile/pull/48)
83+
- [Add support for nested `map_field` operations](https://github.com/rust-osdev/volatile/pull/50)
84+
- [Add `#[derive(VolatileFieldAccess)]` for easy, access-limited field-based access to structs](https://github.com/rust-osdev/volatile/pull/49)
85+
- [fix(Cargo.toml): add categories](https://github.com/rust-osdev/volatile/pull/52)
86+
- [ci: migrate away from unmaintained actions](https://github.com/rust-osdev/volatile/pull/51)
87+
- [Enable all features and `doc_auto_cfg` on docs.rs](https://github.com/rust-osdev/volatile/pull/55)
88+
- [Release v0.5.3](https://github.com/rust-osdev/volatile/pull/53)
89+
- [Fix warnings and deny warnings in CI](https://github.com/rust-osdev/volatile/pull/56)
90+
- [fix(macro): support `#[repr(align(N))]`](https://github.com/rust-osdev/volatile/pull/57)
91+
- [fix(access): properly seal access traits](https://github.com/rust-osdev/volatile/pull/59)
92+
- [Release v0.5.4](https://github.com/rust-osdev/volatile/pull/62)
93+
- [Add a semver checks CI job](https://github.com/rust-osdev/volatile/pull/63)
94+
- [feat: introduce `RestrictAccess<To>` and generalize `restrict` to all access types](https://github.com/rust-osdev/volatile/pull/60)
95+
- [feat: implement derive macro for all access types](https://github.com/rust-osdev/volatile/pull/61)
96+
- [fix: add `#[must_use]` to volatile types, `read`, and `as_raw_ptr`](https://github.com/rust-osdev/volatile/pull/58)
97+
98+
Thanks to [@mkroening](https://github.com/mkroening) for their contributions!
99+
100+
### [`uefi-rs`](https://github.com/rust-osdev/uefi-rs)
101+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
102+
103+
The `uefi-rs` crate provides safe and performant wrappers for [UEFI](https://en.wikipedia.org/wiki/Unified_Extensible_Firmware_Interface), the successor to the BIOS. We merged the following PRs this month:
104+
105+
- [Add timestamp protocol](https://github.com/rust-osdev/uefi-rs/pull/1109)
106+
- [Replace some `as` casts](https://github.com/rust-osdev/uefi-rs/pull/1108)
107+
- [uefi: Add UnalignedSlice::as_ptr](https://github.com/rust-osdev/uefi-rs/pull/1117)
108+
- [Add device path text protocols to uefi-raw and re-use in uefi](https://github.com/rust-osdev/uefi-rs/pull/1118)
109+
- [uefi-services: Fix warning with `--no-default-features`](https://github.com/rust-osdev/uefi-rs/pull/1119)
110+
- [uefi: Add more derives for Handle and Event](https://github.com/rust-osdev/uefi-rs/pull/1120)
111+
- [misc: nix/niv updates and typo updates](https://github.com/rust-osdev/uefi-rs/pull/1125)
112+
- [doc: update fs documentation](https://github.com/rust-osdev/uefi-rs/pull/1126)
113+
- [doc: update README](https://github.com/rust-osdev/uefi-rs/pull/1127)
114+
- [Deprecate `uefi-services` and add `uefi::helpers` as replacement](https://github.com/rust-osdev/uefi-rs/pull/1128)
115+
- [Fix some warnings, and ensure CI catches them in the future](https://github.com/rust-osdev/uefi-rs/pull/1134)
116+
- [release: uefi-raw-0.5.2, uefi-0.28.0, uefi-services-0.25.0](https://github.com/rust-osdev/uefi-rs/pull/1140)
117+
- [build(deps): bump rustls from 0.22.2 to 0.22.4](https://github.com/rust-osdev/uefi-rs/pull/1142)
118+
- [Nuke uefi services from repository](https://github.com/rust-osdev/uefi-rs/pull/1141)
119+
- [[Misc] Add ResetNotification protocol. Add Misc to uefi-test-runner.](https://github.com/rust-osdev/uefi-rs/pull/1116)
120+
- [Minor import/export cleanups](https://github.com/rust-osdev/uefi-rs/pull/1144)
121+
- [uefi: Drop the panic-on-logger-errors feature](https://github.com/rust-osdev/uefi-rs/pull/1143)
122+
- [Replace `cstr16!` with a declarative macro](https://github.com/rust-osdev/uefi-rs/pull/1145)
123+
- [Replace `cstr8!` with a declarative macro](https://github.com/rust-osdev/uefi-rs/pull/1151)
124+
- [Remove xtask from MSRV build and update clap](https://github.com/rust-osdev/uefi-rs/pull/1152)
125+
126+
<!-- - [fix(deps): update rust crate serde_json to v1.0.115](https://github.com/rust-osdev/uefi-rs/pull/1111) -->
127+
<!-- - [chore(deps): update rust crate trybuild to v1.0.91](https://github.com/rust-osdev/uefi-rs/pull/1110) -->
128+
<!-- - [fix(deps): update rust crate syn to v2.0.57](https://github.com/rust-osdev/uefi-rs/pull/1112) -->
129+
<!-- - [chore(deps): update rust crate bitflags to v2.5.0](https://github.com/rust-osdev/uefi-rs/pull/1113) -->
130+
<!-- - [fix(deps): update rust crate ucs2 to v0.3.3](https://github.com/rust-osdev/uefi-rs/pull/1122) -->
131+
<!-- - [fix(deps): update rust crate syn to v2.0.58](https://github.com/rust-osdev/uefi-rs/pull/1121) -->
132+
<!-- - [chore(deps): update crate-ci/typos action to v1.20.8](https://github.com/rust-osdev/uefi-rs/pull/1132) -->
133+
<!-- - [fix(deps): update rust crate anyhow to v1.0.82](https://github.com/rust-osdev/uefi-rs/pull/1133) -->
134+
<!-- - [fix(deps): update rust crate quote to v1.0.36](https://github.com/rust-osdev/uefi-rs/pull/1136) -->
135+
<!-- - [fix(deps): update rust crate proc-macro2 to v1.0.80](https://github.com/rust-osdev/uefi-rs/pull/1135) -->
136+
<!-- - [chore(deps): update crate-ci/typos action to v1.20.9](https://github.com/rust-osdev/uefi-rs/pull/1146) -->
137+
<!-- - [fix(deps): update rust crate proc-macro2 to v1.0.81](https://github.com/rust-osdev/uefi-rs/pull/1147) -->
138+
<!-- - [fix(deps): update rust crate syn to v2.0.60](https://github.com/rust-osdev/uefi-rs/pull/1149) -->
139+
<!-- - [fix(deps): update rust crate serde_json to v1.0.116](https://github.com/rust-osdev/uefi-rs/pull/1148) -->
140+
<!-- - [chore(deps): lock file maintenance](https://github.com/rust-osdev/uefi-rs/pull/1150) -->
141+
<!-- - [chore(deps): update crate-ci/typos action to v1.20.10](https://github.com/rust-osdev/uefi-rs/pull/1153) -->
142+
<!-- - [fix(deps): update rust crate ureq to v2.9.7](https://github.com/rust-osdev/uefi-rs/pull/1154) -->
143+
144+
Thanks to [@sky5454](https://github.com/sky5454) for their contributions!
145+
146+
### [`ucs2-rs`](https://github.com/rust-osdev/ucs2-rs)
147+
<span class="maintainers">Maintained by [@GabrielMajeri](https://github.com/GabrielMajeri), [@nicholasbishop](https://github.com/nicholasbishop), and [@phip1611](https://github.com/phip1611)</span>
148+
149+
- [Add `ucs2_cstr!` macro](https://github.com/rust-osdev/ucs2-rs/pull/21)
150+
- [release: 0.3.3](https://github.com/rust-osdev/ucs2-rs/pull/22)
151+
152+
153+
### [`acpi`](https://github.com/rust-osdev/acpi)
154+
<span class="maintainers">Maintained by [@IsaacWoods](https://github.com/IsaacWoods)</span>
155+
156+
The `acpi` repository contains crates for parsing the ACPI tables – data structures that the firmware of modern computers use to relay information about the hardware to the OS. We merged the following changes this month:
157+
158+
- [AML: Allow Field in ToInteger (rebased)](https://github.com/rust-osdev/acpi/pull/213)
159+
160+
Thanks to [@rw-vanc](https://github.com/rw-vanc) for their contribution!
161+
162+
163+
### [`x86_64`](https://github.com/rust-osdev/x86_64)
164+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp), [@josephlr](https://github.com/orgs/rust-osdev/people/josephlr), and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
165+
166+
The `x86_64` crate provides various abstractions for `x86_64` systems, including wrappers for CPU instructions, access to processor-specific registers, and abstraction types for architecture-specific structures such as page tables and descriptor tables.
167+
168+
We merged the following PRs this month:
169+
170+
- [docs: fix and detect warnings](https://github.com/rust-osdev/x86_64/pull/475)
171+
- [docs: add aliases for `in{,b,w,l}` and `out{,b,w,l}`](https://github.com/rust-osdev/x86_64/pull/474)
172+
- [ci: migrate away from unmaintained actions](https://github.com/rust-osdev/x86_64/pull/478)
173+
- [chore: migrate from legacy `rust-toolchain` to `rust-toolchain.toml`](https://github.com/rust-osdev/x86_64/pull/479)
174+
- [test: replace `x86_64-bare-metal.json` with `x86_64-unknown-none`](https://github.com/rust-osdev/x86_64/pull/477)
175+
- [fix and detect warnings](https://github.com/rust-osdev/x86_64/pull/476)
176+
- [CI: Set `-Crelocation-model=static` in `RUSTFLAGS` for bootloader test job](https://github.com/rust-osdev/x86_64/pull/480)
177+
- [silence warning about cast](https://github.com/rust-osdev/x86_64/pull/482)
178+
- [Only enable instructions on `x86_64`](https://github.com/rust-osdev/x86_64/pull/483)
179+
180+
Thanks to [@mkroening](https://github.com/mkroening) for their contributions!
181+
182+
183+
### [`bootloader`](https://github.com/rust-osdev/bootloader)
184+
<span class="maintainers">Maintained by [@phil-opp](https://github.com/phil-opp) and [@Freax13](https://github.com/orgs/rust-osdev/people/Freax13)</span>
185+
186+
The `bootloader` crate implements a custom Rust-based bootloader for easy loading of 64-bit ELF executables. This month, we merged the following improvements:
187+
188+
- [CI: Fix macOS errors](https://github.com/rust-osdev/bootloader/pull/435)
189+
- [[v0.9] Silence dead code warning](https://github.com/rust-osdev/bootloader/pull/436)
190+
- [[v0.9] Rename `.cargo/config` to `.cargo/config.toml`](https://github.com/rust-osdev/bootloader/pull/437)
191+
192+
193+
### [`multiboot2`](https://github.com/rust-osdev/multiboot2)
194+
<span class="maintainers">Maintained by [@phip1611](https://github.com/phip1611)</span>
195+
196+
The `multiboot2` crate provides abstraction types for the multiboot information structure (MBI) of multiboot2 bootloaders. We merged the following changes this month:
197+
198+
- [misc: various improvements](https://github.com/rust-osdev/multiboot2/pull/208)
199+
<!-- - [build(deps): bump crate-ci/typos from 1.16.26 to 1.19.0](https://github.com/rust-osdev/multiboot2/pull/206)
200+
- [build(deps): bump cachix/install-nix-action from 24 to 26](https://github.com/rust-osdev/multiboot2/pull/207)
201+
- [build(deps): bump actions/cache from 3 to 4](https://github.com/rust-osdev/multiboot2/pull/200) -->
202+
203+
73204
## Other Projects
74205

75206
In this section, we describe updates to Rust OS projects that are not directly related to the `rust-osdev` organization. Feel free to [create a pull request](https://github.com/rust-osdev/homepage/pulls) with the updates of your OS project for the next post.

0 commit comments

Comments
 (0)