chore: bump crate to 0.2.0, update CHANGELOG
This commit is contained in:
5 files changed
+76
-25
No files matched your search
+49
-1
@@ -5,6 +5,53 @@ 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).
|
||||||
|
|
||||||
|
## [0.2.0] - 2025-10-08
|
||||||
|
|
||||||
|
[View changes](https://github.com/swaits/dagx/compare/v0.1.0...v0.2.0)
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- **BREAKING**: Updated MSRV (Minimum Supported Rust Version) from 1.78.0 to 1.81.0
|
||||||
|
- Required by updated dependencies: `criterion@0.7.0`, `half@2.6.0`, `rayon@1.11.0`
|
||||||
|
- Updated in both `dagx` and `dagx-macros` crates
|
||||||
|
- Updated all documentation (README.md, CONTRIBUTING.md)
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Comprehensive test coverage improvements (82.61% → 92.94%)
|
||||||
|
- Added 9 new unit tests for error paths in `ExtractInput` implementations
|
||||||
|
- Added 3 new type conversion tests in `src/types/tests.rs`
|
||||||
|
- Added 1 new trait implementation test in `src/task/tests.rs`
|
||||||
|
- Added 1 new dependency tuple test in `src/deps/tests.rs`
|
||||||
|
- Added 6 new execution path tests in `tests/execution/basic.rs`
|
||||||
|
- Added error handling tests for HashMap, Result, Option, Vec, and Arc types
|
||||||
|
- Added tests for tuple dependency count validation
|
||||||
|
- Improved concurrent run protection test with better synchronization
|
||||||
|
- Added `tarpaulin_include` to lint configuration for coverage tooling compatibility
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- Fixed GitHub Actions `cargo-audit` workflow
|
||||||
|
- Replaced deprecated `actions-rs/audit-check@v1` with direct `cargo audit` command
|
||||||
|
- Resolved "Resource not accessible by integration" error
|
||||||
|
- Fixed clippy warnings in test code
|
||||||
|
- Removed unnecessary borrows in `.depends_on()` calls
|
||||||
|
- Added `#[allow(clippy::clone_on_copy)]` for explicit clone test
|
||||||
|
- Marked timing-sensitive and resource-intensive tests with `#[cfg_attr(tarpaulin, ignore)]`
|
||||||
|
- `test_arc_parallel_execution` (timing unreliable under instrumentation)
|
||||||
|
- `test_100000_nodes_stress` (resource intensive)
|
||||||
|
- `test_10000_level_chain_stress` (resource intensive)
|
||||||
|
|
||||||
|
### Internal
|
||||||
|
|
||||||
|
- Improved test organization following existing patterns in `tests/` directory
|
||||||
|
- Enhanced error path coverage for all `ExtractInput` trait implementations
|
||||||
|
- Better separation between unit tests and integration tests
|
||||||
|
- Refactored `scripts/release_check.sh` to use configurable VERSION variable
|
||||||
|
- Replaced hardcoded version references throughout script
|
||||||
|
- Updated instructions to use `jj` commands instead of `git`
|
||||||
|
- Simplified version bumps for future releases
|
||||||
|
|
||||||
## [0.1.0] - 2025-10-05
|
## [0.1.0] - 2025-10-05
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@@ -97,4 +144,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
- macOS (compatible)
|
- macOS (compatible)
|
||||||
- Windows (compatible)
|
- Windows (compatible)
|
||||||
|
|
||||||
[0.1.0]: https://github.com/swaits/dagx/releases/tag/v0.1.0
|
[0.2.0]: https://github.com/swaits/dagx/tree/v0.2.0
|
||||||
|
[0.1.0]: https://github.com/swaits/dagx/tree/v0.1.0
|
||||||
Generated
+2
-2
@@ -434,7 +434,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dagx"
|
name = "dagx"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"async-executor",
|
"async-executor",
|
||||||
"async-std",
|
"async-std",
|
||||||
@@ -452,7 +452,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "dagx-macros"
|
name = "dagx-macros"
|
||||||
version = "0.1.0"
|
version = "0.2.0"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2",
|
"proc-macro2",
|
||||||
"quote",
|
"quote",
|
||||||
|
|||||||
+2
-2
@@ -3,7 +3,7 @@ members = ["dagx-macros"]
|
|||||||
|
|
||||||
[package]
|
[package]
|
||||||
name = "dagx"
|
name = "dagx"
|
||||||
version = "0.1.0"
|
version = "0.2.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>"]
|
||||||
@@ -23,7 +23,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.1.0", path = "./dagx-macros" }
|
dagx-macros = { version = "0.2.0", path = "./dagx-macros" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"] }
|
tokio = { version = "1", features = ["macros", "rt-multi-thread", "time", "sync"] }
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "dagx-macros"
|
name = "dagx-macros"
|
||||||
version = "0.1.0"
|
version = "0.2.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>"]
|
||||||
|
|||||||
+22
-19
@@ -1,12 +1,17 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Release Readiness Checker for dagx v0.1.0
|
# Release Readiness Checker for dagx
|
||||||
# This script performs EXHAUSTIVE checks before publishing to crates.io
|
# This script performs EXHAUSTIVE checks before publishing to crates.io
|
||||||
|
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "========================================"
|
# =============================================================================
|
||||||
echo "dagx v0.1.0 EXHAUSTIVE Release Check"
|
# CONFIGURATION
|
||||||
echo "========================================"
|
# =============================================================================
|
||||||
|
VERSION="0.2.0"
|
||||||
|
|
||||||
|
echo "=================="
|
||||||
|
echo "dagx Release Check"
|
||||||
|
echo "=================="
|
||||||
echo ""
|
echo ""
|
||||||
|
|
||||||
# Color codes
|
# Color codes
|
||||||
@@ -51,7 +56,7 @@ check_pass "Rust version compatible"
|
|||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "→ Checking for uncommitted changes..."
|
echo "→ Checking for uncommitted changes..."
|
||||||
if ! git diff --quiet || ! git diff --cached --quiet; then
|
if jj status 2>&1 | grep -q "Working copy changes:"; then
|
||||||
check_warn "Uncommitted changes found - you'll need to commit before publishing"
|
check_warn "Uncommitted changes found - you'll need to commit before publishing"
|
||||||
else
|
else
|
||||||
check_pass "No uncommitted changes"
|
check_pass "No uncommitted changes"
|
||||||
@@ -136,8 +141,8 @@ check_pass "README.md looks perfect"
|
|||||||
echo ""
|
echo ""
|
||||||
echo "→ Verifying CHANGELOG.md..."
|
echo "→ Verifying CHANGELOG.md..."
|
||||||
[ -f CHANGELOG.md ] || check_fail "CHANGELOG.md missing"
|
[ -f CHANGELOG.md ] || check_fail "CHANGELOG.md missing"
|
||||||
grep -q "0.1.0" CHANGELOG.md || check_fail "CHANGELOG.md doesn't mention v0.1.0"
|
grep -q "$VERSION" CHANGELOG.md || check_fail "CHANGELOG.md doesn't mention v$VERSION"
|
||||||
check_pass "CHANGELOG.md exists and mentions v0.1.0"
|
check_pass "CHANGELOG.md exists and mentions v$VERSION"
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "→ Verifying LICENSE..."
|
echo "→ Verifying LICENSE..."
|
||||||
@@ -182,7 +187,7 @@ section "CARGO.TOML METADATA"
|
|||||||
|
|
||||||
echo "→ Checking dagx Cargo.toml..."
|
echo "→ Checking dagx Cargo.toml..."
|
||||||
grep -q 'name = "dagx"' Cargo.toml || check_fail "Package name incorrect"
|
grep -q 'name = "dagx"' Cargo.toml || check_fail "Package name incorrect"
|
||||||
grep -q 'version = "0.1.0"' Cargo.toml || check_fail "Version not 0.1.0"
|
grep -q "version = \"$VERSION\"" Cargo.toml || check_fail "Version not $VERSION"
|
||||||
grep -q 'edition = "2021"' Cargo.toml || check_fail "Edition not 2021"
|
grep -q 'edition = "2021"' Cargo.toml || check_fail "Edition not 2021"
|
||||||
grep -q 'license = "MIT"' Cargo.toml || check_fail "License not MIT"
|
grep -q 'license = "MIT"' Cargo.toml || check_fail "License not MIT"
|
||||||
grep -q 'description = "A minimal, type-safe' Cargo.toml || check_fail "Description missing"
|
grep -q 'description = "A minimal, type-safe' Cargo.toml || check_fail "Description missing"
|
||||||
@@ -197,7 +202,7 @@ check_pass "dagx Cargo.toml metadata complete and correct"
|
|||||||
echo ""
|
echo ""
|
||||||
echo "→ Checking dagx-macros Cargo.toml..."
|
echo "→ Checking dagx-macros Cargo.toml..."
|
||||||
grep -q 'name = "dagx-macros"' dagx-macros/Cargo.toml || check_fail "dagx-macros name incorrect"
|
grep -q 'name = "dagx-macros"' dagx-macros/Cargo.toml || check_fail "dagx-macros name incorrect"
|
||||||
grep -q 'version = "0.1.0"' dagx-macros/Cargo.toml || check_fail "dagx-macros version not 0.1.0"
|
grep -q "version = \"$VERSION\"" dagx-macros/Cargo.toml || check_fail "dagx-macros version not $VERSION"
|
||||||
grep -q 'edition = "2021"' dagx-macros/Cargo.toml || check_fail "dagx-macros edition not 2021"
|
grep -q 'edition = "2021"' dagx-macros/Cargo.toml || check_fail "dagx-macros edition not 2021"
|
||||||
grep -q 'license = "MIT"' dagx-macros/Cargo.toml || check_fail "dagx-macros license not MIT"
|
grep -q 'license = "MIT"' dagx-macros/Cargo.toml || check_fail "dagx-macros license not MIT"
|
||||||
grep -q 'description = "Procedural macros for dagx"' dagx-macros/Cargo.toml || check_fail "dagx-macros description missing"
|
grep -q 'description = "Procedural macros for dagx"' dagx-macros/Cargo.toml || check_fail "dagx-macros description missing"
|
||||||
@@ -230,8 +235,8 @@ check_pass "dagx-macros is ready to publish"
|
|||||||
echo ""
|
echo ""
|
||||||
echo "→ Testing dagx package (dry-run with --allow-dirty)..."
|
echo "→ Testing dagx package (dry-run with --allow-dirty)..."
|
||||||
echo " Note: This will fail until dagx-macros is published to crates.io"
|
echo " Note: This will fail until dagx-macros is published to crates.io"
|
||||||
if cargo publish --dry-run --allow-dirty 2>&1 | grep -q "no matching package named \`dagx-macros\`"; then
|
if cargo publish --dry-run --allow-dirty 2>&1 | grep -q "failed to select a version for the requirement.*dagx-macros"; then
|
||||||
check_warn "dagx package check shows dependency on unpublished dagx-macros (expected)"
|
check_warn "dagx package check shows dependency on unpublished dagx-macros v$VERSION (expected)"
|
||||||
else
|
else
|
||||||
cargo publish --dry-run --allow-dirty || check_fail "dagx package check failed unexpectedly"
|
cargo publish --dry-run --allow-dirty || check_fail "dagx package check failed unexpectedly"
|
||||||
check_pass "dagx package is ready (dagx-macros must be published first)"
|
check_pass "dagx package is ready (dagx-macros must be published first)"
|
||||||
@@ -284,16 +289,15 @@ echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━
|
|||||||
echo -e "${GREEN}✓ ALL CHECKS PASSED!${NC}"
|
echo -e "${GREEN}✓ ALL CHECKS PASSED!${NC}"
|
||||||
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
echo -e "${GREEN}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
echo "dagx v0.1.0 is READY FOR RELEASE!"
|
echo "dagx v$VERSION is READY FOR RELEASE!"
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${YELLOW}PUBLICATION INSTRUCTIONS:${NC}"
|
echo -e "${YELLOW}PUBLICATION INSTRUCTIONS:${NC}"
|
||||||
echo ""
|
echo ""
|
||||||
echo "1. Commit any uncommitted changes:"
|
echo "1. Commit any uncommitted changes:"
|
||||||
echo " git add ."
|
echo " jj commit -m 'chore: release v$VERSION'"
|
||||||
echo " git commit -m 'Release v0.1.0'"
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "2. Tag the release:"
|
echo "2. Create a bookmark for the release:"
|
||||||
echo " git tag -a v0.1.0 -m 'Release v0.1.0'"
|
echo " jj bookmark create v$VERSION"
|
||||||
echo ""
|
echo ""
|
||||||
echo "3. Publish dagx-macros FIRST:"
|
echo "3. Publish dagx-macros FIRST:"
|
||||||
echo " cd dagx-macros"
|
echo " cd dagx-macros"
|
||||||
@@ -303,9 +307,8 @@ echo "4. Then publish dagx:"
|
|||||||
echo " cd .."
|
echo " cd .."
|
||||||
echo " cargo publish"
|
echo " cargo publish"
|
||||||
echo ""
|
echo ""
|
||||||
echo "5. Push changes and tag:"
|
echo "5. Push changes and bookmark:"
|
||||||
echo " git push origin main"
|
echo " jj git push"
|
||||||
echo " git push origin v0.1.0"
|
|
||||||
echo ""
|
echo ""
|
||||||
echo -e "${BLUE}Note: dagx-macros MUST be published before dagx${NC}"
|
echo -e "${BLUE}Note: dagx-macros MUST be published before dagx${NC}"
|
||||||
echo -e "${BLUE}because dagx depends on dagx-macros from crates.io${NC}"
|
echo -e "${BLUE}because dagx depends on dagx-macros from crates.io${NC}"
|
||||||
|
|||||||
Reference in new issue
Block a user