Releases: TNG/ArchUnitNET
0.13.0
Breaking Changes
Remove Obsolete Fluent Syntax Methods by @alexanderlinne in #412
As announced in version 0.12.0, fluent methods that take strings as an argument for matching the full name are now removed in favour of using fluent methods like .HaveName.
Refactor attribute with arguments fluent syntax methods by @alexanderlinne in #432
For HaveAttributeWithArguments and NotHaveAttributeWithArguments fluent methods, the overloads that take params object[] as arguments have been removed. This was previously ambiguous with the overload that takes an IEnumerable<object> as an argument.
Performance Enhancements
The following refactorings improve performance in our tests by ~15%:
- Refactor Object Syntax Elements by @alexanderlinne in #414
- Improve implementation of AddTypesToNamespaces loader task by @alexanderlinne in #416
- Add IOrderedCondition by @alexanderlinne in #433
CI Enhancements
- Exclude xunit.v3 and TUnit from Updates for released packages by @alexanderlinne in #411
- Run C++/CLI Test only on Windows by @alexanderlinne in #413
Dependency Updates
- Update dependency dotnet-sdk to v9.0.305 by @renovate[bot] in #407
- Update all non-major dependencies by @renovate[bot] in #346
- Update actions/setup-dotnet action to v5 by @renovate[bot] in #401
- Update mstest monorepo to v3 (major) by @renovate[bot] in #310
- chore(config): migrate renovate config by @renovate[bot] in #415
- chore(deps): update dependency xunit.v3 to v3 by @renovate[bot] in #350
- chore(deps): update dependency dotnet-sdk to v9.0.308 by @renovate[bot] in #425
- chore(deps): update github/codeql-action action to v4 by @renovate[bot] in #421
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #429
- chore(deps): update dotnet version to v10 (major) by @renovate[bot] in #406
Full Changelog: 0.12.3...0.13.0
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