Phase 30: complete configurable installation and release qualification

This commit is contained in:
Johannes Findeisen 2026-10-27 17:13:09 +01:00
commit 90eac33a71
18 changed files with 399 additions and 59 deletions

53
docs/RELEASE_NOTES.md Normal file
View file

@ -0,0 +1,53 @@
# 0.1.0 development release notes
This remains a development prototype, not a production-qualified DAW. Phase 30
completes the local release workflow without bumping the application version,
creating a tag or publishing artifacts. The exact source archive SHA-256 and
reviewed Git commit identify a build; version 0.1.0 alone does not identify all
of the development revisions that used that version.
## Included functionality
The C99 engine provides bounded graphs, immutable plan publication, stereo audio,
MIDI instruments and controller bindings, track/bus mixing, automation and inline
MIDI editing. The C++17 FLTK application adds arrangement, routing, recording,
undo/redo and a generic LADSPA editor. JACK is the only live audio/MIDI backend;
core validation and offline rendering work without it. Native/LADSPA processors
are trusted in-process code. No proprietary energyXT resources are included.
Project format v10 reads versions 1–10 transactionally. Syntax diagnostics identify
records and lines. `xtc-check --inspect` lists dependency paths without executing
plugins. Phase 29 adds timing/CPU/RSS reports, repeatable stress runs and virtual
endurance. Phase 30 adds configurable install directories, shared install/remove
inventory, installed MIDI examples and source archive checksum sidecars.
## Upgrading and removal
Back up documents and external media before upgrading. Opening an older project
does not rewrite it; saving upgrades it to v10, which older readers may reject.
Use Save As for a separate migrated copy. Moving a project folder preserves media
stored inside it via relative references. Absolute media and plugin module paths
must be restored separately. There is no bundled plugin/media migration or saved
JACK port configuration. See PROJECT_FORMAT.md and RECOVERY.md for exact policies.
Install to the same layout to repair owned files. Only documented owned filenames
are replaced; unrelated files with other names remain. Use the same source
version and directory variables for uninstall. It removes owned files and empty
owned directories, never recordings or recursively deleting a prefix. A changed
layout or an older release with a different inventory may require removing that
old version before installing the new one. No database/package-manager registration
or automatic cleanup of historical inventories is performed.
## Known qualification limits
Physical devices, multi-hour wall-clock endurance, power-cut behavior and other
Linux distributions remain unqualified. There is no disk streaming, crash autosave,
plugin sandbox, latency compensation or stable shared-library ABI. A trusted
plugin can allocate, block or crash the process. Metadata inspection checks file
availability only. See KNOWN_LIMITATIONS.md for the complete list.
The retained graph performance gate has a documented small-case timing alert on
the shared development host; the project timing comparison passed. This alert
was not hidden by changing the baseline. See PERFORMANCE.md before using these
measurements as latency expectations. Sanitizers and virtual endurance qualify
software paths, not hardware timing.