Skip to content

feat!: remove the sample-generic compatibility layer and reach idsp p… - #18

Merged
leftger merged 2 commits into
masterfrom
feat/0.6-compat-removal-and-idsp-parity
Sep 14, 2026
Merged

leftger merged 2 commits into
masterfrom
feat/0.6-compat-removal-and-idsp-parity

Conversation

@leftger

@leftger leftger commented Sep 14, 2026

Copy link
Copy Markdown
Owner

…arity

Breaking (targeting 0.6):

  • Delete the width-suffixed instance aliases and thin wrappers; call the generic API and PidInstance::process directly. See MIGRATING.md.
  • Move the duplicate filtering::Dsm / filtering::XorShift32 onto their dedicated modules.

Added:

  • Validating audio-EQ builder (EqFilter / EqShape / BiquadType / EqError) covering every RBJ response including IHo, plus WebAudioFilter; coefficients bit-checked against idsp.
  • embedded-dsp-ffi: C ABI (staticlib + cdylib) with a hand-maintained header and a C smoke test.
  • embedded-dsp-py: PyO3 abi3 bindings with a Python smoke test.
  • MIGRATING.md, licenses inside the published crate.

Tooling and refactors:

  • Split filtering into family submodules and consolidate the test suite.
  • CI: Miri, differential fuzz + always-on randomized differential test, cargo-hack, cargo-machete, scheduled cargo-mutants; un-gate publish dry-run.

…arity

Breaking (targeting 0.6):

- Delete the width-suffixed instance aliases and thin wrappers; call the generic API and PidInstance::process directly. See MIGRATING.md.
- Move the duplicate filtering::Dsm / filtering::XorShift32 onto their dedicated modules.

Added:

- Validating audio-EQ builder (EqFilter / EqShape / BiquadType / EqError) covering every RBJ response including IHo, plus WebAudioFilter; coefficients bit-checked against idsp.
- embedded-dsp-ffi: C ABI (staticlib + cdylib) with a hand-maintained header and a C smoke test.
- embedded-dsp-py: PyO3 abi3 bindings with a Python smoke test.
- MIGRATING.md, licenses inside the published crate.

Tooling and refactors:

- Split filtering into family submodules and consolidate the test suite.
- CI: Miri, differential fuzz + always-on randomized differential test, cargo-hack, cargo-machete, scheduled cargo-mutants; un-gate publish dry-run.
The sample-genericization and the compatibility-layer removal are breaking changes, so a pre-1.0 crate bumps the minor: 0.5.1 -> 0.6.0. This is what cargo-semver-checks expects (it treats the 0.x minor as the breaking boundary) and clears the semver failure. Also updates the README install snippets, the changelog heading, and the C ABI / Python package versions.
@leftger
leftger merged commit ecb7387 into master Sep 14, 2026
27 checks passed
@leftger
leftger deleted the feat/0.6-compat-removal-and-idsp-parity branch September 14, 2026 06:39
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