Releases: TNG/ArchUnitNET
0.12.3
Fixes
- Fix attribute loading for cases where the base class is not available by @alexanderlinne in #410
- Fix assignment of MemberGenericArguments by @ManuelWalz in #400
New Contributors
- @ManuelWalz made their first contribution in #400
Full Changelog: 0.12.2...0.12.3
0.12.2
Features
- Add TUnit Support by @MeikelLP in #390
- Add ImplementAnyInterfaces Fluent Syntax by @alexanderlinne in #396
- Handle UnavailableType when creating an Attribute by @alexanderlinne in #408
Enhancements
- Add Tests For Object Predicates by @alexanderlinne in #393
Dependency Updates
- chore(deps): update actions/checkout action to v5 by @renovate[bot] in #391
- chore(deps): update dependency dotnet-sdk to v9.0.304 by @renovate[bot] in #354
- chore(deps): update dependency microsoft.net.test.sdk to v17 by @renovate[bot] in #349
- chore(deps): update dependency verify.xunit to v30 by @renovate[bot] in #368
- chore(deps): update dependency jetbrains.annotations to v2025 by @renovate[bot] in #386
New Contributors
Full Changelog: 0.12.1...0.12.2
0.12.1
0.12.0
Breaking Changes
Marking soon to be removed methods in the fluent api as obsolete by @brandhuf in #362
Until now, ArchUnitNET provided overloads of functions in the fluent syntax that took a string as an argument like Types().That().DependOnAny("ExampleClass") or Types().That().DependOnAny(".*ExampleClass", true). Here, however, it is unclear whether the string would match the Name, FullName or AssemblyQualifiedName. These functions have now been marked as obsolete and will be removed in version 0.13.0.
Besides HaveName, the fluent interface now also provides the functions HaveNameMatching, HaveFullName and HaveFullNameMatching. The above call can therefore be replaced with Types().That().DependOnAny(Types().That().HaveName("ExampleClass")) or Types().That().DependOnAny(Types().That().HaveFullNameMatching(".*ExampleClass")), giving a clear indication of what is matched and how it is matched.
Don't Set Assembly Name To It's Full Name by @alexanderlinne in #372
This is a bug where the Name of an assembly was always set to its FullName. This may be a breaking change for code that currently relies on this behaviour.
Fixes
- Fix Check in AreNotReadOnly Predicate by @alexanderlinne in #373
Enhancements
- Reduce Code Duplication in Fluent Syntax Object Conditions by @alexanderlinne in #367
Dependency Updates
Full Changelog: 0.11.4...0.12.0
0.11.4
Features
- Fill the ReferencedAssemblyNames Property for all loaded Assemblies by @made-by-karl in #319
Fixes
- Break Recursion in Resolving Generic Arguments of Nested Functions by @alexanderlinne in #363
- Add Missing Case in TypeFactory::CreateTypeInstance by @alexanderlinne in #365
Documentation
- Provide Additional Information about ResideInAssembly Function by @pawlos in #251
- Add Documentation for Async Function Limitations in Release Builds by @alexanderlinne in #352
Maintenance Improvements
- Add Workflow to Automatically Label New Issues by @alexanderlinne in #366
New Contributors
- @made-by-karl made their first contribution in #319
- @pawlos made their first contribution in #251
Full Changelog: 0.11.3...0.11.4
0.11.3
Features
Fixes
- Deduplicate Types by Assembly Qualified Name by @alexanderlinne in #318
- Wrong Cast in UnavailableType.Equals by @alexanderlinne in #347
Dependency Updates
- chore(deps): update codecov/codecov-action action to v5 by @renovate in #324
- chore(deps): update dotnet version to v9 (major) by @renovate in #309
- chore(deps): update all non-major dependencies by @renovate in #336
- chore(deps): update dependency microsoft.net.test.sdk to v17 by @renovate in #299
- chore(deps): update dependency verify.xunit to v28 by @renovate in #321
- chore(deps): update dependency nunit3testadapter to v5 by @renovate in #337
- chore(deps): update dependency xunit.runner.visualstudio to v3 by @renovate in #331
New Contributors
Full Changelog: 0.11.2...0.11.3
0.11.3-preview.1
Fixes
- Deduplicate Types by Assembly Qualified Name by @alexanderlinne in #318
Full Changelog: 0.11.2...0.11.3-preview.1
0.11.2
Fixes
- Resolve Security Vulnerability Warnings by @alexanderlinne in #328
- Dont Throw Exception if a Type Cannot Be Resolved by @alexanderlinne in #333
Dependency Updates
- chore(deps): update dependency dotnet-sdk to v8.0.404 by @renovate in #323
- chore(deps): update all non-major dependencies by @renovate in #322
- chore(deps): update dependency dotnet-sdk to v8.0.405 by @renovate in #334
Full Changelog: 0.11.1...0.11.2
0.11.1
Fixes
- Improve Test Coverage and Add Snapshot Tests for Object Conditions by @alexanderlinne in #291
- Loader: Match Types By Assembly Qualified Name by @alexanderlinne in #301
- Correctly Resolve Assemblies for Types by @alexanderlinne in #312
- Resolve Compiler Warnings by @alexanderlinne in #313
- Completely Filter Compiler Attributes from Architecture by @alexanderlinne in #305
Dependency Updates
- chore(deps): update all non-major dependencies by @renovate in #307
- chore(deps): update all non-major dependencies by @renovate in #314
- chore(deps): update dependency dotnet-sdk to v8.0.403 by @renovate in #284
Full Changes: 0.11.0...0.11.1
0.11.0
Breaking Changes
- Require positive results by default by @simonthum in #201
With this change, ArchUnitNET requires each test to have at least one successful evaluation for each checked rule. With this, tests likewill fail, because no type matches the precondition. This helps to prevent mistakes, where e.g. a change to a test leads to it no longer matching any type.Types().That().Are("ThisClassDoesNotExist"). …
This behaviour can be deactivated by using theWithoutRequiringPositiveResultsfunction:Types().That().Are("ThisClassDoesNotExist"). … .WithoutRequiringPositiveResults()
Features
- added Fluent Syntax for classes that are records by @francisgauthier1 in #259
- Issue: #269 Least effort implementation of a clearable Architecture cache by @thojaw in #270
Enhancements
- Add missing closing parenthesis in readme by @TristanJSchoenmakers in #221
- Add TngTech prefix to package names in README by @bazile in #222
- perf(loader): improve assembly loading by @alexanderlinne in #250
Dependency Updates
Full Changes: 0.10.6...0.11.0