8aa74cb638
The 0.2.0 release left wickra@npm stuck at 0.1.4 and never created a GitHub Release entry because the brand-new `wickra-win32-arm64-msvc` sub-package name was caught by npm's spam-detection filter on its first publish attempt (same situation that affected `wickra-win32-x64-msvc` through 0.1.4 until npm Support unblocked it). A support ticket is open; until it is resolved, ship 0.2.1 for the five platforms whose sub-packages are already on npm and re-add Windows ARM64 in a follow-up release. Changes for this cycle: - bindings/node/package.json: remove "wickra-win32-arm64-msvc" from optionalDependencies and "aarch64-pc-windows-msvc" from napi.triples.additional. - bindings/node/npm/win32-arm64-msvc/: removed (will be restored fresh once the npm name is unblocked). - .github/workflows/release.yml: comment out the aarch64-pc-windows-msvc entry of the node-build matrix with a TODO/restore note. - Bump every workspace and binding version to 0.2.1 (Cargo.toml, pyproject.toml, bindings/node/package.json, five npm/<target> templates, the wiki version table). Cargo.lock regenerated. - CHANGELOG: new [0.2.1] block consolidating every fix that has landed on main since 0.2.0 (HV epsilon, examples CI step, fuzz cargo-fuzz install, MSRV 1.85 -> 1.86 / 1.77 -> 1.88, criterion 0.5 -> 0.8, tokio-tungstenite 0.24 -> 0.29, tick_aggregator gap-fill cap, every GitHub Action SHA-pin bump). Compare-link added. The arm64 loader branch in bindings/node/index.js is left untouched: a Windows ARM64 user installing 0.2.1 will get the standard `Cannot find module 'wickra-win32-arm64-msvc'` error from the loader, which is accurate. PyPI's win-arm64 wheel is unaffected. Verified locally: cargo fmt/clippy/test --workspace --all-features -> 630 passed / 0 failed cargo build -p wickra-examples --bins -> clean cargo build -p wickra-node -> clean
77 lines
1.7 KiB
TOML
77 lines
1.7 KiB
TOML
[workspace]
|
|
resolver = "2"
|
|
members = [
|
|
"crates/wickra-core",
|
|
"crates/wickra",
|
|
"crates/wickra-data",
|
|
"bindings/python",
|
|
"bindings/wasm",
|
|
"bindings/node",
|
|
"examples/rust",
|
|
]
|
|
exclude = ["fuzz"]
|
|
|
|
[workspace.package]
|
|
version = "0.2.1"
|
|
authors = ["kingchenc <kingchencp@gmail.com>"]
|
|
edition = "2021"
|
|
rust-version = "1.86"
|
|
license = "PolyForm-Noncommercial-1.0.0"
|
|
repository = "https://github.com/kingchenc/wickra"
|
|
homepage = "https://github.com/kingchenc/wickra"
|
|
readme = "README.md"
|
|
keywords = ["finance", "trading", "indicators", "technical-analysis", "ta"]
|
|
categories = ["finance", "mathematics", "science"]
|
|
|
|
[workspace.dependencies]
|
|
wickra-core = { path = "crates/wickra-core", version = "0.2.1" }
|
|
|
|
thiserror = "2"
|
|
rayon = "1.10"
|
|
|
|
# Testing
|
|
proptest = "1.5"
|
|
approx = "0.5"
|
|
criterion = { version = "0.8", features = ["html_reports"] }
|
|
|
|
# Python binding
|
|
pyo3 = { version = "0.28", features = ["extension-module", "abi3-py39"] }
|
|
numpy = "0.28"
|
|
|
|
[workspace.lints.rust]
|
|
unsafe_code = "forbid"
|
|
missing_debug_implementations = "warn"
|
|
unreachable_pub = "warn"
|
|
unused_must_use = "deny"
|
|
|
|
[workspace.lints.clippy]
|
|
all = { level = "warn", priority = -1 }
|
|
pedantic = { level = "warn", priority = -1 }
|
|
# Pedantic exceptions for an indicator library that uses floats and small functions everywhere.
|
|
module_name_repetitions = "allow"
|
|
must_use_candidate = "allow"
|
|
missing_errors_doc = "allow"
|
|
missing_panics_doc = "allow"
|
|
cast_precision_loss = "allow"
|
|
cast_possible_truncation = "allow"
|
|
cast_sign_loss = "allow"
|
|
similar_names = "allow"
|
|
float_cmp = "allow"
|
|
|
|
[profile.release]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
panic = "abort"
|
|
strip = true
|
|
|
|
[profile.bench]
|
|
opt-level = 3
|
|
lto = "fat"
|
|
codegen-units = 1
|
|
debug = false
|
|
|
|
[profile.dev]
|
|
opt-level = 0
|
|
debug = true
|