Fountain Coach Gitowner-controlled · read only

midi2.git · CHANGELOG.md

midi2.git / CHANGELOG.md

revision c5ca52f865e5d4b1673d5a0411f2a26f5724de47 · complete file

# Changelog

All notable changes to this project will be documented in this file.

## [Unreleased]
- _Nothing yet._

## [0.11.0] - 2026-08-22
### Added
- Swift and TypeScript runtime state machines for compatibility selection, MIDI-CI transaction failure, profile channel allocation, Property Exchange resource errors, and software UMP ordering/reserved-value validation.
- Cross-language negative-path tests and runtime evidence for the remaining modeled frontiers; physical hardware interoperability remains explicitly excluded.

## [0.10.0] - 2026-08-22
### Added
- Swift and TypeScript `SMF2CLIP` writers with DCTPQ/DCS timing, clip boundaries, stable UMP ordering, and maximum-delta chunking.
- Cross-language MIDI Clip lifecycle tests and explicit runtime evidence for the bounded core claim.
- Runtime coverage entry for the implemented MIDI Clip behavior slice; related modeled behavior remains explicitly bounded until its state transitions have direct runtime evidence.

## [0.9.2] - 2026-08-16
### Added
- Documentation: README now links the evidence-backed runtime boundary, conformance checklist, and negative-test matrix.
- Runtime governance: machine-checked core software completeness boundary with explicit hardware-interoperability exclusion.
### Changed
- TypeScript: Profile session behavior now matches the Swift runtime for group preservation and enabled-state inquiry replies.
- Maintenance: consolidated compatible dependency and GitHub Action updates.

## [0.9.1] - 2025-12-21
### Added
- Swift: MIDI Clip File writer (`SMF2CLIP`) with DCTPQ/DCS timing support.
### Changed
- Swift/JS: Utility messages now use 4-bit opcodes with 20-bit payloads; added DCTPQ/DCS support and updated JR wrap handling.

## [0.9.0] - 2025-12-16
### Changed
- Docs: Comprehensive documentation audit - updated test counts (~199 TS tests), version references (0.9.0), gap-closure status (10/21 complete), and archived legacy docs with proper cross-references.
- Docs: Updated SECURITY.md supported versions to reflect v0.9.x as current stable.
- Docs: Updated PLAN.md to reflect completed v0.9.0 work and remaining gaps.
- Docs: Updated spec-compliance-dashboard.md with refreshed coverage metrics.

## [0.8.0] - 2025-12-15
### Added
- Docs: Marked Property Exchange subscription runtime implemented; spec audit/traceability updated.
- CI: Added CodeQL workflow (manual/scheduled and main pushes), removed duplicate midi2.js workflow; JavaScript CI fixed coverage dependency.
- Governance: CODEOWNERS set to @Contexter; security contact updated; issue/PR templates in place.
### Changed
- Compliance workflows continue-on-error; CodeQL skipped on PRs (non-blocking) for now.
- README documents required midi2demo CLI examples to satisfy DoD checks.

## [0.7.0] - 2025-11-28
### Added
- JS/TS: Introduced `midi2.js`, a CoreMIDI-free TypeScript/JavaScript library for MIDI 2.0 UMP, SysEx7/8 fragmentation/reassembly, MIDI‑CI envelopes, jitter-aware scheduler, and adapters (WebAudio/Three.js/Cannon.js). Bundled ESM+CJS+types via tsup; npm-ready package with `files: ["dist"]`.
- Validation: Stream opcode coverage extended to process inquiry; system status typing tightened; Node typings added for test fixtures.
### Changed
- Tooling: Upgraded vitest to 3.2.4 (resolving esbuild/vite advisories); added Node types to tsconfig and tests to satisfy type-checking; regenerated OpenAPI-derived guards.
- Docs: Root README now reflects both Swift and `midi2.js`; gap-plan/agents updated to current JS feature set and packaging status.

## [0.6.1] - 2025-11-04
### Added
- CI: Harden MIDI Association Workbench compliance runner
  - Explicit Electron install and native module rebuild via @electron/rebuild
  - Playwright system deps install on Linux; improved caching/retries
  - Headless controller resolves Electron from Workbench tree
### Changed
- Tests: Align JR receiver wrap semantics and Property Exchange error codes; update System Real-Time error expectation

## [0.4.0] - 2025-11-04
### Added
- Stream §5: Typed Endpoint Discovery, Stream Configuration (request/notification), Function Block info; FB discovery (filterBitmap) two-packet encoding; Group Terminal Blocks aggregate; CLI commands and tests.
- Strict reserved-bit validation and negative tests for Stream §5.
- Property Exchange: chunked GET/SET/NOTIFY with transaction reassembly; error codes/messages; zlib compression helpers; CLI demo; tests.
- Profiles: enable/disable/inquiry/details (version + channel mask); Profile Specific Data (PSD) SysEx7/8; CLI demos; tests.
- CI Device Discovery encode/decode and validation; manufacturer ID validation and tests.
- JR receiver for clock/timestamp reconstruction with wrap handling; tests.
- VRT-Protocol baselines for Stream, Profiles, and Property Exchange flows.
- DoD checklist + traceability; CI workflow with warnings-as-errors, tests, coverage gate (≥80%), and VRT-Protocol/doc verification.
### Changed
- README and man page updated with new CLI subcommands and examples.

## [0.3.0] - 2025-08-15
### Added
- Completed `TeatroAppleBridge` Core MIDI adapter with sender, receiver, and sequencer APIs plus grid/clock utilities.
- Added command-line demos and unit tests for the Apple bridge components.

## [0.2.0] - 2025-08-14
### Added
- Full implementation of the MIDI 2.0 specification.
- Auto-generated API documentation.
- Installation and upgrade instructions.

### Breaking
- None.

## [0.1.0] - 2024-04-01
### Added
- Initial release with core UMP structures and `midi2demo` CLI scaffold.