Skip to content

Commit a3e768d

Browse files
chore: release v0.3.0
1 parent 6c07900 commit a3e768d

2 files changed

Lines changed: 93 additions & 1 deletion

File tree

CHANGELOG.md

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,95 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
<!-- changelog-insert-here -->
9+
10+
## [0.3.0] - 2026-03-22
11+
12+
### Added
13+
- 100% test coverage for all Rust code (67 tests total)
14+
- Comprehensive unit tests for all traits: `Num`, `SignNum`, `ToSigned`, `MaxValue`, `LinkType`
15+
- Edge case tests for unsigned to signed conversion (wrapping behavior)
16+
- Integration tests for combined trait usage
17+
- CI/CD pipeline with GitHub Actions for automated testing, linting, and releases
18+
- Code coverage reporting with cargo-llvm-cov
19+
- Changelog fragment system for automated version management
20+
- Contributing guidelines with development workflow documentation
21+
- Pre-commit hooks configuration for code quality checks
22+
23+
### Changed
24+
- Migrated from nightly Rust (nightly-2022-08-22) to stable Rust toolchain
25+
- Updated Rust edition from 2018 to 2021
26+
- Updated `num-traits` dependency from 0.2.14 to 0.2.19
27+
- Set minimum Rust version (MSRV) to 1.70
28+
29+
### Removed
30+
- **BREAKING**: Removed `Step` trait bound from `LinkType` trait
31+
- The `std::iter::Step` trait remains unstable in Rust (tracking issue #42168)
32+
- Types implementing `LinkType` no longer need to implement `Step`
33+
- This is required for stable Rust compatibility
34+
- Removed `#![feature(step_trait)]` and `#![feature(trait_alias)]` feature flags
35+
36+
### Fixed
37+
38+
- Corrected license declaration in `rust/Cargo.toml` from `LGPL-3.0` to `Unlicense` (public domain)
39+
- Updated license description in `CONTRIBUTING.md` from `LGPL-3.0` to `Unlicense (public domain)`
40+
41+
### Changed
42+
43+
- Added Unlicense badge to all README files (root, Rust, C#, C++)
44+
- Added License section to all README files explaining the Unlicense and its advantages over LGPL
45+
46+
### Fixed
47+
- Added missing `cargo publish` step to CI/CD pipeline, fixing issue where releases
48+
were created on GitHub but never published to crates.io (#127)
49+
- Fixed deprecated `::set-output` command in `version-and-commit.mjs`
50+
- Added `RUSTFLAGS: -Dwarnings` to CI/CD pipeline for stricter compilation checks
51+
52+
### Changed
53+
54+
- Migrated all CI/CD pipeline scripts from Node.js (.mjs) to Rust (.rs) using rust-script
55+
- Updated workflow to use rust-script for all script execution, eliminating Node.js dependency
56+
57+
### Added
58+
59+
- Smart change detection job (`detect-code-changes.rs`) to skip unnecessary CI jobs
60+
- Version modification check to prevent manual version edits in PRs
61+
- Crates.io-based release check instead of git tag check (`check-release-needed.rs`)
62+
- Graceful crates.io publish script with auth error handling (`publish-crate.rs`)
63+
- Clippy lint check in CI pipeline
64+
- Doc tests (`cargo test --doc`) in CI pipeline
65+
- Package verification (`cargo package --list`) in CI build
66+
- PR-diff-aware changelog fragment validation (`check-changelog-fragment.rs`)
67+
- Changelog PR release mode for manual release workflow
68+
- Multi-language repository path detection utility (`rust-paths.rs`)
69+
- Case study documentation for issue #132
70+
71+
### Fixed
72+
73+
- CI/CD "Auto Release" failure caused by hard-failing on missing `CARGO_REGISTRY_TOKEN`
74+
- Job dependency conditions now use `always() && !cancelled()` pattern for correct behavior
75+
76+
### Added
77+
78+
- Rust-specific README.md with detailed description,
79+
usage examples, and crate badges
80+
- C# language-specific README.md with namespace docs,
81+
installation, and usage examples
82+
- C++ language-specific README.md with Conan
83+
installation and usage info
84+
85+
### Changed
86+
87+
- Root README.md now uses a badge table for all
88+
language versions (C#, C++, Rust)
89+
- Replaced Gitpod badge with GitHub Codespaces badge
90+
- Updated Cargo.toml readme field to point to
91+
Rust-specific README.md
92+
93+
### Fixed
94+
95+
- Rust crate on crates.io was displaying generic root
96+
README instead of Rust-specific documentation
97+
98+
### Fixed
99+
100+
- Removed unused `std::process::exit` import from `scripts/get-bump-type.rs` that caused a compiler warning

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.2.0"
3+
version = "0.3.0"
44
edition = "2021"
55
rust-version = "1.70"
66
authors = ["uselesssgoddess", "Linksplatform Team <linksplatformtechnologies@gmail.com>"]

0 commit comments

Comments
 (0)