chore: bump crate to 0.3.0, update CHANGELOG
This commit is contained in:
6 files changed
+37
-13
No files matched your search
+29
-5
@@ -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/),
|
||||
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
|
||||
|
||||
@@ -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
|
||||
- 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)
|
||||
- Added prominent documentation section in README.md explaining the feature
|
||||
|
||||
- **New `DagError::ConcurrentExecution` variant**
|
||||
- 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**
|
||||
- Cycles are provably impossible via the public API due to type-state pattern
|
||||
- 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
|
||||
|
||||
### 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**
|
||||
- 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
|
||||
|
||||
- **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
|
||||
- Lint (clippy) now runs on 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`)
|
||||
- Now reads MSRV from `Cargo.toml` instead of hardcoded version
|
||||
- Uses `cargo msrv verify` for all feature combinations
|
||||
- Tests all feature combinations (no-default, all, default)
|
||||
- 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
|
||||
|
||||
@@ -233,6 +255,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
||||
- macOS (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.1]: https://github.com/swaits/dagx/tree/v0.2.1
|
||||
[0.2.0]: https://github.com/swaits/dagx/tree/v0.2.0
|
||||
|
||||
Generated
+2
-2
@@ -434,7 +434,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dagx"
|
||||
version = "0.2.3"
|
||||
version = "0.3.0"
|
||||
dependencies = [
|
||||
"async-executor",
|
||||
"async-std",
|
||||
@@ -454,7 +454,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "dagx-macros"
|
||||
version = "0.2.3"
|
||||
version = "0.3.0"
|
||||
dependencies = [
|
||||
"proc-macro2",
|
||||
"quote",
|
||||
|
||||
+2
-2
@@ -3,7 +3,7 @@ members = ["dagx-macros"]
|
||||
|
||||
[package]
|
||||
name = "dagx"
|
||||
version = "0.2.3"
|
||||
version = "0.3.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.81"
|
||||
authors = ["Stephen Waits <steve@waits.net>"]
|
||||
@@ -27,7 +27,7 @@ unexpected_cfgs = { level = "warn", check-cfg = ['cfg(tarpaulin)', 'cfg(tarpauli
|
||||
[dependencies]
|
||||
futures = "0.3"
|
||||
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 }
|
||||
|
||||
[dev-dependencies]
|
||||
|
||||
@@ -167,7 +167,7 @@ dagx provides optional observability through the `tracing` crate with **zero run
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
dagx = { version = "0.2", features = ["tracing"] }
|
||||
dagx = { version = "0.3", features = ["tracing"] }
|
||||
tracing-subscriber = "0.3"
|
||||
```
|
||||
|
||||
@@ -335,7 +335,7 @@ Add to your `Cargo.toml`:
|
||||
|
||||
```toml
|
||||
[dependencies]
|
||||
dagx = "0.2"
|
||||
dagx = "0.3"
|
||||
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
|
||||
```
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "dagx-macros"
|
||||
version = "0.2.3"
|
||||
version = "0.3.0"
|
||||
edition = "2021"
|
||||
rust-version = "1.81"
|
||||
authors = ["Stephen Waits <steve@waits.net>"]
|
||||
|
||||
@@ -7,7 +7,7 @@ set -e
|
||||
# =============================================================================
|
||||
# CONFIGURATION
|
||||
# =============================================================================
|
||||
VERSION="0.2.3"
|
||||
VERSION="0.3.0"
|
||||
|
||||
echo "=================="
|
||||
echo "dagx Release Check"
|
||||
|
||||
Reference in new issue
Block a user