Repository navigation
Releases
v1.0.0-beta.4
Changelog
v1.0.0-beta.4 (2026-10-16)
Implemented enhancements:
- Allow StuntBuilder to accept behavior factories for per-instance stateful behaviors #276
- Add a synchronized behavior #271
- Add property change notification behaviors #270
- Add an exception-mapping behavior #269
- Add a guard behavior for validation and authorization #268
- Add a Polly resilience behavior #266
- Add an observation behavior for logging, duration, and tracing #265
- Add a target-forwarding behavior, including a lazy target #264
- Add an async-aware Proceed extension for behaviors #263
- Support for default interface implementations #113
- Add a guard behavior for validation and authorization #291 (kzu)
- Add an AOT-safe data annotation behavior #290 (kzu)
- Speed up compile-time stunt generation #287 (kzu)
- Add an exception-mapping behavior #285 (kzu)
- Add a synchronized behavior that holds through async completion #284 (kzu)
- Add NotifyPropertyChangeBehavior #282 (kzu)
- Add AddBehavior<TBehavior> overload #281 (kzu)
- Add an observability behavior for logging, duration, and tracing #280 (kzu)
- Add a target-forwarding behavior, including a lazy target. #279 (kzu)
- Allow StuntBuilder to accept behavior factories and clone ICloneable behaviors #277 (kzu)
- Add an async-aware Proceed extension for behaviors. #273 (kzu)
- Name the non-array default argument #262 (kzu)
- Generate closed Native AOT stunts from call sites #257 (kzu)
- Generate comparison-package acceptance coverage #256 (kzu)
- Support generic proxy templates and compatible signatures #254 (kzu)
- Constrain behavior extension methods to IStunt #253 (kzu)
- Add StuntReference, Stunt.For/Get and StuntBuilder #252 (kzu)
- Use ambient behavior pipeline factory in tests #249 (kzu)
- Validate null value-type results #248 (kzu)
- Support Stunt.Of<SomeDelegate>() so a delegate can be the pipeline tail #246 (kzu)
- Rename StaticStuntFactory to CompiledStuntFactory #245 (kzu)
- Copy custom attributes onto generated stunts #244 (kzu)
- Error when unsafe stunt signatures lack compile-time stunts or unsafe blocks #242 (kzu)
- Emit SignatureRef types at design time #241 (kzu)
- Rename StaticProxy to CompiledProxy #240 (kzu)
- Generate stunts for ref struct, pointer, and ref readonly signatures #239 (kzu)
- Proxy internal, private protected, and private nested types #238 (kzu)
- Intercept default interface members #236 (kzu)
- Emit a partial record when the stunt base type is a record #234 (kzu)
Fixed bugs:
- Fix concurrent and simple-name dependency resolution #255 (kzu)
- Preserve narrowed accessor accessibility #237 (kzu)
- Close generic methods before creating the invocation #235 (kzu)
Closed issues:
- Bump open dependency updates together #295
Merged pull requests:
- Bump files with dotnet-file sync #302 (kzu)
- Bump open dependency updates together #296 (Copilot)
- Format generated stunts with explicit whitespace trivia. #288 (kzu)
- Run exception mapping tests without the scenario compiler #286 (kzu)
- Make the synchronous Proceed callback test deterministic #278 (kzu)
- Run the OS build matrix only for publish and release #261 (kzu)
- Document agent skill tracker, labels, and domain docs #260 (kzu)
- Rename leftover stunt shape terms to definitions #259 (kzu)
- ⚙ Update dotnet versions #258 (kzu)
- Improve pipeline factory docs #251 (kzu)
- Showcase Stunts features with progressive C# examples #250 (kzu)
- Name generated implementation lambda parameters clearly #247 (kzu)
- Bump files with dotnet-file sync #243 (kzu)
- Emit scenario generated sources to obj for inspection #233 (kzu)
- Showcase support for default interface implementation #232 (kzu)
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek, @mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜
v1.0.0-beta.3
Changelog
v1.0.0-beta.3 (2026-09-29)
Fixed bugs:
Merged pull requests:
- Bump NuGetizer from 1.5.0 to 1.5.1 #230 (dependabot[bot])
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek, @mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜
v1.0.0-beta.2
Changelog
v1.0.0-beta.2 (2026-09-28)
Merged pull requests:
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek, @mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜
v1.0.0-beta.1
Changelog
v1.0.0-beta.1 (2026-09-28)
Implemented enhancements:
- Remove dependency on code fixers and refactorings from Roslyn internals #132
- Avatar source generation processors should get updated compilation from context #131
- Rename callBase to implementation #108
- When emitting generated files, whitespace/newlines are missing #98
- Make Stunts.DynamicProxy an explicit opt-in package #218 (kzu)
- Apply OSMF licensing and the original Stunts icon #214 (kzu)
- Restore the Stunts name #211 (kzu)
- Generate proxies without Roslyn internals. #204 (kzu)
- Improve design of syntax processors and introduce a driver class #139 (kzu)
- Use local function in pipleline invocation to avoid delegate allocation #101 (atifaziz)
Fixed bugs:
- Add analysis error if target type has no public or protected constructor #129
- Source gene 8000 rators are reported as not supported under 16.10 preview #125
- Error when packing because of mismatch of System.Runtime.CompilerServices.Unsafe #117
- Nullable warnings when out/ref argument is nullable #99
- Exclude Microsoft.CSharp from the static proxy tools #226 (kzu)
- 👀 Fail if no visible constructors available #130 (kzu)
Closed issues:
- Turn on build-time failures for .editorconfig violations #60
Merged pull requests:
- Retarget the sample at net10.0 and restore Stunts from the local bin feed #225 (kzu)
- Stop syncing the strong-name key #224 (kzu)
- Drop the trailing newline in src/nuget.config #223 (kzu)
- Point the Ipsum comment at the devlooped/catbag source #222 (kzu)
- Retarget unit tests at net10.0 #221 (kzu)
- Drop the duplicate Solution Items folder from the solution #220 (kzu)
- Retarget the source generator at Roslyn 5.0 and refresh outdated package versions. #219 (kzu)
- Replace the alien mark with the purple helmet #217 (kzu)
- Bump the web group with 1 update #216 (dependabot[bot])
- ⚙ Update dotnet versions #213 (kzu)
- Clear NuGet, Roslyn, and xUnit warnings #212 (kzu)
- Bump Microsoft.Build from 16.8.0 to 18.9.6 #208 (dependabot[bot])
- ⚙ Update dotnet versions #206 (kzu)
- Bump to latest version of 3.10 pre-release #149 (kzu)
- Bump MSBuild.StructuredLogger from 2.1.404 to 2.1.500 #147 (dependabot[bot])
- Bump ThisAssembly from 1.0.7 to 1.0.8 #146 (dependabot[bot])
- Bump NuGet.Protocol from 5.9.0 to 5.9.1 #144 (dependabot[bot])
- Bump docfx.console from 2.56.7 to 2.57.2 #143 (dependabot[bot])
- Bump Microsoft.EntityFrameworkCore from 5.0.2 to 5.0.5 #142 (dependabot[bot])
- Bump files with dotnet-file sync #140 (kzu)
- Bump Microsoft.NET.Test.Sdk from 16.9.1 to 16.9.4 #138 (dependabot[bot])
- Bump Microsoft.TestPlatform.ObjectModel from 16.9.1 to 16.9.4 #137 (dependabot[bot])
- Bump MSBuild.StructuredLogger from 2.1.303 to 2.1.404 #136 (dependabot[bot])
- Update to latest NuGet protocol package #135 (kzu)
- Bump NuGetizer from 0.6.0 to 0.6.2 #134 (dependabot[bot])
- Bump Microsoft.Build.Tasks.Core from 16.8.0 to 16.9.0 #122 (dependabot[bot])
- 🔄 dotnet-file sync #120 (kzu)
- Bump docfx.console from 2.56.6 to 2.56.7 #116 (dependabot[bot])
- 🔄 dotnet-file sync #114 (kzu)
- Bump Moq from 4.16.0 to 4.16.1 #111 (dependabot[bot])
- Rename callBase to implementation #109 (kzu)
- 🔄 dotnet-file sync #107 (kzu)
- Bump Microsoft.ApplicationInsights from 2.16.0 to 2.17.0 #103 (dependabot[bot])
- Miscelaneous minor improvements #100 (kzu)
- 🖆 Apply kzu/oss template via dotnet-file #96 (kzu)
- Bump Microsoft.EntityFrameworkCore from 3.1.8 to 5.0.2 #95 (dependabot[bot])
- Bump MSBuild.StructuredLogger from 2.1.215 to 2.1.303 #94 (dependabot[bot])
- Bump Microsoft.Build.Locator from 1.3.2 to 1.4.1 #93 (dependabot[bot])
- Bump Moq from 4.15.2 to 4.16.0 #92 (dependabot[bot])
Sponsors
The following sponsors made this release possible: @clarius, @MFB-Technologies-Inc, @sandrock, @drivenet, @Keflon, @tbolon, @rbnswartz, @jfoshee, @Mrxx99, @eajhnsn1, @Jonathan-Hickey, @KenBonny, @SimonCropp, @agileworks-eu, @arsdragonfly, @vezel-dev, @ChilliCream, @4OTC, @DominicSchell, @adalon, @torutek, @mccaffers, @SeikaLogiciel, @wizardness, @eska-gmbh, @geodata-no.
Thanks 💜
v1.0.0-beta
v1.0.0-beta (2021-01-19)
✨ Implemented enhancements:
- Simplify behavior execution delegate signature #79
- Improve argument collection API #74
- Allow modifying method invocation return values #61
- Don't force usage of a specific compiler toolset #58
- Allow invoking base (virtual) method directly from IMethodInvocation #56
- Add public API analyzers to improve API evolution #55
- Provide simple property to opt out of static proxies #48
- Remove dependency on Workspace API in the public API surface for avatar generator pipeline #41
- ⚙ Support multiple compiler toolsets #59 (@kzu)
🐛 Fixed bugs:
- IMethodReturn.Outputs does not contain the out parameters #75
- Source generator fails when used in Visual Studio preview #52
* This Changelog was automatically generated by github_changelog_generator
v1.0.0-alpha
Initial public release of the library. Already in use in Moq v5 with great results :)