Aktuelle Version v0.15.0 · Stand
752c495 (2026-08-17) ·
1175 Änderungen ausgewertet.
v0.14.0 2026-08-12
Überblick
Diese Version bringt 41 neue Funktionen, 56 Fehlerbehebungen, 45 weitere Änderungen.
- Behoben (release): bump the two version locations cz could not reach, and teach it to reach them
- Neu (scoring): bump the rubric to adr007-v3 and widen the clause that should have required it
- Behoben (scoring,sidecar): close the private cross-module import class and guard it mechanically
- Behoben (api): strip internal issue refs at the OpenAPI publication boundary — refs #1041 #843 #800
- Behoben (scorecard): drop the header ERROR on pages the tag tree declares no table on — refs #1038 #1024
- Behoben (config): refuse WORKER_COUNT above 1 — it is per-process concurrency, not processes
- Behoben (parse): replace the SLOW fan-out's false safety claim with the measurement
- Neu (scoring): stamp the rubric fassung on the scorecard so the report stops guessing it — refs #1010 #992 #898
Technische Änderungen (für Entwickler:innen)
Neue Funktionen (41)
-
bump the rubric to adr007-v3 and widen the clause that should have required it
scoring
775c963 -
stamp the rubric fassung on the scorecard so the report stops guessing it — refs #1010 #992 #898
scoring
cb4ead1 -
give every Figure a provenance — which evidence made it a figure — refs #1026 #970 #136
parse
85e79ed -
give the #683 class its own cohort and an advisory monotonicity assurance — refs #1022 #683 #997
eval
8d46a68 -
give GET /jobs/{id} a response_model that is true, not just present — refs #1041 #726
api
35f6d59 -
give the conformance-stub D3=0 a finding that says why — refs #1003 #975 #970 #726
scorecard
1f011e7 -
publish the advisory AAA contrast screen on the report surface — refs #993 #726
report
a58f6e7 -
make the 15-005 header-association findings cost D6 points — refs #1013 #990 #726
scoring
a3248a6 -
re-freeze the gold at v2.2 — the spacer rows are out and the contract says so — refs #1018
eval
a598728 -
model WCAG 1.4.6 enhanced contrast as a structurally advisory screen
quality
271bdd5 -
attach the persisted narration to the audit page now that a slot exists
api
05f2bf3 -
render the advisory AI narration with its label on the audit page
audit
f4cdcfe -
admit doc-lang-present to the in-place lane, and measure what it is worth — refs #1027 #970
quality
f1845a5 -
publish the veraPDF rules that actually passed — refs #1017
sidecar
4f57b69 -
put the contrast-render degrade on the delivered-bytes ledger — refs #946 #928 #892
pipeline
ad62c0d -
count the SLOW pages the frugality cap drops — refs #1019
observability
83152c1 -
record the word-shape exemption on the page, not just in a log line — refs #983 #954
pipeline
63bab70 -
run the corroborated tree check on the in-place routes, report-only — refs #970 #726 #1001 #1025 #861
spine
9f561e5 -
replace the n=1 synthetic good cohort with ten measured real documents — refs #997 #683
eval
009bc89 -
widen _VLM_OUTCOMES to nine and count the two causes that had no true value — refs #1000 #942 #973
observability
5a511d2 -
carry the passed veraPDF rules so the protocol is the whole check run — refs #994 #726
report
5e096b6 -
widen the stage taxonomy to 12 and instrument the merge + re-do loop — refs #1008 #944
observability
f9c5a81 -
carry the WCAG tree-leg tri-state onto the JSON surface — refs #1002 #970 #726
api
00817ce -
record the structural damping factor on the AAVS triple — refs #1010
scoring
e17ce54 -
carry the endpoint's token counts into the provenance slots — refs #1007 #974
narration
6c279e0 -
wire the eight struct checks that had zero production callers — refs #990 #726
scorecard
5d56954 -
persist the advisory narration once at job completion and serve it — refs #971 #726
narration
6fe2574 -
publish the rubric version and the structural damping so quality_score can be recomputed — refs #992 #726 #683
report
f1dd51c -
emit the narration VLM counter and refuse to fake CAPPED — refs #973
observability
cbb1f37 -
surface the OpenAI usage block through an opt-in UsageSink — refs #974
vlm
0a15d94 -
surface the advisory AI narration on the AAVS report — refs #772
report
468b975 -
reuse bulk SLOW results on the verdict-less redo pass 0 — refs #936
pipeline
9fec6d3 -
add the advisory AI narration engine behind the model endpoint — refs #772
report
af815f4 -
read /E expansions and resolve RoleMaps in the spoken view — refs #810 #966
eval
ec53b96 -
version the class ordinal in the sidecar and export PP-DocLayoutV3 to ONNX — refs #910
layout
8cfc3b9 -
count overlay heading drops behind a default-off gate — refs #919
tag
eaaea43 -
emit per-gold-table pair scores and preregister the K1 crop run — refs #911
eval
1c58b38 -
read each layout region as its own crop on the SLOW path — refs #860
pipeline
6515c94 -
count OCR call outcomes on the shared VLM counter and refresh the target map
parse
b34bc36 -
split the contrast abstention into render-degrade and honest no-text causes
quality
db899d9 -
count VLM call outcomes with failover attribution and split AltSource honestly
observability
212f4f4
Fehlerbehebungen (56)
-
bump the two version locations cz could not reach, and teach it to reach them
release
c090623 -
close the private cross-module import class and guard it mechanically
scoring,sidecar
acb9a1c -
strip internal issue refs at the OpenAPI publication boundary — refs #1041 #843 #800
api
769ba87 -
drop the header ERROR on pages the tag tree declares no table on — refs #1038 #1024
scorecard
80c36c8 -
refuse WORKER_COUNT above 1 — it is per-process concurrency, not processes
config
6c2c866 -
replace the SLOW fan-out's false safety claim with the measurement
parse
226385f -
stop reading a verdict out of a language tie — refs #1028 #1023 #726
quality,merge
7a5a72d -
measure the links gap before re-freezing it — the 99 gold docs have nothing to gain
eval
609ae75 -
stop the disabled visual judge from measuring its own no-op — refs #1016 #1009 #1008
observability
530f8d7 -
register the label #993 shipped without one, and lift the 10 s bucket cap — refs #1008 #1009 #1016
observability
8bce3cf -
close the three wave gates the AAA advisory and the memory bump opened
quality
bb36230 -
register figure-alt-stub in the reason and tag maps
quality
6e45a6e -
detect the document language instead of stamping de unconditionally
tag
9f7880c -
serialise the sync /jobs path — PyMuPDF is not thread-safe
pipeline
0b55810 -
make the measurement reproducible — PyMuPDF is not thread-safe
eval
75c7f2c -
stop emitting the RIS spacer rows the tagged PDF never had — refs #1018
gold
2854a68 -
announce nothing when a /RoleMap hop hides the carrier — refs #981
scoring
668f71f -
stop double-counting the crop path's OCR calls — refs #972
observability
9a279c1 -
stop demanding alt text from signature-widget appearance streams — refs #970 #726
quality
1ae0134 -
bind the auto-fix credit to the seam that renders the repair — refs #1025 #970 #726
quality
e23ff93 -
wire the tree-gate abstention so a check that never ran stops awarding points — refs #1001 #970 #726
scoring
29292db -
resolve the RoleMap, narrow footnote-pairing to the spec, give the ToC check a condition that can fire — refs #1012 #990
quality
8d183a7 -
abstain the tree-gate-fed dimensions instead of scoring 100 from an absent count — refs #1001 #970 #726
scoring
70ffdba -
distribute a table's spoken segments by cell carrier, not by position — refs #998 #977
eval
16b11c2 -
match the undetermined sentinel by substring, not equality — refs #976
review
c97ed21 -
demote the overlay conformance stub in both D3 branches — refs #975
scoring
5d45dea -
ledger the composite honesty cap as its own attribution row — refs #991
scoring
5c97d86 -
report a WCAG tree leg that never ran as NEVER_RAN — refs #970
scorecard
e95b52b -
emit the missing VLM outcomes for the alt-text no-call paths — refs #942
observability
ce73241 -
put the scoring code inside the provenance stamp — refs #898
eval
0aac690 -
correct six false skip-reasons and pin a skip-count ceiling — refs #989
tests
dbbb0ee -
walk /Table elements in document order, not LIFO-reversed — refs #977
eval
4b81522 -
close the figure-kind negation in the ablation instrument — refs #982
eval
870f904 -
declare pypdfium2 and import-or-skip the real_gold gate stack — refs #965 #950
eval
393d23e -
reconcile the alt-text accounting across dimension, counter and augment route — refs #861
scoring
cf5a9e1 -
admit the narration surface to the VLM call registry — refs #772
observability
7bf5a41 -
exempt tagged documents from the word-shape demotion arm — refs #954
triage
224fbfb -
bridge the as-is struct tree into table_teds instead of hard-skipping — refs #902
eval
b785c56 -
wire the gold gates into the real_gold build path and check reader independence — refs #965 #964
eval
6513bd3 -
contain per-crop failures and bound the page wall-clock on the crop path — refs #960 #959
pipeline
7c75792 -
lift pdfjs-dist past CVE-2026-16633 in the ax spike — refs #950
deps
4061807 -
lift aiohttp and pypdf past CVE-2026-69244 and CVE-2026-71852/71870 — refs #950
deps
cd7443c -
exclude advisory dimensions from the structural-presence factor — refs #890
scoring
d3228db -
emit record_vlm_call per crop on the crop path — refs #958
observability
1a8f42a -
thread source_lang into the redo-loop structure tree — refs #940
remediate
e7543ab -
move the gold-audit verdicts to a sidecar — manifest.jsonl is a preregistered selection seed — refs #905
eval
626e3bb -
calibrate the table-probe matcher floor to the empty band and footnote published coverage — refs #906
eval
561b7c9 -
audit the real_gold corpus and annotate gold defects in the manifest — refs #905
eval
be7dfe4 -
separate alt-text and OCR series with a bounded surface label
observability
7783fa7 -
skip line-spanning texttrace spans in duplicate-text detection
parse
74ffe79 -
normalize /MCR struct kids so PyMuPDF stops reading latex_ua as structureless
scoring
2f32348 -
regenerate overlay fixtures without the never-painted default Helvetica
test
d9af784 -
stamp the fallback model into per-page backend provenance after a failover
parse
c24d9fb -
harden every eval-lane open_metadata call and route reads through the src XMP readers
eval
28e6ce9 -
thread the degrade ledger into the doc-title reconcile and add the doc-lang fifth reconcile
report
4f1f660 -
make the STAGE-1 table renderer span-aware — the third copy #857 missed (#908)
eval
703adfd
Performance-Verbesserungen (1)
-
collapse the contrast span walk to one pass per job — refs #993 #1033
quality
f2c1326
Refactoring (intern) (2)
-
promote the passed-rules derivation to a public seam — refs #994 #1017 #726
report
05818a9 -
project the damping factor instead of recomputing it — refs #1010 #992
report
9c219dc
Dokumentation (34)
-
freeze the v0.14.0 snapshot ADR-028 requires before the tag
openapi
c375684 -
close the 0.14.0 section and regenerate the served artifacts
changelog
85cee9b -
retire the PVC blocker the runbook authorized as a normal outcome
eval
bb2e98a -
record the 107 commits the 0.13.5 bump left untagged
changelog
5f48c98 -
codify the inflow rules #1058 asked for, and give a veto a home that does not truncate
rules
71dc477 -
separate "gate could not run" from "gate found something" — refs #1030
ci
fcb281a -
codify the measurement discipline three sessions paid for
rules
0137a16 -
profile the scanned path — the quadratic is in our own output, not in fidelity — refs #1033
research
ea5dff0 -
correct the 1-of-15 corroboration ratio the signature-widget fix superseded
7938f36 -
record what the provenance split measures — 33% -> 100% on raster, 0% on vector — refs #1026 #970
eval
6e34d86 -
correct the stale wiring note that claimed #1001 was unwired
test
7d75041 -
cite the primary measurement behind the ~4 % scan share — refs #955
roadmap
e30ddd1 -
use role terms instead of a named operator in the tree-leg measurement
eval
4eb9dd5 -
neutralise the customer name and publish the capacity envelope — refs #1031 #1033
1af989c -
fix scanned throughput in the minimum-viable row — refs #1031
eval
b649d79 -
derive the concurrency cap for the sync /jobs path — refs #1031
eval
bcecf30 -
de-pin a slow.py line reference the fix shifted — refs #972
observability
b52d5dc -
relabel the 94,5 % figure as a fidelity-route share, not conformance — refs #955
eval
5d26876 -
document the commit types cz actually enforces — refs #1004
rules
1ae477d -
measure what the never-run WCAG tree leg would find on overlay/augment — refs #970 #726
eval
e3af31f -
write the metrics catalog OBS-003 has required all along — refs #944
observability
d96934d -
correct the gate count and class split that contradicted the code — refs #995 #522 #675
aavs
84b26d3 -
retire the table-axis prose that #902 and #977 made false — refs #987 #977 #902
eval
04e0e01 -
dispose of setuptools PYSEC-2026-3447 — no suppression, lift instead — refs #985
security
fb3e900 -
retire the prose this session's fixes made stale — refs #940 #936 #902 #954
cecbe8a -
measure the reflow text-layer discard class and draft the guard policy — refs #935
eval
98a5ef8 -
measure the triage threshold noise and simulate hysteresis policies — refs #954
eval
68866e4 -
measure the bulk-plus-redo double VLM spend and the cache-key dedupe feasibility — refs #936
eval
ce286c6 -
replace the stale 90.4 percent with the provenanced 95.61 resweep and mark unbacked numbers — refs #955
architecture
5c1b900 -
freeze the OSS extraction landscape 2026-08 before the probe data evaporates — refs #953 #952 #951
eval
26ade78 -
draft the SR-evidence MVP decision — AC1 shipped, AC2/AC3 blocked by the ADR-016-vs-030 contradiction — refs #769
eval
4510513 -
unblock the audible-probe kappa calibration — spoken_view is structure-aware post-#925 — refs #749
eval
1d09ebd -
measure overlay heading drops on the real corpus — repair option (a) falsified — refs #919
eval
68b2ec4 -
re-measure the augment heading delta post-#925 — denominator 17 to 32, no default promotion — refs #896
eval
742f2bb
Tests (6)
-
reset the job-store global the same way the settings global is reset
api
5d32f82 -
assert the contrast_aaa delta, not the process-cumulative sum
observability
c76be6d -
pin why the single-word title bar cannot be loosened where it stands — refs #1037
quality
1167024 -
measure figure-alt-present corroboration per provenance class — refs #1026 #970
eval
a9e5181 -
attribute the verdict cause for the four conformant FAILED documents — refs #1024 #516 #726
eval
14eda55 -
pin the client budget to narration_timeout_s — refs #772 #599
narration
c3765b6
Build-System (1)
-
lift setuptools to >=83 via a uv constraint and drop the CVE-2025-3000 ignore — refs #999
deps
8565e25
Sonstiges (1)
-
version 0.13.5 → 0.14.0
5c0ab4e
Frühere Versionen
Jede dieser Versionen ist vollständig abrufbar — mit allen Änderungen, unverkürzt. Hier steht nur der Überblick; der Link führt auf die ganze Version.
-
v0.15.0 in Entwicklung 185 Änderungen
Diese Version sagt „noch keine Aussage“, wo sie bisher geraten hat: Prüfpunkte ohne belastbaren Befund enthalten sich ausdrücklich, statt eine Bewertung zu erfinden. Dazu kommen ein zweiter, EU-lokaler Texterkenner samt Herkunftsangabe auf der Ergebnisseite, Messläufe über ganze Dokumentbestände statt Einzelfälle, und eine Weboberfläche, die auf allen Seiten dieselbe Sprache spricht.
-
v0.13.4 2026-08-03 10 Änderungen
Diese Version bringt 1 neue Funktion, 5 Fehlerbehebungen, 4 weitere Änderungen.
-
v0.13.3 2026-07-29 6 Änderungen
Diese Version bringt 2 neue Funktionen, 2 Fehlerbehebungen, 2 weitere Änderungen.
-
v0.13.2 2026-07-27 3 Änderungen
Diese Version bringt 1 neue Funktion, 2 Fehlerbehebungen.
-
v0.13.1 2026-07-26 3 Änderungen
Diese Version bringt 1 neue Funktion, 2 Fehlerbehebungen.
-
v0.13.0 2026-07-26 89 Änderungen
Diese Version bringt 27 neue Funktionen, 24 Fehlerbehebungen, 38 weitere Änderungen.
-
v0.12.0 2026-07-17 78 Änderungen
Dieses Release macht den AAVS-Prüfbericht zum verbindlichen Partner-Standard (Report-Contract v2 mit Fundstellen-Angaben und englischen Feld-Übersetzungen), macht den KI-Betrieb ausfallsicher (automatischer Wechsel auf einen zweiten EU-Anbieter) und macht die Prüf-Urteile ehrlicher: fehlende Sprachangaben werden gemeldet statt still angenommen, und bereits konforme Dokumente werden geprüft statt unnötig neu geschrieben.
-
v0.11.0 2026-07-08 74 Änderungen
Dieses Release macht die Prüf-Urteile ehrlich und nachvollziehbar: Das Gesamturteil ist jetzt hart an alle drei Prüfstränge gebunden (Konformanz, WCAG-Qualität, Inhaltstreue), die Ergebnisseite zeigt ein primäres Verdikt statt elf konkurrierender Anzeigen, und ein neuer maschinenlesbarer AAVS-Prüfbericht (137 Matterhorn-Kriterien) ist per API abrufbar.
-
v0.10.0 2026-07-05 270 Änderungen
Dieses Release macht die automatisierte Barrierefreiheits-Prüfung (AAVS) für externe Tester nutzbar: eine neue In-App-Hilfeseite erklärt die Nutzung und die Bedeutung der Prüf-Urteile, ergänzt um dokumentierte API-Zugänge für den Tester-Audit-Pfad.
-
v0.9.0 2026-06-23 244 Änderungen
Diese Version bringt 118 neue Funktionen, 40 Fehlerbehebungen, 86 weitere Änderungen.
-
v0.8.0 2026-06-08 71 Änderungen
Diese Version bringt 31 neue Funktionen, 11 Fehlerbehebungen, 29 weitere Änderungen.