Updated bundled Chromium from 2026.2.1 to 2026.5.16, addressing upstream security advisories.
Removed
Dropped the net6.0 target. The package now targets net8.0 (compatible with .NET 8, 9, and 10). Consumers on .NET 6 should stay on v1.3.0 or upgrade their runtime — .NET 6 reached end of Microsoft support in November 2024.
Changed
Bumped Microsoft.Extensions.DependencyInjection from 10.0.3 to 10.0.8.
Bumped System.Formats.Asn1 from 10.0.3 to 10.0.8.
Bumped Microsoft.Playwright from 1.58.0 to 1.60.0.
v1.3.0
Added
Multi-target support: the package now ships builds for both net6.0 and net8.0, broadening compatibility with projects on .NET 6, 7, 8, 9, and 10.
Changed
CobaltPDF.Requests dependency updated to v1.3.0 (now targets netstandard2.0).
v1.2.2
Fixed
Fixed Chromium default header/footer appearing when only one template is provided.
Fixed WithLazyLoadPages not working when combined with WithCustomJS or WithWaitStrategy.
Changed
WithCustomJS now waits for the page to be fully loaded before executing, so dynamically-injected elements (e.g. cookie consent buttons) are available.
Client-side redirects (e.g. bbc.com → bbc.co.uk) are now detected before cookies, custom JS, and wait strategies run.
v1.2.0
Changed
Renamed .Landscape() to .WithLandscape() for fluent API consistency.
Renamed .UseGrayscale() to .WithGrayscale() for fluent API consistency.
Renamed .EmulateMediaType() to .WithMediaType() — shorter and consistent with the With* convention.
Renamed .WaitFor() to .WithWaitStrategy() to avoid confusion with async operations.
Renamed .ReloadAfterStorageSet() to .WithReloadAfterStorage() for fluent API consistency.
Renamed .ConfigureFonts() to .WithFonts() — shorter and consistent with the With* convention.
v1.1.0
Added
Fluent .WithWatermark() API for text and HTML watermarks with configurable opacity, rotation, and position.
PDF metadata support — set title, author, subject, keywords, and creator via .WithMetadata().
CloudEnvironment.ConfigureForAzure preset for Azure App Service and Container Apps deployments.
New .ScrollPage() option to trigger lazy-loaded images before capture.
Changed
Default pool MaxSize increased from 4 to 8 for better throughput on multi-core hosts.
Improved browser recycling logic — instances are now recycled after 50 renders (previously 100).
Fixed
Resolved rare deadlock when calling RenderUrlAsPdfAsync with a CancellationToken that fires during navigation.
Fixed header/footer templates not respecting @media print styles.
v1.0.1
Fixed
Fixed PreWarmAsync() throwing ObjectDisposedException when called immediately after Configure() on Linux containers.
Corrected paper size calculation for custom dimensions specified in millimetres.
Resolved an issue where AddCookie() cookies were not sent on the initial page load when using RenderUrlAsPdfAsync.
v1.0.0
Added
Initial release of CobaltPDF — a high-performance HTML-to-PDF rendering engine for .NET.
Chromium-powered rendering with full support for modern CSS (Grid, Flexbox, custom properties, animations).
Managed browser pool with configurable MinSize, MaxSize, and automatic recycling.
Fluent API for PDF generation — chain options and call a single terminal method.
Thread-safe singleton design with isolated browser contexts per render.
Cookie, localStorage, and sessionStorage injection per render.
Custom HTTP headers and User-Agent per render.
Header and footer HTML templates with page number, total pages, and date tokens.
PDF encryption with user/owner passwords and granular permission control.