Skip to content

Commit 2777e45

Browse files
chore: release v0.6.0
1 parent 05ca5c5 commit 2777e45

2 files changed

Lines changed: 120 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,125 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99

1010

1111

12+
13+
## [0.6.0] - 2026-04-11
14+
15+
### Added
16+
- 100% test coverage for all Rust code (67 tests total)
17+
- Comprehensive unit tests for all traits: `Num`, `SignNum`, `ToSigned`, `MaxValue`, `LinkType`
18+
- Edge case tests for unsigned to signed conversion (wrapping behavior)
19+
- Integration tests for combined trait usage
20+
- CI/CD pipeline with GitHub Actions for automated testing, linting, and releases
21+
- Code coverage reporting with cargo-llvm-cov
22+
- Changelog fragment system for automated version management
23+
- Contributing guidelines with development workflow documentation
24+
- Pre-commit hooks configuration for code quality checks
25+
26+
### Changed
27+
- Migrated from nightly Rust (nightly-2022-08-22) to stable Rust toolchain
28+
- Updated Rust edition from 2018 to 2021
29+
- Updated `num-traits` dependency from 0.2.14 to 0.2.19
30+
- Set minimum Rust version (MSRV) to 1.70
31+
32+
### Removed
33+
- **BREAKING**: Removed `Step` trait bound from `LinkType` trait
34+
- The `std::iter::Step` trait remains unstable in Rust (tracking issue #42168)
35+
- Types implementing `LinkType` no longer need to implement `Step`
36+
- This is required for stable Rust compatibility
37+
- Removed `#![feature(step_trait)]` and `#![feature(trait_alias)]` feature flags
38+
39+
### Fixed
40+
41+
- Corrected license declaration in `rust/Cargo.toml` from `LGPL-3.0` to `Unlicense` (public domain)
42+
- Updated license description in `CONTRIBUTING.md` from `LGPL-3.0` to `Unlicense (public domain)`
43+
44+
### Changed
45+
46+
- Added Unlicense badge to all README files (root, Rust, C#, C++)
47+
- Added License section to all README files explaining the Unlicense and its advantages over LGPL
48+
49+
### Fixed
50+
- Added missing `cargo publish` step to CI/CD pipeline, fixing issue where releases
51+
were created on GitHub but never published to crates.io (#127)
52+
- Fixed deprecated `::set-output` command in `version-and-commit.mjs`
53+
- Added `RUSTFLAGS: -Dwarnings` to CI/CD pipeline for stricter compilation checks
54+
55+
### Changed
56+
57+
- Migrated all CI/CD pipeline scripts from Node.js (.mjs) to Rust (.rs) using rust-script
58+
- Updated workflow to use rust-script for all script execution, eliminating Node.js dependency
59+
60+
### Added
61+
62+
- Smart change detection job (`detect-code-changes.rs`) to skip unnecessary CI jobs
63+
- Version modification check to prevent manual version edits in PRs
64+
- Crates.io-based release check instead of git tag check (`check-release-needed.rs`)
65+
- Graceful crates.io publish script with auth error handling (`publish-crate.rs`)
66+
- Clippy lint check in CI pipeline
67+
- Doc tests (`cargo test --doc`) in CI pipeline
68+
- Package verification (`cargo package --list`) in CI build
69+
- PR-diff-aware changelog fragment validation (`check-changelog-fragment.rs`)
70+
- Changelog PR release mode for manual release workflow
71+
- Multi-language repository path detection utility (`rust-paths.rs`)
72+
- Case study documentation for issue #132
73+
74+
### Fixed
75+
76+
- CI/CD "Auto Release" failure caused by hard-failing on missing `CARGO_REGISTRY_TOKEN`
77+
- Job dependency conditions now use `always() && !cancelled()` pattern for correct behavior
78+
79+
### Added
80+
81+
- Rust-specific README.md with detailed description,
82+
usage examples, and crate badges
83+
- C# language-specific README.md with namespace docs,
84+
installation, and usage examples
85+
- C++ language-specific README.md with Conan
86+
installation and usage info
87+
88+
### Changed
89+
90+
- Root README.md now uses a badge table for all
91+
language versions (C#, C++, Rust)
92+
- Replaced Gitpod badge with GitHub Codespaces badge
93+
- Updated Cargo.toml readme field to point to
94+
Rust-specific README.md
95+
96+
### Fixed
97+
98+
- Rust crate on crates.io was displaying generic root
99+
README instead of Rust-specific documentation
100+
101+
### Fixed
102+
103+
- Removed unused `std::process::exit` import from `scripts/get-bump-type.rs` that caused a compiler warning
104+
105+
### Fixed
106+
107+
- Fixed panic in `scripts/create-github-release.rs` caused by unsupported regex lookahead assertion `(?=...)` in Rust's `regex` crate, which prevented GitHub release creation for v0.3.0
108+
109+
### Changed
110+
- Rename Rust traits to use full English words: `Num``Number`, `SignNum``SignedNumber`, `LinkType``LinkReference`
111+
- Add documentation comments to all public traits with examples
112+
113+
### Changed
114+
- Upgrade Rust edition from 2021 to 2024 (stable since Rust 1.85)
115+
- Bump MSRV from 1.70 to 1.85 (required for edition 2024)
116+
- Move tests from `src/imp.rs` to `tests/traits.rs` as proper integration tests
117+
118+
### Fixed
119+
- Fix CONTRIBUTING.md incorrectly stating "nightly toolchain" (project uses stable)
120+
- Fix README.md showing outdated install version `0.4` instead of `0.5`
121+
- Regenerate Cargo.lock to match current version (0.5.0)
122+
123+
### Added
124+
- Implement `for_each_integer_type!` macro (resolves TODO)
125+
- Document IDE alias design decision for `LinkReference` trait (resolves TODO)
126+
- Add 8 new integration tests (total: 75 integration + 6 doc tests)
127+
- Add crate-level documentation in `lib.rs`
128+
- Add automated rustdoc deployment to GitHub Pages after release
129+
- Add case study documentation for issue #142 audit findings
130+
12131
## [0.5.0] - 2026-03-23
13132

14133
### Added

rust/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "platform-num"
3-
version = "0.5.0"
3+
version = "0.6.0"
44
edition = "2024"
55
rust-version = "1.85"
66
authors = ["uselesssgoddess", "Linksplatform Team <linksplatformtechnologies@gmail.com>"]

0 commit comments

Comments
 (0)