Songbook Buddy 베타
로그인하거나 등록해 현재 개발 버전의 테스트 빌드, 릴리스 노트, 상세 프로그램 정보에 접근하세요.
로그인 또는 등록
계정 확인 후 Songbook Buddy Beta 앱에서 같은 이메일과 비밀번호를 사용하세요.
베타 규칙 — 참여 전에 읽어 주세요
베타 빌드는 미완성 소프트웨어입니다. 등록하면 다음 조건에 동의하는 것입니다.
- 충돌, 데이터 손실, 기능 오류가 발생할 수 있습니다. 소중한 곡은 백업해 두세요.
- 별도 Songbook Buddy Beta 앱과 베타 Cloud 백엔드를 사용하세요 — 테스트 데이터를 릴리스 라이브러리와 섞지 마세요.
- 베타 계정은 테스트용으로만 Pro와 Cloud를 받습니다. 이 권한은 공개 릴리스 앱이나 운영 Cloud로 이어지지 않습니다.
- 버그 신고와 질문은 공개 지원 이메일이 아니라 Discord 채널에서만 해 주세요.
- 모바일 테스트는 TestFlight(iOS)와 Google Play 내부 테스트(Android)로만 합니다.
- 베타 빌드, 로그인 링크, 미공개 기능을 프로그램 밖에서 공유하지 마세요.
- 베타 계정은 언제든 삭제할 수 있으며, 베타 종료 시 접근을 철회할 수 있습니다.
등록 또는 로그인은 이 규칙에 동의함을 의미합니다.
베타 규칙 — 참여 전에 읽어 주세요
베타 빌드는 미완성 소프트웨어입니다. 등록하면 다음 조건에 동의하는 것입니다.
- 충돌, 데이터 손실, 기능 오류가 발생할 수 있습니다. 소중한 곡은 백업해 두세요.
- 별도 Songbook Buddy Beta 앱과 베타 Cloud 백엔드를 사용하세요 — 테스트 데이터를 릴리스 라이브러리와 섞지 마세요.
- 베타 계정은 테스트용으로만 Pro와 Cloud를 받습니다. 이 권한은 공개 릴리스 앱이나 운영 Cloud로 이어지지 않습니다.
- 버그 신고와 질문은 공개 지원 이메일이 아니라 Discord 채널에서만 해 주세요.
- 모바일 테스트는 TestFlight(iOS)와 Google Play 내부 테스트(Android)로만 합니다.
- 베타 빌드, 로그인 링크, 미공개 기능을 프로그램 밖에서 공유하지 마세요.
- 베타 계정은 언제든 삭제할 수 있으며, 베타 종료 시 접근을 철회할 수 있습니다.
등록 또는 로그인은 이 규칙에 동의함을 의미합니다.
베타에 Cloud 포함
확인된 모든 베타 계정은 베타 백엔드에서만 Pro와 Cloud를 받습니다. 테스트 중 Songbook Buddy Beta에서 같은 계정으로 로그인해 Band Mode, Cloud sync, 모든 Pro 기능을 사용하세요.
최신 공개 베타 빌드: 1.0.23
이 빌드에서 테스트할 항목
The beta channel is currently retired — there is no active beta build.
릴리스 앱과 베타 앱 병행
새 빌드를 테스트하면서도 공연용 안정 앱을 계속 쓸 수 있어야 합니다 — 곡 라이브러리를 섞지 않고요.
- 플랫폼에서 제공되면 별도 아이콘과 이름(Songbook Buddy Beta)의 독립 앱으로 베타를 설치하세요.
- 각 앱은 자체 로컬 DB, 설정, 기기 ID를 유지합니다 — 베타에서의 편집은 릴리스 라이브러리에 영향을 주지 않습니다.
- 베타 Cloud sync는 별도 백엔드 프로젝트를 사용해 테스트 데이터가 운영 sync를 덮어쓰지 않습니다.
- 데스크톱에서는 두 앱을 동시에 실행할 수 있고, 모바일/태블릿에서는 설치된 두 앱을 전환합니다.
모든 플랫폼에 별도 베타 앱이 나오기 전까지, 베타 빌드 설치가 해당 기기의 현재 앱을 대체할 수 있습니다. 가능하면 예비 기기를 사용하세요.
베타 지원 채널
베타 기간에는 다음 채널로만 테스터를 지원합니다:
- Discord — 버그, 질문, 토론
- TestFlight — iOS 베타 설치 및 업데이트
- Google Play 내부 테스트 — Android 베타 설치 및 업데이트
공개 지원 페이지와 지원 이메일은 베타 이슈용이 아닙니다.
최근 빌드
최신 항목 — 이전 빌드 전체 목록을 엽니다.
회원 전용
베타 릴리스 노트와 다운로드를 보려면 위에서 로그인하거나 등록하세요.
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.