Files
2026-09-03 10:52:54 +02:00

69 lines
2.8 KiB
Markdown

# Zaznam zmen
## 1.0.2
Opraveno:
- Swagger UI se u tela requestu rozbil. Verze 1.0.1 pridala popis k polim
`page`, `page_numbers`, `toc`, `assets`, `chunking`, `wait_for`, `margin`
a `progress`, coz jsou odkazy na vnorene modely. V OpenAPI z toho vznikl
`$ref` se sourozeneckym klicem `description`. To je podle OpenAPI 3.1
v poradku, ale Swagger UI 5 takovy uzel nerozbali, takze prestala fungovat
ukazka tela requestu i Try it out. Popisy se presunuly do docstringu
prislusnych modelu, kde je Swagger zobrazi u samotneho modelu. V OpenAPI uz
neni zadny `$ref` se sourozenci.
## 1.0.1
Opraveno:
- obrazek uvnitr bunky tabulky, ktery ma sirku v procentech, uz z PDF nemizi.
WeasyPrint takovou sirku neumi vyresit proti bunce, jejiz sirku jeste nezna,
obrazek vysel nulove siroky a zmizel bez chyby, takze se neobjevil ani
v `missing_assets`. Sluzba nove u enginu `weasyprint` prepise u obrazku
v `td` a `th` `width: <n>%` na `width: auto`, odstrani procentualni atribut
`width` a doplni `max-width: 100%`, pokud zadne nema. Chromia se to netyka.
Typicky pripad je produktovy list, kde je fotka v levem sloupci tabulky.
Zmeneno:
- Swagger a OpenAPI popisuji moznosti strankovani, tedy `page`, `page_numbers`,
`chunking` a `toc`, vcetne omezeni jednotlivych rezimu cislovani
- Swagger a OpenAPI popisuji uchovavani souboru u `POST /convert` i u `POST /jobs`
vcetne doby dostupnosti vysledku a chovani po restartu sluzby
- pole odpovedi `JobState` a `JobProgress` maji v OpenAPI popis
- pribyl priklad tela requestu s cislovanim stranek na sirku stranky
## 1.0.0
Prvni implementace sluzby.
Pridano:
- synchronni endpoint `POST /convert` s limitem a odkazem na asynchronni cestu
- asynchronni endpointy `POST /jobs`, `GET /jobs/{id}`,
`GET /jobs/{id}/result`, `DELETE /jobs/{id}`
- `GET /health` s overenim dostupnosti obou enginu a stavem fronty
- engine WeasyPrint jako vychozi, engine Chromium pres Playwright, rezim `auto`
s detekci skriptu a naslednym fallbackem
- deleni dokumentu na casti na strukturalnich hranicich a slucovani vysledku
- dvoupruchodovy render obsahu se skutecnymi cisly stranek
- cislovani stranek pres CSS countery nebo pres cislovaci vrstvu
- zalozky PDF z nadpisu, vypinatelne pres `outline`
- profily PDF/A a PDF/UA pres `pdf_profile`
- SSRF ochrana s kontrolou po DNS resolvu, na kazdem presmerovani a u vsech
pozadavku prohlizece
- hlaseni nedostupnych assetu v odpovedi jobu a v logu
- fronta s omezenym poctem workeru, zruseni jobu, expirace vysledku
- volitelny callback po dokonceni jobu
- strukturovane JSON logovani s `job_id`
- Dockerfile s WeasyPrintem, Chromiem, fonty s ceskou diakritikou a healthcheckem
- testy vcetne fixture o zhruba 1200 strankach
Zamerne neimplementovano:
- autentizace, zpusob neni domluveny
- databaze, Redis ani message broker
- webove UI
- jakekoliv limity zapnute ve vychozim stavu