SeedSigner v0.7.0
This release is a massive step forward for SeedSigner and had the largest number of dev contributors, ever!
Huge thanks to our volunteer Project Manager: @bitcoinprecept
Highlights:
-
Reproducible builds: don't trust, verify! You can now confirm for yourself that our release images exactly match our FOSS repos.
-
Faster Startup: SeedSigner now starts in only 12 seconds (reduced by ~66%).
-
Faster live camera display: improved framerate makes aiming the camera a much smoother experience.
-
QR-based message signing: Compatible with Specter Desktop (or any QR code generator/reader app).
-
SettingsQR Generator: create settings configs that you can instantly scan in to transform your SeedSigner experience. e.g. create a stripped-down, basic noob config that simplifies SeedSigner for demoing to friends but have an advanced expert config for yourself.
-
More responsive controls and clicks (50% to 100% faster).
-
On-screen hint for adjusting the QR code display brightness: the primary solution for dealing with low quality webcams.
-
MicroSD removal hint: gentle reminder for the most careful/paranoid security maxis that you can remove the SD card before loading a seed.
-
Screenshot generator: We can now generate pixel-perfect screenshots of most screens in the UI. Ideal for including in tutorials, etc.
-
Flow-based tests: the test suite now includes end-to-end, screen-by-screen scenario tests (e.g. user loads a seed, then scans a psbt, etc). This is a massive improvement for regression testing (does a change break any existing functionality?) and debugging any user-reported errors.
Notable Camera Change:
Camera orientation: default was 0°, now 180°.
SeedSigner builds have evolved to favor the mini Raspberry Pi camera (no daughterboard; components integrated into the ribbon cable). The new default is for these builds.
If your build uses the bigger camera (has a daughterboard; original "Orange Pill" enclosure), you'll need to set camera orientation to 0° with this release.
Notes:
- If you are getting value from SeedSigner, please consider donating to our development fund: https://seedsigner.com/donate-now/
- Check out our Independent Custody Guide to read more on what our project is all about: https://github.com/SeedSigner/independent_custody_guide
Image Designations:
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
Checking your download for integrity and authenticity is super important -- with SeedSigner, you are the software authenticity assurance!
To install on your microSD card:
- Download the appropriate .img file
- Write the extracted image to a MicroSD card (32MB or larger)
- (make sure to use "dd" or a disk-authoring tool like Balena Etcher)
- Re-install the memory card in your signer
Full update list:
New Features:
- SeedSigner OS reproducible builds and faster boot time (@newtonick) (SeedSigner/seedsigner-os#51)
- QR-based message signing (@kdmukai) (#262, #443, #448)
- SettingsQR Generator (@kdmukai) (#394, #464 w/@jdlcdl)
- Screenshot generator (@kdmukai, @jdlcdl, @easyuxd) (#423)
- Public feature development board (@bitcoinprecept)
Improvements:
- Faster UI rendering via larger SPIDEV buffer (@newtonick) (#420) and removing
numpy
dependency (@jdlcdl) (#368) - Faster camera live preview rendering (@kdmukai) (#413)
- Speed up initial app launch via optimized module imports (@kdmukai) (#416)
- Reminder to remove SD card via toast notification (@kdmukai, @jdlcdl) (#424)
- UI hint for adjusting QR code display brightness (@overcat, @kdmukai) (#389)
- Default QR code display brightness reduced (@pythcoiner) (#380)
- Default camera orientation changed to 180° (@SmokeTag) (#395)
- SeedSigner Icons v2 (@easyuxd) (#423)
TextArea
consistency/placement (@kdmukai) (#445)- Handle invalid BIP-85 child index (@jdlcdl) (#372)
- Handle exceptions which have no message
- Limit acceptable QR types depending on context (@kdmukai) (#333)
- Modifications to support experimental emulator (not a SeedSigner-controlled repo) (@tadeubas, @enteropositivo) (#345)
- More pythonic attribute check (@jdlcdl) (#446)
- Remove security-sensitive info from debugging (@conraddonovan16) (#454)
- Misc UI tweaks: (@kdmukai) (#461)
- Additional SeedSigner OS PRs: (@newtonick, @overcat, @jdlcdl, @Marc-Gee)
Bugfixes:
- p2tr spend/change bug (@newtonick) (#351)
- Missing class initialization error (@hax0rbana-adam) (#434)
- Seed word letter suggestion bug (@overcat) (#371)
- Routing fix to Select Diff Seed after psbt signing error (@newtonick) (#451)
- Entering image entropy via long click raised exception (@kdmukai) (#453)
- Improved exception handling (@jdlcdl) (#370)
- Improved BACK button routing (@kdmukai) (#428)
- Improved QR scanning error routing (@kdmukai) (#460)
- Misc: (@kdmukai) (#348, #433)
Testing:
- Flow-based test scenarios (@kdmukai, @newtonick, @jdlcdl) (#339)
- Add test coverage reports (@kdmukai) (#342)
- Improve
embit_utils
test coverage (@jdlcdl) (#388) - Proper
assert
syntax fixes (@conraddonovan16) (#462)
Enclosures
- "Rugged Pill" design added (@gobrrrme) (#414)
- "Open Pill" notes updated w/comfort joystick option (@bitcoinprecept) (#362)
Documentation:
- Updated documentation for the verification of seed generation by dice rolls (@jahangirl) (#403)
- Updated release image verification steps for Windows (@Marc-Gee) (#346)
- SeedQR specification fixes / clarificaitons (@seedhammer, @bitcoinprecept) (#412, #358)
- Misc edits: (@kdmukai, @Marc-Gee) (#347, #402, #406, #407)
Full contributors list
(compiled by @jdlcdl)
@akarve
@bitcoinprecept
@conraddonovan16
@DesobedienteTecnologico
@easyuxd
@EverydayBitcoiner
@gobrrrme
@gpatkinson
@hax0rbana-adam
@hugoender
@jahangir13
@jdlcdl
@kdmukai
@Marc-Gee
@mauricio
@newtonick
@overcat
@scgbckbone
@seedhammer
@SeedSigner
@SmokeTag
@tadeubas
@ValueOverflow