3.12.2 — 27 May 2026
Songs can no longer be silently lost during a CloudKit sync hiccup.
- Songs dropped by a transient CloudKit error now stay in the retry queue — when CloudKit returns a per-record error (rate limit, service blip, etc.) while pushing changes, the affected songs are no longer marked as synced. They stay pending and are retried on the next push, so nothing is permanently lost.
- If songs went missing before this fix — tap Push All Songs in the Sync Log to requeue every song and push them back up to iCloud.
3.12.1 — 26 May 2026
Better sync reliability on a fresh device install.
- Sync Log buttons are always visible — Force Full Sync and Push All Songs now appear even when the log is empty, so there's always a way to kick off a manual sync on a brand-new install.
- Force Full Sync retries iCloud initialisation on tap — if sync failed to start at app launch (iCloud not ready, account not yet available), the button now retries setup and shows a clear “iCloud not available” error if it still can't connect, instead of showing a false success toast.
- Grandfathered unlimited access now propagates across devices — if you were grandfathered on unlimited songs before the freemium launch, that status is now written to iCloud Key-Value store and read back on any new or reinstalled device, so your songs arrive without a paywall prompt.
3.12.0 — 16 May 2026
Song Hive now speaks your language — eight languages, automatic from your device locale.
- Eight languages supported — English, Italian, German, Spanish, French, Japanese, Simplified Chinese, and Brazilian Portuguese. The app follows your device locale automatically.
- Per-app language override — to use a specific language within Song Hive regardless of your system locale, go to the iOS Settings app → Song Hive → Language. The override appears there once this version is installed.
- Translations cover tab labels, headers, search placeholders, dialogs, sort options, swipe actions, settings, and the song list — with more screens being localised in future releases.
3.11.0 — 16 May 2026
A “What’s New” popup, an update nudge, and quick links to help from within the app.
- What’s New popup on upgrade — the first time you open a new version, a bottom sheet shows what changed. “Got it” dismisses it permanently for that version; it won’t re-appear until another release ships. Fresh installs are silently seeded so the popup only fires on real upgrades.
- Update available prompt — if a newer version of Song Hive is waiting on the App Store, a dismissable sheet appears on launch and links straight to the update. Dismissed once, it stays quiet until another release ships.
- Settings → About — new section with User Guide and Release Notes list items, linking directly to songhive.net so help is always one tap away.
3.10.0 — 16 May 2026
Auto-scroll locks to the song itself when LRCLIB has timed lyrics.
- Time-synced auto-scroll on the lyrics tab — for songs whose lyrics are on LRCLIB, each line hits the page midpoint at the moment it's sung. Add a song and the synced timing comes in with the lyrics automatically; for older songs that already have lyrics, a Sync pill on the Lyrics tab fetches the timing in place without touching your lyric text.
- Cross-field synced scroll for chord sheets — when the chord sheet's lyric lines line up cleanly against the synced timing, the chords tab scrolls from the same playhead. Chord sheets that diverge (repeated choruses written once, URL-only chord fields) silently fall back to fixed-speed scroll.
- Auto-scroll pre-roll — the first line now stays at the top of the screen while a virtual playhead descends towards the page midpoint, so you can read or sing the opening line before it moves. The play button pulses during the pre-roll so it's obvious scroll is about to kick in. The last line of the song lands at the page midpoint instead of the bottom.
- Synced indicator on the speed control — when time-synced lyrics are driving the active tab, the speed readout swaps to Synced with a clock icon and the +/- buttons hide; on songs without synced data, the regular 0.25x–4x stepper is unchanged.
- Sync-ready songs are obvious at a glance — the Lyrics tab in the song editor shows a small clock icon next to its label when a song has stored synced timing, so you can see which songs in your library will scroll in time without having to play them.
- Drag to reposition, re-anchored to time — dragging mid-song during synced scroll re-anchors the playhead to whichever line you landed on, so playback resumes from there. Dragging back to the top re-arms the pre-roll.
- Quieter crash reporter — a remaining rethrown song not found path no longer surfaces as an unhandled rejection; real database failures are still captured.
3.9.0 — 7 May 2026
Smarter chord search, paywall fast-path, link pill in the chord field, lyrics that come in with verse breaks.
- UG Official tabs are now surfaced as their own labelled type in the chord-search modal, prioritised above other results so the canonical version of a song is always one tap away.
- Re-ranked chord results — search results are floated by song-name relevance so Ultimate Guitar's catalog fallbacks don't push the actual song you searched for off-screen.
- Paywall fast-path — when an Official tab sits behind UG's paywall and we can't reach its content directly, Song Hive spots the redirect immediately and offers to save the link to your chords field instead of leaving you waiting through a long spinner.
- Leading URL pill in the chord field — if a chord field starts with a URL, it renders as a tappable pill with a link icon and a label (UG Official, Ultimate Guitar, or Open link) on the editor, the play page, and the Perform screen. One tap opens the link; switch back and you're still on the same song. Songs whose chord field is a saved URL also register as having chord content, so they show up in the Chords/Lyrics/Notes selector when building a set list.
- Compact per-tab Import buttons — the import action floats directly above each content tab, sized to match it, instead of a full-width button pushing the tab row down.
- Clear-X on the URL field — one tap empties it; URL-appropriate keyboard hints appear on tap.
- Verse breaks on imported lyrics — lyrics pulled from LRCLIB now come in with proper verse separations rather than as a single concatenated block, derived from the gaps in the synced-lyrics timing. The same formatting applies when you import a whole Spotify playlist as a set list.
3.8.1 — 3 May 2026
Less crash-reporter noise so real failures stand out.
- Routine "song not found" no longer pings our error reporter — the harmless case where a song was just deleted on another device but is still in your local list still surfaces the inline toast, without spamming our diagnostics with false alarms. Genuine database read failures are still captured.
3.8.0 — 3 May 2026
Spaced practice now reacts to ad-hoc practice the way you'd expect.
- Extra practice within a cycle doesn't push the schedule out — if you practise a song twice in the same recall cycle the next-due date stays anchored to where it should be, instead of compounding into ever-longer intervals. The schedule reflects how well you recall the song, not how often you happened to open the app.
- Mid-cycle slip resets the cycle — if you log a low familiarity rating partway through a cycle, Song Hive collapses the cycle back to the start (reps 0, interval 1 day) so you revisit the song sooner instead of carrying stale progress forward.
- Practice history chart now shows one dot per recall cycle — multiple sessions inside the same cycle fold into a single point, so the timeline reads as a clear progression of how the song's stuck rather than a cluster of repeats.
3.7.2 — 27 April 2026
More useful error messages on the rare song-load failure.
- Diagnostic detail preserved when a song fails to open — the underlying database error (e.g. Song not found: <id>) now reaches our crash reporter instead of being wrapped in a generic message, so the next fix lands faster.
3.7.1 — 26 April 2026
Better error reporting under the hood, so we can spot and fix the rare song-load failure faster.
- Improved diagnostics on song-load failures — when a song doesn't load, the underlying database error is now captured with enough context for us to identify and fix the cause quickly. No change to what you see day-to-day; if you do hit one, the next release lands sooner.
3.7.0 — 26 April 2026
Song Hive now responds to your iPhone's Dynamic Type setting — live, no restart.
- Dynamic Type support across the app — change iOS text size in Settings → Display & Brightness and Song Hive's rows, pills, chips, headers, and labels grow with it. Layouts re-measure live, so the new size lands the moment you switch back into the app.
- Sensible caps on dense layouts — song-list rows, settings cards, and tab bars apply upper limits so accessibility-sized text still fits without breaking row alignment.
- Familiarity column stays aligned — the L/M letters and stars on the song list line up across rows at any text size.
- Floating-header padding scales on every screen, so list content still clears the search and filter row when iOS text size grows.
- Tuning picker pills wrap intelligently — sit on one line when they fit, spill to two rows of three only when they don't.
- Add/edit song labels — Lyrics, Music, and Practice section headers now read at a similar size to adjacent body text.
3.6.2 — 23 April 2026
Practice ratings, edits, and set-list changes now show up everywhere instantly.
- Familiarity ratings update across screens — tap a star in practice mode and the new rating shows on the song list and song detail without re-entering the song.
- Song edits propagate live — name, artist, or lyrics changes saved on one screen reflect immediately on any other screen showing that song.
- Set list changes reflect everywhere — create, rename, or delete a set list and the Set Lists tab refreshes without manual navigation.
- Edits in progress are protected — if a song you're editing changes underneath, your unsaved edits aren't clobbered.
3.6.1 — 23 April 2026
Font size, scroll speed, and split height stay put after a sync.
- Sync no longer reverts per-song display tweaks — pinch-zoom font size, auto-scroll speed, split-view height, and inline font size on the editor all now survive a sync round-trip. The debounced auto-save paths weren't stamping
lastUpdatedDateTime, so the next pull saw the remote as newer and quietly undid your change; both paths now stamp the timestamp before saving.
3.6.0 — 23 April 2026
Tuning and capo become first-class song fields, and the Perform screen gets a built-in tuner.
- Structured tuning field on every song — a six-string wheel picker with presets for Standard, Drop D, Double Drop D, DADGAD, Open G, Open D, Open E, and Half-step down.
- Capo field with a segmented chip picker from None up the neck.
- Tuning and capo auto-detected on chord import — paste an Ultimate Guitar link in DADGAD with a capo on 2 and the imported song lands with both fields already set.
- Read-only tuning and capo pills on the play page — a glance tells you whether to re-tune or move the capo before the song starts.
- Filter the song list by tuning and capo — find every song in Open G, or every song that shares a capo position, in one or two taps.
- Built-in tuner on the Perform screen — mic-driven pitch detection with a live cents needle, targeting the current song's tuning. Tap a string to focus it, or let auto-detect pick the nearest note.
- Migration from the old tag-based tuning/capo data on first launch — no cleanup needed.
3.5.2 — 21 April 2026
Recoverable errors and a sync spinner that behaves on iOS 26.
- Something went wrong? The error-recovery screen now has a Continue button that reloads the failing screen in place, so a one-off glitch no longer forces you to restart the app. Report issue still opens a feedback form that ships the report straight to us.
- Pull-to-sync spinner on the song list no longer renders behind the floating Liquid Glass header — the refresh indicator now sits below the header and the filter row every time, whether they're visible or hidden.
- Sentry error reporting is now wired up across the app so we see real failures as they happen — with screen breadcrumbs so bug reports come in with the context we need to fix them fast.
3.5.1 — 21 April 2026
Pinch-to-zoom in the inline editor stops clipping.
- Inline chord, lyrics, and notes editors now grow their outlined text box when you pinch to zoom the font up, instead of hiding content behind the outline with no way to scroll. Zoom out respects a minimum height so the field stays comfortably tappable.
3.5.0 — 20 April 2026
Lyrics and music familiarity become opt-in per song, with global defaults.
- Per-song familiarity toggles — on the song editor in edit mode, each of Lyrics and Music now has its own switch. Turn either one off and that rating row disappears from the editor, the practice-log modal, and the per-song practice history chart.
- Global familiarity defaults under Settings → Songs → Song defaults — choose whether new songs start with lyrics and music familiarity tracked. Defaults sync across your devices via iCloud.
- Song list keeps its shape when a familiarity axis is hidden — the L / M slots stay reserved so row heights line up across the library, even when some songs track only one axis or neither.
- Practice-log modal adapts — hidden rows stay hidden, stored ratings are preserved on disabled axes, and the modal title becomes "Log practice" when both are off.
- Pull-to-sync spinner on the song list is no longer obscured by the floating search bar.
- Import, export, song share, Spotify import, and CloudKit sync all carry the new per-song familiarity flags.
3.4.1 — 19 April 2026
Split-screen polish in perform, practice, and the new single-song Play mode.
- Split ratio stays put when you swipe between songs in perform or practice — the top/bottom divider no longer snaps back to the middle each time.
- Single-song Play mode — opening a song from the library now uses the same split renderer as perform and practice, so chords/lyrics/notes tabs and the shared split divider behave consistently across all three surfaces.
- Divider drag fixed — small horizontal jitter while dragging the split up or down no longer hands the gesture to the horizontal pager.
- Empty-song controls hidden — songs with no chords, lyrics, or notes no longer show split controls that have nothing to split.
3.4.0 — 17 April 2026
Import / Export reborn, smarter practice history, Spotify albums, feedback channel.
- Dedicated Import / Export screen under Settings → Data. Pick any combination of songs and content, familiarity ratings, tags, set lists, or practice settings and history when exporting — and choose merge or overwrite when importing.
- Practice history chart now anchors to the date you first enabled practice on a song, not the date you added the song. Old songs that only recently entered rotation no longer compress to the right edge.
- Back-date practice sessions from the rating modal — if you pick a date earlier than the chart goes, the anchor slides back to match.
- Spotify album URLs are now accepted alongside playlist URLs when importing a set list.
- Send feedback button under Settings → Help — opens Mail with a pre-filled subject.
- Swipe actions across every list: delete songs and set lists, toggle practice on/off, remove tags — all with confirmation where it matters.
- Long-press a song in the library for a contextual menu (toggle a tag, add to a set list, delete).
- Floating clear-X on every text field when it has content.
- Adding a song to a set list auto-picks the first populated field (chords, then lyrics, then notes) instead of prompting.
- iPad tour polish — renders correctly on iPad Pro 13", and the header no longer has a spurious 54pt indent in full-screen mode.
- Synced tour state — tours you've dismissed on one device don't re-appear on another.
- Free-plan gate now runs on file and library imports, with an upgrade path.
3.3.0 — 17 April 2026
Practice sessions gain structure; set list & Song Defaults levelled up.
- Configurable practice session size — global default in Song Defaults, per-schedule override in Practice Reminders.
- Ad-hoc practice sessions — tap the play button on the Practice tab and Song Hive sweeps you through due-today songs first, then upcoming, up to your session size.
- Shared C / L / N field button group on the practice list and set list detail, with empty fields visually disabled.
- Per-song practice focus field (chords, lyrics, or notes) stored on the song so sessions open straight to the right tab.
- Reminder notifications include up to three song names and a "+N more" tail, honouring each schedule's session size.
- Song Defaults sub-screen with default font size, auto-scroll speed, session size, default practice-enabled toggle for new songs, and a reorderable tab list.
- Song Defaults sync across devices via iCloud KV.
- Import a set list from Spotify — paste a public playlist URL and Song Hive pulls every track into a new set list, optionally fetching chords in parallel.
- Autocorrect disabled on search, chord, and notes fields where it was doing more harm than good.
- Set list CloudKit sync, including tombstone propagation, plus per-song tab order syncing across devices.
3.2.0 — 16 April 2026
Spaced-repetition scheduling and an at-a-glance history chart.
- Multiple practice schedules — replace the single daily reminder with any number of per-day-of-week schedules, each with its own time and (later) session size.
- Dedicated Practice Reminders screen with a compact "N schedules · On/Off" link on the Practice tab.
- SM-2-lite spaced repetition — next-due dates derived from the practice log, driving the forecast calendar and the Practice Randomiser.
- Practice history chart on every song in the editor, with a "Due in N days" / "Overdue by N days" label.
- Save-time practice prompt — bumping a familiarity rating while editing a song offers to log it as a practice session.
- Log Practice button with a metronome icon, matching the new Practice tab identity.
3.1.0 — 14 April 2026
Set Lists arrive.
- New Set Lists tab — create named set lists, add songs, drag to reorder, pick a display field per song.
- Perform mode — full-screen, distraction-free. Swipe between songs with a live counter; pinch to zoom font size; play/pause auto-scroll with speed control. Font and speed persist per song.
- Set list CloudKit sync — build a set on one device, find it on the next.
- Sharing set lists as
.songhive v3 files — AirDrop, iMessage, email. The receiver gets the songs plus per-song content for whatever field was shared.
- Cross-tab set list navigation from the song editor — jump to the set list a song belongs to.
3.0.0 — 13 April 2026
Freemium launch.
- Free plan — add up to 15 songs for free.
- One-time unlimited unlock via in-app purchase (no subscriptions).
- "X / 15 songs" indicator on the song list with an Upgrade link for free users.
- Paywall modal with contextual copy depending on whether you've hit the limit or are browsing the upgrade.
- Restore Purchases in Settings, handy after reinstalling or switching devices.
- Grandfathered for existing users — if you had songs before 3.0.0, you're automatically on unlimited, with a thank-you banner in Settings.
2.3.0 — 8 April 2026
Text-area comfort, onboarding tour, keep-awake, iPad polish.
- Pinch-to-zoom font sizing on chords, lyrics, and notes, in both inline and full-screen modes — persisted per field, per song.
- Auto-scroll with native-thread-smooth animation and a per-field speed slider, also persisted per song.
- Full-screen text mode with orientation-aware safe areas.
- Keep screen awake toggle under Settings → Display.
- Guided tour on first launch — highlighted tooltips across the song list, editor, tag songs, and practice screens. Replay any time from Settings → Help.
- iPad — header no longer sits under the traffic-light window controls in Stage Manager.
- Autocorrect disabled on song name, artist, and tag inputs. Autocomplete dropdown scrolls when keyboard is up; hides when text exactly matches an existing entry.
- Pull-to-refresh on the song list forces an immediate iCloud sync.
2.2.0 — 1 April 2026
Reliable sharing and visible save feedback.
- Fixed
.songhive file imports — iOS now correctly associates shared files with Song Hive via UTI declarations.
- iOS 26 file opens work end-to-end, via a new SceneDelegate path.
- Save / import toasts — "Song saved" on manual saves, lyrics/chords imports, and field clears; "Song imported" on
.songhive file opens.
- Chord imports auto-save immediately, matching the lyrics-import behaviour.
- Tag filters refresh right after importing a song, so new tags appear without a manual save.
2.1.0 — 20 March 2026
Chord and lyrics import, tab customisation, better save UX.
- Chord search from Ultimate Guitar — search in the background and tap Import chords to bring in the best version.
- Lyrics import from LrcLib — tap Import lyrics when Song Hive finds a match.
- Reorderable content tabs — long-press a tab for Copy, Clear, Move left / right. Tab order persisted per song.
- Differentiated song-list icons for chords, lyrics, and notes.
- Dirty-state save button — save icon when you have unsaved changes, close (X) when you don't. Back prompts Save / Discard / Cancel.
- Clearing a field saves immediately and syncs.
2.0.0 — 4 March 2026
Tags, per-record iCloud sync, and a proper navigation spine.
- Tag screens — browse every tag with song counts, open a tag to see its songs, add or remove songs without leaving.
- Shareable tag files — export a tag as a
.songhive v2 file containing the full songs; import auto-fills empty fields on songs you already have, prompts on conflicts.
- CloudKit per-record sync — individual songs and practice log entries sync as separate records, so changes transfer in seconds instead of in bulk.
- Push-notification-triggered sync — changes on another device land here within seconds (replaces a 30-second polling loop).
- Version-backed conflict resolution — last-write-wins with automatic backups of the losing side.
- Root stack navigation — detail screens live above the tab bar, so back always returns to wherever you started.
1.0.0 – 1.3.x — 2025 – early 2026
Pre-release — the original song catalog, familiarity ratings, notes / lyrics / chords tabs, icon and branding, splash screen, first cut of sync, localisation, and foundational bug fixes. Most of these versions shipped internally or through TestFlight during development.