Skip to content

feat(stabilization)!: thread_aware 1.0 - #643

Draft
martintmk wants to merge 15 commits into
mainfrom
user/martintomka/20260806-stabilize-thread-aware
Draft

feat(stabilization)!: thread_aware 1.0#643
martintmk wants to merge 15 commits into
mainfrom
user/martintomka/20260806-stabilize-thread-aware

Conversation

@martintmk

@martintmk martintmk commented Aug 6, 2026

Copy link
Copy Markdown
Member

Summary

  • Adds thread_aware_core 1.0.0 with the stable ThreadAware trait and Affinity type.
  • Keeps the core crate dependency-free and always no_std; an opt-in std feature adds standard-library implementations for HashMap, Path, and PathBuf.
  • Re-exports the stable APIs from thread_aware, preserving thread_aware::ThreadAware and thread_aware::affinity::Affinity; dependent crates reference the stable core types directly in public APIs.
  • Removes external-crate integration features and documents the stable boundary and affinity invariants.

Validation

  • thread_aware_core and thread_aware tests and doctests pass with all applicable features.
  • Both crates compile without default features.
  • thread_aware_core packages and verifies successfully with zero dependencies.
  • Formatting, generated README, spelling, Clippy, mutation, coverage, and external-type checks pass.
  • Independent Claude and Gemini reviews completed; their documentation findings were addressed.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3a761577-6422-4fd1-a0f7-88807d7f6134
@martintmk martintmk added the agency-rocket Touched by a rocket skill label Aug 6, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3a761577-6422-4fd1-a0f7-88807d7f6134
@martintmk martintmk changed the title docs(thread_aware): add stabilization notes feat(stabilization)!: stabilize thread_aware 1.0 Aug 6, 2026
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 3a761577-6422-4fd1-a0f7-88807d7f6134
@martintmk martintmk changed the title feat(stabilization)!: stabilize thread_aware 1.0 feat(stabilization)!: thread_aware 1.0 Aug 6, 2026
@codecov

codecov Bot commented Aug 6, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.0%. Comparing base (3661f6f) to head (4e75479).
⚠️ Report is 6 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #643      +/-   ##
==========================================
  Coverage   100.0%   100.0%              
==========================================
  Files         473      499      +26     
  Lines       45913    57321   +11408     
==========================================
+ Hits        45913    57321   +11408     
Flag Coverage Δ
linux 92.2% <100.0%> (-7.8%) ⬇️
linux-arm 92.2% <100.0%> (-7.8%) ⬇️
scheduled ?
windows 92.2% <100.0%> (-7.8%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown

✅ Version increments look sufficient

cargo semver-checks compared the 1 crate(s) this PR publishes against their previous version-bump commit in git history. Every version increment is sufficient for the detected API changes.

Crate Baseline Baseline commit This PR Minimum required Status
thread_aware_core new crate 1.0.0 1.0.0 ✅ ok

This check is informational and does not block the merge.

View the check run

Comment thread crates/thread_aware_core/Cargo.toml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Make the stable core crate dependency- and feature-free, and remove external-type implementations and their benchmarks.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Comment thread crates/thread_aware_core/src/impls.rs
Keep the core crate dependency-free while providing Path, PathBuf, and HashMap implementations behind an opt-in std feature.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Comment thread crates/seatbelt/Cargo.toml
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 392f99fd-c9b0-40c7-aad7-3e87a132b16e
@github-actions

Copy link
Copy Markdown

⚠️ Potential breaking changes detected

cargo semver-checks flagged the following on this PR. This is informational -- breaking changes between commits are expected; the major-version bump happens at release time, not on every PR.

thread_aware

     Cloning origin/main
    Building thread_aware v0.9.0 (current)
       Built [   5.715s] (current)
     Parsing thread_aware v0.9.0 (current)
      Parsed [   0.004s] (current)
    Building thread_aware v0.9.0 (baseline)
       Built [   6.454s] (baseline)
     Parsing thread_aware v0.9.0 (baseline)
      Parsed [   0.005s] (baseline)
    Checking thread_aware v0.9.0 -> v0.9.0 (no change; assume minor)
     Checked [   0.019s] 196 checks: 192 pass, 4 fail, 0 warn, 49 skip

--- failure feature_missing: package feature removed or renamed ---

Description:
A feature has been removed from this package's Cargo.toml. This will break downstream crates which enable that feature.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#cargo-feature-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/feature_missing.ron

Failed in:
  feature bytes in the package's Cargo.toml
  feature uuid in the package's Cargo.toml
  feature jiff02 in the package's Cargo.toml
  feature http in the package's Cargo.toml

--- failure struct_missing: pub struct removed or renamed ---

Description:
A publicly-visible struct cannot be imported by its prior path. A `pub use` may have been removed, or the struct itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/struct_missing.ron

Failed in:
  struct thread_aware::affinity::Affinity, previously in file /home/runner/work/oxidizer/oxidizer/target/semver-checks/git-origin_main/e5882f1f11d134c3cb17336ceb64bd75a8c80736/crates/thread_aware/src/affinity.rs:13

--- failure trait_missing: pub trait removed or renamed ---

Description:
A publicly-visible trait cannot be imported by its prior path. A `pub use` may have been removed, or the trait itself may have been renamed or removed entirely.
        ref: https://doc.rust-lang.org/cargo/reference/semver.html#item-remove
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/trait_missing.ron

Failed in:
  trait thread_aware::ThreadAware, previously in file /home/runner/work/oxidizer/oxidizer/target/semver-checks/git-origin_main/e5882f1f11d134c3cb17336ceb64bd75a8c80736/crates/thread_aware/src/core.rs:73

--- failure trait_removed_supertrait: supertrait removed or renamed ---

Description:
A supertrait was removed from a trait. Users of the trait can no longer assume it can also be used like its supertrait.
        ref: https://doc.rust-lang.org/reference/items/traits.html#supertraits
       impl: https://github.com/obi1kenobi/cargo-semver-checks/tree/v0.46.0/src/lints/trait_removed_supertrait.ron

Failed in:
  supertrait thread_aware::ThreadAware of trait ThreadAwareAsyncFnMut in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:66
  supertrait thread_aware::ThreadAware of trait ThreadAwareAsyncFn in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:58
  supertrait thread_aware::ThreadAware of trait ThreadAwareFnMut in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:42
  supertrait thread_aware::ThreadAware of trait ThreadAwareFn in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:34
  supertrait thread_aware::ThreadAware of trait ThreadAwareFnOnce in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:26
  supertrait thread_aware::ThreadAware of trait ThreadAwareAsyncFnOnce in file /home/runner/work/oxidizer/oxidizer/crates/thread_aware/src/closure/mod.rs:50

     Summary semver requires new major version: 4 major and 0 minor checks failed
    Finished [  12.689s] thread_aware

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agency-rocket Touched by a rocket skill

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant