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.
- Deploying to jfrog only.
- Add
ledger.app_flagssection extraction from app.elf
output_pytest_directorieswill now output a list of name / keys
- Fix
output_pytest_directoriesoption for v2 manifests
- Fix
output_pytest_directoriesoption for legacy manifests
- Keep
-otpbackward compatible
- Manifest v2 support
- Manage several tests directories in app's Manifest v2
ledger_app.toml
- Handle GithubException when getting manifest file content.
- Added two new targets : 'apex_p' and 'apex_m'.
- Parsing 'nanos+' in manifests now returns 'nanosp', which is breaking when this name is used to
gather a SDK tag.
Added a specific "sdk_name" field in the JSON /
Deviceto be returned when parsing the manifest, to get back the previous, 0.9.1- behavior.
- Added
devicesmodule, declaring Ledger devices as class / enum, dynamically generated from a JSON configuration file. This should enable to add new devices more easily, and device characteristics are now reachable from a centralized place.
- Issue with
variant_valueswhen computed from a Makefile variable
ledger-manifest: new--tokenargument, allowing to provide a PAT to evade GitHub API limitations when parsing remote manifest (with the--urlargument).- New property to get more info for variants:
variant_param - New filtering options:
legacy: to select or not the Apps whose name contains legacy in their name (disabled by default)plugin: to select or not the Apps whose name starts by app-plugin- (disabled by default)only_list: to select only a predefined list of Appsexclude_list: to exclude a predefined list of Appssdk: to filter apps, based on their SDK (C or Rust)
ledger-manifest: new--urlargument allows to parse manifest from an application GH repository rather than a local file.
- Package tested & published on Python3.12 and 3.13. Python 3.8 support is dropped.
- Clean error management when there is not
ledger_app.tomlmanifest to access to on a given repository/branch.
- Added wrapper around GitHub API to ease manipulating Ledger application repositories.
ledger-binary: NanoS SDK has a uniquetarget_versionsection.
ledger-binary: Striping occasional trailing newlines in metadata content.
ledger-binary: Adding Rust application specific metadata sections.
ledger-binary: Adding an utilitary to parse embedded application ELF file metadatas.
- Renamed 'Europa' with official product name 'Flex'
ledger-manifest: "Europa" is now a validapp.devicesvalue.
- BREAKING: removing references to
LegacyManifestandRepoManifest. OnlyManifestis to be used from now on.
- Fix handling of None value of tests.pytest_directory and tests.unit_directory
- Dedicated logger for the
manifestsubpackage. manifestcan now manageuse_casesandtests.dependencies- outputs can be JSONified
- BREAKING: moving the
utils/manifest.pymodule into its ownmanifest/subpackage.
utils/manifest.py: RepoManifest now has a.from_pathmethod which returns either aManifestor aLegacyManifest.
utils/manifest.py: LegacyManifest now has a.from_pathmethod which mimics its initializer previous behavior. The initializer signature has changed.
ledger-manifest: typotestinstead oftestswas leading to runtime AttributeError.
ledger-manifest: devices are output as a list "[...]" rather than a set "{...}" for easier reusability.
ledgeredlibrary Python package- Application 'ledger_app.toml' manifest parser utilitary