diff --git a/CHANGELOG.md b/CHANGELOG.md
index 6696b9b..4f0ca9c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,11 @@ documentation, and CI work are left out.
## [Unreleased]
+### Added
+
+- The running app version is shown at the bottom of every screen, so a bug
+ report no longer needs `GET /api/v1/status`.
+
### Changed
- **Bereiche schwärzen** now draws on the redacted pages, so the automatic text
diff --git a/docs/development/contributing.md b/docs/development/contributing.md
index 1b47f7c..4cd7435 100644
--- a/docs/development/contributing.md
+++ b/docs/development/contributing.md
@@ -89,7 +89,8 @@ proposes the bumps weekly.
## Reporting bugs
-Include the version (`GET /api/v1/status`), the source type, the exact message,
+Include the version (the footer of the web UI, or `GET /api/v1/status`), the
+source type, the exact message,
the warning categories from expert mode, and the relevant log lines — which
contain no document content by design. Check any excerpt you paste anyway.
diff --git a/docs/operations/troubleshooting.md b/docs/operations/troubleshooting.md
index 9778a87..6197e68 100644
--- a/docs/operations/troubleshooting.md
+++ b/docs/operations/troubleshooting.md
@@ -129,7 +129,8 @@ works; use *Als PDF* from the export menu.
## Reporting a problem
-Include: the app version (`GET /api/v1/status`), the source type
+Include: the app version (shown at the bottom of every screen, also in
+`GET /api/v1/status`), the source type
(`paste`/`txt`/`docx`/`pdf`/`pdf-ocr`), the exact message, the warning
categories from [expert mode](../user-guide/advanced-settings.md#expert-mode),
and the relevant backend log lines.
diff --git a/e2e/tests/workflow.spec.ts b/e2e/tests/workflow.spec.ts
index 83967d1..1ecd2f6 100644
--- a/e2e/tests/workflow.spec.ts
+++ b/e2e/tests/workflow.spec.ts
@@ -367,5 +367,9 @@ test.describe('anonymization workflow', () => {
// NOT warn about content leaving the installation.
await expect(page.getByRole('button', { name: /Externer Endpunkt/ })).toHaveCount(0)
await expect(page.getByRole('heading', { level: 1 })).toContainText('Anonymisierer')
+
+ // The running version, for bug reports — it comes from the same status
+ // call, so an empty footer means the backend never answered.
+ await expect(page.getByRole('contentinfo')).toHaveText(/^Version \d+\.\d+\.\d+/)
})
})
diff --git a/frontend/App.vue b/frontend/App.vue
index adc5e03..00b45f4 100644
--- a/frontend/App.vue
+++ b/frontend/App.vue
@@ -136,6 +136,16 @@
+
+
+
diff --git a/frontend/locales/de.json b/frontend/locales/de.json
index ea04128..7e58bc1 100644
--- a/frontend/locales/de.json
+++ b/frontend/locales/de.json
@@ -1,6 +1,7 @@
{
"app": {
- "title": "Medizinischer Dokumenten-Anonymisierer"
+ "title": "Medizinischer Dokumenten-Anonymisierer",
+ "version": "Version {version}"
},
"common": {
"close": "Schließen",
diff --git a/frontend/locales/en.json b/frontend/locales/en.json
index 63b5750..2f60538 100644
--- a/frontend/locales/en.json
+++ b/frontend/locales/en.json
@@ -1,6 +1,7 @@
{
"app": {
- "title": "Medical Document Anonymizer"
+ "title": "Medical Document Anonymizer",
+ "version": "Version {version}"
},
"common": {
"close": "Close",
diff --git a/frontend/locales/es.json b/frontend/locales/es.json
index 74784dc..fedad2e 100644
--- a/frontend/locales/es.json
+++ b/frontend/locales/es.json
@@ -1,6 +1,7 @@
{
"app": {
- "title": "Anonimizador de documentos médicos"
+ "title": "Anonimizador de documentos médicos",
+ "version": "Versión {version}"
},
"common": {
"close": "Cerrar",
diff --git a/frontend/locales/fr.json b/frontend/locales/fr.json
index 62cd66d..3b1e0d5 100644
--- a/frontend/locales/fr.json
+++ b/frontend/locales/fr.json
@@ -1,6 +1,7 @@
{
"app": {
- "title": "Anonymiseur de documents médicaux"
+ "title": "Anonymiseur de documents médicaux",
+ "version": "Version {version}"
},
"common": {
"close": "Fermer",