All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Attestation key or user private keys can now be configured with the new
--attestation-key
and--user-private-key
arguments (orATTESTATION_PRIVATE_KEY
andUSER_PRIVATE_KEY
through environment variables). User certificates are correctly calculated, signed from the user private keys and the attestation key.
- Seed, RNG, application name and version are now fetched from the environment when Speculos starts then stored internally for further use, rather than fetched when needed during runtime. This avoids several Speculos instances from messing up with each other's environment variables.
- CX: Fix AES implementation on NanoS
- bolos/os_bip32.c: Improve syscall emulation
- API_LEVEL: Add support for API_LEVEL_14 for Ledger Stax
- CX: Update AES implementation to be compatible with API levels >= 12
- Implement cx_bn_gf2_n_mul()
- Add missing
binutils-arm-none-eabi
package
- Update Limitations section
- Launcher: Fix missing RAM relocation emulation on NanoX, NanoSP and Stax
- API: the API thread is asked to stop when Speculos exits
- OCR: Prevent null dereference when expected font is not in ELF file
- API_LEVEL: Add support for API_LEVEL_13 for corresponding device
- OCR: Apps using unified SDK don't use OCR anymore. Font info is parsed from .elf file.
- Seproxyhal: default status_sent value upon app launch is unset.
- OCR: Change Stax OCR method. Don't use Tesseract anymore.
- CI: Remove CI job dependency to allow deployment if wanted
- API_LEVEL: Add support for API_LEVEL_12 for corresponding device
- Seproxyhal: Fix SeProxyHal emulation
- Seproxyhal: Fix SeProxyHal issue when on LNSP / LNX and HAVE_PRINTF is enabled
- API: Add a ticker/ endpoint to allow control of the ticks sent to the app
- OCR: Fix OCR on NanoX and NanoSP based on API_LEVEL_5 and upper
- Seproxyhal: Fix SeProxyHal emulation to match real devices behavior
- OCR: Lazy evaluation of screenshot content, performance improvement on Stax
- OCR: screenshot publish is no longer desynchronized with event publish
- svc: Fixed emulation of os_lib_call for latest SDK API levels
- docker: Add blst library to the docker image
- launcher: If Speculos is able to determine the location of the SVC_Call and SVC_cx_call symbols in
the application elf, it will only try to patch
svc 1
inside the functions.
- deployment: re-ordering pypi.org package automatic push in order to avoid incomplete deployments
- package: Version is not longer customly incremented, but inferred from tag then bundled into the
package thanks to
setuptools_scm
- First release of Speculos on PyPi