Releases: linksplatform/mem-rs
Releases · linksplatform/mem-rs
v0.3.0
Changed
- Migrated from Rust nightly to stable Rust - The crate now works on stable Rust!
- Added
allocator-api2dependency for allocator API functionality on stable Rust - Replaced unstable
fn_traits/unboxed_closuresfeatures with a customFillFntrait - Replaced unstable
slice_ptr_get/ptr_as_uninitfeatures with manual pointer arithmetic - Replaced unstable
slice_rangewith a manual bounds-checking implementation - Implemented stable alternatives for
MaybeUninitslice methods inuninitmodule:- Added
uninit::assume_init_mut()as stable alternative toMaybeUninit::slice_assume_init_mut() - Added
uninit::write_clone_of_slice()as stable alternative toMaybeUninit::write_slice_cloned()
- Added
- Updated CI workflow to use
dtolnay/rust-toolchain@stable
Updated
- Updated dependencies to latest versions:
memmap2: 0.7 -> 0.9tempfile: 3.3 -> 3thiserror: 1.0 -> 2
- Updated documentation to reflect stable Rust compatibility
Changed
- Upgraded to Rust edition 2024 with proper unsafe block handling
- Updated allocator-api2 from 0.2 to 0.4
- Updated criterion from 0.5 to 0.8
- Updated rustfmt.toml to stable-only options
Fixed
- Fixed 8 clippy warnings (missing Safety docs, suspicious_open_options, is_multiple_of, io_other_error)
- Fixed Error::OverAlloc bug in prealloc.rs (variant didn't exist, corrected to OverGrow)
- Fixed PreAlloc::grow() signature to match RawMem trait
- Fixed broken intra-doc links
Added
- Comprehensive doc comments for all public types and methods
- Crate-level documentation with examples and feature table
- Automated documentation deployment to GitHub Pages via CI/CD
- Moved async_mem tests from src/ to tests/ directory
- Case study document for issue #28
Fixed
- Fixed GitHub Release creation failure caused by unsupported look-ahead regex in
create-github-release.rs(Rust'sregexcrate does not support look-around assertions) - Added crates.io and docs.rs badges to GitHub Release notes, matching the template repository best practices
Fixed
- Fixed CI/CD Auto Release failure caused by version regex not handling SemVer pre-release versions (e.g.,
0.1.0-pre+beta.2) - Verified all repository files use Unlicense (public domain) — no LGPL references found
Changed
- Replaced Node.js (.mjs) CI/CD scripts with Rust (.rs) scripts using rust-script, matching the template at link-foundation/rust-ai-driven-development-pipeline-template
- Updated GitHub Actions workflow with lint checks (clippy, rustfmt), change detection, version modification guard, crates.io publishing, and changelog PR support
- Updated action versions to latest (actions/checkout@v6, actions/cache@v5, peter-evans/create-pull-request@v8)
- Added
RUSTFLAGS: -Dwarningsto treat warnings as errors in CI
Fixed
- Fixed version from
0.1.0-pre+beta.2(pre-release/beta) to0.1.0(proper SemVer) to enable crates.io publishing - Added missing Cargo.toml metadata required for crates.io:
readme,keywords,categories,rust-version,[lib],[lints],[profile.release]
v0.1.0-pre+beta.2
Release v0.1.0-pre+beta.2