Fixed
- Reserved process-name Separations/DeviceN now apply their colourant directly on the CMYK
soft-proof path — an unregistered[/Separation /Cyan …](or an all-reserved DeviceN) paints
its process plate directly, ignoring the alternate's tint transform, in every painting context:
fills, strokes, shadings, images, and stencil masks (ISO 32000-2 §8.6.6.4; matches Adobe).
Previously such spaces flattened through their alternate, so a lying alternate painted the wrong
plate./Nonecomponents in such spaces still paint nothing. The RGB rendering path is
unchanged (it correctly keeps reverting through the alternate). - Atomic file saves retry transient Windows locks — the final rename in
PdfDocument.Save
(and all atomic writes) now retries with backoff when antivirus/Search-indexer scans transiently
hold the destination (IOException/UnauthorizedAccessException), instead of failing the save.
Persistent locks still throw after the retry budget. GetPageColorantslogs when a malformed resource graph truncates the inventory instead of
swallowing the fault silently (the partial-result contract is unchanged).
Known limitations (colour rendering)
Tracked, each pinned by a baseline test so no fix can land unnoticed — see
Docs/colour/rendering-conformance.md (gap entries G-8 … G-14) for mechanisms and pins:
/None shadings used as patterns still paint; /All images/stencils get no spot planes on the
CMYK path; a /None fill in text mode 4 drops the add-to-clip half; a bare /Pattern cs carries
over the previous colour instead of painting nothing; cs+sc costs 4 colour-space resolves
(uncached tint-transform parse); Indexed images over all-reserved bases still flatten.