Skip to content

Release 0.5.0 - #83

Merged
bmxcode merged 1 commit into
mainfrom
release-0.5.0
Sep 5, 2026
Merged

bmxcode merged 1 commit into
mainfrom
release-0.5.0

Conversation

@bmxcode

@bmxcode bmxcode commented Sep 5, 2026

Copy link
Copy Markdown
Owner

Fourteen deliverables have landed on main since 0.4.0 (D26–D39) with no release. This cuts 0.5.0.

What this PR does

  • Rolls the CHANGELOG's ## Unreleased section into ## 0.5.0 — 2026-09-05.
  • Bumps the version in pyproject.toml, src/samplerdisc/__init__.py, the tests/test_cli.py assertion, and uv.lock.
  • Backfills the one CHANGELOG entry missing from Unreleased — D36 (E-IV credits written as a Credits.txt sidecar under --metadata).

What's in 0.5.0

Three new filesystems and formats, stereo/loose sample banks, and a batch of correctness fixes:

  • Kurzweil — the KMSI (FAT16) disc format is read and its .KRZ object banks are listed (D28), and the samples inside a .KRZ convert to WAV, verified byte-for-byte against mpc2emu (D29).
  • Digidesign SampleCell — read as HFS behind an Apple Partition Map (D32), with their AIFF and Sound Designer II (Sd2f) files converted (D33) and the SDII loop now carried from the sdLL resource against the Digidesign spec (D39).
  • E-mu .EBL — Emulator X banks convert on a disc (D26), stereo is interleaved and verified against the publisher's render (D34), and loose .ebl bank trees convert without a disc image via extract-banks (D35).
  • E-IV — a fragmented FORM/E4B0 bank is read along the FAT chain (D30), and disc credits are written as a Credits.txt sidecar under --metadata (D36).
  • A Containerfile for running a batch over untrusted images with a bounded blast radius (D31).
  • AKAI — a sample displaced by blocks lost inside a partition is recovered by its own name and word count (D38), and each EIII/ESI directory entry binds its own header so a name written twice no longer double-lists a bank (D27).

The full, user-facing detail — with the oracles each was verified against — is in the rolled ## 0.5.0 CHANGELOG section.

Deferred to a follow-up

The README "Tested against" benchmark figures are not refreshed here. Re-running scripts/benchmark.py shows the disc shelf has grown to 166 images — the six disc sources (now 106 disc images) plus the 60 loose E-mu .ebl/.exb bank trees from D35 — and the "not the file their entry placed" count has dropped 104 → 2 (D38). That is a rewrite of the section's "104 disc images from six sources" framing rather than a table paste, so it is deferred to its own pass (issue linked below) rather than rushed into the release.

Verify

uv run ruff check . · uv run ruff format --check . · uv run pytest -q (including the bumped test_cli assertion) · uv tool install --editable . && samplerdisc --version → 0.5.0 — all pass.

After merge: tag v0.5.0 and publish the GitHub release with notes drawn from the CHANGELOG.

🤖 Generated with Claude Code

Fourteen deliverables have landed on main since 0.4.0 (D26–D39) with no
release. This cuts 0.5.0: rolls the CHANGELOG's `Unreleased` section into
`## 0.5.0 — 2026-09-05`, and bumps the version in pyproject.toml,
src/samplerdisc/__init__.py, the tests/test_cli.py assertion and uv.lock.

It also backfills the one CHANGELOG entry missing from Unreleased — D36
(E-IV credits written as a Credits.txt sidecar under --metadata).

The README "Tested against" benchmark refresh is deferred to a follow-up:
the disc shelf has grown to 166 images (the six disc sources plus the 60
loose E-mu .ebl/.exb bank trees from D35), which is a rewrite of that
section's framing rather than a table paste, and it deserves its own pass.

Verified: ruff, ruff format, pytest -q (including the bumped test_cli
assertion) and samplerdisc --version → 0.5.0 all pass.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@bmxcode

bmxcode commented Sep 5, 2026

Copy link
Copy Markdown
Owner Author

The deferred README "Tested against" refresh is tracked in #84 (with the fresh benchmark figures and the framing decision spelled out).

@bmxcode
bmxcode merged commit 83b0fb9 into main Sep 5, 2026
2 checks passed
@bmxcode
bmxcode deleted the release-0.5.0 branch September 5, 2026 10:57
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