Back to Freedom.Tech Back
All SeedSigner releasesAll versions
Release Wed, Jul 8, 2026 7 min read

SeedSigner The "Summer of SeedSigner" Release

Original release notes

The "Summer of SeedSigner" Release

v0.8.7 includes 80 PRs from 20 contributors along with 13 new volunteer translation teams.

This release incorporates work from a wave of new contributors via the Summer of Bitcoin mentorship program. Nine new devs contributed to v0.8.7! And this is just the first batch of work; most of the newcomers' more ambitious changes are still in the pipeline for later releases.

v0.8.7's headline user-facing feature is our expanded localization effort which now covers 22 languages, including our first right-to-left language: Persian. This means that SeedSigner is now usable by an estimated 4.5+ billion people, roughly 60% of the world!

We've also included some important quality-of-life improvements to resolve some of the most common issues users run into.

But the bulk of the dev work was focused on behind-the-scenes code refactors to improve and further professionalize the codebase, our dev processes & releated tooling, and improving the breadth and reliability of the test suite.

This is a "calm before the storm" release. Significant new features are slated for v0.9.0 while simultaneously the massive work to port SeedSigner to a microcontroller races ahead towards its first alpha preview.

---

How to volunteer to add YOUR language

  • see: https://gist.github.com/kdmukai/89071afb68a6a9018524c593141a0adb

---

Four .img files are included in the release; select the one that is appropriate for your Raspberry Pi hardware

  • "pi0.img" - For Raspberry Pi Zero v1.3 & Raspberry Pi Zero W
  • "pi2.img" - For Raspberry Pi 2 Model B
  • "pi02w.img" - For Raspberry Pi Zero 2 W & Raspberry Pi 3 Model B
  • "pi4.img" - For Raspberry Pi 4 Model B

To update your microSD card

  • Download the appropriate .img file
  • Verify your download.
  • Flash the image to a MicroSD card (64MB or larger)
  • Must use a disk-authoring tool like Balena Etcher, Raspberry Pi Imager, or "dd".

More Notes

---

Full release details

New Features

  • BBQr PSBT decoding: @newtonick; w/@fedebuyito (#601)
  • 13 NEW LANGUAGES!:
  • Fully supported:
  • Catalan / Catala
  • German / Deutsch
  • Spanish / Espanol
  • French / Francais
  • Italian / Italiano
  • Dutch / Nederlands
  • Beta:
  • Czech / Cestina (NEW)
  • Chinese Simplified /
  • Hindi / (NEW)
  • Indonesian / Bahasa Indonesia (NEW)
  • Japanese /
  • Korean / (NEW)
  • Persian / (NEW)
  • Polish / Polski (NEW)
  • Portuguese (Brazil) / Portugues (Brasil) (NEW)
  • Thai / (NEW)
  • Vietnamese / Tieng Viet (NEW)
  • In progress:
  • Greek / (NEW)
  • Norwegian / Norsk (NEW)
  • Russian / (NEW)
  • Turkish / Turkce (NEW)

Improvements

  • Gracefully handle PSBTs that do not contain wallet fingerprint (BlueWallet 0000000 fingerprint issue): @alvroble; w/@kdmukai (#815)
  • Export Xpub: Remove "Coordinator" selection and instead directly select QR format: @kdmukai; w/@Chaitanya-Keyal, @newtonick (#844)
  • [Performance] Scrolling text can cause delays moving to next screen: @kdmukai; w/@alvroble (#849)
  • Disable screensaver during SeedQR transcription: @FazleRabbbiferdaus172; w/@kdmukai (#740; NEW CONTRIBUTOR!)
  • Camera connection errors: Provide better error message: @kdmukai; w/@Chaitanya-Keyal, @bitcoinprecept, @newtonick (#748)

User-Facing Bugfixes

  • Prevent English BIP-39 words from being accidentally translated: @Chaitanya-Keyal; w/@alvroble (#813; NEW CONTRIBUTOR!)
  • Back Navigation in Seed Entry Views: @PROWLERx15; w/@Chaitanya-Keyal, @kdmukai (#900; NEW CONTRIBUTOR!)

Misc / Nerdy Details

  • [Enhancement] Added 'Calculating...' spinner while generating seed from Image Entropy: @krishnavbajoria02; w/@abhigit-saha, @kdmukai, @newtonick (#711; NEW CONTRIBUTOR!)
  • [Enhancement] Restart on Manual Build: @Chaitanya-Keyal; w/@jdlcdl, @alvroble, @kdmukai @newtonick (#758; NEW CONTRIBUTOR!)
  • [Enhancement] MicroSD toast timer settings: @alvroble; w/@newtonick (#600)
  • [Enhancement] Light reorg and simplification of PSBTChangeDetailsScreen: @kdmukai (#827)
  • [Enhancement] Move foreign font files to the seedsigner-translations repo: @newtonick; w/@kdmukai (#819)
  • [Bugfix] Empty Passphrase Handling: @notTanveer; w/@alvroble, @kdmukai, @newtonick (#790; NEW CONTRIBUTOR!)
  • [Bugfix] Remove unnecessary sleep time in toast.py to speed up Screenshot Generator: @alvroble; w/@fedebuyito (#750)
  • [Bugfix] Update Dice Roll Count: @PROWLERx15; w/@kdmukai (#799; NEW CONTRIBUTOR!)
  • [Bugfix] Multiselect settings must have a selection: @kdmukai; w/@Chaitanya-Keyal (#850)
  • [Refactor] Replace Screen.display with View.run_screen: @Chaitanya-Keyal; w/@alvroble, @notTanveer, @kdmukai (#801; NEW CONTRIBUTOR!)
  • [Refactor] Tab spacing to Spaces: @megha-66; w/@kornpow, @alvroble; @kdmukai (#739; NEW CONTRIBUTOR!)
  • [Refactor] replace PSBT text in codebase with Proposed transaction or Transaction: @FazleRabbbiferdaus172; w/@notTanveer, @newtonick, @seedsigner, @easyuxd (#804; NEW CONTRIBUTOR!)
  • [Refactor] Enable auto-detection of screenshot generator renderer: @alvroble; w/@Chaitanya-Keyal (#796)
  • [Refactor] Remove bip85 app num: @Chaitanya-Keyal (#809; NEW CONTRIBUTOR!)
  • [Refactor] Make DisplayDriver a true parent class; add DisplayDriverFactory: @kdmukai; w/@alvroble (#821)
  • [l10n] Move Italian to the "Fully supported languages" list: @kdmukai (#781)
  • [l10n] Remove libraqm workarounds and enforce libraqm dependency: @alvroble; w/@kdmukai, @newtonick (#774)
  • [l10n] Promote Thai to beta status; add Thai font: @kdmukai (#784)
  • [l10n] Add logger message in Controller if libraqm not supported: @alvroble; w/@notTanveer (#787)
  • [l10n] Enable Arabic and Persian: @kdmukai; w/@alvroble (#772)
  • [l10n] Updating messages.pot to dev at 3455aa4: @kdmukai (#824)
  • [l10n] Exception str does not need to be translated: @kdmukai; w/@alvroble (#825)
  • [l10n] Initial Hindi support: @kdmukai (#845)
  • [l10n] Mark missing strings for translation: @Chaitanya-Keyal; w/@kdmukai (#867; NEW CONTRIBUTOR!)
  • [l10n] Make multisig wallet policy display translatable: @Chaitanya-Keyal; w/@kdmukai (#881; NEW CONTRIBUTOR!)
  • [l10n] Update seedsigner-translations submodule to latest dev: @newtonick (#886)
  • [l10n] Finalize v0.8.7 languages: @kdmukai; w/@Chaitanya-Keyal (#889)
  • [l10n][Refactor] Remove TextArea.allow_text_overflow for improved localization / screenshot usability: @kdmukai; w/@alvroble (#761)
  • [Testing] Exhaustively test PSBTParser with all supported script types: @kdmukai; w/@alvroble (#763)
  • [Testing] Exclude hardware drivers from coverage: @kdmukai; w/@fedebuyito, @kornpow (#782)
  • [Testing] Fix inadvertently persistent test artifacts: @kdmukai; w/@Chaitanya-Keyal, @alvroble, @securesigner (#853)
  • [Cleanup] Update capitalization to Sentence case for buttons: @Advaitgaur004; w/@kdmukai, @notTanveer (#727; NEW CONTRIBUTOR!)
  • [Cleanup] Clean up else condition to catch ALL remaining possibilities: @fedebuyito; w/@alvroble, @newtonick (#684)
  • [Cleanup] BIP references cleanup to read like "BIP-XX": @PROWLERx15; w/@alvroble, @notTanveer, @kornpow (#773; NEW CONTRIBUTOR!)
  • [Cleanup] Trivial changes: Text, comments, etc: @kdmukai (#828)
  • [Cleanup] SeedOptionsView: Remove unreachable VERIFY_ADDRESS code: @kdmukai (#826)
  • [Cleanup] Remove dead code: buttons.py: @kdmukai; w/@newtonick (#830)
  • [Cleanup] Remove dead code: components.py: @kdmukai (#831)
  • [Cleanup] Remove dead code: keyboard.py: @kdmukai (#832)
  • [Cleanup] Remove dead code: misc *_screens.py: @kdmukai (#833)
  • [Cleanup] Remove dead code: scan_screens.py: @kdmukai (#834)
  • [Cleanup] Remove dead code: screen.py: @kdmukai (#835)
  • [Cleanup] Remove dead code: mnemonic_generation.py: @kdmukai (#836)
  • [Cleanup] SettingsDefinition minor improvements + better tests: @kdmukai (#861)
  • [Cleanup] Fix typos in source code comments and strings: @securesigner; w/@Chaitanya-Keyal, @PROWLERx15 (#847; NEW CONTRIBUTOR!)
  • [Cleanup] Remove unnecessary CameraConnectionError error message: @kdmukai (#859)
  • [Cleanup] Eliminate the "Export xpub" Settings option: @Bicaru20; w/@kdmukai, @alvroble, @newtonick (#851; NEW CONTRIBUTOR!)
  • [Maintenance] Use PyPI version for urtypes lib: @tadeubas; w/@newtonick, @kornpow (#753)
  • [Maintenance] Bump Pillow version to 10.3.0: @alvroble; w/@Chaitanya-Keyal (#871)
  • [Screenshot Generator][Enhancement] Add ScreenshotRenderer check to catch missing screenshots: @kdmukai; w/@Chaitanya-Keyal, @FazleRabbbiferdaus172, @newtonick (#805)
  • [Screenshot Generator][Refactor] Clean up the end of the screenshot generation process: @kdmukai (#806)
  • [Screenshot Generator][Refactor] Better state management: @kdmukai; w/@alvroble (#860)
  • [Screenshot Generator][New screenshot] Brightness tip during QR display: @kdmukai; w/@alvroble (#760)
  • [Screenshot Generator][New screenshot] Generate png for RestartView: @FazleRabbbiferdaus172; w/@Chaitanya-Keyal, @kdmukai (#803; NEW CONTRIBUTOR!)
  • [Screenshot Generator] Update IOTestScreen to preserve "Clear" button: @Chaitanya-Keyal; w/@kdmukai (#879; NEW CONTRIBUTOR!)
  • [CI] Modify CI to run test checks on all commits: @PROWLERx15; w/@Advaitgaur004, @Chaitanya-Keyal, @newtonick (#699; NEW CONTRIBUTOR!)
  • [Documentation] Clarify that SeedQR uses English BIP39 wordlist: @krishnavbajoria02; w/@newtonick, @kdmukai (#698; NEW CONTRIBUTOR!)
  • [Documentation] Update encode_qr.py - Adds comments to code: @fedebuyito; w/@kdmukai, @jdlcdl, @newtonick (#643)
  • [Documentation] Mention --ignore-missing flag issue on older macOS versions: @Chaitanya-Keyal; w/@newtonick (#703; NEW CONTRIBUTOR!)
  • [Documentation] Improved Docs: @PROWLERx15; w/@notTanveer (#731; NEW CONTRIBUTOR!)
  • [Documentation] SeedQR: Improve clarity on BIP-39 wordlist and indexing: @kdmukai (#816)
  • [Documentation] Update the PR template: set more explicit expectations re: tests: @kdmukai; w/@Chaitanya-Keyal (#877)
  • [Release] Ceremonial version bump to 0.8.7: @Chaitanya-Keyal; w/@kdmukai (#887; NEW CONTRIBUTOR!)

Legacy Restoration

  • In honor of SeedSigner's 5th birthday: Minor fixes to make the original v0.0.1 from Dec 2021 runnable again: @kdmukai (#843)

SeedSigner OS updates

  • [Enhancement] Add libraqm support for RTL languages: @alvroble; w/@newtonick (https://github.com/SeedSigner/seedsigner-os/pull/91)
  • Add seedsigner-translation compile as build step: @newtonick (https://github.com/SeedSigner/seedsigner-os/pull/92)
  • Update Buildroot submodule to 2024.11 branch: @newtonick; w/@kdmukai, @alvroble (https://github.com/SeedSigner/seedsigner-os/pull/94)
  • Pillow upgrade from 10.0.1 to 10.3.0 and move to buildroot external package: @newtonick; w/@alvroble (https://github.com/SeedSigner/seedsigner-os/pull/95)
  • Increase disk image size to 50 MB from 45 MB to solve CI/CD issues: @newtonick (https://github.com/SeedSigner/seedsigner-os/pull/97)
  • [Docs update] Add note to update submodules: @kdmukai (https://github.com/SeedSigner/seedsigner-os/pull/99)

seedsigner-translations updates

  • [Feature] Add extract-characters script and move foreign fonts into the translations repo: @newtonick; w/@kdmukai (https://github.com/SeedSigner/seedsigner-translations/pull/48)
  • [Tooling] Transifex CLI integration: @kdmukai; w/@Chaitanya-Keyal (https://github.com/SeedSigner/seedsigner-translations/pull/51)
  • [Documentation] README update w/ better tx pull commands: @kdmukai; w/@Chaitanya-Keyal (https://github.com/SeedSigner/seedsigner-translations/pull/59)

---

New contributors

First-ever contributions landed in v0.8.7:

  • @Advaitgaur004 (#727)
  • @Bicaru20 (#851)
  • @Chaitanya-Keyal (9 merged PRs!)
  • @FazleRabbbiferdaus172 (3 merged PRs)
  • @krishnavbajoria02 (2 merged PRs)
  • @megha-66 (#739)
  • @notTanveer (#790)
  • @PROWLERx15 (5 merged PRs)
  • @securesigner (#847)

---

Team

  • Project Lead / Creator: @seedsigner ("the man")
  • Lead Developer / Summer of Bitcoin Mentor: @kdmukai
  • Lead Maintainer / SeedSigner OS Lead: @newtonick
  • UX Designer: @easyuxd
  • Most Active Reviewers/Testers: @alvroble, @Chaitanya-Keyal

9 new developers and 13 new translation teams contributed to this release!