Program beta
Masuk atau daftar untuk mengakses build uji, catatan rilis, dan informasi program detail versi pengembangan saat ini.
Masuk atau daftar
Gunakan email dan kata sandi yang sama di aplikasi Songbook Buddy Beta setelah konfirmasi akun.
Aturan beta — baca sebelum bergabung
Build beta adalah perangkat lunak belum selesai. Dengan mendaftar Anda menerima ketentuan ini:
- Crash, kehilangan data, dan fitur rusak bisa terjadi. Cadangkan lagu yang penting bagi Anda.
- Gunakan aplikasi Songbook Buddy Beta terpisah dan backend cloud beta — jangan campur data uji dengan perpustakaan rilis.
- Akun beta Anda mendapat Pro dan Cloud hanya untuk pengujian. Grant ini tidak berlaku di aplikasi rilis publik atau cloud produksi.
- Laporkan bug dan ajukan pertanyaan hanya di channel Discord kami — bukan lewat email dukungan publik.
- Pengujian mobile via TestFlight (iOS) dan Google Play internal testing (Android) saja.
- Jangan bagikan build beta, tautan login, atau fitur belum rilis di luar program.
- Anda bisa hapus akun beta kapan saja; kami dapat cabut akses saat beta berakhir.
Mendaftar atau masuk berarti Anda menerima aturan ini.
Aturan beta — baca sebelum bergabung
Build beta adalah perangkat lunak belum selesai. Dengan mendaftar Anda menerima ketentuan ini:
- Crash, kehilangan data, dan fitur rusak bisa terjadi. Cadangkan lagu yang penting bagi Anda.
- Gunakan aplikasi Songbook Buddy Beta terpisah dan backend cloud beta — jangan campur data uji dengan perpustakaan rilis.
- Akun beta Anda mendapat Pro dan Cloud hanya untuk pengujian. Grant ini tidak berlaku di aplikasi rilis publik atau cloud produksi.
- Laporkan bug dan ajukan pertanyaan hanya di channel Discord kami — bukan lewat email dukungan publik.
- Pengujian mobile via TestFlight (iOS) dan Google Play internal testing (Android) saja.
- Jangan bagikan build beta, tautan login, atau fitur belum rilis di luar program.
- Anda bisa hapus akun beta kapan saja; kami dapat cabut akses saat beta berakhir.
Mendaftar atau masuk berarti Anda menerima aturan ini.
Cloud included di beta
Setiap akun beta terkonfirmasi mendapat Pro dan Cloud hanya di backend beta. Masuk dengan akun yang sama di Songbook Buddy Beta untuk membuka Band Mode, cloud sync, dan semua fitur Pro selama pengujian.
Build beta publik terbaru: 1.0.23
Yang perlu diuji di build ini
The beta channel is currently retired — there is no active beta build.
Aplikasi rilis dan beta berdampingan
Anda seharusnya bisa tetap memakai aplikasi stabil untuk gig sambil menguji build baru — tanpa mencampur perpustakaan lagu.
- Pasang beta sebagai aplikasi terpisah dengan ikon dan nama sendiri (Songbook Buddy Beta) setelah tersedia di platform Anda.
- Setiap aplikasi punya database lokal, pengaturan, dan identitas perangkat sendiri — edit di beta tidak menyentuh perpustakaan rilis.
- Cloud sync di beta memakai proyek backend terpisah, sehingga data uji tidak menimpa data sync produksi.
- Di desktop Anda bisa menjalankan kedua aplikasi sekaligus; di mobile/tablet Anda beralih antara dua aplikasi terpasang.
Sampai aplikasi beta terpisah tersedia di semua platform, memasang build beta bisa menggantikan aplikasi saat ini di perangkat itu. Lebih baik pakai perangkat cadangan jika memungkinkan.
Saluran dukungan beta
Selama beta kami mendukung tester hanya lewat saluran ini:
- Discord — bug, pertanyaan, dan diskusi
- TestFlight — instal dan pembaruan beta iOS
- Google Play internal testing — instal dan pembaruan beta Android
Halaman dukungan publik dan email dukungan bukan untuk masalah beta.
Build terbaru
Entri terbaru — buka daftar lengkap untuk build lama.
Khusus anggota
Masuk atau daftar di atas untuk melihat catatan rilis dan unduhan beta.
Version 1.0.23
August 11, 2026
A sync-reliability release fixing a permanent resync loop and a false "library was repaired" prompt on wiped devices:
- Uploaded rows are no longer stored as
pending. The generic outbox push uploaded the full local row without stamping its sync status, sopending— the local marker for "still waiting to be pushed" — was written into the server copy and pulled straight back down. The row then looked stranded, the 1.0.21 stranded-row rescue re-queued it, and that local write scheduled the next sync: a self-sustaining loop that resynced hundreds of rows on a library nobody had touched (one report: 765 rows, four cycles in a row). Uploads now strip the server-managed columns and stampsyncedat the single choke point every full-row upload passes, and pulls assertsyncedon every row written locally, so the wedged state cannot be represented on the device whatever arrives from the server. Existing backlogs heal on the next pull with no migration, and because the push also repairs the stored server value, devices still running an older build stop looping without updating. - A device with no library is not "behind a library repair". "Wipe local database" deletes the device's library-generation marker along with everything else, and reading it back defaulted to generation 1 while the account's server generation stays where an earlier repair left it. "This device has no idea which generation it is on" was therefore indistinguishable from "this device is two generations behind", so every wiped or freshly installed device on a once-repaired account took the destructive catch-up path — prompting about unsynced changes an empty device cannot have, and on a send-only device raising a hard sync block it had no way to clear. A missing marker together with an empty library and an empty outbox is now recognised as a fresh device: it adopts the server generation and lets the ordinary full pull fetch the library. A library that has rows but no marker still gets the prompt, because those rows can genuinely be pushed at the wrong generation.
- Smaller fixes: the release publisher no longer aborts one channel's publish because a different, deliberately retired channel still lists deleted artifacts — asset checks are now scoped to the channel being published, and a channel marked unavailable is skipped entirely.
Version 1.0.22
August 11, 2026
A fix release for chord spelling, enharmonic chord diagrams, silent DMX output and a stuck macOS modifier:
- Transposed chords keep their scale degree. The tonic moves a fixed number of letter steps and every chord moves with it, so a D in a song in E now transposes to Bb in C rather than A#. Borrowed and diatonic chords are both spelled the way a chart spells them; where the degree-correct name would need a double accidental or one of B#/E#/Cb/Fb, the song's own preference decides instead.
- Both spellings of a note reach the same chord diagrams. Db and C#, Gb and F# were separate namespaces in the chord lookup, so one of each pair fell through to calculated shapes while 254 of 260 curated fingerings sat unused. Reads now match either spelling for guitar, ukulele, banjo and mandolin, existing user grips and synced rows are found without a rename, and duplicate twins are folded away.
- DMX output reports when it is being dropped. When the OS refuses the app's Art-Net datagrams, the DMX sidebar now shows a warning naming the likely cause (the "Local network" permission on iOS/macOS) instead of looking healthy while nothing reaches the fixtures. The automatic socket rebind now backs off exponentially (2 s → 60 s) rather than retrying every two seconds indefinitely, and resets on recovery or a new target address.
- macOS: a stale ⌘ modifier heals itself. A lost key-up from a native menu or sheet could leave Command permanently "held", turning every plain keystroke in the editor into its shortcut until the app was switched away and back. The keyboard state is now reconciled against the engine after native menu callbacks and after each shell shortcut fires, so at most one keystroke misfires before typing works again.
- Smaller fixes: support reports now record which modifier keys were held when a shortcut fired; the DMX rebind log pair is throttled so it no longer crowds the rest of the support log out of the tail; two macOS marketing-capture failures (an IFS leak and a first-launch Gatekeeper timeout) fixed in the build tooling.