Skip to content

Releases: postsharp/PostSharp.Public

v2026.0.7

Choose a tag to compare

@gfraiteur gfraiteur released this 25 Mar 17:36

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

Choose a tag to compare

@gfraiteur gfraiteur released this 19 Mar 15:07

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

Choose a tag to compare

@gfraiteur gfraiteur released this 27 Jun 10:13

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 PostSharpAllowPipeServerWhenUnattended MSBuild property to use the pipe server in unattended builds.

Resources

v2024.0.22

Choose a tag to compare

@gfraiteur gfraiteur released this 18 Mar 10:41

Fixes

  • #7 Implement Mutex ACL support
  • #5 PostSharp dependency restore ignores NuGet.config

Resources

PostSharp 2026.0.13

Choose a tag to compare

@gfraiteur gfraiteur released this 27 Jun 10:32

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

Choose a tag to compare

@gfraiteur gfraiteur released this 11 Jun 18:31

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

Choose a tag to compare

@gfraiteur gfraiteur released this 10 Jun 11:49

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

Choose a tag to compare

@gfraiteur gfraiteur released this 09 Jun 15:34

PostSharp 2026.0.10 is based on v2026.0.9, plus the following changes.

Fixes

  • #9 Fixed a crash (concurrent collection modification during VisitChildren) in DebuggerOptions initialization within AggregatableAttribute.OnInstanceConstructed.
  • #16 Fixed a build failure with custom TFM aliases (Multiple Equivalent Framework) in project.assets.json v4 (.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.

Resources

v2026.0.9

Choose a tag to compare

@gfraiteur gfraiteur released this 15 May 07:10

PostSharp 2026.0.9 is based on v2026.0.8, plus the following changes.

Fixes

  • #15 Fixed build failure (Unable to deserialize project assets file) with .NET SDK 10.0.300+ which produces project.assets.json version 4.

Resources

v2026.0.8

Choose a tag to compare

@gfraiteur gfraiteur released this 15 Apr 11:46

PostSharp 2026.0.8 is based on v2026.0.7, plus the following changes.

Fixes

  • #14 Fixed MSB4062 task load failure ('Could not load file or assembly System.Collections.Immutable') on build environments whose MSBuild install has no binding redirect covering version 8.0.0.0

Resources