Release Notes
Version 1.0.19-beta+25
July 1, 2026
This songbook-export and printing release adds a stage run sheet, a unified songbook workspace, exact-value formatting sliders, and direct Pro purchases for non-store builds:
- Print Setlist run sheet. New dialog prints the setlist as a one-page run sheet — titles with optional artist, key, playtime, song notes and sticky notes, number/bullet position markers, plus band name and event date/location — separate from the full songbook export.
- Unified songbook workspace. The songbook export is now a three-pane view: an editable, keyboard-navigable song list, book-wide vs per-song options, and a live PDF preview that follows the selected song and preserves scroll/zoom across edits.
- Editable-value sliders. Format-sidebar sliders open a popover with a typable value, +/− steppers and an optional 5% snap.
- PayPal Pro on non-store builds. Direct-download builds (macOS, Windows, Linux, sideloaded Android) can buy Pro via PayPal and refresh purchase status; App Store / Play builds remain in-app-purchase only. Removed the old PayPal donate button and the Beta-Test tab.
- {columns:N} in output. The directive seeds the print/songbook column count (clamped 1–4, still overridable); {cb} forces a column break once there are two or more columns.
- Inline rename + auto-focus. Rename PDF/sheet-music songs directly in the list; newly created or imported songs are auto-selected and scrolled into view.
- Public-link audio. “From a link” renamed to “From a public link”; non-public cloud links offer an “Open in browser” action; sign-in-required download errors are now messaged.
- Layout defaults. Larger default chord size and tighter chord-to-lyric spacing (chordSpacing default 0.7).
- Update check in Maintenance. The manual “Check for updates” action moved into Preferences → Maintenance.
- Tooltips. Real explanatory tooltips on sidebar labels and across all three PDF dialogs; value-first tooltips on the Format sliders.
- Find Chords + chord input. Base-fret control plus constant dialog height; the first marker tap on an untouched string now mutes it.
- Sync nudges. Earlier unsynced-backlog warning (soft + stale-time tiers); a Wi-Fi “sync now” button for sheets not yet on this device.
- Smaller fixes: crash on quit from a late libmpv callback teardown; removed Riverpod “rebuilt multiple times in one frame” churn in the song view, status bar and Format panel; songbook live preview no longer jumps to the top on each change; workflow-status dot gives instant optimistic feedback; de-abbreviated over-shortened UI labels so the full text shows; refreshed translations, in-app help and PDF manuals across all 22 locales.
Version 1.0.19-beta+24
June 27, 2026
A format, export, and chord-rendering build:
- All-sections master font row. A new row at the top of Format › Fonts edits every section’s font at once — change one attribute (font, size, bold, italic, colour, line spacing) and it propagates to all sections, while untouched attributes stay per-section. “All styles” / “Body only” scope per edit; Reset reverts the whole snapshot.
- Section font popup stays on screen. The popup now clamps vertically and scrolls inside the overlay, so the taller “All sections” variant no longer opens past the bottom edge with unreachable controls.
- Songbook export controls. The Songs-mode per-song panel gains a collapsible Visibility section (so Scale sits at the top) and the “Show diagram frame” toggle; the per-song layout button now reflects edits as “Custom”.
- Transpose spells by the destination key. With no key directive, the key is inferred from the chords and accidentals follow that key’s signature (sharps for A, flats for Db) instead of a flat-only downward fallback. Fixes the reported Am/Em → “Gbm/Dbm” in key A.
- Chord render fixes. No spurious voicing superscript when a chord is assigned its own default shape; chord glyphs and voicing superscripts (F², Fm⁷) are no longer clipped in the render view; bare bar separators (|, ||:) render on screen below the chord; tight chord/bar spacing in the PDF is padded so crammed chords no longer merge.
- Band invites gated on Pro Cloud. The band-invites Edge Function now requires is_pro_cloud (not just base Pro), matching the client-side entitlement. Deployed to prod + beta.
- Smaller fixes: benign first-frame RenderFlex overflows are breadcrumbed instead of auto-submitted to support as crashes; English help, user manual, and the guided tour caught up to the new font controls; help screenshots regenerated across all 22 locales.
Version 1.0.19-beta+23
June 25, 2026
Chord-diagram clarity and appearance polish, plus a Windows numpad text-input fix:
- Numbered repeated chord voicings. When a song assigns more than one shape to the same chord name, the secondary voicings are numbered with a superscript on the chord name (“C”, “C²”, “Fmaj7²”) in the on-screen render, the chord-chart panel, and the PDF. The chord overview is now shape-aware — one diagram per distinct shape — instead of deduping by name. A shared, unit-tested helper drives the numbering so screen and print agree.
- Chord name typography moved into the diagram appearance dialog. The “Chord name size” slider and “Aa” font button now sit on top of the live preview diagrams in the renamed “Chord diagram appearance” dialog (was “Chord diagram colours”), and ride along in its single Apply/Reset with the colours. ARB keys renamed colors→appearance and resynced.
- Chord-name font honoured everywhere. The render view (chord panel + inline “on top of each line”) and the PDF now apply the full chord-name style — family, weight, italic — not just the colour, matching the dialog preview; the PDF preloads the name font so it can’t throw.
- Persistent diagram size + tuning in the chord-assign dialog. The “Diagram size” slider reads and writes the per-instrument grid-scale pref, so the dialog reopens at the last-used size and a drag is remembered even without assigning a chord (range adapts per instrument, piano up to 2.6). The header shows the song’s tuning in parentheses when it is non-standard.
- Insert Intro & Outro sections. The
{intro}and{outro}standalone section markers — already wired through the tokenizer, parser, renderer (green bar + INTRO/OUTRO label) and per-section typography — now appear in the editor’s insert-section catalog, so they can be inserted like the other markers instead of hand-typed. - Windows numpad cluster fixed. With NumLock off, the numpad navigation/editing keys — Delete, arrows, Home/End, Page Up/Down — were dead in every text field on Windows because Flutter ships no Windows numpad shortcut map. Supplied the missing bindings (mirrored from Flutter’s tested Linux map, installed above the root navigator so dialogs and bottom sheets are covered). No-op off Windows and never fires while NumLock is on. Needs on-device Windows verification.
- Smaller fixes: the chord overview no longer surfaces an empty diagram for bar-lines and measure markers (
[|], slashes, repeats,%, N.C.) in a chord line — only tokens that parse to a real chord feed the panel, while the markers still render inline; chord diagrams paint at a fixed aspect inside a FittedBox so the size slider scales cards uniformly without warping; Cancel/Assign pinned flush right in the chord-assignment footer; the PDF no longer crams two adjacent chord brackets with no lyric between them (”[G][C]”) together; the assignment-dialog filter bar pins the “+” new-shape action flush right with uniform chip heights; the CLOUD SYNC and OPEN SOURCE PACKAGES preference headings now show their full localized text when the panel is wide; refreshed translations across all 22 locales.
Version 1.0.19-beta+22
June 24, 2026
Chord-diagram dot colours, an editor drag gesture, and a footswitch reliability fix:
- Per-song fingering-dot colours. The chord-colours dialog gains a “Match dots to line colour” toggle plus per-mode (light/dark) pickers for the fingering, root, and bass dots; per-song overrides win over the global General chord colours and the automatic semantic colours. New DisplaySettings fields ride in layout presets + backups, and the PDF export matches (monochrome export still forces plain ink).
- Drag selected ChordPro text. Desktop mouse can grab a live selection and drag it to a new spot via a custom TextSelectionDragMoveRecognizer (grab cursor, ghost label, live insertion caret); the drop is one undo step and feeds autosave. Modifier-clicks, right-clicks, and read-only fields are unaffected.
- Footswitch routed regardless of focus. The HardwareKeyboard fallback is now authoritative for owned pedal keys in every focus state, fixing the Android/Boox “pedal dies after I tap the screen” case where a foreign Scrollable ate PageUp/PageDown (support reports 8f5a645c / 7b3f0b61).
- Songbook export honors chord-name size. “Export as songbook” now reads each entry’s chord-name scale instead of overriding it to 100%; removed the dead builder-level global so the render and measurement passes can’t drift again.
- Symmetric piano chord diagram. The keyboard diagram’s black keys now spread symmetrically about each sub-group’s centre instead of being offset to one side.
- Smaller fixes: chord-diagram size slider restricted to 5% increments; getting-started checklist capped in the split Format sidebar.
Version 1.0.19-beta+21
June 23, 2026
Reliability fixes:
- Reveal in Finder for the database path. The Maintenance screen’s database path gains a “Reveal in Finder” button on macOS.
- This device always in the Maintenance roster. The current device is always shown in the device list, even before its first sync.
- No manual-sync prompt when signed out. The cloud-sync prompt is suppressed when no account is signed in.
- Idempotent early schema migrations. Database upgrades (schema v2–v16) can now safely re-run after an interruption.
- Anonymous usage opt-in now uploads. Opt-in usage pings upload via a SECURITY DEFINER RPC, fixing an RLS error (42501) that left the table empty; upload outcomes are now logged instead of swallowed.
- Smaller fixes: support form no longer throws a Chip layout assertion on long attachment filenames.
Version 1.0.19-beta+20
June 21, 2026
Chord-diagram colours gain light/dark modes, and printing stays light:
- Per-mode chord-diagram colours. Chord diagrams now hold separate line and background colours for light and dark mode (new chordDiagramLineColorDark / chordDiagramBackgroundColorDark fields); on-screen consumers resolve per Brightness, editing one mode auto-derives the opposite by flipping HSL lightness, and a manual edit pins it. Legacy data loads light-only.
- Single colours dialog. The Format panel’s two colour buttons and the frame switch collapse into one “Chord diagram colors…” button opening a dialog with two live preview diagrams (light/print + dark) and per-mode background/line controls.
- Printing is mode-correct. Printing and PDF export always use the light chord-diagram colours, so a dark-mode session no longer prints dark.
- Print fixes. Symmetric outer margin around printed chord diagrams; the PDF preview now refreshes when print settings change underneath the dialog.
- Smaller fixes: Format-section content inset from the section edges, status-bar spacing tweaks, minor chord-colours dialog polish.
Version 1.0.19-beta+19
June 19, 2026
A chord-diagram precision pass — on-screen and printed diagrams now share one geometry:
- Inline chord diagrams honor the frame switch. Diagrams shown “on top of each line” respect the frame toggle and use a shorter frame sized to fit, so they’re no longer stretched.
- Overall Scale slider scales chord diagrams. The Scale slider now resizes chord diagrams along with the rest of the rendered page.
- On-screen diagram geometry cleaned up. Grids are centered in their frame, compact (render-view) spacing is tightened, the marker→nut gap and fret-number width are corrected, and the sidebar frame fill is fixed.
- Printed/exported diagrams match the on-screen reference. PDF chord-diagram rendering now mirrors the screen, including a constant chord-diagram grid width for ukulele.
- Smaller fixes: reserve frame height for inline diagrams to fix a layout overflow.
Version 1.0.19-beta+18
June 19, 2026
Beta polish focused on chord charts, setlists, and print parity, plus several beta-report fixes:
- On-screen and printed chord charts now match. Fret numbers (plain, no “fr”), fingering-dot colours (theme primary, not always green), and block alignment are consistent across screen, print, and the Songbook Editor; long chord names scale to one line instead of wrapping.
- More barre chords. Canonical moveable E-shape and A-shape root-in-bass barres are now synthesized for every root (major/minor/7/m7/maj7), filling gaps that previously offered only slash-bass grips (seed version bumped to 5).
- New add#11 chord quality. Registered in the quality catalogue, reverse chord identifier, and chart parser (Cadd#11 / Cadd♯11, with a Cadd#4 alias).
- Setlist filter & sort. The Songs-tab setlist filter cycles Current / Archived / All, and the sort menu works under a setlist filter with a new “Setlist Order” entry plus Title / Artist / Modified / Workflow within the subset.
- Balanced printed side-rail chord chart. The printed rail fills row-major and balances column heights to match the on-screen wrap.
- Clearer layout labels. “Default song layout” vs “Default songbook layout” are now distinct, and the songbook layout bar flips to “Custom” when it diverges from the app-default print settings.
- Info menu item on Linux/Windows. The Songbook Buddy menu now opens About / Support (macOS keeps its native About item).
- Sharing inbox stays quiet when offline. Only a real server error (5xx) shows the red “couldn’t load your shares” banner; offline / timeout / stale-session / not-deployed fall back to the empty state.
- iPhone band-create flicker fixed — a clamp error on a short viewport with the keyboard up no longer redraws every frame.
- Bug-report attachments from iCloud Drive are now downloaded and uploaded instead of being silently dropped, with visible messages when a file can’t be read or you’re not signed in.
- Smaller fixes: “Used chords” renamed to “Chords in Use”, stray green coach-mark line down the sidebar on phones removed, Chords-tab fret label tidied and a leaked song background dropped, reset-filters reworked as an inline icon button, in-window menu bar now uses a full-width surface with the header background colour on Linux/Windows.
Version 1.0.19-beta+17
June 18, 2026
Spacing, print-fidelity, and per-tuning chord fixes on top of 1.0.19-beta+16:
- Print/PDF spacing now matches the screen renderer. Lyric line leading and the chord-to-verse gap in printed and exported PDFs were computed differently from the on-screen layout; both now use the same metrics, with a screen/PDF parity test guarding it.
- Chord-shape assignments namespaced per instrument + tuning. Assignment keys are now scoped as
tu/<instrument>/<tuning>/::t<N>::leaf; legacy unprefixed keys remain a guarded current-tuning fallback (no migration), so each instrument and tuning keeps its own assignable shapes. - Chord diagrams keep colour, width, and per-tuning shapes in output. PDF and songbook diagrams no longer reset to defaults; the macOS print label is corrected.
- Wider chord-spacing slider range. The slider now reaches a sub-snug tuck and about 30% more spread.
- Press-and-hold value readout on Format-panel sliders. Hold a slider to see its current numeric value.
- Title/metadata line-spacing slider now works. The slider previously had no effect; the spacing is now applied, and the control is kept in the popup only (not the inline row).
- MIDI & Footswitch are now opt-in. Master toggles in Preferences → Pro (default off, mirroring DMX/OSC); each Devices sub-tab shows only when its feature is on, and the whole Devices tab disappears when MIDI/Footswitch/DMX/OSC are all off (with an active-tab fallback back to Songs). A one-time migration keeps the tab visible for existing users who already enabled MIDI/footswitch or learned mappings; the global pedal-key hook and the song-list focus-yield both respect the master toggle so a left-on mapping can’t swallow keys once hidden.
- Sign-out confirmation. The Account “Sign Out” button now confirms first, with entitlement-adaptive copy warning Pro / Pro Cloud users that those features deactivate while signed out (purchase retained, reactivates on next sign-in); other signOut() call sites are unchanged.
- Receive-only restore drops duplicate never-pushed songs. After a receive-only restore, songs that were never pushed from the device are reconciled instead of duplicated .
- Bug-report form usable on phones. Full-screen on handsets, fits and scrolls above the keyboard, no forced rotation, checklist overflow fixed.
- Sharing connect dialog no longer hangs forever. It now times out and can be cancelled.
- iOS launch hardened. A failing mDNS broadcast during LAN-sync startup no longer crashes launch.
- Preferences “Backup & Restore” section. The former Database section is renamed and now states that app settings are included in backups.
- In-window main-menu toggle (Linux/Windows). A new “Show main menu” preference (on by default) hides the in-window File/Edit/View menu bar; macOS always uses the system menu bar and ignores it.
- Smaller fixes: moved the per-section line-spacing toggle to the Editing section and stopped truncating its label; Songbook layout save dialog honours the 30-character name limit; setlist export prints the current setlist name after a rename.
Version 1.0.19-beta+16
June 17, 2026
Item #1
Item #2
Item #3
Version 1.0.19-beta+16
June 17, 2026
Imported-sheet markup, bug-report attachments, per-device live leadership, opt-in usage statistics, and a batch of macOS support fixes:
- Opt-in anonymous usage statistics. A new Preferences → About toggle (default OFF) plus a one-time non-blocking banner let users share cumulative anonymous counts — launches, active days, songs imported/created/opened, and per-feature use. Upload is throttled to 1/hour into a single
app_usage_pingsrow keyed by a random install id (separate from the sync device id); no song content, titles, lyrics, file names, or event timestamps are ever sent. RLS lets anon/auth write only their own row. Privacy policy updated (Art. 6(1)(a) GDPR; withdrawal deletes the install’s record). - Bug reports can carry screenshots. The in-app bug-report dialog gains an “Add file…” button on every platform — attach images or PDFs (≤10 MB each, up to 5). Files upload to a new private, RLS-gated
support-attachmentsStorage bucket; the triage GUI opens them via signed URL. - Imported PDF markup flattens on every desktop. Stamp and Ink annotations from Preview/Dropbox now render in Buddy: a native PDFKit backend on Apple and pdfium
FPDFPage_Flattenon Linux/Windows replace the Syncfusion path that silently dropped Stamp/Ink. A one-time re-flatten sweep (v1→v2) corrects earlier imports; the push-master re-uploads the baked bytes. Android is deferred (no bundled pdfium) and covered by sync. - Per-device live-session leadership. Leadership is keyed on
leader_device_idas well as account, so a second device on the same login follows instead of dual-broadcasting; a spare on the leader’s own account auto-follows. Legacy/null sessions fall back to account-only matching. - Bulk “reset to default layout” preserves musical state. The Danger Zone reset now keeps each song’s instrument, tuning, capo, and fingerings and resets only the visual layout (matching the per-song Reset).
- Loop setlist toggle. New synced “Loop setlist” preference (default on) in Preferences → Theater; off stops stepping at the ends.
- Sticky notes on the Setlists tab no longer paint song-attached notes over the setlist panes.
- Print-preview zoom retained. The single-song print dialog re-rasterizes in
didUpdateWidgetinstead of recreating State on each scale-slider tick, so the preview keeps its zoom. - Framed chord-diagram rail overflow fixed. Diagram item height is now frame- and font-scale-aware, so the side-rail charts no longer overflow the page or freeze the export when a frame and a larger “Used chords” size are combined.
- One-time onboarding tips no longer bleed over dialogs (RouteAware) and drop the stray full-height highlight ring on panel-sized targets.
Version 1.0.19-beta+15
June 16, 2026
Sheet-music markup, custom-tuning sync, and page-pedal reliability on top of 1.0.19-beta+14:
- Imported sheet markup now renders. PDFs imported from apps like MobileSheets had their annotation layer ignored by the page renderer; annotations are now flattened into the page content at import (only when present), and a guarded one-time startup sweep bakes in markup on sheets imported earlier and rewrites their attachment meta so it stays consistent with attachment sync. Fixes both the viewer and the rasterised songbook export.
- Custom tunings sync and load at startup. User-created tunings now sync across devices as a single user_settings row (whole-list last-writer-wins, no new table), so a song’s per-song tuning resolves correctly everywhere; separately, the custom-tuning resolver is warmed during bootstrap so songs render in their tuning immediately after a cold restart instead of falling back to standard until the Chords tab is opened.
- LAN “sync now?” offer no longer loops. The local-network sync prompt is tracked per session and offered once per peer, rendered as a MaterialBanner with Sync now / Not now, and cleared when the feature goes inactive or switches to auto.
- Page-turn pedal on e-ink Android. A guarded HardwareKeyboard fallback routes pedal keys when primary focus is null (focus can drift to nobody on Boox after route/lifecycle churn) and reclaims focus to the shell router node; no change when focus is present.
- Layout presets can include instrument & tuning + chord-diagram colours. Appearance presets gain an opt-in “Include instrument & tuning” checkbox and an optional chord-diagram line/background colour pair (visual-only, rides in layout snapshots); the active-layout annunciator now compares musically and flips to Custom when you change setup away from a musical preset.
- Framed chord diagrams + colours in print. A “Show diagram frame” switch wraps each chord diagram in a bordered, background-filled card — exposed in the Chords tab, in a song’s Chord Charts settings, and as a per-export toggle in the Print/Export dialog (default on, inherited by songbook export). PDF and songbook chord diagrams now keep their accent-dot and per-song line/background colours (matching the on-screen renderer) instead of defaulting to black, unless Monochrome chords is selected. The Format-panel “Diagram lines”/“Diagram background” colour labels are now adaptive — full text when the sidebar is wide, short form only when tight.
- Chord-diagram frame is now a per-song layout setting. The Format-panel “Show diagram frame” toggle moved from the global UiPrefs to a per-song DisplaySettings field (default on, with a fromJson fallback that migrates legacy song/layout JSON), so it flips the layout annunciator to Custom, is captured by Save layout, and rides in preset snapshots alongside the diagram colours. The Chords tab keeps its own global frame pref; PDF export keeps its independent print setting.
- Faster Save-layout dialog. The Save-layout dialog now prefills the name of the active layout and merges the name field with the “overwrite an existing preset” dropdown into a single combo, so updating a preset is one control instead of two.
- Smaller fixes: fixed a surface-coloured gap between a framed diagram’s background and its frame border; renamed the colored-dots pref key + frame label so stale translations don’t linger; refreshed translations across all 22 locales; EN in-app help + user manual and help screenshots regenerated; added the lanSyncNotNow string.
Version 1.0.19-beta+14
June 15, 2026
Stability and polish on top of 1.0.19-beta+13, with several launch-crash fixes and broader device support:
- Launch-crash fixes. Don’t apply synced preferences mid-frame (Android “tried to modify a provider while the widget tree was building” crash), and swallow async mDNS/Bonjour discovery errors so Wi-Fi sync discovery can’t take the app down at launch (iOS local-network DefunctConnection).
- Find bar & macOS shortcuts. ⌘F opens the ChordPro editor find bar when a song is loaded (song-list filter keeps ⌘F only with no song open / off the Songs tab); ⌥⌘F = Find & Replace, ⇧⌘Z = Redo; transpose accelerators no longer shadow text-cursor keys while editing ChordPro.
- Import defaults are honored. “Save these choices as my defaults” now skips the import plan dialog on later imports instead of just pre-filling it; added a Preferences → General → Editing “Reset import defaults” entry and moved it into a renamed IMPORT/EXPORT section.
- Onboarding hints. One-time coach tips point at their target with a pointer and highlight ring and are serialized one bubble at a time; the startup incident prompt and Pro-tour offer no longer race onto the navigator on launch.
- Setlist toolbar. Returning to All Songs fully exits setlist mode, reverting the bottom-toolbar setlist controls.
- iOS keyboard. Tapping outside a text field dismisses the software keyboard, including the iPad floating keyboard.
- Support-prompt severity. The “Something went wrong” prompt now appears only for data-at-risk incidents (backup/restore and shutdown-save failures); benign framework/native errors and unclean-shutdown detection are silent telemetry only, and a false unclean-shutdown prompt after a macOS background kill is fixed.
- Android device compatibility. MIDI, USB and Bluetooth uses-features are forced to required=“false” via tools:replace so Google Play stops filtering out e-ink tablets (e.g. Onyx Boox).
- macOS build integrity. A hard 150 MiB minimum-size floor on the DMG aborts before the Hostinger upload, so a stripped/corrupt disk image (the 47 MB 1.0.19-beta+13 build) can never reach users; the release pipeline now mandates serializing all Mac builds.
- Smaller fixes: per-platform size-budget upper bounds retuned (iOS/Android/Windows/macOS/Linux), Linux build-script fix, Windows generated_plugins.cmake regen for the jni FFI plugin.
Version 1.0.19-beta+13
June 14, 2026
Wi-Fi (peer-to-peer) sync for linked audio and sheet scores, preference sync, and a round of sync-direction and editor/render fixes on top of 1.0.19-beta+12:
- Wi-Fi sync is now peer-to-peer. Linked-audio files and sheet-song attachments copy directly between your own devices on the same Wi-Fi — every device both offers and pulls, with no fixed server/client and no cloud round-trip. Devices advertise under a friendly name (not the OS hostname), filtered to your account so strangers can’t see them.
- Automatic and proactive syncing. A new “Sync automatically” option copies new files in the background; with it off you get a one-tap “<device> is on this Wi-Fi — sync now?” offer when a peer appears, plus a Sync-now button in the linked-audio dialog whenever peers are present. It pulls from every peer found, not just the first.
- Review differing blobs. When the same song has different files on two devices, a divergence guard prevents silent overwrites: a Review panel shows your copy beside the peer’s and lets you Keep mine / Take theirs per file.
- Pro vs Pro Cloud tiering. Wi-Fi (WLAN) sync of these blobs is part of base Pro; cloud sync of the same blobs is Pro Cloud. Blobs migrate up to the cloud on Pro Cloud upgrade and fall back to WLAN-only on lapse, without loss. Sheet attachments now ride Wi-Fi sync too.
- General display preferences sync + ride in backups. Curated global display preferences now sync (following the library direction) and are included in
.sbbkbackups, with an “Also restore app preferences” toggle in the restore dialog. - Sync direction stays put on mobiles. A phone/tablet could quietly revert to “Send only” after a restart before its direction was stored; devices now keep the chosen direction, and newly-added mobiles default to receive-only so they never push unexpectedly. Restoring a backup no longer clones another device’s identity. (Reported by a beta tester on beta+12.)
- “Manual — never ask” honored on launch/restore. Fixed a startup/restore race where the manual-sync prompt could still appear despite the setting.
- Metronome time signature per song. Time signature now persists per song and honors the
{time:}directive. - Theater layout sticks across setlist songs. The chosen Theater layout no longer resets when moving between songs in a setlist.
- Library list reflects edits. Key/transpose and album changes update the Songs list immediately; the restored last-edited song reliably scrolls into view on launch.
- Linux: bundled audio engine. Release artifacts now bundle libmpv so linked-audio playback works out of the box; a dialog explains how to install it if it’s ever missing.
- Android: user-set device name. Uses the name you gave the device where available, so peers and the roster show a friendly name.
- Clearer spacing & chord-diagram controls. Line spacing and chord spacing are now independent sliders (decoupled in both the on-screen render and PDF), trailing chords stay top-aligned at raised chord spacing, chord-diagram settings are regrouped, and ⌘L / Ctrl+L toggles the sidebar.
- Help & manuals. Help and the user manual now describe sync/attachment encryption accurately (end-to-end with a key derived from your account password, not a separate “passphrase”), document the new Wi-Fi-sync and preference-sync flows, and add a content-responsibility note. Translations and manual PDFs refreshed across all 22 languages.
- Smaller fixes: ukulele inline diagrams default to open shapes instead of high barres; per-line line-spacing slider removed where it had no effect; collapsed duplicate device registrations and survived unroutable peers in the Wi-Fi peer list; corrected desktop synced-file storage location + added a “file missing” dialog; privacy-safe diagnostics when an audio write fails; stopped a double song-list rebuild (watchAllIds); fixed ChordPro insert-panel GlobalKey contention during capture; Preferences tabs sized to content so wide labels aren’t abbreviated; upgraded to Flutter 3.44.2.
Version 1.0.19-beta+12
June 12, 2026
Onboarding, demo songs, and broader platform reach on top of 1.0.19-beta+11:
- Guided onboarding. First-run beginner spotlight tour (overlay + anchored steps), a Pro-features tour with an activation prompt on unlock, a getting-started checklist card, contextual one-time tips, and an empty-library call-to-action. All tours and the checklist restart from Preferences → General → Help.
- Downloadable demo songs. Website demo-song pack + in-app importer, offered from the empty-library card, the checklist, and the Help section. Skips songs already present and reports a clear offline error when the server is unreachable.
- Chord name below diagram. New Chord-diagram-settings preference (default off) renders the chord name under the fretboard so stacked column diagrams align evenly.
- Workflow-status refinements. Status dot now cycles none → red → yellow → green in place on tap (no picker); new “Marker after the song title” placement option.
- Independent inline
{chord:}size. Format sidebar gains an Inline diagram size slider for songs using{chord:}, separate from the used-chords size; natural line wrapping around inline diagram runs; status-dot discoverability tweaks. - Baritone / alternate-tuning diagrams. Default fingerings for baritone and other non-standard tunings now resolve to familiar shapes.
- Sync-settings shortcut. The manual-sync “sync now?” permission dialog gains a Sync settings button.
- Sync reliability. Recover or drop orphaned
setlist_songson a song foreign-key violation, so a not-yet-arrived band song no longer wedges the pull. - DMX over LAN on Apple platforms. Apple-managed Multicast Networking entitlement enabled for macOS and iOS so Art-Net broadcast egress is no longer dropped by the App Sandbox / Local Network privacy; App Store Connect provisioning scripted for both Developer-ID and App Store targets.
- Maintenance fresh-install. Wipe database and Reset settings now produce a true fresh-install state.
- Smaller fixes: Android microphone/Wi-Fi/touchscreen features marked optional for broader Play Store device compatibility; macOS App Store bundle-id override + opt-in upload path; snappier settings→render and editor-open; benign libmpv audio log noise demoted out of basic support reports; one-time tip bubble clamped on-screen with checklist re-show/reset and Help-menu entries; translations refreshed and manuals shipped for all 22 locales.
Version 1.0.19-beta+11
June 12, 2026
Song-management, chord-parity, and ChordPro build on top of 1.0.19-beta+10:
- Workflow status (Pro). New opt-in red/yellow/green dot per song — Songs tab and Setlists tab (picker rows + setlist entries), Status sort, 3-dot filter, bulk assign in multi-select. Enable in Preferences → General → Song list. DB schema v32 (songs.workflow_status, 1=red/2=yellow/3=green); syncs via full-row encode.
- {chord:} inline diagrams. Full ChordPro
{chord:}support: reference ({chord: Am}/{chord: [Am]}), inline-define (fret/finger notation), and keyboard shapes. Bracketed form transposes; bare form is fixed. Text flows correctly around multi-run {chord:} rows; same-line directives draw on the lyric line. - “Number repeated sections” preference. Global ChordPro Layout toggle: two verses become VERSE 1 / VERSE 2 in the render and PDF. Single-occurrence types stay unnumbered; custom blocks are excluded.
- Chord name/diagram parity (screen ↔ print). Chord symbol color now uses the configured value everywhere (was brand green in the used-chords panel, inline diagram labels, and PDF diagram labels); PDF chord text now uses the chord-symbol size slider (was hard-coded at 75% of section style). Chord name position unified: name always above fretboard, same gap, tighter spacing in both views.
- Placement-specific print sliders. Print and setlist-export dialogs show one chord-size slider matched to the current placement: “Inline diagram size” for Inline, “Used chords size” for all others. Previously both sliders showed for non-inline placements and multiplied silently — this was the root of the songbook-export overflow fixed in 8c8775aa.
- Theater mode hides {np}/{cb} break markers. Page/column break marker rendering is gated by a new
showBreakMarkersflag (default true); the renderer passes!presentingso markers disappear in Theater mode without a rebuild. - Format-panel Edit button is a live toggle. The Edit icon in the sidebar Format panel lights up when the editor is open and closes it on a second tap; icon background highlights when active.
- Setlist export: layout bar in Songbook tab + persistent loaded-layout name. The “Load print layout” bar moved into the Songbook tab settings panel, pinned to the bottom. After loading a layout the bar shows the layout name persistently across song switches and app restarts (name is stored per-song in the setlist JSON blob); the label switches to “Custom” when any setting diverges from the loaded snapshot. i18n: placeholder renamed to “Default layout”.
- Smaller fixes: Android
resizeableActivity=falseremoved — tablets, foldables, and Chromebooks can now resize the app; iOS/macOS crash reporter no longer counts transient auth-refresh and prewarm launches as crashes; chord drag-and-drop now snaps per character instead of per pixel; help topic search gains Prev/Next match navigation with inline term highlighting; preview zoom slider no longer overflows in narrow panes (Expanded replaces fixed 140px width); translations refreshed and manuals shipped for all locales.
Version 1.0.19-beta+10
June 10, 2026
Print, export, and setlist-editing build on top of 1.0.19-beta+9:
- Inline ChordPro editor in setlist export. An “Edit ChordPro” button in the Songs tab swaps the per-song settings + preview for a syntax-highlighted source editor bound to the selected song, with quick Page/Column break inserts at the cursor; Done saves and reflows the preview.
- Side-rail chord-chart positions in PDF export. Four new “used chords” placements put the chart in a vertical rail left/right of the page (every page, or first page only); the rail is column-major and auto-sizes to exactly the width its diagrams need.
- Shared zoomable preview with thumbnails. A new PdfPagesPreview (scrollable pages, clickable jump-to-page thumbnail strip, zoom slider with fit-page / fit-width) is now used by the single-song print dialog and both setlist-export modes, so a whole tall page fits on screen.
- Edit button on setlist entries. Setlist entries open the song editor in a split view; the open survives the tab switch instead of being dropped.
- Drop songs at an exact index + drag multi-selections. Dragging a song into a setlist now inserts at the targeted row instead of always appending, and a checked multi-selection can be dragged as a group.
- Chord-chart sidebar follows live edits. The “used chords” panel, key detection, and custom-block list read the live editor buffer (song-id tagged) instead of the last-saved DB row, so they no longer show a previous song’s chords or miss grid chords just typed.
- Grid chords, default voicing, B♭/F♯ recognition. Chords inside grid sections now reach the chart panel and PDF, the default voicing prefers the canonical open shape (open D xx0232 over x00232), and flat/sharp roots resolve to a chart.
- “Chord shapes match the names” capo option. Renamed capo setting, default off: a written [G] with a capo stays a G shape with the capo drawn as a line; off restores the concert-pitch re-grip. Threaded through the inline provider, print, and songbook export.
- Lock chords in theater mode. New Preferences → Theater switch (default off): when on, tapping a chord in the inline song render or the chord-chart side panel is a no-op while presenting (dragging was already disabled), so a stray touch on stage can’t open the chord-assignment dialog.
- Imported sheet songs embed in songbook export. A setlist containing imported PDF/image attachments now rasterises and embeds those pages (with the book header/footer and contiguous page numbers) instead of failing the whole export with “Cannot raster a malformed PDF file”; missing attachments fall back to a title placeholder.
- Export/print deadlock fixes (macOS). Single-song printing now passes dynamicLayout: false so it can’t deadlock the main thread under FlutterRunLoop, and an oversized saved chord-chart scale is clamped to one page height so a top/bottom chart block can’t wedge pw.MultiPage — both were beachballs that survived restart/reboot (support reports, builds 8 & 9).
- Help screenshots & PDF manuals download on demand in slim builds. Store builds strip the ~57 MB of help images + per-locale PDFs and lazy-download them (streaming progress, SHA-256 verify, atomic swap), mirroring the font/soundfont pattern; markdown topics + search stay bundled and fully offline. Settings → About gains a disk-usage / clear entry.
- Smaller fixes: side-rail strip is omitted entirely for songs with no diagrammable (guitar) chords; comment blocks no longer print a stray leading “#”; per-song layout label only names a layout actually applied to the selected song; selected song is preserved after leaving the inline editor; Edit button always opens a split view, not maximized; Escape leaves the Playback Timer / Lead Time fields and reliably closes the export dialog; help split view remembers per-section scroll position; manual PDF renders ⌘⌥⌃⇧ and the keyboard-shortcut/chord-diagram/debug-log help images no longer ship missing-glyph “tofu” boxes (images cropped + shrunk, ~14 MB saved); help search highlights matched terms; “Chord diagram colours” heading renamed to “Chord diagram settings”; the Preferences → General language dropdown no longer crashes the dialog (red ErrorWidget) when the stored locale isn’t one of the listed options (e.g. a bare “zh”) — it falls back to System; the share realtime listener no longer paints a full-window red overlay on a cold start where a restored user lands before the Supabase client is ready; build tooling pulls high-value secrets from the macOS Keychain instead of plaintext.
Version 1.0.19-beta+9
June 9, 2026
Polish and grid-rendering fixes on top of 1.0.19-beta+8:
- Real help screenshots. The placeholder images from 1.0.19-beta+8 are replaced — every in-app help topic and the downloadable PDF manual now embed actual screenshots of the current app, captured per locale.
- Chord grids follow the ChordPro spec. Grid sections (| chord | grid | lines) now align their columns across rows on a shared beat grid, draw section and compound bar lines correctly, hide silent beats, and honour margin and shape attributes, on screen and in print.
- Theater mode left-margin slider. A new slider below the scale control shifts the sheet music right (up to 600 px) to clear a stand clamp or center the view; it fades with the page pill.
- Theater layout loads reliably. A custom display layout now applies retroactively when the layout list finishes loading after Theater mode has already opened, instead of falling back to the default.
- Smaller fixes: translations refreshed for the new Theater margin control across all 22 locales with regenerated PDF manuals; internal manual-image capture pipeline reworked to produce reproducible, real-app screenshots.
Version 1.0.19-beta+8
June 8, 2026
Customization and fixes on top of 1.0.19-beta+7:
- Section colors panel. A new “Section colors” panel in the sidebar sets the bar and label color for each section type — Verse, Chorus, Pre-Chorus, Bridge, Intro, Outro, Lyrics, Tab/Grid, Comment, and any named custom blocks — independently of the body text color (controlled in the Fonts panel). A dot indicator marks rows with a custom override; reset via the picker’s Reset button. The Fonts panel gains Intro, Outro, and Lyrics rows. Body text color and bar/label color are now fully separate controls.
- Illustrated in-app help and PDF manual. All 29 help topics now embed screenshot images; the downloadable PDF manual regenerates with those images embedded. Note: the screenshots in this build are placeholder images — they will be replaced with final, accurate screenshots in an upcoming update. Asset directories are explicitly listed in pubspec.yaml so all PNGs bundle correctly on every platform.
- Grid chord transposition. Key changes and transpose operations now apply to Grid sections (| chord | grid | lines); previously grids stayed in the original key. Spacer (
.) cells now render as blank beats instead of literal periods. - Fret range filter lower bound uses chord start position. The minimum-fret filter in the chord diagram picker now matches chords by where they start, not where they overlap — matches what users expect when filtering by starting fret.
- Automatic scrollback label adapts to available width. The “Automatic scrollback” checkbox in playback settings shows the full label when there is room and abbreviates only on narrow panels.
- Section label color follows section-type font color. Section labels (e.g. CHORUS, BRIDGE) now inherit the text color of their section type instead of always using the accent bar color, so your per-section color choices apply consistently.
- Font color control for the Section Headers row. The color-picker button in the Fonts panel “Section headers” row was hardcoded off — it is now enabled.
- Reset default layout. A new “Reset default layout” action in Maintenance → Factory settings discards the saved default display layout and restores factory defaults — useful when a layout change can’t be undone from the display settings panel.
- Smaller fixes: Enter now confirms Delete Layout and all other showConfirmDialog sites (App Store / Play Store / Microsoft Store); VERSE label is suppressed on implicit sections not created from an explicit
{sov}directive; DB restore preserves the device’s sync direction so restoring a macOS backup onto an iPhone no longer flips it to send-only; macOS Ctrl+tap opens context menus; sticky notes no longer flash stale text after editing on Android; the “Maintenance” tab label in Preferences shows full text when there is room and abbreviates only when the tab bar is narrow; translations refreshed across all 22 locales with updated PDF manuals.
Version 1.0.19-beta+7
June 7, 2026
Preferences refinements and live-performance fixes on top of 1.0.19-beta+6 — new font control for section header labels, VERSE label toggle, imported-song auto-focus, scrollable locked sticky notes, metronome and Theater mode improvements:
- Independent font control for section headers. A new “Section headers” row in the sidebar Fonts panel sets the size and style of CHORUS, BRIDGE, VERSE and similar section labels independently — they were previously locked at 70% of the body font.
- Show the VERSE section label. Preferences → General → ChordPro Layout adds a “Show VERSE section label” toggle (default off); the label then renders the same way CHORUS and BRIDGE do.
- Imported song auto-selected in the sidebar. A single-file import now scrolls to and selects the new song immediately after completing.
- Locked sticky notes scroll. A note locked to a song uses a scroll view so long content is readable by dragging vertically.
- Metronome plays whenever enabled. Enabling the metronome via tap or footswitch now starts the click immediately regardless of playback state — previously it only played during an active song.
- Theater mode pill always starts dimmed. The pill opens dimmed the moment Theater mode launches and stays fully visible for 2 s after any interaction; fades after 800 ms following a footswitch or tap page turn so it clears sheet music quickly, 3 s after a direct pill tap or hover.
- Preferences → General reorganized. “Behaviour” is now three panels — Editing (autosave, field directives, instrument), Theater mode / Presentation (keep awake, advance mode, layout, sticky notes), and Export (ChordPro key options, archived songs, recording format). The Theater section header is renamed “Theater mode / Presentation”.
- Smaller fixes: Enter now confirms the Save Layout dialog; restore success snackbar stays visible for 10 s; preference description texts left-align under their control rows; translation refresh across all 22 locales and updated PDF manuals.
Version 1.0.19-beta+6
June 6, 2026
A refinement follow-up to 1.0.19-beta+5 — keep-or-absorb control for typed ChordPro field directives, monospaced fonts in every section style, two print fixes, and a manual-sync backlog banner:
- Keep typed field directives in the song text. New “Move field directives into controls” preference (default on, today’s behavior). On: a typed
{key:}/{capo:}/{transpose:}/{playtime:}is absorbed into its column/control and removed from the editor buffer — which finally clears the stuck modified dot — with a one-time “where it went” notice and a don’t-show-again option. Off: directives stay inline as the source of truth, and the Key field, capo slider and transpose buttons write back into the text so a later editor save doesn’t revert them. Adds a separate “Put exported key at the end” preference (default leading) that places the exported{key:}(with capo/tempo) after the body so{title:}/{artist:}stay on top. - Monospaced fonts in every section style. The section font picker no longer restricts non-Tab/Grid styles to proportional faces — any family in the registry, mono included, is selectable for chords, verses and the rest. Tab/Grid stays mono-only because it aligns by character column.
- More sidebar height in multi-select. “Select multiple songs” now hides the per-song Format/Playback/Instrument panel and gives the full sidebar height to the song list.
- Manual-sync backlog banner. A dismissible banner appears above the main content once ~50 distinct changed records are queued in the outbox on a manual sync interval with a signed-in account, offering a one-tap “Sync now” that runs even in never-ask mode. It counts distinct (table, record_id) pairs rather than raw outbox rows, so the figure matches “songs changed” instead of per-autosave writes; dismiss is session-scoped and re-shows if the queue climbs another full step.
- Clean exits no longer auto-submit as crash reports. The recovered-session flush uploaded every retained session log not yet marked sent, so the first manual support report could auto-submit recently clean-exited sessions as “Recovered prior-session log.” A per-session clean sidecar now marks clean teardowns and skips them; only genuine crash / force-quit logs are auto-recovered.
- Print: contents page numbers on the title line. The Table of Contents page number now shares a row with the song title (subtitle beneath) instead of bottom-aligning beside both lines and floating mid-way when the subtitle shows.
- Print: chord-only lines no longer smoosh. Chord-only PDF lines now get
chordFontSize × 0.8of trailing space (mirroring the on-screen ChordLineBuilder) and credit the spaces you typed between chords, instead of a flat 3pt gap; chord+lyric cells keep the tight gap. - Smaller fixes: hardened the feature-toggle notifier against a missing SharedPreferences plugin so reading a toggle in unit-test paths keeps the default instead of throwing.
Version 1.0.19-beta+5
June 5, 2026
A focused follow-up to 1.0.19-beta+4 — full key/capo/tempo round-tripping across ChordPro import and export, on-demand key inference shown everywhere, and controller-bindable lighting actions:
- Imported keys no longer lost. ChordPro import was re-reading the key from text the directive parser had already stripped, so an explicit
{key:}disappeared from both the source and the stored key field. Import now reads the parsed key and capo like the persist path already did. - Key inferred on demand, shown everywhere. Auto-detection previously ran only inside the Format sidebar panel; the key is now derived from the chord content for any key-less song and shown as the Key chip in the song view, the Songs-tab library and the setlist panes. Inferred keys are never persisted, so the stored key stays explicit-only.
- ChordPro export round-trips structure. Promoted
{key:},{capo:}and{tempo:}directives are re-injected on export — single song or whole library — so files round-trip faithfully. An explicit key always exports; an auto-detected key exports only when the new Preferences → General → “Export auto-detected key” toggle is on (default off, preserving source fidelity). - Setlist song picker shows the key. The Setlist-tab Library pane lists each song’s key in its subtitle, like the Songs-tab library.
- Lighting actions for MIDI, OSC and footswitch. Five controller-neutral DMX actions — blackout, apply current cue, and output on / off / toggle — join the shared action registry, so they appear automatically in the MIDI, OSC and footswitch mapping dropdowns. Output actions are guarded by the DMX-available check so an inbound controller can’t resurrect transmission behind your back; engine-routed actions no-op when DMX is off.
- Setlist DMX cues fire while stepping. The setlist cue dispatcher gated on the active-entry provider, which lags the entry id during the two-step select-and-open, so stepping a setlist fired zero cues — only manual scene-apply worked. The cue is now resolved directly from the selected setlist’s entries by id, decoupled from song selection.
- Smaller fixes: the imported capo directive is now mapped alongside the key; in-app help and the bundled manual document the new key/capo/tempo round-trip and the Export-auto-detected-key preference.
Version 1.0.19-beta+4
June 4, 2026
A stability follow-up to 1.0.19-beta+3:
- macOS Art-Net now reaches the wire. beta+3 logged frames as sent but Wireshark showed nothing leaving the Mac — macOS Local Network Privacy was silently dropping all LAN access. The macOS target now declares the Local-Network usage keys (mirroring iOS), and the sender checks the socket’s send() return value so a refused datagram is logged as
tx droppedinstead of a phantom success. Unicast to a configured node IP works now; broadcast to “all nodes” still needs the Apple-managed multicast entitlement, which is pending approval. - Crash-resilient bug reports. The app mirrors each run’s diagnostic log to its own file (last 5 sessions, FIFO), so a crash or force-quit before you can report — e.g. an early-bootstrap iOS first-start crash — is no longer lost. A successful upload also flushes any earlier unsent sessions, each marked sent only on success so nothing sends twice. The danger-zone clear wipes all session files.
- Editor startup overlay fixed. The song editor read a provider inside dispose() to clear its sticky-notes anchor; on the first-launch shell rebuild this threw a caught “ref when unmounted” error shown once as a red overlay at startup. The notifier is now cached in initState like the editor’s other dispose-time providers.
- Smaller fixes: DMX/OSC settings sidebars no longer flood debug builds (and support bundles) with the ListTile-in-ColoredBox assertion — each ExpansionTile header now has a transparent Material ancestor; the macOS multicast entitlement is disabled until Apple approves it (its mere presence forced a development-cert signing requirement that broke
flutter build macos), with unicast-to-node egress unaffected.
Version 1.0.19-beta+3
June 3, 2026
A song-management beta on top of 1.0.19-beta+2 — bulk library tools, band-song management, and a batch of editor / print / sync fixes:
- Multi-select bulk tools. Songs tab: bulk set rating, apply a saved layout, tag and archive across a whole selection; ⌘/Ctrl+A select-all, Shift-range, Esc to clear/exit, and the list takes focus when the mode turns on. Selection survives a bulk rating/layout change.
- Bulk-add in the setlist song picker. Same Select-multiple mode in the in-setlist picker — add a batch to this setlist, another existing one, or a new one in the current sort order (single Drift transaction, one idempotent outbox mutation per row).
- Trash view per-row actions. Real Restore (with Undo) and “Delete permanently” (guarded hard delete behind a confirm) on every deleted row, independent of edit/multi-select mode.
- Automatic “Sheet” tag. Non-removable Sheet mark for sheet-music songs, mirroring the synthetic Audio tag, with an include/exclude filter facet.
- Sticky notes pin-to-sheet (Pro). New Behaviour preference anchors song notes to the chord sheet so they scroll with the content and cull off-sheet; defaults to the existing screen behaviour.
- Song metadata rendering. Composer, lyricist, arranger, duration and copyright now render on screen and in print behind the Meta toggle; the arranger directive is no longer stripped on save/import; new print “Meta” toggle in the dialog and per-song panel.
- Band songs pane + explicit remove. Bands tab lists every shared song and offers owner/admin “Remove from band” — soft-deletes its setlist entries, tombstones the shared row, and clears the personal overlay; the list refreshes immediately. Manual-sync mode adds a “Remove & sync now” action and a suppressible reminder.
- Own published songs treated as personal. A song you own and have published to a band setlist is now selectable in multi-select and shows Share / Archive / Delete instead of read-only band chrome (foreign band songs with no local row stay locked).
- Band-song sync fixes. Server
apply_field_lwwno longer dead-letters band_song_prefs overlay writes from transpose / re-key / rate: the INSERT path honours table defaults instead of writing NULL into NOT-NULL columns, and the UPDATE path no longer double-assigns updated_at (42601). Both verified on the linked project and fix already-deployed apps without an app update. - “Retry all” for failed sync items. One button re-queues every dead-letter row in a single transaction (Settings → About → Support).
- Receive-only outbox bounded. Pending entries on receive-only devices are collapsed per-row and the never-sendable backlog is purged, preventing unbounded growth and a stale-write Field-LWW hazard on a later direction flip.
- Pro entitlement on offline cold start. Cached Pro state surfaces immediately on a no-internet network instead of after two serial socket timeouts; launch session refresh bounded to 6s.
- Chord-diagram name styling. Font / colour / size button for the diagram name in the chord assignment dialog, applied across every diagram card; round-trips through DisplaySettings for sync and backup.
- Editor conveniences. Metadata insert snippets (composer / lyricist / arranger / copyright / duration), the just-created chord shape is reselected on return, the Theater page-turn pill auto-fades during playback, and tapping a rendered chord selects its token in the editor source.
- Print colour + chord font. PDF output honours each element’s colour and the chord symbol’s font instead of forcing green chords / Verse font / black text; monochrome printing still forces ink.
- ChordPro library export. Archived songs are excluded by default (opt-in “Export archived songs” preference writes them to an archived/ subfolder); deleted songs are never exported.
- Metronome from MIDI & footswitch. New on/off/toggle metronome actions can be bound to MIDI controls and footswitch pedals; the actions no-op cleanly when the metronome feature is switched off.
- Footswitch reliability. The song list no longer swallows pedal key presses when it holds focus, so footswitch page-turns keep working after you tap or scroll the list (the hydrated
enabledflag is now logged for diagnostics). - DMX Art-Net destination. Live Art-Net output now goes to the configured node address even on a non-default network interface, instead of only the host’s default-route NIC where directed broadcasts could silently vanish.
- Smaller fixes: OSC applySettings serialized to stop a startup double-bind race (no more spurious bind-failed log); migration 20260528120000 version-collision resolved; diagnostic reports show the live pending-outbox depth instead of the last post-sync snapshot; the Edit (row-actions) toggle highlights when active; perf — parsed-AST and DisplaySettings LRU caches, precomputed song-list sort keys, isolated app-root rebuilds, and a cheaper sidebar list signature.
Version 1.0.19-beta+2
June 1, 2026
This build fixes a setlist sync bug. Running Repair could leave a setlist’s songs missing on your other devices — the setlist name synced but its contents didn’t, and repeating Repair kept re-dropping them. Songs added to a setlist (and setlist sticky notes) are now tagged with an owner so the authoritative Repair push includes them, and Repair now also keeps any older un-tagged entries instead of discarding them.
Please update all of your devices first. Then, on the one device that still shows your setlists with their songs, go to Settings → Repair and run it once — your other devices will catch up automatically. Don’t run Repair on a device until it has been updated.
Version 1.0.19-beta+1
May 31, 2026
A refinement pass on top of 1.0.18-beta+1:
This build fixes in-app update detection and rolls up everything from the 1.0.18-beta line, so testers who were stuck on an older beta finally get the update prompt:
- Update detection fixed. The in-app updater compared versions with semver rules that throw away the
+Nbuild number, so consecutive beta builds (1.0.18-beta+1 → +2 → +3) all looked identical and no “update available” banner ever appeared. The build number is now used as a tiebreaker when the rest of the version matches, so beta→beta updates are detected again. (This is also why this build is 1.0.19-beta rather than another 1.0.18-beta+N — existing installs carry the old comparator and only notice a base-version bump.) - Roomier Chords tab with a split right-hand panel (diatonic palette + substitutions helper), each with a collapsible “What is this?”, plus browser-style back/forward chord history.
- Per-instrument SoundFont voices for banjo, mandolin and ukulele instead of the nylon-guitar preset.
- Reworked progression builder: single-screen dialog with free-typed chords and an auto generator (genre / mood / complexity), per-section editing, tap-tempo and ChordPro export.
- Flashcards difficulty levels (Beginner / Advanced / Expert).
- Sidebar maximize cycle (balanced → settings-maximized → list-maximized) and an edit-saved-layouts dialog (rename / reorder / delete).
- Default instrument & tuning for new songs preference.
- Sticky notes in normal view (Pro, opt-in).
- Per-device sync direction in the roster and a steadier device roster that survives uninstall/reinstall, with a live restore progress bar.
- Songbook front-matter pagination so the first song starts on page 1, with body-relative footer/ToC/index numbering.
- On-screen {np}/{cb} break markers, the effective key shown beside the artist in Library/Setlist lists, and bracketed chords like (Cmaj7) that now parse, transpose and draw their diagram.
- Smaller fixes: chord-assignment dialog stays open after Remove, duplicate setlist positions healed via a partial UNIQUE index, sticky-notes “+” relocated, Hindi manual glyph-coverage gate fixes (B↔H arrow, ▲ and Δ), and release/harness tooling fixes.
Version 1.0.18-beta+1
May 30, 2026
A major update introducing powerful new tools for performers, expanded song-management features, and significant workflow improvements.
Highlights
- Built-in Chromatic Tuner (Pro) with multiple display modes, support for 27 instruments and 200+ tunings, and customizable reference pitch.
- DMX Lighting Control (Pro) for creating and triggering lighting scenes and chases directly from setlists.
- OSC Control (Pro) with flexible inbound and outbound mappings for integrating external software and hardware.
- Expanded Chords Tab featuring related chords, harmonic substitutions, reverse chord finder, progression builder, flashcard training, custom tunings, and support for mandolin and banjo.
- Sticky Notes (Pro) for songs and setlists, including rich formatting, positioning, resizing, and device synchronization.
- Chord Notation Options: switch between Western, German/Hungarian, and Latin chord naming systems throughout the app and PDFs.
- Enhanced Audio Playback (Pro) with linked-audio improvements, tempo detection, count-in support, recording options, and local network audio synchronization between devices.
- Setlist-to-Songbook Export with cover pages, table of contents, index, advanced layout options, presets, and live preview.
- Library Management Improvements including bulk actions, archived/deleted views, and enhanced filtering.
- Per-Device Sync Modes with bidirectional, send-only, and receive-only synchronization options.
- In-App Announcements & Service Notifications for important updates and maintenance messages.
- Improved Band Mode Reliability with enhanced recovery, repair, and synchronization tools.
- Expanded Chord Library with new chord types, aliases, and improved fingering support.
- Anonymous Support Reports now available directly from within the app.
Additional Improvements
- Refined editor and sidebar workflow.
- Improved PDF generation and printing options.
- Better song formatting and layout handling.
- Updated documentation and help system.
- Translation updates across all supported languages.
- Numerous bug fixes, performance improvements, and reliability enhancements throughout the app.
Version 1.0.17-beta+2
May 22, 2026
A performance-focused beta on top of 1.0.17-beta+1 — you can hand songs and setlists straight to another musician, footswitch and theater controls grew up, and a new repair flow brings every device back into line.
New & improved
- Share songs and setlists with other musicians. A new People area lets you connect with someone using a short code, then send a song or setlist — attachments included — straight into their library. Incoming shares arrive live with an inbox and a badge on the tab, so you see them the moment they land.
- Turn features on and off. Active-Pro users get master toggles for Tags, Metronome and Bands in Preferences → Pro — hide the controls you don’t use without losing any data.
- Delete saved layouts from the sidebar. The sidebar layout popup gains per-row delete, and Maintenance adds a manage-layouts dialog, so retiring an old print layout no longer means opening the print dialog.
Band Mode & sync reliability
- Repair your whole library across devices. A new “Repair library across devices” flow pushes one device’s library out as the source of truth; the others detect it, ask before erasing and re-downloading, and report live per-device progress so you can see “X of Y devices up to date”.
- Recover data that drifted out of sync. Songbook Buddy now spots rows that exist on a device but not on the server — after a reset or an account switch — and offers a Review dialog to upload them, delete them locally, or leave them alone.
- Heads-up when your local data belongs to another account. Signing in with a different account than the one that created your local songs now prompts once to adopt, delete or keep that data instead of leaving it silently invisible to sync.
Live performance fixes
- Footswitch holds work on AirTurn pedals. A rebuilt gesture model keeps single and double taps snappy and reliably recognizes a long hold even through an AirTurn’s ragged auto-repeat stream, where holds used to be misread as a flurry of taps.
- Reorder and auto-learn controller mappings. Drag MIDI and footswitch mappings into the order you want, and new MIDI rows capture the next message you send so you don’t have to pick a type by hand. New actions cover theater on/off and jumping to the first or last setlist entry.
- Page-turn modes now drive sheet songs too. PDF and image songs respond to the same page-turn controls as ChordPro songs — chevrons, screen taps, arrow keys, footswitch and MIDI. A new manual half-page mode keeps the bottom of the previous view on screen, all four arrow keys turn pages, and the left/right thirds of the screen step the setlist in every mode.
Chord / song editor
- Finger numbers on chord diagrams. A new preference prints the suggested fingering digit inside each fretted dot — in the song view, theater mode, the side chord chart and the PDF.
- Per-chord shapes stick to the right chord. A custom shape assigned to a specific chord now stays anchored to that occurrence even when you add or remove lines above it, instead of quietly reverting to the default.
- #comments stay out of the render. ChordPro author notes that begin with
#no longer appear in the render view or PDF, with an opt-in setting to show them if you want.
Other fixes
- macOS: minimized windows are restorable from the Window menu again.
- All platforms: deleting or archiving a song keeps the list where it was instead of jumping back to the top.
Version 1.0.17-beta+1
May 18, 2026
A backup-and-attachments beta on top of 1.0.16-beta+3 — sheet-attachment files now sync across your devices, a new bundle backup format keeps PDFs and images together with the database, and Complete Resync gains live per-category progress.
New & improved
- Sheet attachments sync across your devices. PDFs and images attached to sheet songs upload to your private cloud bucket on one device and download on the next. Missing files surface a friendly placeholder in the sheet viewer instead of an error, and a Settings button re-runs the upload sweep if anything was left behind.
- Bundle backup format (.sbbk). A new single-file backup packs the database together with your sheet-attachment files, so a restore brings songs and PDFs back as one. The classic database-only backup is still available, with an opt-out for soft-deleted songs.
- Backup and restore show real progress. A live dialog reports what’s happening at each phase — counts per category, files written, a deleted-songs breakdown — instead of leaving you staring at a spinner.
- Complete Resync reports per-category progress. Each table reports rows as it pulls, so you can tell a big sync is moving instead of guessing.
- Save and recall named print layouts. Compose a print layout once, name it, and reuse it across devices — layouts sync with your account. The print dialog also gains a toggle for the header separator line.
- Transposed key shown everywhere. When a song doesn’t declare its key, Songbook Buddy infers one from the chords; transpose, the Key chip and the chord chart all stay in sync as you shift up and down.
- ChordPro picker pinned beside the editor. In split-edit mode the picker docks on the left of the edit view, so chord insertion is one click away. The format panel compresses its visibility and indent rows, the {year} directive renders, and the Meta section is renamed for clarity.
- Devices tab is now Controls. A clearer name for the MIDI / footswitch / metronome panel, with a title bar to match the other sidebar tabs. The songs and setlists tabs always show the search bar again, even with nothing selected.
- Wipe Local Database shows progress and a result. The destructive Settings action now reports what was cleared and confirms when it’s done.
Pro & subscriptions
- Pro split into Pro and Pro Cloud. Pro stays a one-off unlock for the offline feature set; Pro Cloud is a separate annual subscription that covers multi-device sync, Band Mode and sheet-attachment sync. Existing Pro users keep their full feature set during the beta.
Band Mode & sync reliability
- Complete Resync no longer hangs on built-in chord shapes. A one-shot per-user cleanup retires legacy server-seeded chord-fingering rows, and the resync now skips built-ins on both push and pull so the sync completes cleanly with live progress.
- Deletes survive a Complete Resync. Tombstones replicate during resync, so a song you deleted on one device no longer reappears after a fresh pull on another. Per-song band preferences sync field-by-field, so a tempo or transpose tweak no longer fights a remote edit.
- Restore is steadier on macOS. When closing the database hangs, restore falls back to a sidecar swap and continues, with clearer diagnostics in the support log if something does go wrong. Manual database restores stay local-only and no longer auto-push to the cloud.
Print / output
- Print dialog reflows on narrow windows. The footer row, load-layout button and preview thumbnail strip no longer overflow when the dialog is sized down.
Other fixes
- All platforms: chord-import dialog padding tightened; indent sliders in the format panel align right with uniform width; visibility-switch rows match the font-row pitch.
- All platforms: the Complete Resync action now confirms before running, the Pro tab routes correctly, and the chord eraser lands where you expect.
Version 1.0.16-beta+3
May 16, 2026
A polish-and-reliability follow-up to 1.0.16-beta+2 — one Import Songs dialog replaces the four scattered entries, sign-in survives a restart, and MIDI stays completely out of the way until you turn it on.
New & improved
- One Import Songs dialog for everything. ⌘O now opens a single dialog with File, Folder, Web and Paste tabs instead of four separate menu items. The chords sidebar and status bar get a matching polish pass — transpose, the chord-import dialog, and Basic / Standard / Advanced selection levels.
- Stay signed in across launches. Your Supabase session is restored from disk on startup, so Account stays signed in and the first sync after launch no longer races sign-in.
- Manual sync gains a “never ask” mode. Permission prompts for background pulls can be dismissed for the session and re-enabled later from Sync settings.
Band Mode & sync reliability
- First-login sync is gentler when the server isn’t reachable. Songbook Buddy reports a friendly “sync unavailable” instead of crashing the providers, and end-to-end encryption is derived before the auth-change sync runs so the first pull after sign-in succeeds.
Live performance fixes
- MIDI stays completely idle until you enable it. With MIDI off, the app no longer probes ports, registers with CoreMIDI, or spams MIDINotification messages on startup — fixing a Devices-tab error and the macOS log noise several beta testers reported. When MIDI is on, port dropdowns list only the ports that are actually live.
- Footswitch stops logging keystrokes when nothing is mapped. A disabled or unmapped footswitch no longer fills the log; the device is off by default.
Chord / song editor
- Editor caret stays put during a sync pull. ChordPro reloads now wait for the live buffer to catch up with disk, and same-song refreshes preserve the cursor position instead of snapping to the top.
Other fixes
- iOS: the Restore picker now accepts
.dbfiles. iOS doesn’t map.dbto a known UTType — which greyed out valid backups — so Songbook Buddy now accepts any file and verifies the SQLite header itself. - All platforms: archiving a song auto-reveals it under the Archived filter instead of leaving you wondering where it went.
- All platforms: multi-tag include filtering returns the right list when no song matches every selected tag, instead of falling back to an unfiltered view.
Version 1.0.16-beta+2
May 15, 2026
A reliability follow-up to 1.0.16-beta+1 — the manual-save document model, theater page-turning and the rest of the big beta keep their feature set, with fixes around sync timing, the chord and song editors, and theater presentation.
Band Mode & sync reliability
- Manual-only sync really stays quiet. When the Sync interval is set to “Manual only”, scheduled and post-sign-in full syncs no longer fire on their own — explicit Sync taps, invite and setlist prerequisites, and band live-session pulls still work as before.
Live performance fixes
- Theater mode hides controls you can’t use. Disabled status-bar buttons — Preferences, Help, transpose at limits, setlist nav with nothing to advance to — now stay out of the bar entirely instead of showing as greyed-out chips.
Chord / song editor
- Editing a chord on one device updates the editor on another. When sync brings in a fingering edit that doesn’t change the chord’s row count, the open chord editor now refreshes in place instead of waiting for a manual reload.
- Edits made on another device land in the open song editor. A song picked up from a remote pull no longer keeps its old title or a stale ChordPro body — the on-disk row wins.
Other fixes
- Android: the status-bar sync icon stays tappable while a sync is in flight, so a follow-up tap queues instead of being ignored.
Version 1.0.16-beta+1
May 15, 2026
A big feature beta — a new document model with manual-save control, selectable colour themes, web and text song import, and theater page-turning — sitting on top of a deep reliability pass across sync, printing and the editor.
New & improved
- Choose how Songbook Buddy saves. Preferences › General now offers three save modes — save instantly, save after a pause, or don’t save automatically. In manual mode a filled dot marks songs with unsaved edits, dirty rows get a hover Save action, and the File menu gains Save and Save All.
- Selectable colour themes (Pro). Pick from four light and four dark curated palettes, each with a high-contrast variant, and customize your chord-diagram colours. Non-Pro users keep the familiar default look.
- Import songs from a URL or pasted text. A new File ▸ Import entry pulls a song from a pasted song-page link or from text you paste or drag in, with an editable ChordPro preview before you save. Imported songs land with an “Imported” tag.
- Smarter text import. The importer recognises chords-above-lyrics layouts, Ultimate Guitar markers and “Label: value” header blocks more reliably, and PDF imports gained a per-category plan dialog with a per-PDF preview.
- Theater mode page-turning. Alongside continuous autoscroll, theater mode can now turn full or half pages automatically on a timer, or only on your input — keyboard, an on-screen arrow pill, screen-edge double-taps, or a footswitch / MIDI control.
- Resizable sidebar with lockable rows. Drag the sidebar wider, and destructive row actions — star, archive, delete — stay behind a per-session Edit toggle so a fresh session is always safe. Sorting moved to a field dropdown with a direction toggle.
- Tri-state tag filtering. Tag chips now cycle through include, exclude and off, so you can carve the library down by what you don’t want as well as what you do.
- Bulk-assign instrument and tuning across your library from Preferences.
Band Mode & sync reliability
- Reinstalling no longer orphans your bands. Your identity key is now escrowed on the server, so a reinstall or keychain reset recovers transparently instead of stranding the band songs you’ve published.
- The shared chord catalog is append-only and self-healing. Built-in chord shapes can’t collide between devices, and fingerings that lost track of their parent chord recover on the next sync instead of looping with errors.
- Followers recover faster after a band-key change — owners and members rewrap keys without a needless fresh-key mint.
Live performance fixes
- Double-Space rewind works in every theater advance mode — it returns both the playhead and the scroll view to the first page.
- Metronome section labels fit a narrow sidebar instead of overflowing the row.
- Audio engine shuts down cleanly when iOS backgrounds the app, avoiding an audio-session crash.
Chord / song editor
- Custom chord diagrams behave consistently. Diagrams you create for sharp chords (G#, A#, D#) are now savable and visible, user-created diagrams stay visible regardless of the chord-count slider, and the Top-of-Song chart shows them too.
- Barre shapes honour the finger you picked when applied.
- ⌘0 works from the menu and without editor focus — mark-as-chord and wrap-in-brackets fire reliably.
- 7#5 and 7+5 open the shape editor — they’re now recognised as augmented-7 chords.
Print / output
- Printing no longer beach-balls. Printing an image or PDF sheet song from macOS completes instead of hanging the app, and print jobs use the real selected paper size instead of always assuming A4.
Updates & install
- App data moved into its own folder. On Windows and Linux, the database, its sidecars and downloaded fonts now live in Documents/Songbook Buddy/ instead of loose in Documents; existing files relocate automatically on first launch.
Other fixes
- Windows / Linux: pending edits flush when the OS ends your session.
- macOS: the unsaved-changes prompt survives Cmd+Q.
- All platforms: the sidebar controls — toolbars, sort row, chord-colour legend — reflow cleanly at narrow widths instead of clipping or scrolling.
- iOS / Android: file save dialogs receive song and backup bytes correctly.
Version 1.0.15-beta+3
May 13, 2026
A focused hotfix on 1.0.15-beta+2 clearing three sync and permission issues surfaced via support reports.
Band Mode & sync reliability
- Sync no longer loops on a chord-diagram conflict. When two devices independently seeded the same built-in chord shape, the pull cycle re-tried the same row every few seconds and reported “Sync finished with errors.” Songbook Buddy now reconciles the local twin in place and the pull completes cleanly.
- Band admins can edit and assign setlists again. A timing issue could silently deny band actions — “Only the band’s owner or admin can do this” — for a legitimate admin whose membership was already in place. Permission checks now read the membership directly instead of racing a background stream.
Other fixes
- iOS: the false “Unclean shutdown” prompt no longer triggers after the system terminates a backgrounded app — the session marker is cleared the moment Songbook Buddy moves out of the foreground.
Version 1.0.14-beta+2
May 10, 2026
A follow-up to 1.0.14-beta+1 with sharper live-performance ergonomics, more reliable Band Mode sync, smoother chord assignment, and a cleaner install / update path on macOS, Android and Windows.
New & improved
- ChordPro
{key:}and{capo:}directives drive song settings on import — when a pasted or imported ChordPro file declares a key or capo, the value is lifted into the song’s settings and the directive is stripped from the body, instead of being left as inline text. - Chord-assignment panel picks fan out across the whole song — choosing a fingering from the side panel now updates every occurrence that shares the same chord shape. Inline picks made directly on a chord cell still stay per-segment, so you keep granular control where you want it.
- Sidebar keeps the edited song visible after edits — the song you just saved stays selected and scrolled into view instead of disappearing back into the list.
- Metronome popup mirrors the full sidebar — BPM, time signature, count-in and on/off are all available in the popup, not just the basics.
- Long-press the status-bar metronome button to open settings — a quicker path to BPM / time-signature changes during a session.
- Theater mode: Escape exits, swipe steps the setlist — pressing Esc leaves theater mode (desktop), and on touch devices a horizontal swipe advances or rewinds the active setlist.
- Undo SnackBars auto-dismiss after 10 seconds — they no longer linger forever waiting for a click.
- Translations and PDF manuals refreshed across all 19 locales — every supported locale ships with up-to-date UI strings and a current
user_manual_<locale>.pdf.
Band Mode & sync reliability
- Followers recover faster after a band-key rotation — the
forceRefreshcooldown is preserved across the decrypt-retry chain, so a transient gap no longer freezes the recovery loop. - Band-keys local mirror matches the sync wire format — local rows are now written in milliseconds, in line with the rest of
_upsertLocal, fixing a subtle drift-vs-sync mismatch. - Drift v2 datetime alignment — local datetimes are stored in unix seconds throughout, fixing edge cases where stored times disagreed with synced ones.
- Chord picks sync onto the right shape across devices — seed-fingering ids are derived from the natural key, so a panel pick made on one device lands on the matching shape on every other device.
- Display-settings override clears when the DB-backed value changes — your local override no longer “sticks” if the band default updates underneath it.
- Support reports remain debuggable during a band-live session — uploaded diagnostic bundles preserve the live-session context they were captured in.
Live performance fixes
- Metronome no longer auto-starts on a null song change — switching to “no song” stops the click instead of starting it.
- Support session marker clears after a healthy startup — old crash reports no longer piggyback on a fresh launch.
Print / output
- Print works in slim store builds — the print pipeline now handles stripped bundled fonts, fixing crashes on App Store, Play Store and Microsoft Store builds when printing a song with default fonts.
- Async / context guards across the print path — eliminates a class of “looked-up an unmounted widget” errors during quick window resizes mid-print.
Updates & install
- Installer downloads always attach instead of rendering in-place — the
/files/endpoint now setsContent-Disposition: attachment, so browsers reliably save the installer. - macOS Tahoe DMG builds succeed reliably — the release pipeline switched to a two-stage build to dodge a Tahoe TCC prompt that could otherwise break signing.
- Android update path delivers monotonic version codes —
versionCodeis now derived from the full pubspec version, so the Play Store accepts every new beta build in order. - Windows installer / portable distribution cleanups — Windows signing tolerates
+in the version, the harness verifier handles APK/AAB and zipped bundles correctly, and stalekernel_blob.binfiles no longer ship inside Linux / Windows release bundles.
Other fixes
- macOS: removed a stale
.rawValuereference onNSImage.advancedNamethat broke a release build. - Android: silenced R8 warnings for transitive
javax.xml.stream/ Tika references. - Bug-report viewer tool: handles narrow / short windows without overflow errors.
Version 1.0.14-beta
May 8, 2026
A polish-and-reliability update — broader localisation, a friendlier formatting sidebar, smaller downloads from the stores, and a long list of fixes for Band Mode and live use.
New & improved
- Self-service account deletion — Preferences → Account → Advanced now offers a guided delete flow with a 30-day grace window. Cancel any time within that window and your songs, setlists and custom chords come back exactly as they were. After 30 days the account and its data are removed permanently.
- 11 new UI languages — Czech, Danish, Finnish, Indonesian, Japanese, Korean, Dutch, Polish, Russian, Turkish, Ukrainian and Chinese join the existing English / German UI.
- Reworked colour picker — type a hex code (
#3A7BD5) or three RGB values directly, and your custom colours are remembered in a saved palette across sessions. The picker button is now a solid colour swatch instead of a hollow ring, so you can see the current colour at a glance. - Per-element colours and a Chord-symbols font row — the format sidebar grew a dedicated row for the chord-symbol font, and you can now pick a separate colour for the chord row, lyric row, section labels and custom blocks instead of one colour for everything.
- Spacing slider can pull chords onto the lyrics — at the slider’s leftmost position the chord row now sits almost on top of the lyric line, which is useful for tight printed pages and dense stage view. The previous slider couldn’t go below the default gap.
- Tappable setlist jump button in the status bar — tapping it now navigates to the current setlist entry. The sidebar Setlist tab icon was re-aligned to match.
- Eye toggle on every password field — sign-in, sign-up and change-password forms all show a show/hide toggle so you can verify what you typed.
- Import —
.gcpand.cpmfiles are recognised by the import dialog alongside ChordPro and plain text.
Chord library
- Chord names with alteration suffixes (e.g.
7b9,9#11,13b5,alt, …) are now parsed correctly, and the seed shape library ships with matching guitar / ukulele / piano fingerings. Existing user-defined chords are not touched. - Clearer empty states — the chord library tells you whether a result is empty because of your filter, because the library hasn’t been seeded yet, or because the chord name couldn’t be parsed.
- No more surprise UNIQUE conflicts — saving a chord whose name matches a previously deleted twin no longer throws an error; the collision is healed automatically.
- Unset diagram strings save as open, not muted — fixes a long-standing bug where partially edited shapes acquired muted strings you didn’t choose.
Band Mode & live performance reliability
- Setlists now sync for solo accounts — you no longer have to belong to a band for setlist sync to run.
- Custom ChordPro blocks survive saves —
{start_of_block: …}/{end_of_block: …}markers are preserved through the save-normalize pass; previously they could be dropped on round-trip. - Faster live-leader heartbeats — followers that are already up to date skip needless rewraps; large bands feel snappier.
- Re-encrypt band songs after key rotation — followers no longer see “Song not available” gaps when the leader rotates the band key.
- Songs appear immediately on first key handshake — newly added members no longer have to wait for the next sync cycle to see shared songs decrypt.
- Negative-cache undecryptable band songs — partial or broken encrypts no longer drag the recovery loop down forever.
- Fingering favorites are per-owner — your saved fingerings stay yours instead of being mirrored across every device tied to the account.
- Default display layout is local-only — the global default layout no longer round-trips through sync; only your real per-song / per-band overrides do.
Smaller download for store builds
- The 119 MB FluidR3 sound bank and the bundled UI font set now lazy-download on first use in App Store, TestFlight, Play Store and Microsoft Store builds, dramatically reducing the download size for everyone who installs from a store.
- Inline progress while the sound bank downloads — the first chord-audio tap shows a spinner and percentage on the play button instead of leaving the icon static for 30–60 seconds. Direct downloads from songbookbuddy.com keep everything bundled and behave exactly as before.
Version 1.0.13-beta
May 2, 2026
Pro features:
- Band Mode with secure sharing and real-time sync across devices (Live Sessions)
- Setlists
- Chord shape editor
- extended Font management
- user defined chordpro blocks (for blocks like interlude, solo…)
- Metronome with BPM and time signature
- Footswitch & MIDI control
Version 1.0.12-beta
April 14, 2026
- chord spacing fixes
- editor autocorrect disabled
- new Beta-Test preferences tab with update notifications
- Pinch zoom gesture on touch devices
Version 1.0.1-beta
April 4, 2026
First beta release
Full ChordPro editing workflow
Built-in chord diagrams (guitar & piano)
Import, export and PDF printing
Optional cloud sync across devices
Presentation mode for live performance
Multi-language interface
- Added batch export for ChordPro files
- Improved PDF export quality
- Added indentation controls for song sections
- Fixed editor wrapping issues
- Fixed spellcheck and autocorrection problems
- Fixed layout and rendering issues in preview
- Improved default layout handling
