Files
wickra/.github/PULL_REQUEST_TEMPLATE/detailed.md
T
kingchenc 11dd659b5f Relicense from PolyForm Noncommercial to MIT OR Apache-2.0 (#158)
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.
2026-06-03 18:49:39 +02:00

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_slice output 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 --all and cargo clippy --all-targets -- -D warnings are clean
  • cargo test --workspace passes 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*.md or other local-only notes are staged
  • License header / LICENSE reference unchanged (MIT OR Apache-2.0)

Notes for reviewers