v3.0.0
What's Changed
- refactor!: avoid boxing for parameters by @vbreuss in #633
- refactor!: avoid casting for properties and callbacks by @vbreuss in #634
- refactor!: introduce ITypedParameter and ITypedMethodMatch interfaces to avoid boxing for method parameters by @vbreuss in #635
- refactor: avoid
DebuggerNonUserCodeattribute in DEBUG mode by @vbreuss in #636 - refactor!: introduce ITypedIndexerMatch interfaces to avoid boxing for indexer parameters by @vbreuss in #637
- chore: Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #639
- chore: Bump Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 by @dependabot[bot] in #640
- perf!: remove index handling from IInteraction implementations to simplify interaction classes by @vbreuss in #641
- perf!: reduce allocations in setup/interaction/verify by @vbreuss in #642
- refactor: remove dead code and cleanup code by @vbreuss in #646
- feat: add Scenarios by @vbreuss in #643
- perf: optimize storage handling in PropertySetups for improved performance by @vbreuss in #647
- refactor!: use
Callbacks<T>class by @vbreuss in #648 - fix: missing namespace for Action in source generated code by @vbreuss in #651
- feat: allow opt-out of interaction recording by @vbreuss in #649
- feat: add collection matchers for
ContainsandSequenceEqualsby @vbreuss in #650 - fix: keep source generated classes internal by @vbreuss in #652
- perf!: optimize indexer performance by removing capturing closures by @vbreuss in #653
- fix: record interactions even if base class throws by @vbreuss in #654
- docs: document collection matchers by @vbreuss in #656
- feat: forward events to base class when not skipped by @vbreuss in #658
- ci: parallelize benchmarks across matrix agents by @vbreuss in #659
- perf: typed indexer storage with int signature indices by @vbreuss in #657
- fix: race-condition in property initialization by @vbreuss in #660
- refactor: rename
InvocationCounttoNin benchmarks by @vbreuss in #661 - fix: callback invocations for methods with 5+ parameters by @vbreuss in #663
- feat!: interfaces for ref-struct compatibility and add support by @vbreuss in #662
- docs: enhance XML-doc comments by @vbreuss in #664
- chore: Bump coverlet.collector from 8.0.1 to 10.0.0 by @dependabot[bot] in #665
- chore: Bump Microsoft.SourceLink.GitHub from 10.0.201 to 10.0.202 by @dependabot[bot] in #666
- feat!: update CreateMock overloads to accept typed constructor arguments by @vbreuss in #668
- docs: fix broken link to Ref Struct Parameters section in analyzers documentation by @vbreuss in #669
- refactor: remove wrappability analyzer rule and associated resources by @vbreuss in #670
- docs: improve XML docs by @vbreuss in #667
- feat!: omit constructor parameters overloads for interfaces and types with only parameterless constructors by @vbreuss in #671
- docs: fix cref-links by @vbreuss in #673
- fix: source generation errors by @vbreuss in #672
- coverage: Refactor and enhance tests for indexers, properties, and events by @vbreuss in #674
- docs: prepare analyzers for v3.0 release by @vbreuss in #675
- refactor: optimize stateless parameter match classes by @vbreuss in #676
- perf!: add state-passing variant of Invoke method to avoid closures by @vbreuss in #677
- feat: add support for required members in generated constructors by @vbreuss in #681
- fix: prefix reserved C# keywords with '@' in generated members by @vbreuss in #682
- perf: improve interaction hot-path performance by @vbreuss in #679
- perf: speedup source generator by @vbreuss in #683
- coverage: for MockRegistry.Setup member-id overloads by @vbreuss in #684
- coverage: Fast*Buffer parametric tests by @vbreuss in #685
- coverage: test MockRegistry.Interactions snapshot lookups + GetPropertyFast / SetPropertyFast by @vbreuss in #686
- coverage: VerificationResult Awaitable, Map, CollectMatching, AnyParameters by @vbreuss in #687
- coverage: ChunkedSlotStorage growth, NextSequence, Verified, fallback paths by @vbreuss in #689
- coverage: registry skip-flag agreement, collection callbacks, Uri/HttpContent dispatch by @vbreuss in #688
- fix!: enable subclassing by updating MockRegistry constructors and interactions by @vbreuss in #691
- refactor: streamline default value generation for tuples and tasks by @vbreuss in #692
- chore: Bump Microsoft.SourceLink.GitHub from 10.0.202 to 10.0.203 by @dependabot[bot] in #693
- coverage: add tests for indexer and property setup behaviors by @vbreuss in #690
- perf: optimize property getter access handling in FastPropertyBuffer by @vbreuss in #694
- test: add comprehensive tests for indexer getter and setter behaviors in MockRegistry by @vbreuss in #695
- refactor: simplify array handling by removing null checks in MockGenerator by @vbreuss in #696
- feat: enhance static interface support with additional mock capabilities by @vbreuss in #698
- coverage: add internal tests for analyzer helpers by @vbreuss in #697
- perf: improve indexer performance by @vbreuss in #699
- refactor: improve equality comparison logic in Property classes by @vbreuss in #701
- test: add missing unit tests for source generation by @vbreuss in #700
- feat: update benchmarks to verify getter and setter calls by @vbreuss in #702
- perf: update property verification methods to use typed verification by @vbreuss in #703
- test: add unit tests for caching behavior in FastIndexer and FastProperty buffers by @vbreuss in #706
- refactor: enhance AsArray method to return empty array for default-constructed values and update related interfaces by @vbreuss in #704
- fix: implement ConsumeAll method to mark all slots as verified in FastMethodBuffer by @vbreuss in #707
- docs: update README with new mock setup features and examples by @vbreuss in #705
- refactor: simplify usage of "Nullable" by @vbreuss in #708
- refactor: move tests from Internal to normal test project by @vbreuss in #709
- refactor: simplify source generator tests assertions by @vbreuss in #710
- fix: remove spurious
"in exception message by @vbreuss in #711 - refactor: update property getter to use default value generator for unsupported types by @vbreuss in #712
- refactor: remove unused MockRegistry methods by @vbreuss in #713
- refactor: remove unused registry methods by @vbreuss in #714
- coverage: add missing tests for MockRegistry by @vbreuss in #715
- refactor: use global::System.Exception for indexer setup exception signatures by @vbreuss in #716
- fix: rename verify lambda variable to avoid collision with parameter named i by @vbreuss in #718
- fix: preserve ref/out/in modifiers when raising events with by-ref delegates by @vbreuss in #719
- fix: skip IMockSetup parent for interfaces with only static abstract events by @vbreuss in #720
- fix: preserve init accessor on init-only properties by @vbreuss in #717
- fix: rename methodSetup local in setup impl to avoid parameter name collision by @vbreuss in #722
- fix: support ref and ref readonly return types by @vbreuss in #721
- fix: preserve nullable annotation on generic return type in setup interface by @vbreuss in #723
- fix: support generic methods with allows ref struct constraint by @vbreuss in #724
- coverage: add source generator snapshot tests by @vbreuss in #725
- coverage: add missing tests for Sources.MockClass.cs by @vbreuss in #727
- refactor: move snapshot tests to Mockolate.Tests project by @vbreuss in #728
- coverage: add missing
MockRegistrytests by @vbreuss in #729 - coverage: add tests for interaction edge cases by @vbreuss in #730
- coverage: add
MockRegistry.Interactionsedge case tests by @vbreuss in #731 - coverage: add tests and accessor for property setup snapshot in
MockRegistryby @vbreuss in #732 - refactor: simplify web extensions by @vbreuss in #733
- coverage: add tests for property, indexer, and method setup edge cases and matching logic by @vbreuss in #734
- coverage: add fast-path and fallback tests for property, indexer, event, and method verification by @vbreuss in #735
- coverage: add missing tests for
It.*by @vbreuss in #736
Full Changelog: v2.4.0...v3.0.0