Skip to content

Releases: linksplatform/mem-rs

v0.3.0

13 Apr 08:30

Choose a tag to compare

Crates.io Docs.rs

Changed

  • Migrated from Rust nightly to stable Rust - The crate now works on stable Rust!
  • Added allocator-api2 dependency for allocator API functionality on stable Rust
  • Replaced unstable fn_traits/unboxed_closures features with a custom FillFn trait
  • Replaced unstable slice_ptr_get/ptr_as_uninit features with manual pointer arithmetic
  • Replaced unstable slice_range with a manual bounds-checking implementation
  • Implemented stable alternatives for MaybeUninit slice methods in uninit module:
    • Added uninit::assume_init_mut() as stable alternative to MaybeUninit::slice_assume_init_mut()
    • Added uninit::write_clone_of_slice() as stable alternative to MaybeUninit::write_slice_cloned()
  • Updated CI workflow to use dtolnay/rust-toolchain@stable

Updated

  • Updated dependencies to latest versions:
    • memmap2: 0.7 -> 0.9
    • tempfile: 3.3 -> 3
    • thiserror: 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's regex crate 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: -Dwarnings to treat warnings as errors in CI

Fixed

  • Fixed version from 0.1.0-pre+beta.2 (pre-release/beta) to 0.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

13 Apr 02:43
a6e1595

Choose a tag to compare

Release v0.1.0-pre+beta.2