11dd659b5f
Relicenses Wickra from PolyForm Noncommercial 1.0.0 to the dual, OSI-approved **MIT OR Apache-2.0** (the de-facto Rust convention). Wickra becomes permissive, commercial-use-permitted open source; users may choose either license. ## Changes - Replace `LICENSE` (PolyForm) with `LICENSE-MIT` + `LICENSE-APACHE` (full texts). - Cargo: workspace `license = "MIT OR Apache-2.0"` (SPDX) + all 7 sub-crates switched from `license-file.workspace` to `license.workspace`. - `deny.toml`: drop PolyForm from the allowlist. - Python: `pyproject.toml` PEP 639 SPDX expression; remove the non-commercial classifier (verified: sdist metadata emits `License-Expression: MIT OR Apache-2.0`). - Node: `package.json`, the 6 platform manifests and both lockfiles. - README + Python/Node/WASM binding READMEs, CONTRIBUTING, CITATION.cff, PR template, and the WASM `pkg.license` step in `release.yml`. - SECURITY.md: refresh supported versions 0.1.x -> 0.4.x. - CHANGELOG: note the relicense under [Unreleased]. ## Notes - No code changes; metadata/text only. `cargo build` and `cargo deny check licenses` pass locally. - GitHub will auto-detect "MIT, Apache-2.0" once this lands (currently NOASSERTION). - Matching downstream changes (org `.github` profile, webpage, docs) are in separate PRs; merge those together with the relicense release so the live sites and org profile do not claim MIT before the packages do.
2.0 KiB
2.0 KiB
Summary
Type of change
- Bug fix (Non-breaking change which fixes an issue)
- New feature (Non-breaking change which adds functionality)
- Breaking change (Fix or feature that changes existing public API)
- Performance improvement
- Refactor (No functional change)
- Documentation only
- CI / build / tooling
Affected surfaces
- Rust crate (
crates/wickra) - Python binding (
bindings/python) - Node.js binding (
bindings/node) - WebAssembly binding (
bindings/wasm) - Examples / docs
Linked issues
Closes #
How was this tested?
Numerical correctness (If you touched an indicator)
- Output matches an existing reference (TA-Lib, paper, prior Wickra release) within documented tolerance
- Streaming
update()matches batch /from_sliceoutput on the same input - Edge cases covered: empty input, single point, NaN, leading warm-up window
Performance impact (If applicable)
| Benchmark | Before | After | Δ |
|---|---|---|---|
Checklist
cargo fmt --allandcargo clippy --all-targets -- -D warningsare cleancargo test --workspacepasses locally- Binding tests run (If a binding changed)
- Public API changes are reflected in
CHANGELOG.md - Public API changes are reflected in rustdoc / README / examples
- No
todo*.mdor other local-only notes are staged - License header /
LICENSEreference unchanged (MIT OR Apache-2.0)