Files
jbergner 6e152a5121
release-tag / release-image (push) Failing after 1m38s
2.0.2 Update und Anpassungen
2026-07-24 10:08:19 +02:00

89 lines
4.8 KiB
Markdown

# Changelog
## 2.0.2
- `.env.example` ist nun die vollständige Runtime-Konfigurationsreferenz statt nur eines Minimalbeispiels.
- Vertrauenswürdige Reverse-Proxy-Netze über `TRUSTED_PROXY_CIDRS`; weitergereichte Client-IP-Header werden nur von explizit vertrauenswürdigen Peers akzeptiert.
- Datenschutzfreundliches Request-Logging mit `LOG_CLIENT_IP=false` als Standard und optionales `ENABLE_HSTS`.
- Prometheus ist standardmäßig deaktiviert und kann nur mit Bearer-Token (`METRICS_TOKEN` / `METRICS_TOKEN_FILE`) aktiviert werden.
- Mehrsprachige Betreiberseiten `/legal`, `/imprint`, `/privacy` und `/accessibility` mit konfigurierbaren Betreiber-, Datenschutz- und Barrierefreiheitsangaben.
- `LEGAL_STRICT` als Fail-Fast-Prüfung für zentrale Betreiber-/Datenschutzfelder und die Konfiguration der Verbraucherstreitbeilegung.
- Betreiberseiten und ihre statischen Assets bleiben auch bei einer Runtime-Lizenzstörung erreichbar.
- Konfigurations-Regressionstests sowie neue Dokumentation in `docs/CONFIGURATION.md` und `docs/OPERATOR-PAGES.md`.
- `SALES_URL` und `PRICE_*` bleiben bewusst entfernt, da Preisübersicht und Pro-Werbung nicht mehr Teil der öffentlichen Anwendung sind.
## 2.0.1
- **Bulk Workspace wiederhergestellt:** Der dedizierte Bulk-Container liefert wieder eine vollständige Weboberfläche unter `/` und `/bulk`.
- Visueller Workflow zum Anwenden eines gemeinsamen Artikelprofils auf viele URLs/IDs.
- Erweiterter JSON-Modus für heterogene Bulk-Requests bleibt direkt mit `POST /v1/bulk/declarations` kompatibel.
- Ergebnisansicht mit Erfolgs-/Fehlerstatus, Artikel-50-Einordnung sowie direkten Links zu Erklärung, Manifest und Badge.
- JSON- und CSV-Export der Bulk-Ergebnisse.
- API-Key-Eingabe wird ausschließlich im `sessionStorage` des aktuellen Browser-Tabs gehalten; der Schlüssel wird nicht in Ergebnisse geschrieben.
- Bulk-Workspace respektiert `bulk_api`, `bulk_items`, `BULK_MAX_ITEMS` und `BULK_REQUIRE_API_KEY`.
- Dedizierter Bulk-Container behält Fail-Closed-Lizenzierung, API-Key-Schutz, Read-only-Filesystem und alle 2.0-Härtungen bei.
- `LICENSE_TOKEN_FILE` und `BULK_API_KEY_FILE` haben nun Vorrang vor gleichnamigen Environment-Werten; veraltete `.env`-Secrets können Docker-/Kubernetes-Secrets nicht mehr überschreiben.
- Bulk-Oberfläche für alle acht unterstützten Sprachen vorbereitet; Deutsch und Englisch vollständig redaktionell ausgearbeitet, weitere Sprachen mit lokalisierten Kerntexten und englischem Fallback für seltene Verwaltungsbegriffe.
## 2.0.0
### Article 50 decision support
- regulatorischer Kontext als strukturierter Bestandteil des Schemas 1.2;
- Deepfake-, Public-Interest-Text-, künstlerischer Kontext-, Human-Review-, Editorial-Responsibility-, First-Exposure- und Accessibility-Felder;
- nicht bindender `/v1/article50-assessment.json`-Endpunkt;
- explizitere Badge-Darstellung für markierte Artikel-50-Szenarien;
- zusätzliche Warnung zur angemessenen Offenlegungsform bei künstlerischen/kreativen/satirischen/fiktionalen Deepfake-Kontexten;
- `no-ai`-Preset behauptet keine menschliche KI-Prüfung mehr.
### Professional runtime
- `SERVICE_MODE=full|api|bulk`;
- `REQUIRE_LICENSE` kann offizielle lizenzierte Deployments fail-closed betreiben;
- konfigurierbares API-CORS über `API_ALLOWED_ORIGIN`;
- White-Label-Capability;
- neutralisierte UI-Begriffe für lizenzierte Anpassungen statt Pro-Werbung;
- einheitlicher API-Fehler `licensed_feature_required`.
### Bulk & export
- lizenzierte Capability `bulk_api`;
- lizenzierte Capability `export_bundle`;
- dedizierter `Dockerfile.bulk`;
- API-Key-Schutz für Bulk über Bearer oder `X-API-Key`;
- Secret-Dateien via `BULK_API_KEY_FILE` und `LICENSE_TOKEN_FILE`;
- Item-/Body-Limits und optionales Lizenzlimit `bulk_items`;
- Bulk-Metriken;
- Export-Bundle mit SHA-256-Digest der Deklaration.
### Deployment & supply chain
- gehärtete Kubernetes-Vorlage für den internen Bulk-Service;
- separates Swarm-Bulk-Stack-Beispiel;
- kommerzielles Compose-Beispiel mit Datei-Secrets;
- Kubernetes ohne automatisch gemountete ServiceAccount-Tokens;
- CI baut Full- und Bulk-Images für amd64/arm64, erzeugt SBOM/Provenance und signiert veröffentlichte Digests keyless mit Sigstore/Cosign;
- OCI-Metadaten in beiden Dockerfiles.
### Documentation
- neue Dokumentation für Article-50-Decision-Support, Bulk API, kommerzielles Deployment und Lizenzstrategie;
- README vollständig auf die 2.0-Produktarchitektur aktualisiert;
- OpenAPI auf Version 2.0.0 erweitert.
## 1.6.2
- eigene mehrsprachige Hintergrundseite zu Artikel 50 des EU AI Act;
- interne Navigation auf `/background` umgestellt.
## 1.6.1
- professionellere Erklärungstexte;
- gerasterte Tabellenansicht;
- auswählbare Nachweisgrundlage.
## 1.6.0
- Lizenzprüfung an die eigenständige Universal License Platform angepasst;
- sämtliche Lizenz-Erstellungs- und Admin-Funktionen aus dem Projekt entfernt.