Repository navigation
Releases: Impractical-Instruments/reuben
Releases · Impractical-Instruments/reuben
Release list
v1.0-rc3
Give strum-harp voices a modal resonator instead of osc+envelope (#448) * Give strum-harp voices a modal resonator instead of osc+envelope Replaces each strum-harp-voice's plucked-saw + percussive-ADSR VCA chain with a single resonator operator, tuned by freq and pinged by gate via its own internal mallet exciter — a real plucked-string ring rather than a synthesized envelope shape. No `active` output is needed: a stolen voice reuses the same resonator instance, so its ring continues under a re-trigger instead of cutting off. * fix resonator gain --------- Co-authored-by: Claude <noreply@anthropic.com>
v1.0-rc2
CI: dev staging branch + fast-forward promotion to main (#346) (#375) * CI: dev staging branch + fast-forward promotion to main (#346) Part 2 of the dev-staging model. All additive; PR targets dev. - ci.yml: add `dev` to the push trigger so the full suite runs on dev pushes and deploy-web ships --branch=dev (staging alias). Add an always-green `ci-passed` aggregate job for the dev ruleset to require, since per-path-filtered jobs can't be required directly (a Skipped job reads as an unmet check). deploy-web/bench-history stay out of its needs — they're post-merge, not merge gates. - promote.yml: new manual workflow_dispatch that fast-forwards main to dev and pushes with a GitHub App token (bypasses main's push restriction AND triggers the downstream production deploy, neither of which GITHUB_TOKEN can do). - CONTRIBUTING.md: Branching & release flow section. - ADR-0055: records the model (0054 was taken by web-chat-agent-host). Deliberately unchanged: clean-merged-branches.sh (auto-targets the default branch), gen-share-links.mjs ORIGIN (production by design), bench-history / perf gate / release.yml (all main-keyed). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5ZJkXhNfxfzjtG1QDZhE4 * CI: name the aggregate gate job `ci-passed` so the ruleset can match it GitHub matches required status checks by a job's `name`, not its id. With `name: CI passed (aggregate gate)` the check reported under that string, so the `dev` ruleset (which requires `ci-passed`, per #346/ADR-0055) could never match it — every PR would block waiting on a check that never reports. Rename the job's `name` to `ci-passed` so the required-check string is identical everywhere. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01K5ZJkXhNfxfzjtG1QDZhE4 --------- Co-authored-by: Claude <noreply@anthropic.com>
v1.0-rc1
ci: Windows + Linux builds and v* release pipeline (ADR-0026) (#49) * ci: Windows + Linux builds and v* release pipeline (ADR-0026) The last V1.5 item: package the platform-reach promise. - ci.yml: add a windows-latest build+test job (non-audio). fmt/clippy/ lockstep/bench stay ubuntu-only (platform-independent). RUSTFLAGS=-D warnings catches platform-gated warnings. No ALSA — cpal links WASAPI and tests open no device. Windows audio out is verified by a manual smoke pass on real hardware, not CI (can't init WASAPI headless). - release.yml: new v*-tagged workflow. Builds --release reuben on Linux + Windows, packages a versioned archive (tar.gz/zip) bundling binary + LICENSE + README, attaches each plus a .sha256 to the GitHub Release. No installer. - README: prebuilt-binaries section (source build stays primary). - ROADMAP: mark the build item 🟡 — pipeline landed, ✅ pending the manual Windows audio smoke pass. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> # Conflicts: # ROADMAP.md * ci: pin golden snapshots to LF so Windows checkout doesn't break the byte-exact compare Windows runners default core.autocrlf=true, checking the descriptor golden out as CRLF; the renderer emits LF only, so the byte-exact compare failed. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> * ci: normalize text to LF repo-wide; mark .tosc/.wav binary include_str!-embedded schema + the descriptor golden are byte-compared against \n-only generated output. Broaden the earlier golden-only LF pin to all text so Windows checkout (autocrlf=true) can't reintroduce CRLF drift. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>