Recovery-code PDF generation now works across linux-x64, linux-arm64, and linux-musl-x64 containers — previously only linux-x64 QuestPDF native libs shipped, so Pi / Apple-Silicon-Linux / Alpine deployments couldn't generate the recovery PDF.
What's new
RecoveryCodePdfServicedetects the current architecture + libc at startup, picks the right RID's native libs fromruntimes/<rid>/native/, copies them next to the plugin DLL where QuestPDF probes, andNativeLibrary.Loads them in dependency order before the first render.- PDF init wrapped in try/catch — a failed native load no longer takes the whole plugin down. Other features keep working; PDF render throws a clear
InvalidOperationExceptioninstead.
Build
build.shrewritten as a fat-package builder. Managed assemblies published once without RID, then per-RID native libs (linux-x64,linux-arm64,linux-musl-x64) bundled intoruntimes/<rid>/native/with a copy at plugin root.- New
.github/workflows/build-multiarch.ymlruns the fat build insidemcr.microsoft.com/dotnet/sdk:9.0Docker and publishes zip + MD5 + SHA256 to a GitHub Release.
Credit
Multi-arch QuestPDF runtime fix and fat-package build flow originally contributed by @glauciocampos in their fork (cut as v2.1.0.1 there). Thanks Glaucio.
No breaking changes. In-place upgrade.
MD5 2F4623348CB90130A4A7B89D50DDBAF8