Skip to content

Commit f1b1914

Browse files
committed
0.11.2
1 parent 0a33099 commit f1b1914

File tree

3 files changed

+80
-60
lines changed

3 files changed

+80
-60
lines changed

CHANGELOG.md

Lines changed: 76 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -7,144 +7,164 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
[//]: # (methinks 1.0.0 soon? maybe im getting ahead of myself though)
99

10-
## [Unreleased]
10+
## Unreleased
11+
12+
---
13+
14+
## [0.11.2] - 2026-02-15
1115

1216
### Added
1317

14-
- `ffi::c_alloc::MIN_ALIGN`, the current platform's minimum guaranteed alignment returned by implicitly aligned allocation functions
18+
* `ffi::c_alloc::MIN_ALIGN`, the current platform's minimum guaranteed alignment returned by implicitly aligned allocation functions
1519

1620
### Changed
1721

18-
- `CAlloc` now uses `malloc`/`calloc` when possible instead of explicitly aligned allocation functions
22+
* `CAlloc` now uses `malloc`/`calloc` when possible instead of explicitly aligned allocation functions
1923

2024
### Fixed
2125

22-
- Crate compiles on Windows with the `c_alloc` feature
23-
- The return code of `posix_memalign` is now handled properly.
26+
* Crate compiles on Windows with the `c_alloc` feature
27+
* The return code of `posix_memalign` is now handled properly.
28+
29+
---
2430

25-
## [0.11.1] - 2026-02-16
31+
## [0.11.1] - 2026-02-14
2632

2733
### Changed
2834

29-
- Switch `CAlloc` from using `aligned_alloc` on unix to `posix_memalign`
35+
* Switch `CAlloc` from using `aligned_alloc` on unix to `posix_memalign`
3036

31-
## [0.11.0] - 2026-02-15
37+
---
38+
39+
## [0.11.0] - 2026-02-14
3240

3341
### Changed
3442

35-
- Rename shared `AllocErrorType` trait to `AllocError`
36-
- Remove most public re-exports and non-modules from the main crate in favor of a `prelude` module
37-
- `no_alloc` feature now just switches to using the `std` crate if both features are enabled
43+
* Rename shared `AllocErrorType` trait to `AllocError`
44+
* Remove most public re-exports and non-modules from the main crate in favor of a `prelude` module
45+
* `no_alloc` feature now just switches to using the `std` crate if both features are enabled
46+
47+
---
3848

3949
## [0.10.0] - 2026-02-11
4050

4151
### Added
4252

43-
- `AllocErrorType` trait shared between `alloc_mut` and `alloc` traits
44-
- `Error::Unsupported` variant for unsupported operations
53+
* `AllocErrorType` trait shared between `alloc_mut` and `alloc` traits
54+
* `Error::Unsupported` variant for unsupported operations
4555

4656
### Changed
4757

48-
- Minimize main crate surface
49-
- Remove `alloc_mut_traits` feature, make `alloc_mut` traits required
58+
* Minimize main crate surface
59+
* Remove `alloc_mut_traits` feature, make `alloc_mut` traits required
60+
61+
---
5062

5163
## [0.9.4] - 2026-02-06
5264

5365
### Changed
5466

55-
- `Dealloc` traits' fallible functions now treat zero-sized layouts and dangling pointers as a hard
67+
* `Dealloc` traits' fallible functions now treat zero-sized layouts and dangling pointers as a hard
5668
error
57-
- `Dealloc` traits' fallible functions are now a noop for ZSLs and dangling pointers
58-
- All other allocation functions now treat ZSLs as an error
69+
* `Dealloc` traits' fallible functions are now a noop for ZSLs and dangling pointers
70+
* All other allocation functions now treat ZSLs as an error
5971

6072
### Added
6173

62-
- Added `Layout::array_unchecked` constructor
74+
* Added `Layout::array_unchecked` constructor
75+
76+
---
6377

6478
## [0.9.2] - 2026-02-03
6579

6680
### Fixed
6781

68-
- `StackAlloc` catching unwinds if `catch_unwind` feature is enabled even if the `C-unwind` ABI is
82+
* `StackAlloc` catching unwinds if `catch_unwind` feature is enabled even if the `C-unwind` ABI is
6983
available
7084

85+
---
86+
7187
## [0.9.1] - 2026-02-03
7288

7389
### Added
7490

75-
- Generic `Error` type in all allocation traits
91+
* Generic `Error` type in all allocation traits
7692

7793
### Fixed
7894

79-
- crates.io build failing due to lack of stdbool.h header
95+
* crates.io build failing due to lack of stdbool.h header
96+
97+
---
8098

8199
## [0.9.0] - 2026-02-01
82100

83101
### Added
84102

85-
- `AllocMut`, `DeallocMut`, `GrowMut`, `ShrinkMut`, and `ReallocMut` traits behind
103+
* `AllocMut`, `DeallocMut`, `GrowMut`, `ShrinkMut`, and `ReallocMut` traits behind
86104
`alloc_mut_traits` for allocation operations requiring mutable access to the allocator
87-
- `AllocTemp` trait for short-lived, scoped allocations behind `alloc_temp_trait`
88-
- `Dealloc::try_dealloc` and `DeallocMut::try_dealloc_mut` for fallible deallocation operations
89-
- `StackAlloc` scoped allocator based on C's `alloca` behind `stack_alloc` feature
90-
- `Layout::is_zero_sized` and `Layout::is_nonzero_sized` convenience methods
91-
- Support for `no_std::no_alloc` environments behind `no_alloc` feature
92-
- README.md and this CHANGELOG.md
105+
* `AllocTemp` trait for short-lived, scoped allocations behind `alloc_temp_trait`
106+
* `Dealloc::try_dealloc` and `DeallocMut::try_dealloc_mut` for fallible deallocation operations
107+
* `StackAlloc` scoped allocator based on C's `alloca` behind `stack_alloc` feature
108+
* `Layout::is_zero_sized` and `Layout::is_nonzero_sized` convenience methods
109+
* Support for `no_std::no_alloc` environments behind `no_alloc` feature
110+
* README.md and this CHANGELOG.md
93111

94112
### Changed
95113

96-
- Renamed `round_up_checked` helper to `align_up_checked` to better reflect its purpose
97-
- Renamed `c_alloc::ffi::aligned_zalloc` to `c_zalloc`
114+
* Renamed `round_up_checked` helper to `align_up_checked` to better reflect its purpose
115+
* Renamed `c_alloc::ffi::aligned_zalloc` to `c_zalloc`
98116

99117
### Fixed
100118

101-
- `CAlloc` deallocation behavior with zero-sized layouts
102-
- `CAlloc` rounding up layout size for compatibility before checking for a zero-sized request
119+
* `CAlloc` deallocation behavior with zero-sized layouts
120+
* `CAlloc` rounding up layout size for compatibility before checking for a zero-sized request
103121

104122
### Removed
105123

106-
- `alloc_then` helper
107-
- `usize_bit` helper
108-
- `check_ptr_overlap` helper
109-
- `zsl_check` helper
110-
- `ZeroSizedLayout(NonNull<u8>)` error in favor of just returning a dangling pointer
124+
* `alloc_then` helper
125+
* `usize_bit` helper
126+
* `check_ptr_overlap` helper
127+
* `zsl_check` helper
128+
* `ZeroSizedLayout(NonNull<u8>)` error in favor of just returning a dangling pointer
129+
130+
---
111131

112132
## [0.8.1] - 2026-01-21
113133

114134
### Added
115135

116-
- `CAlloc` for allocation with C's `aligned_alloc`
117-
- `Layout::to_aligned_alloc_compatible` for rounding a layout to be compatible with `aligned_alloc`
118-
- `Layout::aligned_alloc_compatible_from_size_align` for creating an `aligned_alloc` compatible
136+
* `CAlloc` for allocation with C's `aligned_alloc`
137+
* `Layout::to_aligned_alloc_compatible` for rounding a layout to be compatible with `aligned_alloc`
138+
* `Layout::aligned_alloc_compatible_from_size_align` for creating an `aligned_alloc` compatible
119139
layout in one call
120-
- `Cause::CRoundUp` variant for failures when rounding a layout to be compatible with
140+
* `Cause::CRoundUp` variant for failures when rounding a layout to be compatible with
121141
`aligned_alloc`
122-
- `Error::Other` variant for generic string errors
123-
- `Layout::align_to_multiple_of` method
124-
- `is_multiple_of` const helper with lower MSRV than `<int>::is_multiple_of`
125-
- `VarSizedStruct` trait primarily to act as a guide for implementing `VarSized` for structs with an
142+
* `Error::Other` variant for generic string errors
143+
* `Layout::align_to_multiple_of` method
144+
* `is_multiple_of` const helper with lower MSRV than `<int>::is_multiple_of`
145+
* `VarSizedStruct` trait primarily to act as a guide for implementing `VarSized` for structs with an
126146
unsized tail
127147

128148
### Changed
129149

130-
- Moved `type_props::USIZE_HIGH_BIT`, `type_props::USIZE_MAX_NO_HIGH_BIT`, `type_props::usize_bit`,
150+
* Moved `type_props::USIZE_HIGH_BIT`, `type_props::USIZE_MAX_NO_HIGH_BIT`, `type_props::usize_bit`,
131151
`type_props::varsized_dangling_nonnull`, `type_props::varsized_dangling_ptr`,
132152
`type_props::varsized_nonnull_from_parts`, `type_props::varsized_ptr_from_parts`, and
133153
`type_props::varsized_ptr_from_parts_mut` to `helpers` module
134-
- Renamed `AllocError` to `Error`
135-
- Renamed `align_up_unchecked` to `align_up` and make it safe, rename `align_up` to
154+
* Renamed `AllocError` to `Error`
155+
* Renamed `align_up_unchecked` to `align_up` and make it safe, rename `align_up` to
136156
`align_up_checked`
137-
- Made nightly support automatic if a nightly compiler is detected
157+
* Made nightly support automatic if a nightly compiler is detected
138158

139159
### Fixed
140160

141-
- layout tests failing due to a too-large alignment
142-
- `Layout::padding_needed_for` returning `usize::MAX` instead of an error if `align` argument is not
161+
* layout tests failing due to a too-large alignment
162+
* `Layout::padding_needed_for` returning `usize::MAX` instead of an error if `align` argument is not
143163
a power of two
144-
- Some `Layout` functions performing size checks on unnecessary values
164+
* Some `Layout` functions performing size checks on unnecessary values
145165

146166
### Removed
147167

148-
- `RepeatLayoutError` error enum
149-
- `layout_extend` helper in favor of `Layout::extend` method
150-
- `ArithErr::TooLargeRhs` variant
168+
* `RepeatLayoutError` error enum
169+
* `layout_extend` helper in favor of `Layout::extend` method
170+
* `ArithErr::TooLargeRhs` variant

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "memapi2"
3-
version = "0.11.1"
3+
version = "0.11.2"
44
edition = "2018"
55
rust-version = "1.46.0"
66
authors = ["echohumm"]

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
A small, `no_std`/`no_alloc`-friendly allocation interface for raw buffers, with explicit layouts,
77
split allocator traits, and structured errors.
88

9-
Version: 0.11.1
9+
Version: 0.11.2
1010
MSRV: 1.46.0 (some features require newer compilers or nightly; see [Feature flags](#feature-flags))
1111

1212
## Highlights
@@ -31,14 +31,14 @@ MSRV: 1.46.0 (some features require newer compilers or nightly; see [Feature fla
3131

3232
```toml
3333
[dependencies]
34-
memapi2 = "0.11.1"
34+
memapi2 = "0.11.2"
3535
```
3636

3737
If you want common optional features:
3838

3939
```toml
4040
[dependencies]
41-
memapi2 = { version = "0.11.1", features = ["os_err_reporting"] }
41+
memapi2 = { version = "0.11.2", features = ["os_err_reporting"] }
4242
```
4343

4444
## Example

0 commit comments

Comments
 (0)