# Changelog

## Score

- CAI 48 → 68 (+19.1)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.15) — scores are not directly comparable.

## Lenses

- Code Health 85 → 85 (-0.5)
- Architecture 97 → 95 (-1.4)
- Maturity 63 → 75 (+11.7)
- Readiness 38 → 70 (+32.0)
- Security 41 → 59 (+17.6)

## Resolved (99)

- Coverage not measured — test suite did not build
- Critical CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- Critical CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- Dimension evaluation failed
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- High CVE: [GHSA redacted] (paddleocr-js/package-lock.json)
- High CVE: [GHSA redacted] (langchain-paddleocr/uv.lock)
- …and 79 more

## New (1330)

- APP_Image2Doc.downloadModels (cognitive 21) (ppstructure/pdf2word/pdf2word.py)
- Adam.__call__ (cognitive 29) (ppocr/optimizer/optimizer.py)
- Attention.forward (cognitive 19) (ppocr/modeling/heads/rec_latexocr_head.py)
- Attention.forward (cyclomatic 17) (ppocr/modeling/heads/rec_latexocr_head.py)
- AttentionLayers.__init__ (cognitive 24) (ppocr/modeling/heads/rec_latexocr_head.py)
- AttentionLayers.__init__ (cyclomatic 23) (ppocr/modeling/heads/rec_latexocr_head.py)
- AttentionLayers.forward (cognitive 18) (ppocr/modeling/heads/rec_latexocr_head.py)
- AttentionLayers.forward (cyclomatic 16) (ppocr/modeling/heads/rec_latexocr_head.py)
- AttnLabelDecode.decode (cognitive 21) (ppocr/postprocess/rec_postprocess.py)
- AugmenterBuilder.build (cognitive 16) (ppocr/data/imaug/iaa_augment.py)
- AugmenterBuilder.map_arguments (cognitive 19) (ppocr/data/imaug/iaa_augment.py)
- BaseModel.forward (cognitive 18) (ppocr/modeling/architectures/base_model.py)
- BaseRecLabelDecode.get_word_info (cognitive 24) (ppocr/postprocess/rec_postprocess.py)
- BaseRecLabelDecode.get_word_info (cyclomatic 16) (ppocr/postprocess/rec_postprocess.py)
- CTCDecoder.decode (cognitive 23) (deploy/ppocr-android/ppocr-sdk/src/main/java/com/paddle/ocr/postprocess/CTCDecoder.kt)
- CTPostProcess.__call__ (cognitive 28) (ppocr/postprocess/ct_postprocess.py)
- CVRandomAffine.__init__ (cognitive 23) (ppocr/data/imaug/abinet_aug.py)
- Change coupling clique: __init__.py, __init__.py, __init__.py, __init__.py, program.py (ppocr/losses/__init__.py)
- Change coupling: recovery_to_doc.py ↔ utility.py (ppstructure/recovery/recovery_to_doc.py)
- Client.SaveResource (cognitive 31) (api_sdk/go/resource.go)
- …and 1310 more

## Changes since last survey

- 2 commits — 2 feature/other, 0 fixes

## By area

- (root) — 1 commit
- docs/version2.x — 1 commit

## Notable commits

- change: docs: deduplicate images and streamline repository cloning (#18359)
- change: docs: organize research papers and unify multilingual citations (#18357)
