Skip to content

Prepare use-quant 0.2.0-beta.1 release#8

Open
CloudBranch wants to merge 17 commits into
mainfrom
release/use-quant-0.2.0-beta.1
Open

Prepare use-quant 0.2.0-beta.1 release#8
CloudBranch wants to merge 17 commits into
mainfrom
release/use-quant-0.2.0-beta.1

Conversation

@CloudBranch

@CloudBranch CloudBranch commented Jun 27, 2026

Copy link
Copy Markdown
Member

Summary

  • Prepares the use-quant 0.2.0-beta.1 release.
  • Promotes the use-quant facade package to the repository root.
  • Converts the root manifest into the canonical RustUse facade package + workspace shape.
  • Removes the old nested crates/use-quant facade package.
  • Updates root facade exports, prelude exports, README content, examples, docs.rs metadata, and package include rules.

Affected set or crate

  • use-quant
  • use-bar
  • use-drawdown
  • use-factor
  • use-market-price
  • use-portfolio-weight
  • use-price-series
  • use-return
  • use-risk
  • use-signal-score
  • use-tick
  • use-volatility

Type of change

  • Refactor
  • Documentation
  • Release preparation
  • Breaking change: repository/package layout change for the facade package

Validation

  • cargo fmt
  • cargo build
  • cargo test --workspace --all-features
  • cargo clippy --workspace --all-features --all-targets -- -D warnings

Notes for reviewers

  • The root package is now the use-quant facade crate.
  • Child crates remain under crates/*.
  • Facade source now lives at root src/lib.rs and src/prelude.rs.
  • Facade examples now live under root examples/.
  • cargo package -p use-quant still depends on child 0.2.0 crates existing on crates.io, so full facade package validation should happen after focused crates are published.

Refines the use-quant 0.2.0 beta publish-readiness flow so focused crates can be prepared before all sibling versions are live on crates.io, while keeping the facade dry run strict for registry-ready validation.

ci: refine use-quant publish readiness checks

- Update publish readiness behavior for focused crate dry runs
- Keep facade publish validation separate for registry-ready checks
- Align Makefile release-readiness targets with staged crates.io publishing
- Update facade publish readiness workflow for post-focused-crate validation
release: bump use-quant workspace to 0.2.0

* Update workspace package version from 0.1.0 to 0.2.0
* Update all workspace dependency versions to 0.2.0
* Align focused crates and facade crate versions for the 0.2.0 release
* Refresh Cargo.lock for the release version bump
chore: remove unused proptest dependency from use-quant

Remove unused proptest dependency from the use-quant manifest
Resolve cargo-machete advisory in publish readiness checks
Keep release dependencies limited to crates used by the facade
chore: remove unused use-quant dev dependency

- Remove unused proptest dev-dependency from crates/use-quant/Cargo.toml
- Refresh Cargo.lock after pruning the unused dependency
- Resolve cargo-machete advisory for the facade crate
ci: verify focused crate versions before facade dry run

- Check matching focused-crate versions on crates.io before facade validation
- Keep use-quant publish dry run strict after registry readiness is confirmed
- Preserve manual registry-ready gate for facade publish readiness
ci: avoid focused-crate publish dry runs before registry release

- Replace focused-crate publish dry runs with package content checks
- Avoid crates.io dependency resolution for unpublished sibling 0.2.0 crates
- Keep strict facade publish validation in the registry-ready workflow
@CloudBranch CloudBranch marked this pull request as ready for review June 27, 2026 23:14
ci: configure release-plz trusted publishing

- Add crates-io environment to the release-plz publish workflow
- Keep release publishing on OIDC trusted publishing without a crates.io token
- Pin release-plz workflows to the Ubuntu 24.04 runner
- Preserve manual post-initial-release guard for automated crates.io publishing
Update the use-quant package description to align with RustUse facade terminology and the use-* utilities naming model.
Refactor `use-bar` into focused modules and expand its market bar utility surface.

Changes:

* Split `use-bar` internals into `error`, `interval`, `ohlc`, `ohlcv`, `time`, `volume`, and `prelude` modules.
* Added typed `BarVolume` and `BarVolumeError` validation for finite, non-negative volume values.
* Added `BarIntervalError` and `BarTimeError` exports for clearer typed error handling.
* Added unified `BarError` variants and conversions for time, price, and volume construction failures.
* Updated `OhlcvBar` to compose `OhlcBar` plus `BarVolume`.
* Added direct `OhlcvBar` forwarding accessors for time, interval, open, high, low, close, range, body, midpoint, typical price, and direction helpers.
* Added `OhlcBar` helper methods for range, body, up/down/flat detection, midpoint, and typical price.
* Updated the `use-bar` prelude to expose the new public bar types and errors.
* Updated README copy and examples to match the new API and RustUse utility terminology.
* Kept `use-quant` facade compatibility through the existing feature-gated `use_bar` re-export.
* Verified with `cargo fmt`, `cargo clippy --all-targets --all-features -- -D warnings`, and `cargo build`.
Promote use-quant facade to root package workspace

* Move the `use-quant` facade package from `crates/use-quant` to the repository root.
* Convert the root `Cargo.toml` into the canonical facade package + workspace manifest.
* Add root `src/lib.rs` with feature-gated child crate module aliases.
* Add root `src/prelude.rs` with feature-gated facade module re-exports.
* Move facade examples from `crates/use-quant/examples` to root `examples`.
* Merge the facade README into the root README so it serves as both repo and crate documentation.
* Add docs.rs feature metadata, `docsrs` cfg handling, package include rules, and root default workspace member configuration.
* Update examples to use module-qualified facade paths through `use_quant::prelude::*`.
* Remove the old nested `crates/use-quant` facade package.
* Refresh `Cargo.lock` for the root-package facade layout.
* Validate with `cargo fmt`, `cargo build`, `cargo test --workspace --all-features`, and `cargo clippy --workspace --all-features --all-targets -- -D warnings`.
Remove Makefile and add canonical license notice

Deletes the hand-maintained Makefile so `use-quant` can follow the canonical RustUse facade shape without a separate task-alias maintenance surface.

The removed Makefile duplicated Cargo, GitHub Actions, and future `rustuse-cli` responsibilities, including focused-crate lists and release/readiness commands that are better discovered and managed by tooling.

Adds a root `LICENSE` notice declaring the workspace as dual-licensed under `MIT OR Apache-2.0`, alongside the existing full `LICENSE-MIT` and `LICENSE-APACHE` texts.

This keeps `use-quant` aligned with the intended RustUse standard:

* Cargo owns Rust build behavior
* GitHub Actions owns CI/CD execution
* `rustuse-cli` will own RustUse convention checks and generated repository surfaces
* root license metadata is explicit and scanner-friendly
Remove tracked scripts and refine repo lint config

Deletes the tracked `scripts/` directory so `use-quant` follows the canonical RustUse facade direction: repeated repository automation should live in `rustuse-cli` or GitHub Actions instead of being duplicated across each facade.

Updates ignore configuration so local helper scripts and generated/local artifacts stay out of version control.

Refines `.clippy.toml` to keep RustUse library code strict while allowing practical test ergonomics for assertions, debugging, output, and simple test setup.

This reduces per-repository maintenance surface and keeps `use-quant` aligned with the long-term RustUse model:

* Cargo owns Rust build behavior
* GitHub Actions owns CI/CD execution
* `rustuse-cli` owns shared RustUse repository automation
* facade repositories avoid hand-maintained scripts and task wrappers
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant