Repository navigation
Bump PeachPDF from 0.9.25 to 0.9.26 - #13
Open
dependabot[bot] wants to merge 1 commit into
Open
dependabot[bot] wants to merge 1 commit into
dependabot[bot] wants to merge 1 commit into
Conversation
--- updated-dependencies: - dependency-name: PeachPDF dependency-version: 0.9.26 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Updated PeachPDF from 0.9.25 to 0.9.26.
Release notes
Sourced from PeachPDF's releases.
0.9.26
PeachPDF 0.9.26 Release Notes
Release date: November 6, 2026
Full changelog: v0.9.25...v0.9.26
Release tag: v0.9.26
This is the last full-support release of the 0.9 series. From the first 0.10.x release (November 13, 2026), 0.9.x is in maintenance: fixes for security vulnerabilities and crashes only, on desktop and server operating systems only. See the support policy.
PeachPDF 0.9.26 adds a host-view layer on top of
PeachBrackets: newHtmlViewcontrols for WinUI, Android, macOS and iOS, backed by new Skia and CoreGraphicsCanvasimplementations, with animations, transitions, SMIL and scroll containers that play on a screen. For PDF output it addsPdfOperationfor merging and rewriting existing PDFs,@pagebleedandmarks, richer tagged PDF and a US Letter default page. Both audiences get a long list of CSS, layout, HTML parsing and SVG fixes. About 185 commits since 0.9.25 are included.Install with
dotnet add package PeachPDF --version 0.9.26.The notes are in four parts: PeachPDF users (PDF output), PeachDrawing users (the
PeachDrawing.*packages, including the PDF writer), PeachBrackets and screen users (HtmlViewandHtmlDocumenton a screen), and shared changes that affect them all.For PeachPDF users (PDF output)
New
PdfOperationmerges, takes pages from, overlays, attaches to, encrypts and linearizes existing PDFs; the declarative builder can append and prepend existing PDFs. Merged documents keep links, named destinations, form fields andtarget-counter(..., page)correct.PeachDrawing.PDFgains new APIs (a standalone package): see For PeachDrawing users below.@pagebleedandmarks: a page that declares them is a larger PDF page, with a TrimBox and BleedBox and crop and cross marks./Contents, figures take their/Altfromaria-labelandaria-labelledby, and table cells and thelangattribute are recorded. PDF/UA output is checked with veraPDF in CI.image-resolutionandimage-orientation: an image's natural size can come from the density in the file, and EXIF orientation is applied.mask-image: gradient and image mask layers on HTML boxes, through a PDF soft mask.PdfGenerateConfigwith no page size is US Letter. It used to produce a blank page.Changes that can alter a PDF
<details>shows only its<summary>, whateverdisplayits content has.<textarea>is a form control (and an interactive PDF field), and<progress>and<meter>are drawn (ten ems by one em) instead of their fallback text.pointer-events: noneon a link writes no link annotation;accent-colortints checked controls and their PDF widget appearances.@pagemargins inremuse the real root font size.PixelsPerInchother than 72, and inline SVG matches the 72 rendering at other values (documents rendered at 96 may look different).image-resolutionother than1dppxsizes its images from the file's density.For PeachDrawing users
The
PeachDrawing.*packages are usable with no PeachPDF reference.PeachDrawing.PDF(see PeachDrawing.PDF)PdfOperationloads a PDF from a file, stream or bytes (LoadFile,LoadStream,LoadBytes, with a password where needed) and chainsMergeFile/MergeStream/MergeBytes,TakePages,OverlayFile/UnderlayFile(PdfLayerConfiguration),AddAttachment(PdfFileAttachment),ExtendMetadata,Encrypt/Decrypt/RemoveRestrictions,LinearizeandWithCopyMode(PdfCopyMode.RedraworObjectCopy), thenSaveorToArray, orAppendToaPdfComposer.PdfPageSelector.Selectparses a page selector,PdfPageSource.Opentakes a password, andPdfPasswordExceptionreports a missing or wrong one.PdfComposerOptions.Linearizewrites a linearized (fast web view) file,PdfComposerOptions.UAConformance(PdfUAConformance.UA1orUA2) targets PDF/UA, andPdfComposerPage.SetPrintBoxes(bleedPoints, outsidePoints)sets the TrimBox and BleedBox.PdfComposer.EmbeddedFileNameslists attachments.PdfTagRecorder.CheckStructure()returns structure problems as strings;OpenContentElement,OpenGroupingElementandLinkAnnotationtakePdfStructureDetails(Id,Alt) and a linkcontentsandtarget;PdfBookmark.StructureTargetties an outline entry to the tag tree.PdfAnnotationAppearancebuilds the appearance streams of free text, stamp, line, ink, outline (square or circle) and markup annotations and of icon annotations (PdfAnnotationIcon, including file-attachment icons).PdfAnnotationDefinitiongainsEmbeddedFileName,PopupOpen,PopupBounds,CreatedAtandModifiedAt, andPdfFormFieldDefinitiongainsAccessibleName.PdfRenderContext.AddFontreturns aValueTask.PeachDrawing.Skiais new: aCanvasover SkiaSharp that draws into a surface you supply (CPU or GPU), with a switchable image codec (PeachImage, Skia's, or the defaultAuto). Shadows, filters, backdrop filters and conic gradients paint as GPU layer effects, and these can differ from the bitmap path by a level or two at edges. See PeachDrawing.Skia.PeachDrawing.CoreGraphicsis new: aCanvasover CoreGraphics for macOS and iOS, with CoreText orPeachDrawing.Texttext, Core Image effects and ImageIO or PeachImage decoding. See PeachDrawing.CoreGraphics.... (truncated)
0.9.26-preview1
PeachPDF 0.9.26-preview1 Release Notes
Release date: November 3, 2026
Full changelog: v0.9.25-preview1...v0.9.26-preview1
Release tag: v0.9.26-preview1
This is a preview of 0.9.26. It adds three packages and a PDF operations API:
PeachDrawing.Skia(a SkiaSharpCanvas) and two host views overPeachBrackets,PeachBrackets.WinUIandPeachBrackets.Android, plusPdfOperationfor merging and rewriting existing PDFs.PeachBracketsitself gains a public annotation and tagging surface, hover and focus state, form control state, and an accessibility tree. It also closes a long list of CSS gaps:shape-outside,mask-imagegradients,image-resolution,@pagebleedandmarks,hanging-punctuation,sideways-rl/sideways-lr, the East Asian counter styles, nestedcolumn-span: all, the automatic minimum size of flex and grid items, and forced-colors painting. 155 commits are included.Install the preview with
--prerelease(or pin0.9.26-preview1):dotnet add package PeachPDF --prerelease. The docs site is not updated for a preview.Highlights
New packages and APIs
PeachDrawing.Skiais aCanvasover SkiaSharp that draws into a surface you supply (CPU or GPU), usable with no PeachPDF reference, with a switchable image codec (PeachImage or Skia's). See PeachDrawing.Skia.PeachBrackets.WinUIandPeachBrackets.Androidare anHtmlViewcontrol for each platform: pointer or touch input, hover and focus state,pointer-events,cursor,touch-action,inert, selection and links, form controls drawn and edited in place, and accessibility patterns (Narrator and TalkBack). See WinUI and Android.PdfOperationmerges, takes pages from, overlays, attaches to, encrypts and linearizes existing PDFs; the declarative builder can append and prepend existing PDFs. Merged documents keep their links, named destinations, form fields andtarget-counter(..., page)correct.PdfGenerateConfigwith no page size now defaults to US Letter.New CSS
shape-outsideandshape-margin: text follows a float's circle, ellipse, inset, polygon,path()or image shape (withshape-image-threshold).mask-image: gradient and image mask layers apply to HTML boxes.image-resolutionandimage-orientation: an image's intrinsic size can come from the density in the file (PeachImage 0.7.2), and EXIF orientation is applied.@pagebleedandmarks: a larger sheet, TrimBox and BleedBox, and crop and cross marks.hanging-punctuation:first,last,allow-endandforce-end.writing-mode: sideways-rlandsideways-lrfor HTML and SVG text.user-select,caret-color,accent-color,cursorandpointer-events(including links inside inline SVG), and@media,@supports,@containerand@layernested inside a style rule.@keyframes: a same-named rule is picked by cascade layer order, a string name is accepted, custom properties animate (discretely when unregistered, by syntax when registered), andstroke-dasharrayitems of different units mix ascalc().CanvasText.Layout
frtracks, and to items a flex line grows.column-span: allworks on a nested descendant of a multi-column container, and a float that does not fit below its column's content moves to the next column.direction: rtlparent; percentages resolve against the padding box.margin-top, including a negative one on a first child.::first-line, vertical writing modes, percentage padding and offsets, and many fragmentation cases were fixed (see the full changelog).SVG
<svg>starts from the font size of its HTML parent, takesremfrom the HTML root, andpx-dependent geometry followsPixelsPerInch.initialresolves correctly forfont-size,visibility,letter-spacingandword-spacing.HTML parsing
font-weight: bolder/lighterresolves once on the declaring element.Notes for upgrading
CanvasText; aurl()background image is kept.margin-topnow affects where a float in inline flow is placed, so pages that relied on it being ignored can shift.... (truncated)
Commits viewable in compare view.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)