Releases: TNG/ArchUnitNET
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 theWithoutRequiringPositiveResults
function: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
0.11.0-preview.1
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 theWithoutRequiringPositiveResults
function: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-preview.1
Fix for loading managed C++ Projects
Thankfully, @ivsavchenko provided a fix for a bug which prevented some managed C++ dependencies from loading.
PlantUML
Another performance improvement
This release improves the performance when evaluation conditions, which behaved quadratically and thus was problematic when evaluation a large number of items.
Improve performance for loading architectures
This release fixes a performance issue that types where loaded multiple times. This should speed up the tests significantly.
Filtering for LoadAssembliesRecursively
Added a filter parameter to LoadAssembliesRecursively, to be able to allow finegrained control which packages are loaded into ArchUnit.
new ResideInAssembly overload
ResideInAssembly now also supports the Assembly objects from the Domain namespace as input parameters
API-Cleanup and bugfixes
Note: in this release we bundled some breaking changes to fix some API inconsistencies. We assume that there are no huge changes to your test code to be made, but you might encounter some breaking tests.
Breaking changes
- Always match names exactly, and optionally offer Regex-based matching (#145)
- Clean up some deprecated properties to get rid of some confusion: https://github.com/TNG/ArchUnitNET/pull/148/files
- Clean up of the IsAssignableTo and ImplementsInterface APIs: #154
Improvements
- Improved PlantUML-Diagram generation, the api for this feature is not expected to be stable now and might be extended soon
- Messages for failed test cases should be cleaner now
Bugfixes
Fix handling for Types not existing in the architecture: #156
Fix handling for generic types: #154