What changed, and why it matters
This commit only updates version numbers and translation metadata across Trezor firmware components. It does not change any executable code, fix any behavior, or alter security logic. There is no indication this is a security patch.
No security action required; treat as routine release bookkeeping.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff increments VERSION_PATCH in bootloader (2.1.14→2.1.15), firmware (2.9.3→2.9.4), prodtest, secmon, and the Nordic BLE stack, plus translation JSON version headers and the signatures.json merkle root/commit reference. No functional code changes are present.
Changed components
core/embed/projects/bootloader/version.hcore/embed/projects/firmware/version.hcore/embed/projects/prodtest/version.hcore/embed/projects/secmon/version.hcore/translations/cs.jsoncore/translations/de.jsoncore/translations/en.jsoncore/translations/es.jsoncore/translations/fr.jsoncore/translations/it.jsoncore/translations/pt.jsoncore/translations/signatures.jsonnordic/trezor/trezor-ble/VERSIONInspect captured patch +15 / −15
diff --git a/core/embed/projects/bootloader/version.h b/core/embed/projects/bootloader/version.h
index 2b98058a..9238df55 100644
--- a/core/embed/projects/bootloader/version.h
+++ b/core/embed/projects/bootloader/version.h
@@ -4,7 +4,7 @@
#define VERSION_MAJOR 2
#define VERSION_MINOR 1
-#define VERSION_PATCH 14
+#define VERSION_PATCH 15
#define VERSION_BUILD 0
#define VERSION_UINT32 \
(VERSION_MAJOR | (VERSION_MINOR << 8) | (VERSION_PATCH << 16) | \
diff --git a/core/embed/projects/firmware/version.h b/core/embed/projects/firmware/version.h
index 7db5105e..0774d6b2 100644
--- a/core/embed/projects/firmware/version.h
+++ b/core/embed/projects/firmware/version.h
@@ -4,7 +4,7 @@
#define VERSION_MAJOR 2
#define VERSION_MINOR 9
-#define VERSION_PATCH 3
+#define VERSION_PATCH 4
#define VERSION_BUILD 0
#define FIX_VERSION_MAJOR 2
diff --git a/core/embed/projects/prodtest/version.h b/core/embed/projects/prodtest/version.h
index 8ca26698..dbfa8a2a 100644
--- a/core/embed/projects/prodtest/version.h
+++ b/core/embed/projects/prodtest/version.h
@@ -4,7 +4,7 @@
#define VERSION_MAJOR 0
#define VERSION_MINOR 3
-#define VERSION_PATCH 4
+#define VERSION_PATCH 5
#define VERSION_BUILD 0
#define FIX_VERSION_MAJOR 0
diff --git a/core/embed/projects/secmon/version.h b/core/embed/projects/secmon/version.h
index 0c133ff4..b7b816a2 100644
--- a/core/embed/projects/secmon/version.h
+++ b/core/embed/projects/secmon/version.h
@@ -1,4 +1,4 @@
#define VERSION_MAJOR 1
#define VERSION_MINOR 0
-#define VERSION_PATCH 2
+#define VERSION_PATCH 3
#define VERSION_BUILD 0
diff --git a/core/translations/cs.json b/core/translations/cs.json
index ab41ed24..36b16c4f 100644
--- a/core/translations/cs.json
+++ b/core/translations/cs.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "cs-CZ",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": {
diff --git a/core/translations/de.json b/core/translations/de.json
index 159a7536..07d4e0f0 100644
--- a/core/translations/de.json
+++ b/core/translations/de.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "de-DE",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": "Kontaktiere den Trezor Support unter",
diff --git a/core/translations/en.json b/core/translations/en.json
index 7b7a028f..75d8f0c3 100644
--- a/core/translations/en.json
+++ b/core/translations/en.json
@@ -1,7 +1,7 @@
{
"header": {
"language": "en-US",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": "Please contact Trezor support at",
diff --git a/core/translations/es.json b/core/translations/es.json
index 1b7e74da..c70d7e6c 100644
--- a/core/translations/es.json
+++ b/core/translations/es.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "es-ES",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": "Contacta con atención al cliente de Trezor en",
diff --git a/core/translations/fr.json b/core/translations/fr.json
index 25b9f358..dd4d4d03 100644
--- a/core/translations/fr.json
+++ b/core/translations/fr.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "fr-FR",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": {
diff --git a/core/translations/it.json b/core/translations/it.json
index 6570561f..769910e2 100644
--- a/core/translations/it.json
+++ b/core/translations/it.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "it-IT",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": "Contatta l'Assistenza di Trezor all'indirizzo",
diff --git a/core/translations/pt.json b/core/translations/pt.json
index 806b4a25..6f7016f4 100644
--- a/core/translations/pt.json
+++ b/core/translations/pt.json
@@ -33,7 +33,7 @@
},
"header": {
"language": "pt-BR",
- "version": "2.9.3"
+ "version": "2.9.4"
},
"translations": {
"addr_mismatch__contact_support_at": "Entre em contato com o suporte Trezor em",
diff --git a/core/translations/signatures.json b/core/translations/signatures.json
index 001a9d02..a510f39a 100644
--- a/core/translations/signatures.json
+++ b/core/translations/signatures.json
@@ -1,8 +1,8 @@
{
"current": {
- "merkle_root": "181916d5eeb67336246dd2b9ff163f0f8b1ce48a7ccd469e1d99888896e878d3",
- "datetime": "2025-10-16T14:50:33.447168+00:00",
- "commit": "6159cfd9c7e1099625b5ad19b116ef71b15eadc4"
+ "merkle_root": "8d509223150f3177fb29e6b9ea7189b9a73e9b99c7fe0adcc360802577664432",
+ "datetime": "2025-10-16T21:37:18.356770+00:00",
+ "commit": "09d7f4a90d70279d481de38ae5b09f72d274bfc4"
},
"history": [
{
diff --git a/nordic/trezor/trezor-ble/VERSION b/nordic/trezor/trezor-ble/VERSION
index 8e864e8f..50f25fb4 100644
--- a/nordic/trezor/trezor-ble/VERSION
+++ b/nordic/trezor/trezor-ble/VERSION
@@ -1,5 +1,5 @@
VERSION_MAJOR = 1
VERSION_MINOR = 0
-PATCHLEVEL = 2
+PATCHLEVEL = 3
VERSION_TWEAK = 0
EXTRAVERSION =
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.