Repository navigation
Releases: PORTALSURFER/yield-legacy
Release list
Wavecrate Nightly
Wavecrate 0.19.1-nightly.20260730+5f255bfb
- Build: 6857
- Version: 0.19.1-nightly.20260730+5f255bfb
- Commit: 5f255bf
- Previous nightly: f6fe33f
- Generated: 2026-07-30T20:39:10Z
[0.19.1-nightly.20260730+5f255bfb] - 2026-07-30
🚀 Features
- Improve actionable source and trash recovery UX (#982)
-
Improve source and trash recovery UX
-
Simplify Playmark bottom controls
-
Fix source diagnostics and Playmark duration clamping
Co-authored-by: wavecrate-ci ci@wavecrate.test
- Add typed committed mutation fences
🐛 Bug Fixes
- Fix nonblocking Playmark extraction (#976)
-
Fix nonblocking playmark extraction
-
Make playmark derivations durable
-
Fence playmark derivations across moves
-
Test derivation rekey persistence race
Co-authored-by: wavecrate-ci ci@wavecrate.test
- Fix: unlock all selected samples from context menu (#978)
Co-authored-by: wavecrate-ci ci@wavecrate.test
💼 Other
- Persist sample ratings off the UI thread (#973)
Co-authored-by: wavecrate-ci ci@wavecrate.test
- Flush pending ratings during shutdown (#975)
Co-authored-by: wavecrate-ci ci@wavecrate.test
- Sync Radiant to latest main
- Bound Playmark extraction reconciliation to committed projections (#981)
-
Bound Playmark extraction reconciliation
-
Fix bounded Playmark metadata persistence
-
Recover on Playmark projection failure
-
Fence incomplete browser projections
-
Gate source deltas on browser projection
-
Recover stale projection handoffs
Co-authored-by: wavecrate-ci ci@wavecrate.test
- Prepare duplicate evidence off the UI thread
- Prepare external drop evidence off UI thread
- Fail closed prepared mutation boundary (#987)
Co-authored-by: wavecrate-ci ci@wavecrate.test
🚜 Refactor
- Remove rating filter swatch borders (#974)
Co-authored-by: wavecrate-ci ci@wavecrate.test
📚 Documentation
- Docs: define end-to-end I/O architecture target
-
docs: define end-to-end IO architecture target
-
docs: close IO architecture review findings
-
docs: close io architecture review findings
-
docs: bound io recovery capacity and fallback phases
-
docs: define pre-intent admission rejection
-
docs: align mermaid phases with checkpoints
-
docs: close io architecture recovery review findings
-
docs: enforce no-replace publication contract
-
docs: align publication mode evidence
-
docs: gate publication on validated staging
-
docs: apply staging fence to all publication modes
-
docs: clarify staging recovery boundaries
-
docs: align degraded durability terminal status
Co-authored-by: wavecrate-ci ci@wavecrate.test
Wavecrate 19.1.1-rc.1
Wavecrate 19.1.1-rc.1
Release Metadata
- Channel: Release Candidate
- Version: 19.1.1-rc.1
- Target branch: release/19.1
- Commit: cd36b39
- Build date: 2026-07-13
- RC number: 1
- Previous release boundary: v19.1.0
Artifacts
- macos / aarch64:
wavecrate-19.1.1-rc.1-macos-aarch64.zip - macos / x86_64:
wavecrate-19.1.1-rc.1-macos-x86_64.zip - windows / x86_64:
wavecrate-19.1.1-rc.1-windows-x86_64.zip
Checksums
- Checksums:
checksums-19.1.1-rc.1.txt - Signature:
checksums-19.1.1-rc.1.txt.sig
Generated Changes
[19.1.1-rc.1] - 2026-07-13
🚀 Features
- Improve playmark resize handle acquisition (#793)
- Use stable Windows file identities
🐛 Bug Fixes
- Fix ANN batch validation atomicity (#782)
- Fix(playback): preserve live playmark retarget authority (#798)
💼 Other
- Bind waveform identity at playback handoff
- Harden playback-ready visual handoff state
- Complete instant preview playback handoffs
- Use typed copy journal initializer (#781)
- OPT-814 Fix folder context Open in Explorer command (#805)
- OPT-814 Isolate context target validation worker (#806)
- OPT-1058 Split sample-load cache start ownership (#772)
- OPT-1109 Make macOS multi-file drag-out immediate (#773)
-
speed up multi-file drag handoff
-
chore: pin merged Radiant drag commit
- OPT-1108 Keep source scans off the UI path (#774)
-
keep source scans off the UI path
-
address source scan maintenance review
-
fix(scans): order streamed cache persistence
-
fix(config): scope scan save revisions
- OPT-1106 Honor Windows STGMEDIUM ownership transfer (#776)
- OPT-1105 Enforce ImageRgba byte invariants (#777)
- OPT-1104 Return rejected platform service requests (#778)
- OPT-1103 Retain macOS file-open refcon on removal failure (#779)
- OPT-1102 Own ANN loader backing with loaded indexes (#780)
-
own ANN loader backing with loaded indexes
-
Encapsulate loaded ANN graph lifetime
-
fix(ann): keep loaded graph access scoped
- OPT-1099 Wavecrate scan: release DB writer during discovery (#783)
-
Release source DB writer during scan discovery
-
Address scan transaction review findings
-
Close bounded scan consistency gaps
-
Finish post-commit scan consistency handling
-
fix(scan): revalidate live rows before pruning
-
fix(scan): revalidate hash repair races
-
fix(scan): recheck rename uniqueness at commit
-
fix(scan): preserve supported dotfile candidates
-
fix(scan): scope targeted rename candidates
-
perf(scan): skip redundant missing-row hashes
-
perf(scan): cache rename candidates per batch
-
fix(scan): tolerate committed noop refresh failures
- OPT-1098 Reson: bound real-time recording capture transport (#784)
-
Bound real-time recording capture transport
-
Close recording worker lifecycle gaps
- Preserve audible islands during silence trim (#785)
- OPT-1096 Wavecrate scan: verify identity before rename transfer (#786)
-
Require hashes before scan rename identity transfer
-
Close deferred rename recovery gaps
-
Keep large rename hashing off quick writer path
-
Complete deferred rename reconciliation before publish
-
Publish proven deferred rename results safely
-
fix(scan): persist deferred rename candidates
-
fix(scan): preserve committed deferred work
-
fix(scan): bound deferred rename work
-
fix(scan): revalidate deferred rename destinations
-
fix(scan): publish deferred rename results before folder cache
-
fix(scan): recover unhashed same-file renames
-
fix(scan): publish filesystem rename reconciliation
-
fix(scan): defer non-rename folder hashing
- OPT-1094 Wavecrate: publish source lifecycle state after persistence (#788)
-
Publish source lifecycle state after persistence
-
Harden source lifecycle rollback durability
-
Prepare remap database before durable publication
-
Preserve symlinked remap artifacts on rollback
-
Harden remap rollback artifacts
-
test(sources): avoid cache residency assumption
- OPT-1092 Snapshot WAL-backed databases during remap (#790)
-
Snapshot WAL-backed databases during remap
-
Harden source snapshot and remap ownership
-
Fence source writes through remap publication
-
fix(sources): reconcile remap mutation races
-
fix(sources): fence remaps against pending work
-
fix(remap): publish snapshots without replacement
-
fix(remap): reject active source scans
-
fix(remap): roll back legacy database migration
-
fix(remap): gate active analysis work
-
fix(remap): allow analysis after cancellation
-
fix(remap): gate source database maintenance
-
fix(remap): assure analysis schema before gating
-
fix(remap): cancel on changed sample analysis
-
fix(remap): clear canceled status
-
fix(remap): preserve preexisting sidecars
-
fix(remap): gate mutations before DB inspection
-
fix(remap): refresh deferred maintenance roots
-
fix(remap): revalidate destination database ownership
-
fix(remap): allow scans after cancellation
-
fix(remap): gate export and trash writers
-
fix(remap): gate similarity finalizers
-
fix(remap): cancel fences before direct writes
-
fix(remap): gate deferred file operations
-
fix(remap): verify destination database identity
-
fix(remap): preserve manual analysis triggers
-
fix(remap): cancel before source file operations
-
fix(remap): validate destination SQLite sidecars
-
fix(remap): gate active Starmap writers
-
fix(remap): compare prepared database sidecars
-
fix(remap): claim empty destinations atomically
-
fix(remap): compare full destination identity
-
fix(remap): preserve preexisting database sidecars
-
fix(remap): accept controlled destination migrations
-
fix(remap): gate legacy name restoration
-
fix(remap): install snapshot fence before backup
-
fix(remap): block Starmap jobs while pending
-
fix(remap): gate normalization writers
-
fix(remap): cancel before pruning missing rows
-
fix(remap): retain empty destination ownership
- OPT-1093 Make batch trash partial-failure safe (#789)
-
Fix partial batch trash failures
-
Preserve safe trash copies on cleanup failure
-
Harden trash fallback reservations and copies
-
Preserve failed trash selections and outcomes
-
fix(trash): preserve completed fallback copies
-
fix(trash): clear readonly partial copies
-
fix(trash): defer restrictive directory modes
-
fix(trash): preserve unowned fallback destinations
-
fix(trash): rename without replacing destinations
-
fix(trash): harden no-replace moves across platforms
-
fix(trash): reserve past broken symlinks
-
fix(trash): report dangling sources accurately
-
fix(trash): preserve Windows long paths
- OPT-1084 Group random section play with Play (#792)
-
Group random section play with play control
-
Keep replay tooltip aligned with play action
- OPT-1082 Make waveform detail follow zoom level (#794)
-
Refine waveform detail for visible zoom ranges
-
fix(waveform): align refined detail coordinates
- OPT-1079 Reconcile selected sources with disk on open (#795)
-
Reconcile sources whenever they are opened
-
fix(sources): defer reconcile across active scans
-
fix(sources): classify deferred scan selections
-
fix(source-scan): prioritize deferred selection
-
fix(scan): retain deferred source work by reason
-
fix(sources): replace stale missing source trees
-
Fix cached source selection during rescans
-
Prioritize deferred source selections
-
Preserve cached trees during reconciliation
-
Defer native opens until source scans finish
-
Prioritize deferred add-source selections
- OPT-603: Add role-scoped source DB sessions (#801)
-
refactor(db): add role-scoped analysis sessions
-
fix(db): allow ANN similarity cache writes
-
fix(db): defer progress maintenance during file ops
-
fix(db): drop progress sessions during file ops
-
fix(starmap): defer writers during file ops
-
fix(starmap): requeue writes after file ops
-
fix(db): gate stale cleanup during file ops
-
fix(starmap): resume retries after file ops
-
fix(similarity): tolerate source DB writer locks
- OPT-604: Make source DB hot reads schema-static (#802)
-
refactor(db): make hot reads schema-static
-
fix(db): preserve legacy read-only curation reads
-
fix(db): preserve legacy read-only collections
-
fix(db): project legacy pending rename defaults
- Prepare Wavecrate 19.1.1 release train
- Harden filesystem identities against reuse
🚜 Refactor
- Refactor(source-db): unify typed write commands (#800)
- Refactor(source-db): expose role-scoped open contracts (#799)
- Remove output adapter frame allocations (#787)
- Refactor(db): split journal recovery boundaries (#803)
🧪 Testing
- Test(db): harden progress snapshot contracts (#804)
- Test(playback): audit live playmark retarget boundaries (#797)
⚙️ Miscellaneous Tasks
- Merge remote-tracking branch 'origin/main' into wsvasek/opt-1088-wavecrate-never-play-a-new-sample-while-showing-the-previous
Conflicts:
src/native_app/audio/sample_load_actions/cache_start.rs
- Update Radiant for macOS drag ownership split (#796)
[nightly] - 2026-07-11
💼 Other
- OPT-1057 Split Starmap view owner modules (#764)
- Refactor starmap and harvest ownership (#766)
- OPT-1062 Pin Radiant runtime ownership split (#768)
-
Pin Radiant runtime ownership split
-
Retarget Radiant pin to merged main
- OPT-1064 Update Radiant automation module ownership
- OPT-1066: Pin Radiant interactive row owner split (#770)
-
OPT-1066: Pin interactive row owner split
-
OPT-1066: Retarget Radiant pin to merged commit
- OPT-1061 Split playback progress ownership
🚜 Refactor
- Split waveform edit and state ownership (#767)
⚙️ Miscellaneous Tasks
- Chore(radiant): pin OPT-1065 menu split
- Chore(radiant): pin merged OPT-1065 commit
[19.1.0-nightly.20260710+63505fc0] - 2026-07-10
🚀 Features
- Use common color marker alignment
- Use common row customization types
- Use common transient overlay context
- Use common drag preview sizing
- Use common tree guide rows
- Use common auxiliary window payloads
🐛 Bug Fixes
...
Wavecrate 19.1.0
Wavecrate 19.1.0
Release Metadata
- Channel: Stable
- Version: 19.1.0
- Target branch: release/19.1
- Commit: c373aa5
- Build date: 2026-07-04
- Promoted from: v19.1.0-rc.3
- Previous release boundary: v19.0.0
Artifacts
- macos / aarch64:
wavecrate-19.1.0-macos-aarch64.zip - macos / x86_64:
wavecrate-19.1.0-macos-x86_64.zip - windows / x86_64:
wavecrate-19.1.0-windows-x86_64.zip
Checksums
- Checksums:
checksums-19.1.0.txt - Signature:
checksums-19.1.0.txt.sig
Manual Notes
Wavecrate 19.1.0 stable release promoted from v19.1.0-rc.3.
Generated Changes
[19.1.0-rc.3] - 2026-07-04
🐛 Bug Fixes
- Keep GitHub release body out of release assets (#719)
💼 Other
- Preserve legacy nightly changelog sections (#720)
[19.1.0-rc.2] - 2026-07-04
💼 Other
- Bound RC and stable GitHub release bodies (#718)
[19.1.0-rc.1] - 2026-07-04
🚀 Features
- Add lightweight playback descriptor cache
- Use display-only waveform loads after instant audition
- Use metadata-only display for large instant WAV loads
- Add macOS external file drag support (#713)
🐛 Bug Fixes
- Avoid sample identity fingerprinting during normal navigation
- Avoid navigation stalls from last played updates
- Keep navigation load handoff off blocking IO
- Keep automatic prep off browsing path
- Avoid source-switch and browser projection stalls
- Avoid source DB reopen during metadata delta refresh
- Avoid recursive folder projection warm on UI thread
- Avoid cloning source trees during source selection
- Cancel stale sample loads during rapid navigation
- Keep playback handoff frames active
- Keep cache indicator probes sidecar-only
- Prioritize playback frame drains during navigation
- Fix Ubuntu release validation ALSA deps (#709)
- Fix staged PortalSurfer changelog assembly (#712)
- Fix Windows release archive root layout
💼 Other
- OPT-1002 Preserve focus across filtered samples
- OPT-1008 Verify release checksum signing keys before publish
- OPT-1009 Publish PortalSurfer releases via staged commit
- OPT-1010 Gate nightly publish on validation
- OPT-1011 Instrument release workflow publishes
- Ignore stale sample load handoffs during navigation
- Coalesce autoplay during rapid sample navigation
- Lengthen sample autoplay debounce during navigation
- Start cached navigation playback immediately
- Reduce navigation queue and progress poller stalls
- Reduce browsing IO churn during sample navigation
- Start persisted cache playback before waveform hydration
- Start playback-ready audio before waveform completion
- Profile slow UI navigation frames
- Load source metadata tags off the UI thread
- Demote waveform load after descriptor audition
- Start large WAV playback before cache migration
- Skip large WAV sidecar reads during instant audition
- Defer last-played persistence during playback
- Flush stale redraws during navigation bursts
- Flush pending redraws during navigation routes
- OPT-1012 Enforce release archive layout
- OPT-1021 Reduce protected playmark copy stalls
- OPT-1020 Preserve bit depth during WAV extraction
- Harden nightly release validation lane (#710)
- Allow protected-source drag-out to source roots (#711)
- Accept nightly SemVer release log headers (#714)
- Handle normalized release zip manifest paths
- Ignore release zip directory entries in verifier
[19.1.0-nightly.20260702+981f180e] - 2026-07-02
🚀 Features
- Add playmark drag ghost preview (#698)
💼 Other
- OPT-988 move map projection contracts (#688)
- OPT-989 move dirty graph contracts into app core (#689)
- OPT-990 own browser source state contracts in app core (#690)
- OPT-991 own projection state contracts in app core (#691)
- OPT-992 shrink app-core controller bridge
Retire the app_core app_api controller bridge export and move the retained controller seams behind focused app-core adapters.
- Prompt for protected extraction target sources (#693)
- OPT-1006 show protected source block flashes
Show a visible red error flash across protected source rows, files, waveform feedback, and the protected source lock icon when blocked destructive actions are attempted.
- OPT-1005 render playmark resize handles above boundaries
Paint waveform selection handles above boundary and marker lines so playmark and editmark resize handles remain visually prominent.
- OPT-978 keep beat guides visible while sliding selections
Render beat guides from live playmark and editmark slide previews so guides remain visible and aligned during selection moves.
- OPT-977 show beat guides while painting selections
Render beat guides from live playmark and editmark creation previews so rhythmic feedback appears immediately while painting selections.
- Harden nightly release promotion ordering (#699)
[19.1.0-nightly.20260702+961b0315] - 2026-07-02
💼 Other
- Verify PortalSurfer downloads through gate (#687)
[19.1.0-nightly.20260702+b0d0b330] - 2026-07-02
🐛 Bug Fixes
- Fix PortalSurfer release timestamp verification (#686)
💼 Other
- OPT-987 move browser projection cache contracts (#685)
[19.1.0-nightly.20260702+5e5f4198] - 2026-07-02
🚀 Features
- Use path-safe PortalSurfer nightly build ids
[19.1.0-nightly.20260702+1427ce7c] - 2026-07-02
🚀 Features
- Add browser context menu shortcut hints
- Add release train preparation workflow (#679)
💼 Other
- Align context menu labels and shortcut hints
- Point Radiant submodule at merged menu commit
- Align nightly release asset names (#677)
- Generate structured RC and stable release logs (#678)
- Factor shared release workflow helpers
- Validate promoted RC release artifacts before stable
- Publish RC and stable releases to PortalSurfer
- Verify published release artifacts
⚙️ Miscellaneous Tasks
- Update Radiant menu label width handling
- Update Radiant compact menu width
[19.1.0-nightly.20260702+30c443a8] - 2026-07-01
🐛 Bug Fixes
- Keep collection markers inside their column
- Keep compact column decorations inside cells
- Keep sample labels left of column dividers
💼 Other
- Align collection markers left of header divider
- OPT-959 Align W context menus to pointer anchors (#675)
-
Align shortcut context menus with pointer anchors
-
Use runtime pointer snapshots for shortcut menus
-
Use live pointer for playmark shortcut menus
-
Toggle context menus with W shortcut
-
Point Radiant submodule at merged OPT-959 commit
[19.1.0-nightly.20260701+4774e3eb] - 2026-07-01
💼 Other
- Reject symlinked source database paths (#652)
- OPT-961: contain delete recovery journal paths
Harden delete recovery journal path handling before restore, purge, rollback, and retained restore operations.
- OPT-942: constrain public release catalog matching
Limit public release catalog matching to active Wavecrate download targets and keep historical Linux entries ineligible for current downloads.
- Set up Wavecrate 19.1 release pipeline
Set up 19.1 release metadata, nightly/RC/stable workflows, updater channels, and release contracts.
- Plan app-core legacy boundary migration
Close OPT-949 by documenting the current app-core legacy boundary inventory and creating scoped Linear follow-up issues.
- Clarify doctor Linux diagnostics
Close OPT-953 by labeling Linux/WSL doctor paths as developer tooling only and preserving supported app install messaging for Windows/macOS.
- Clarify README Linux tooling scope
Closes OPT-946
- Clarify manual usage platform docs
Closes OPT-947
- Clarify startup perf calibration policy
Squashed OPT-952 implementation.
- Clarify public docs supported storage paths
Squashed OPT-945 implementation.
- Clarify updater apply test platform fixtures
Squashed OPT-954 implementation.
- Advance Radiant submodule after OPT-952 merge
Radiant stack was merged upstream with merge commits; this advances the Wavecrate submodule pointer to Radiant main.
- OPT-941 align updater asset platforms with release contract (#668)
- OPT-940 disable unsupported Linux update identities (#669)
- OPT-951 document headless ALSA validation tooling (#670)
- Flip context menus near bottom edge (#655)
- Synchronize shortcut help with registered bindings (#672)
- OPT-957: Align column drop marker with reorder boundary (#671)
-
OPT-957 align column drop marker with reorder boundary
-
Align column drop marker with divider handle
🚜 Refactor
- Rename installer branding to Wavecrate
Rename installer-visible identity from SemPal to Wavecrate while preserving explicit uninstall-only fallback support for legacy SemPal registry entries. Closes OPT-937.
- Remove stale drag position refresh path
Remove the unused compatibility drag-position refresh entrypoint and stale egui wording while preserving the active Radiant/native typed drag update path. Closes OPT-948.
- Remove unused Linux cross config
Close OPT-944 by removing unused Cross.toml Linux ARM64 cross-compilation config after verifying current release workflows are Windows/macOS only.
[nightly-b6195-5ca8e6fc] - 2026-06-30
🚀 Features
- Show extracted samples during playmark drags (#643)
🐛 Bug Fixes
- Fix normalized audition for long file-backed samples (#645)
-
Fix normalized audition for file-backed long samples
-
Uncap normalized signal preview gain
💼 Other
- Ignore cfg-test fixture blocks in native guardrail (#637)
- Route waveform gain normalization through playback runtime
- Harden sample identity after waveform edits (#642)
-
Invalidate persisted waveform cache after edits
-
Reload selected normalized sample after extraction edits
-
Focus protected extraction derivatives
-
Instrument sample identity transitions
-
Refollow refreshed selected sample rows
-
Add sample payload identity diagnostics
-
Log sample identity at standard level
-
Evict stale extraction waveform caches
Wavecrate 19.1.0-rc.3
Wavecrate 19.1.0-rc.3
Release Metadata
- Channel: Release Candidate
- Version: 19.1.0-rc.3
- Target branch: release/19.1
- Commit: c373aa5
- Build date: 2026-07-04
- RC number: 3
- Previous release boundary: v19.1.0-rc.2
Artifacts
- macos / aarch64:
wavecrate-19.1.0-rc.3-macos-aarch64.zip - macos / x86_64:
wavecrate-19.1.0-rc.3-macos-x86_64.zip - windows / x86_64:
wavecrate-19.1.0-rc.3-windows-x86_64.zip
Checksums
- Checksums:
checksums-19.1.0-rc.3.txt - Signature:
checksums-19.1.0-rc.3.txt.sig
Manual Notes
Wavecrate 19.1.0 release candidate 3; retries stable changelog repair with long changelog support.
Generated Changes
[19.1.0-rc.3] - 2026-07-04
🐛 Bug Fixes
- Keep GitHub release body out of release assets (#719)
💼 Other
- Preserve legacy nightly changelog sections (#720)
Wavecrate 19.1.0-rc.2
Wavecrate 19.1.0-rc.2
Release Metadata
- Channel: Release Candidate
- Version: 19.1.0-rc.2
- Target branch: release/19.1
- Commit: 961d89d
- Build date: 2026-07-04
- RC number: 2
- Previous release boundary: v19.1.0-rc.1
Artifacts
- macos / aarch64:
wavecrate-19.1.0-rc.2-macos-aarch64.zip - macos / x86_64:
wavecrate-19.1.0-rc.2-macos-x86_64.zip - windows / x86_64:
wavecrate-19.1.0-rc.2-windows-x86_64.zip
Checksums
- Checksums:
checksums-19.1.0-rc.2.txt - Signature:
checksums-19.1.0-rc.2.txt.sig
Manual Notes
Wavecrate 19.1.0 release candidate 2; retries RC publication with bounded GitHub release notes.
Generated Changes
[19.1.0-rc.2] - 2026-07-04
💼 Other
- Bound RC and stable GitHub release bodies (#718)