Releases: postsharp/PostSharp.Public
Release list
v2026.0.7
PostSharp 2026.0.7 is based on v2026.0.6, plus the following changes.
The only package with functional changes is PostSharp.Patterns.Caching.Redis. All other packages are version bumps only.
Fixes
- #2 Redis caching: Notification queue not suspended when background task queue is overloaded
- #3 Race condition in GetItemAsyncCore causes empty forward dependencies under concurrent load
- #4 Dependency keys not unescaped when reading from Redis cache
- #12 ObjectDisposedException instead of RedisConnectionException when connecting to unreachable Redis endpoint
- #13 Redis ShortKey encoding not reversible for keys containing literal percent-encoded sequences
Resources
v2026.0.6
PostSharp 2026.0.6 is based on 2026.0.5 and v2025.1.14, plus the following changes.
(No additional changes.)
PostSharp 2024.0.24
PostSharp 2024.0.24 is primarily a security and privacy hardening release. It closes the June 2026 security & privacy review (#56): it hardens the build toolchain against local attacks, moves all telemetry to HTTPS, minimizes and de-correlates collected data, and removes data-collection features outright. It also fixes a build-reproducibility defect in the Windows-PDB path. It is based on v2024.0.22 and spans builds 2024.0.23 and 2024.0.24.
Security & privacy hardening
Transport security
- #48 Upload CEIP/telemetry over HTTPS instead of plaintext HTTP.
- #63 Warn when a license server is configured over
http://(which sends user and machine names in cleartext).
Local-machine hardening (shared/multi-user machines)
- #45 Default the cache, binary, and dependency directories to per-user locations to prevent DLL planting.
- #46 Restrict the .NET Framework build pipe server to clients of the same user and elevation level.
- #50 Scope the Windows CPU-throttle semaphore to the current user to prevent a local build DoS.
- #51 Relocate the compiler-host exception dump to a per-user directory so other local users cannot read it.
- #47 Disable external XML entity resolution (XXE) when parsing the Learning Hub content feed.
Data minimization & privacy
- #53 Minimize uploaded exception reports: redact secrets, omit the exception message and data, and redact user assembly identities.
- #54 Telemetry opt-out now stops queued uploads and purges the upload queue.
- #55 Removed the per-usage license telemetry that uploaded reversibly hashed type names.
- #62 Rotate the telemetry device identifier on the first Monday of each month to limit cross-session correlation.
- #65 Removed the newsletter subscription offer and all email-address collection from the license registration UI.
- #66 Removed the Areas of Interest selection and the PostSharp Learning Hub tool window from the product.
Dependencies
- #61 Updated log4net to 3.3.1 on modern target frameworks to address CVE-2026-40021.
Other changes
- #35 Deterministic builds emitting a Windows PDB are now reproducible for woven types with very long fully-qualified names.
- #36 Windows PDBs no longer get garbage, run-dependent module names for woven types with long fully-qualified names.
- #58 Add the
PostSharpAllowPipeServerWhenUnattendedMSBuild property to use the pipe server in unattended builds.
Resources
- Milestone 2024.0.24
- Full Changelog: v2024.0.22...v2024.0.24
v2024.0.22
PostSharp 2026.0.13
PostSharp 2026.0.13 is based on v2026.0.12 and v2024.0.24, plus the following changes.
The upstream v2024.0.24 release is a security and privacy hardening update: it hardens the build toolchain against local attacks (DLL planting, named-pipe hardening, per-user cache/temp directories), moves all telemetry to HTTPS, and minimizes and de-correlates the data collected.
Fixes
- #39 Upgraded the compiler''s NuGet.Packaging dependency to 6.14.3 to clear the NU1901 vulnerability warning in user builds.
- #44 Fixed a caching backend dispose deadlock caused by an unbalanced background-task counter.
- #64 Fixed a spurious PS0242 license error when building through the .NET Framework pipe server.
Resources
v2026.0.12
PostSharp 2026.0.12 is based on v2026.0.11, plus the following changes.
Fixes
- #24 Fixed a Redis caching backend deadlock on dispose when the notification thread never started (unbounded wait).
- WinRT / .winmd build-time support — several fixes for consuming Windows Runtime types on .NET Framework:
- #25 Fixed a build failure ("Cannot find the assembly system.runtime.windowsruntime") in WinRT projection, introduced by the #21 loop fix.
- #26 Fixed a TypeLoadException when build-time code uses a Windows Runtime type from a .winmd.
- #27 Fixed incorrect type comparison on .NET Framework that treated a WinRT type and its managed projection as unrelated.
- #28 Fixed WinRT facade assembly reference binding that relied on the OS resolver and could fail in stripped-down environments.
- #29 Fixed an invalid-object-state crash during build-time normalization of a Windows Runtime metadata (winmd) file.
- #30 Fixed incorrect WinRT-to-managed type projections and a faulty WinRT type-equality comparison on .NET Framework.
- #31 Fixed the WinRT type projection map, which contained dead XAML-animation entries and was missing IIterator and Numerics types.
- #32 Fixed .winmdobj files being incorrectly treated as Windows Runtime metadata, which stripped their method bodies at build time.
- #33 Fixed a PS0264 "Abstract method with non-zero RVA" build failure when build-time code uses a Windows Runtime interface from a .winmd.
Resources
v2026.0.11
PostSharp 2026.0.11 is based on v2026.0.10, plus the following changes.
Fixes
- #21 Fixed a "Loop when loading Windows.winmd" build failure (BindingException) that could occur on .NET Framework projects consuming WinRT types when a Windows.winmd file was present in the PostSharp search path.
Resources
v2026.0.10
PostSharp 2026.0.10 is based on v2026.0.9, plus the following changes.
Fixes
- #9 Fixed a crash (concurrent collection modification during
VisitChildren) inDebuggerOptionsinitialization withinAggregatableAttribute.OnInstanceConstructed. - #16 Fixed a build failure with custom TFM aliases (Multiple Equivalent Framework) in
project.assets.jsonv4 (.NET SDK 10.0.300+). - #17 Fixed hangs and intermittent failures in the Redis caching backend caused by an infinite loop in notification-queue channel connection and a thread-lifecycle race condition.