1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2024-12-17 03:48:09 +00:00
trezor-firmware/core/CHANGELOG.md

434 lines
14 KiB
Markdown

# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
## 2.4.1 [14th July 2021]
### Added
- ButtonRequest for multi-page views contains number of pages. [#1671]
### Changed
- Converted altcoin apps to common layout code. [#1538]
- Reimplement protobuf codec and library in Rust [#1541]
- Cardano: Reintroduce maximum transaction output size limitation [#1606]
- Cardano: Improve address validation and decouple it from address derivation [#1606]
- Cardano: Remove sorting of policies, assets and withdrawals. Rather add them to the transaction in the order they arrived in. [#1672]
- Cardano: Forbid withdrawals with the same path in a single transaction [#1672]
### Removed
- Removed support for Firo [#1647]
- Removed support for Hatch [#1650]
### Fixed
- Unify Features.revision reporting with legacy [#1620]
- Fix red screen on shutdown. [#1658]
- Empty passphrase is properly cached in Cardano functions [#1659]
### Security
- Ensure that all testnet coins use SLIP-44 coin type 1.
- Disable all testnet coins from accessing Bitcoin paths.
- Restrict BIP-45 paths to Bitcoin and coins with strong replay protection.
- Fix operation source account encoding in Stellar.
## 2.4.0 [9th June 2021]
### Added
- Decred staking. [#1249]
- Locking the device by holding finger on the homescreen for 2.5 seconds. [#1404]
- Public key to ECDHSessionKey. [#1518]
- Rust FFI for MicroPython. [#1540]
### Changed
- Support PIN of unlimited length. [#1167]
- Allow decreasing the output value in RBF transactions. [#1491]
- Cardano: Allow stake pool registrations with zero margin. [#1502]
- Cardano: Assets are now shown as CIP-0014. [#1510]
- Random delays use ChaCha-based DRBG instead of HMAC-DRBG. [#1554]
- Reduce memory fragmentation by clearing memory after every workflow. [#1565]
- Update some FIDO icons. [#1456]
### Fixed
- Import errors on T1 startup. [#24]
- Improve wording when showing multisig XPUBs. [#1431]
## 2.3.6 [15th February 2021]
### Added
- Compatibility paths for Unchained Capital. [#1467]
## 2.3.5 [10th February 2021]
### Added
- CoinJoin preauthorization and signing flow. [#1053]
- Value of the `safety-checks` setting to the `Features` message. [#1193]
- ERC20 tokens show contract address for confirmation. Unknown ERC20 tokens show wei amount. [#800]
- Replacement transaction signing for replace-by-fee and PayJoin. [#1292]
- Support for Output Descriptors export. [#1363]
- Paginated display for signing/verifying long messages. [#1271]
- Show Ypub/Zpub correctly for multisig GetAddress. [#1415]
- Show amounts in mBTC, uBTC and sat denominations. [#1369]
### Changed
- The `safety-checks` setting gained new possible value `PromptTemporarily` which overrides safety checks until device reboot. [#1133]
- Protobuf codec now enforces `required` fields and pre-fills default values. [#379]
- `TxAck` messages are now decoded into "polymorphic" subtypes instead of the common `TxAck` type.
- Bump nanopb dependency to 0.4.3. [#1105]
- BIP-32 paths must now match a pre-defined path schema to be considered valid. [#1184]
- Minimum auto-lock delay to 1 minute. The former value of 10 seconds still applies for debug builds. [#1351]
- It is again possible to sign for Ethereum clones that are not officially supported. [#1335]
- Bump nanopb dependency to 0.4.4. [#1402]
- Automatic breaking text on whitespace. [#1384]
- Introduced limit of 32 characters for device label. [#1399]
### Deprecated
### Removed
- PIVX support
- dropped debug-only `DebugLinkShowText` functionality
### Fixed
- Path warning is not shown on `GetAddress(show_display=False)` call. [#1206]
- Settings are also erased from RAM when device is wiped. [#1322]
### Security
## 2.3.4 [7th October 2020]
### Added
- Support for the upcoming Monero hard fork. [#1246]
### Changed
### Deprecated
### Removed
### Fixed
### Security
## 2.3.3 [2nd September 2020]
### Added
- Running the frozen version of the emulator doesn't need arguments. [#1115]
- XVG support. [#1165]
- Hard limit on transaction fees. Can be disabled using `safety-checks`. [#1087]
### Changed
- Print inverted question mark for non-printable characters.
- Remove pre-fill bar from text rendering functions. [#1173]
- Display coin name when signing or verifying messages. [#1159]
- Allow spending coins from Bitcoin paths if the coin has implemented strong replay protection via `SIGHASH_FORKID`. [#1188]
### Deprecated
### Removed
- Remove ETP, GIN, PTC, ZEL support.
- Drop support for signing Zcash v3 transactions. [#982]
### Fixed
- CRW addresses are properly generated. [#1139]
- Fix boot loop after uploading invalid homescreen. [#1118]
- Allow 49/x not 49/x' for Casa. [#1190]
- Make sure Homescreen is properly initialized. [#1095]
### Security
- Show non-empty passphrase on device when it was entered on host.
- Show warning if nLockTime is set but ineffective due to all nSequence values being 0xffffffff.
## 2.3.2 [5th August 2020]
### Added
- Soft lock. [#958]
- Auto lock. [#1027]
- Dedicated `initialized` field in storage.
- Support EXTERNAL transaction inputs with a SLIP-0019 proof of ownership. [#1052]
- Support pre-signed EXTERNAL transaction inputs.
- Support multiple change-outputs. [#1098]
- New option `safety-checks` allows overriding "forbidden key path" errors. [#1126]
- Support for Cardano Shelley. [#948]
### Changed
- `Features.pin_cached` renamed to `unlocked`.
- Forbid all settings if the device is not yet initialized. [#1056]
- Rewrite USB codec and Protobuf decoder to be more memory-efficient. [#1089]
- Allow compatibility namespaces for Casa and Green Address.
### Deprecated
- Deprecate `overwintered` field in `SignTx` and `TxAck`.
### Removed
- Generated protobuf classes now do not contain deprecated fields.
### Fixed
- Fix cancel icon in PIN dialog. [#1042]
- Fix repaint bug in QR code rendering. [#1067]
- Fix QR code overlapping in Monero address. monero-gui#2960, [#1074]
- Re-introduce ability to spend pre-Overwinter UTXO on Zcash-like coins. [#1030]
## 2.3.1 [June 2020]
### Changed
- Refactor Bitcoin signing
- Refactor Keychain into a decorator
### Security
- Stream previous tx also for Segwit inputs
## 2.3.0 [April 2020]
### Added
- Cache up to 10 sessions (passphrases)
- SD card protection
- Show xpubs with multisig get_address
- Introduce FatFS (version 0.14)
- Support Ed25519 in FIDO2
### Changed
- Passphrase redesign
- Upgrade MicroPython to 1.12
### Fixed
- Properly limit passphrase to 50 bytes and not 50 characters
- Monero: add confirmation dialog for unlock_time
## 2.2.0 [January 2020]
### Added
- Add feature to retrieve the next U2F counter.
- Wipe code.
- Add screen for time bounds in Stellar.
### Fixed
- Fix continuous display blinking with Android in U2F.
- U2F UX improvements.
### Changed
- Rework Recovery persistence internally.
### Removed
- Remove unused ButtonRequest.data field.
- Disallow changing of settings via dry-run recovery.
## 2.1.8 [November 2019]
### Added
- Support Tezos 005-BABYLON hardfork.
- Show XPUBs in GetAddress for multisig.
### Security
- Security improvements.
## 2.1.7 [October 2019]
### Fixed
- Fix low memory issue.
## 2.1.6 [October 2019]
### Added
- Super Shamir.
- FIDO2.
- FIDO2 credential management via trezorctl.
- BackupType in Features.
### Changed
- Refactor Shamir related codebase.
### Fixed
- Fix storage keys module visibility bug (6ad329) introduced in 2.1.3 (46e4c0) which was breaking upgrades.
## 2.1.5 [September 2019]
### Added
- Binance Coin support.
- Introduce Features.Capabilities.
### Fixed
- Fix for sluggish U2F authentication when using Shamir.
- Fix UI for Shamir with 33 words.
- Fix Wanchain signing.
## 2.1.4 [August 2019 hotfix]
### Fixed
- Shamir Backup reset device hotfix.
## 2.1.3 [August 2019]
### Added
- Shamir Backup with Recovery persistence.
### Fixed
- Touchscreen freeze fix.
- Fix display of non-divisible OMNI amounts.
## 2.1.2 [unreleased]
### Added
- Shamir Backup feature preview.
## 2.1.1 [June 2019]
### Added
- EOS support.
- Set screen rotation via user setting.
- Display non-zero locktime values.
### Changed
- Don't rotate the screen via swipe gesture.
- More strict path validations.
### Fixed
- Hotfix for touchscreen freeze.
- Monero UI fixes.
- Speed and memory optimizations.
## 2.1.0 [March 2019]
### Added
- New coins: ATS, AXE, FLO, GIN, KMD, NIX, PIVX, REOSC, XPM, XSN, ZCL.
- New ETH tokens.
### Fixed
- Ripple, Stellar, Cardano and NEM fixes.
### Changed
- Included bootloader 2.0.3.
### Security
- Security improvements.
- Upgraded to new storage format.
## 2.0.10 [December 2018]
### Added
- Add support for OMNI layer: OMNI/MAID/USDT.
- Add support for new coins: BTX, CPC, GAME, RVN.
- Add support for new Ethereum tokens.
### Changed
- Included bootloader 2.0.2.
### Fixed
- Fix Monero payment ID computation.
- Fix issue with touch screen and flickering.
## 2.0.9 [November 2018]
### Fixed
- Small Monero and Segwit bugfixes.
## 2.0.8 [October 2018]
### Added
- Monero support.
- Cardano support.
- Stellar support.
- Ripple support.
- Tezos support.
- Decred support.
- Groestlcoin support.
- Zencash support.
- Zcash sapling hardfork support.
- Implemented seedless setup.
## 2.0.7 [June 2018]
### Added
- Bitcoin Cash cashaddr support.
- Zcash Overwinter hardfork support.
- NEM support.
- Lisk support.
- Show warning on home screen if PIN is not set.
- Support for new coins (BTCP, FUJI, VTC, VIA, XZC).
- Support for new Ethereum networks (EOSC, ETHS, ELLA, CTL, EGEM, WAN).
- Support for 500+ new Ethereum tokens.
## 2.0.6 [March 2018]
### Added
- Add special characters to passphrase keyboard.
### Fixed
- Fix layout for Ethereum transactions.
- Fix public key generation for SSH and GPG.
## 2.0.5 [March 2018]
### Added
- First public release.
[#24]: https://github.com/trezor/trezor-firmware/issues/24
[#379]: https://github.com/trezor/trezor-firmware/issues/379
[#800]: https://github.com/trezor/trezor-firmware/issues/800
[#948]: https://github.com/trezor/trezor-firmware/issues/948
[#958]: https://github.com/trezor/trezor-firmware/issues/958
[#982]: https://github.com/trezor/trezor-firmware/issues/982
[#1027]: https://github.com/trezor/trezor-firmware/issues/1027
[#1030]: https://github.com/trezor/trezor-firmware/issues/1030
[#1042]: https://github.com/trezor/trezor-firmware/issues/1042
[#1052]: https://github.com/trezor/trezor-firmware/issues/1052
[#1053]: https://github.com/trezor/trezor-firmware/issues/1053
[#1056]: https://github.com/trezor/trezor-firmware/issues/1056
[#1067]: https://github.com/trezor/trezor-firmware/issues/1067
[#1074]: https://github.com/trezor/trezor-firmware/issues/1074
[#1087]: https://github.com/trezor/trezor-firmware/issues/1087
[#1089]: https://github.com/trezor/trezor-firmware/issues/1089
[#1095]: https://github.com/trezor/trezor-firmware/issues/1095
[#1098]: https://github.com/trezor/trezor-firmware/issues/1098
[#1105]: https://github.com/trezor/trezor-firmware/issues/1105
[#1115]: https://github.com/trezor/trezor-firmware/issues/1115
[#1118]: https://github.com/trezor/trezor-firmware/issues/1118
[#1126]: https://github.com/trezor/trezor-firmware/issues/1126
[#1133]: https://github.com/trezor/trezor-firmware/issues/1133
[#1139]: https://github.com/trezor/trezor-firmware/issues/1139
[#1159]: https://github.com/trezor/trezor-firmware/issues/1159
[#1165]: https://github.com/trezor/trezor-firmware/pull/1165
[#1167]: https://github.com/trezor/trezor-firmware/issues/1167
[#1173]: https://github.com/trezor/trezor-firmware/pull/1173
[#1184]: https://github.com/trezor/trezor-firmware/issues/1184
[#1188]: https://github.com/trezor/trezor-firmware/issues/1188
[#1190]: https://github.com/trezor/trezor-firmware/issues/1190
[#1193]: https://github.com/trezor/trezor-firmware/issues/1193
[#1206]: https://github.com/trezor/trezor-firmware/issues/1206
[#1246]: https://github.com/trezor/trezor-firmware/issues/1246
[#1249]: https://github.com/trezor/trezor-firmware/issues/1249
[#1271]: https://github.com/trezor/trezor-firmware/issues/1271
[#1292]: https://github.com/trezor/trezor-firmware/issues/1292
[#1322]: https://github.com/trezor/trezor-firmware/issues/1322
[#1335]: https://github.com/trezor/trezor-firmware/issues/1335
[#1351]: https://github.com/trezor/trezor-firmware/issues/1351
[#1363]: https://github.com/trezor/trezor-firmware/pull/1363
[#1369]: https://github.com/trezor/trezor-firmware/pull/1369
[#1384]: https://github.com/trezor/trezor-firmware/issues/1384
[#1399]: https://github.com/trezor/trezor-firmware/issues/1399
[#1402]: https://github.com/trezor/trezor-firmware/pull/1402
[#1404]: https://github.com/trezor/trezor-firmware/issues/1404
[#1415]: https://github.com/trezor/trezor-firmware/pull/1415
[#1431]: https://github.com/trezor/trezor-firmware/pull/1431
[#1456]: https://github.com/trezor/trezor-firmware/pull/1456
[#1467]: https://github.com/trezor/trezor-firmware/issues/1467
[#1491]: https://github.com/trezor/trezor-firmware/issues/1491
[#1502]: https://github.com/trezor/trezor-firmware/issues/1502
[#1510]: https://github.com/trezor/trezor-firmware/issues/1510
[#1518]: https://github.com/trezor/trezor-firmware/issues/1518
[#1538]: https://github.com/trezor/trezor-firmware/issues/1538
[#1540]: https://github.com/trezor/trezor-firmware/issues/1540
[#1541]: https://github.com/trezor/trezor-firmware/issues/1541
[#1554]: https://github.com/trezor/trezor-firmware/issues/1554
[#1565]: https://github.com/trezor/trezor-firmware/issues/1565
[#1606]: https://github.com/trezor/trezor-firmware/issues/1606
[#1620]: https://github.com/trezor/trezor-firmware/issues/1620
[#1647]: https://github.com/trezor/trezor-firmware/issues/1647
[#1650]: https://github.com/trezor/trezor-firmware/issues/1650
[#1658]: https://github.com/trezor/trezor-firmware/issues/1658
[#1659]: https://github.com/trezor/trezor-firmware/issues/1659
[#1671]: https://github.com/trezor/trezor-firmware/issues/1671
[#1672]: https://github.com/trezor/trezor-firmware/issues/1672