chore: bump crate to 0.3.0, update CHANGELOG

This commit is contained in:
swaits committed 2025-10-08 14:52:45 -06:00
1 parent bec2f9e4c9
commit e3f51308a0
6 files changed
+37 -13

No files matched your search

+29 -5
View File
@@ -5,7 +5,9 @@ All notable changes to dagx will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased] ## [0.3.0] - 2025-10-08
[View changes](https://github.com/swaits/dagx/compare/v0.2.3...v0.3.0)
### Added ### Added
@@ -13,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Comprehensive documentation with `compile_fail` tests proving cycles are impossible - Comprehensive documentation with `compile_fail` tests proving cycles are impossible
- New integration test suite `tests/cycle_prevention.rs` demonstrating type-state pattern - New integration test suite `tests/cycle_prevention.rs` demonstrating type-state pattern
- Documents how the type system prevents cycles at compile-time (zero runtime cost) - Documents how the type system prevents cycles at compile-time (zero runtime cost)
- Added prominent documentation section in README.md explaining the feature
- **New `DagError::ConcurrentExecution` variant** - **New `DagError::ConcurrentExecution` variant**
- Replaces misuse of `CycleDetected` for concurrent run protection - Replaces misuse of `CycleDetected` for concurrent run protection
@@ -23,14 +26,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- **Removed `DagError::CycleDetected` error variant** - **Removed `DagError::CycleDetected` error variant**
- Cycles are provably impossible via the public API due to type-state pattern - Cycles are provably impossible via the public API due to type-state pattern
- Removed 24 lines of unreachable cycle detection code from `runner.rs` - Removed 24 lines of unreachable cycle detection code from `runner.rs`
- Migration: If you were handling `DagError::CycleDetected`, remove that match arm - **Migration**: If you were handling `DagError::CycleDetected`, remove that match arm
- This error could never occur in practice, so no runtime behavior changes - This error could never occur in practice, so no runtime behavior changes
### Changed ### Changed
- **Documentation improvements**
- Added comprehensive "Compile-Time Cycle Prevention" section to README.md
- Updated lib.rs documentation to highlight cycle prevention as first feature
- Fixed rustdoc links in `src/cycle_prevention.rs`
- Updated all error documentation references (removed cycle detection)
- Added code examples demonstrating type-state pattern
- Updated tagline to emphasize compile-time cycle prevention
- **Test coverage improvements** - **Test coverage improvements**
- Added `#[cfg(not(tarpaulin_include))]` to untestable type alias - Added `#[cfg(not(tarpaulin_include))]` to untestable type alias
- Coverage at ~83% after removing dead code - Coverage at ~83% after removing dead code (target set to 80%)
- Remaining uncovered lines are primarily tracing macros and unreachable error paths - Remaining uncovered lines are primarily tracing macros and unreachable error paths
- **Enhanced CI configuration** (`.github/workflows/ci.yml`) - **Enhanced CI configuration** (`.github/workflows/ci.yml`)
@@ -39,14 +50,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- New cargo check job for all feature combinations - New cargo check job for all feature combinations
- Lint (clippy) now runs on all feature combinations - Lint (clippy) now runs on all feature combinations
- Doc generation for all feature combinations - Doc generation for all feature combinations
- Coverage threshold lowered to 83% (accounts for removal of dead code and tracing macros) - Coverage threshold set to 80% (accounts for tracing macros and unreachable error paths)
- **Release check script improvements** (`scripts/release_check.sh`) - **Release check script improvements** (`scripts/release_check.sh`)
- Now reads MSRV from `Cargo.toml` instead of hardcoded version - Now reads MSRV from `Cargo.toml` instead of hardcoded version
- Uses `cargo msrv verify` for all feature combinations - Uses `cargo msrv verify` for all feature combinations
- Tests all feature combinations (no-default, all, default) - Tests all feature combinations (no-default, all, default)
- Runs clippy, check, and tests on all feature combos - Runs clippy, check, and tests on all feature combos
- Includes coverage verification with 83% threshold - Includes coverage verification with 80% threshold
### Fixed
- **Clippy lints in test code**
- Removed unnecessary `.clone()` call on `Copy` type in `tests/cycle_prevention.rs`
- Removed unnecessary borrow in test dependency wiring
- **Flaky timing test on macOS CI**
- Increased timeout threshold from 140ms to 200ms in `test_arc_parallel_execution`
- macOS CI runners are significantly slower than Linux/Windows
- 200ms threshold still proves parallelism while accounting for CI variability
## [0.2.3] - 2025-10-08 ## [0.2.3] - 2025-10-08
@@ -233,6 +255,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- macOS (compatible) - macOS (compatible)
- Windows (compatible) - Windows (compatible)
[0.3.0]: https://github.com/swaits/dagx/tree/v0.3.0
[0.2.3]: https://github.com/swaits/dagx/tree/v0.2.3
[0.2.2]: https://github.com/swaits/dagx/tree/v0.2.2 [0.2.2]: https://github.com/swaits/dagx/tree/v0.2.2
[0.2.1]: https://github.com/swaits/dagx/tree/v0.2.1 [0.2.1]: https://github.com/swaits/dagx/tree/v0.2.1
[0.2.0]: https://github.com/swaits/dagx/tree/v0.2.0 [0.2.0]: https://github.com/swaits/dagx/tree/v0.2.0
Generated
+2 -2
View File
@@ -434,7 +434,7 @@ dependencies = [
[[package]] [[package]]
name = "dagx" name = "dagx"
version = "0.2.3" version = "0.3.0"
dependencies = [ dependencies = [
"async-executor", "async-executor",
"async-std", "async-std",
@@ -454,7 +454,7 @@ dependencies = [
[[package]] [[package]]
name = "dagx-macros" name = "dagx-macros"
version = "0.2.3" version = "0.3.0"
dependencies = [ dependencies = [
"proc-macro2", "proc-macro2",
"quote", "quote",
+2 -2
View File
@@ -3,7 +3,7 @@ members = ["dagx-macros"]
[package] [package]
name = "dagx" name = "dagx"
version = "0.2.3" version = "0.3.0"
edition = "2021" edition = "2021"
rust-version = "1.81" rust-version = "1.81"
authors = ["Stephen Waits <steve@waits.net>"] authors = ["Stephen Waits <steve@waits.net>"]
@@ -27,7 +27,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)', 'cfg(tarpauli
[dependencies] [dependencies]
futures = "0.3" futures = "0.3"
parking_lot = "0.12" parking_lot = "0.12"
dagx-macros = { version = "0.2.3", path = "./dagx-macros" } dagx-macros = { version = "0.3.0", path = "./dagx-macros" }
tracing = { version = "0.1", optional = true } tracing = { version = "0.1", optional = true }
[dev-dependencies] [dev-dependencies]
+2 -2
View File
@@ -167,7 +167,7 @@ dagx provides optional observability through the `tracing` crate with **zero run
```toml ```toml
[dependencies] [dependencies]
dagx = { version = "0.2", features = ["tracing"] } dagx = { version = "0.3", features = ["tracing"] }
tracing-subscriber = "0.3" tracing-subscriber = "0.3"
``` ```
@@ -335,7 +335,7 @@ Add to your `Cargo.toml`:
```toml ```toml
[dependencies] [dependencies]
dagx = "0.2" dagx = "0.3"
tokio = { version = "1", features = ["macros", "rt-multi-thread"] } tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
``` ```
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "dagx-macros" name = "dagx-macros"
version = "0.2.3" version = "0.3.0"
edition = "2021" edition = "2021"
rust-version = "1.81" rust-version = "1.81"
authors = ["Stephen Waits <steve@waits.net>"] authors = ["Stephen Waits <steve@waits.net>"]
+1 -1
View File
@@ -7,7 +7,7 @@ set -e
# ============================================================================= # =============================================================================
# CONFIGURATION # CONFIGURATION
# ============================================================================= # =============================================================================
VERSION="0.2.3" VERSION="0.3.0"
echo "==================" echo "=================="
echo "dagx Release Check" echo "dagx Release Check"