Releases: linksplatform/data-rs
Releases · linksplatform/data-rs
v2.0.0
Added
- Test coverage infrastructure using cargo-tarpaulin with 90% minimum threshold
- Comprehensive unit tests achieving 94.57% code coverage
- rust-toolchain.toml to pin nightly-2022-08-22 for stable feature compatibility
- Coverage check job in CI/CD pipeline to prevent coverage regression
Changed
- CI workflow now requires coverage check to pass before build
Added
- Modern CI/CD pipeline from rust-ai-driven-development-pipeline-template
- GitHub Actions workflow for automated testing, linting, and releases
- Multi-platform testing (Ubuntu, macOS, Windows)
- Pre-commit hooks configuration for code quality
- Fragment-based changelog system
- Automated release workflow with version management
- File size checking for Rust source files
- Contributing guidelines (CONTRIBUTING.md)
Changed
- Migrated from nightly Rust to stable Rust toolchain (requires Rust 1.79+)
- Removed all unstable feature flags:
try_trait_v2- Flow no longer implementsTrytraittype_alias_impl_trait- Point now uses explicitPointItertypeconst_trait_impl,const_convert,const_deref,const_refs_to_cell,const_result_drop- LinkType/FuntyPart traits are no longer conststep_trait- LinkType no longer requiresStepboundassociated_type_bounds- still used but stabilized in Rust 1.79
Flowtype changes:- Added
into_control_flow()method for use withtry_for_each - Removed
TryandFromResidualtrait implementations (nightly-only)
- Added
Pointtype changes:- Added explicit
PointIteriterator type (publicly exported)
- Added explicit
LinkTypetrait changes:- Removed
Steptrait bound - Removed
constfrom trait and impl
- Removed
FuntyParttrait changes:- Simplified implementation without const generics
- Now uses
expect()instead ofunreachable_unchecked()
- Updated CI/CD pipeline to use
dtolnay/rust-toolchain@stable
Fixed
- Crate now compiles on stable Rust without any feature flags
Changed
- Migrated all CI/CD scripts from Python to JavaScript ES modules (.mjs) for enhanced performance
- Updated release workflow to use Node.js 20.x for script execution
- Added automatic version bumping based on changelog fragment frontmatter
Added
- New
get-bump-type.mjsscript that parses changelog fragments and determines version bump type - Frontmatter support in changelog fragments with
bump: major|minor|patchspecification - Automatic version bumping during release based on highest priority bump type from fragments
Documentation
- Updated
changelog.d/README.mdwith comprehensive frontmatter documentation and examples - Updated
CONTRIBUTING.mdwith new script references and fragment format instructions
Changed
- Upgraded to Rust edition 2024 with MSRV 1.85
- Updated all dependencies to latest stable versions (thiserror 2.x, quickcheck 1.1, quickcheck_macros 1.2)
- Migrated CI/CD scripts from Node.js to Rust (rust-script)
- Upgraded CI/CD workflow with change detection, version check, Codecov coverage, and GitHub Pages docs deployment
- Added clippy pedantic and nursery lints configuration
- Added release profile optimization (LTO, single codegen unit, symbol stripping)
- Fixed repository URL and package metadata
Added
- Converter roundtrip tests and error variant tests (94 total test cases)
- GitHub Pages documentation deployment
- Crates.io publishing support in CI/CD
- Case study document for issue #14
Changed
- Replaced
funtydependency withplatform-num0.8.0 (LinkReferencetrait) - Replaced all
LinkTypebounds withLinkReferencefromplatform-num - Replaced
FuntyPart::funty(n)calls withLinkReference::from_byte(n) - Simplified all generic bounds from
T: LinkReference + WrappingAddtoT: LinkReference(WrappingArithmeticis now a supertrait ofLinkReferenceinplatform-num0.8.0)
Removed
- Removed
funtydependency - Removed
num-traitsdependency (re-exported byplatform-num) - Removed
LinkTypetrait entirely (replaced byLinkReference) - Removed
FuntyParttrait (replaced byLinkReference::from_byte) - Removed
link_type.rsmodule
v1.0.0
Added
- Test coverage infrastructure using cargo-tarpaulin with 90% minimum threshold
- Comprehensive unit tests achieving 94.57% code coverage
- rust-toolchain.toml to pin nightly-2022-08-22 for stable feature compatibility
- Coverage check job in CI/CD pipeline to prevent coverage regression
Changed
- CI workflow now requires coverage check to pass before build
Added
- Modern CI/CD pipeline from rust-ai-driven-development-pipeline-template
- GitHub Actions workflow for automated testing, linting, and releases
- Multi-platform testing (Ubuntu, macOS, Windows)
- Pre-commit hooks configuration for code quality
- Fragment-based changelog system
- Automated release workflow with version management
- File size checking for Rust source files
- Contributing guidelines (CONTRIBUTING.md)
Changed
- Migrated from nightly Rust to stable Rust toolchain (requires Rust 1.79+)
- Removed all unstable feature flags:
try_trait_v2- Flow no longer implementsTrytraittype_alias_impl_trait- Point now uses explicitPointItertypeconst_trait_impl,const_convert,const_deref,const_refs_to_cell,const_result_drop- LinkType/FuntyPart traits are no longer conststep_trait- LinkType no longer requiresStepboundassociated_type_bounds- still used but stabilized in Rust 1.79
Flowtype changes:- Added
into_control_flow()method for use withtry_for_each - Removed
TryandFromResidualtrait implementations (nightly-only)
- Added
Pointtype changes:- Added explicit
PointIteriterator type (publicly exported)
- Added explicit
LinkTypetrait changes:- Removed
Steptrait bound - Removed
constfrom trait and impl
- Removed
FuntyParttrait changes:- Simplified implementation without const generics
- Now uses
expect()instead ofunreachable_unchecked()
- Updated CI/CD pipeline to use
dtolnay/rust-toolchain@stable
Fixed
- Crate now compiles on stable Rust without any feature flags
Changed
- Migrated all CI/CD scripts from Python to JavaScript ES modules (.mjs) for enhanced performance
- Updated release workflow to use Node.js 20.x for script execution
- Added automatic version bumping based on changelog fragment frontmatter
Added
- New
get-bump-type.mjsscript that parses changelog fragments and determines version bump type - Frontmatter support in changelog fragments with
bump: major|minor|patchspecification - Automatic version bumping during release based on highest priority bump type from fragments
Documentation
- Updated
changelog.d/README.mdwith comprehensive frontmatter documentation and examples - Updated
CONTRIBUTING.mdwith new script references and fragment format instructions
Changed
- Upgraded to Rust edition 2024 with MSRV 1.85
- Updated all dependencies to latest stable versions (thiserror 2.x, quickcheck 1.1, quickcheck_macros 1.2)
- Migrated CI/CD scripts from Node.js to Rust (rust-script)
- Upgraded CI/CD workflow with change detection, version check, Codecov coverage, and GitHub Pages docs deployment
- Added clippy pedantic and nursery lints configuration
- Added release profile optimization (LTO, single codegen unit, symbol stripping)
- Fixed repository URL and package metadata
Added
- Converter roundtrip tests and error variant tests (94 total test cases)
- GitHub Pages documentation deployment
- Crates.io publishing support in CI/CD
- Case study document for issue #14
v0.1.0-beta.3
Added
- Core data types and traits for Links Platform
LinkTypetrait for numeric link identifiersLinkstrait for CRUD operations on doublet links storageFlowtype for iteration control (Continue/Break)Querywrapper with copy-on-write semanticsPointstructure for repeating elementsHybridtype for internal/external link referencesLinksConstantsfor storage configurationAddrToRaw/RawToAddrconverters