Releases: fluentassertions/fluentassertions
Releases · fluentassertions/fluentassertions
7.0.0-alpha.3
Internal release needed to continue working on FluentAssertions.DataSets.
7.0.0-alpha.2
Internal release needed to continue working on FluentAssertions.DataSets.
7.0.0-alpha.1
Internal release needed to continue working on FluentAssertions.DataSets.
6.12.0
What's Changed
New features
- Added
Be
,NotBe
andBeOneOf
for object comparisons with custom comparer by @jnyrup in #2243 - Extend
AssemblyAssertions
withHavePublicKey
andBeUnsigned
by @Corniel in #2207 - Add
NotContainItemsAssignableTo
by @Leo506 in #2266
Improvements
- Format records and anonymous types with their member values by @benagain in #2144
- Improve caller identification for Visual Basic by @jnyrup in #2254
Fixes
- Avoid quoting newlines by @jnyrup in #2202
- Include because+becauseArgs when comparing collections of enums for equivalency by @jnyrup in #2214
- Fix auto conversion to enums by @jnyrup in #2261
Documentation
- Github -> GitHub by @danielchalmers in #2190
- Fix badge links by @dennisdoomen in #2193
- Fix example wording by @cskwrd in #2206
- Improve documentation on
ExcludingNestedObjects
by @dennisdoomen in #2211 - Add missing
HaveElement()
occurrence docs by @IT-VBFK in #2217 - Add documentation for
IComparer<T>
overload by @ITaluone in #2220 - Update docs about thread safety by @jnyrup in #2238
Others
- CA1860: Avoid using 'Enumerable.Any()' extension method by @Evangelink in #2196
- Update PR template by @eNeRGy164 in #2188
- Code coverage improvements by @sdelarosbil in #2180
- Remove sponsor Semantic Merge from the website by @dennisdoomen in #2194
- Upmerge master to develop by @dennisdoomen in #2195
- Simplify
GenericDictionaryEquivalencyStep
by @jnyrup in #2191 - Cleanup by @jnyrup in #2201
- Bump all dependencies by @dennisdoomen in #2198
- Add Qodana by @matkoch in #2204
- Bump nuget dependencies by @jnyrup in #2227
- Prepare for .NET8 analyzers by @jnyrup in #2228
- Qodana fixes by @jnyrup in #2229
- Update Nugets by @jnyrup in #2240
- Analyzer cleanups by @jnyrup in #2250
- Group framework dependent configuration by @Corniel in #2247
- Update cspell by @jnyrup in #2255
- Update ruby gems by @jnyrup in #2257
- Another Qodana test from the same repository by @dennisdoomen in #2258
- Qodana fixes by @IT-VBFK in #2221
- Add a pre-check if a user can help with a PR by @IT-VBFK in #2262
- Fix qodana issues part 2 by @IT-VBFK in #2264
- Release 6.12 by @dennisdoomen in #2270
New Contributors
- @benagain made their first contribution in #2144
- @cskwrd made their first contribution in #2206
- @Corniel made their first contribution in #2247
- @Leo506 made their first contribution in #2266
Full Changelog: 6.11.0...6.12.0
6.11.0
What's Changed
New features
- Added
ThrowWithinAsync
assertions by @lg2de in #1974 - Add
WithoutStrictOrderingFor
overload with an expression by @chrischu in #2151
Improvements
- Add support to convert into to enum by @sdelarosbil in #2147
- Use
ToString
to format exceptions by @sdelarosbil in #2150
Fixes
- Increase robustness of assertions when wrapped in an
AssertionScope
by @jnyrup in #2133 - Ensured the maximum depth is properly respecting the "official" definition of depth by @dennisdoomen in #2145
- Prevent
NullReferenceException
by @jnyrup in #2154 - Make
Excluding()
work on nested collections if root is a collection by @whymatter in #2135 - Prevent
InvalidOperationException
when formatting lambda expression by @jnyrup in #2176
Documentation
- Add missing xml docs for parameters by @jnyrup in #2134
- Fix xml docs for time-related assertions by @jnyrup in #2153
- fix link to PR in release notes by @jnyrup in #2171
- Do not interpret double braces as liquid template by @jnyrup in #2181
Others
- Add optional parameter to generate a
binlog
file by @IT-VBFK in #2127 - Dynamic copyright year by @martincostello in #2128
- Minor tweaks to the .editorconfig and reformatted the entire code base by @dennisdoomen in #2117
- Update Nugets by @jnyrup in #2129
- Styling to please both VS and Rider by @jnyrup in #2130
- Use a fixed seed for random generator by @jnyrup in #2131
- Pluralize "key" in failure message by @jnyrup in #2138
- Preparing upgrade of analyzers by @jnyrup in #2136
- Exception cleanup by @jnyrup in #2155
- Cleanup by @jnyrup in #2156
- await
Task
when inside using block by @jnyrup in #2157 - Use init properties by @jnyrup in #2158
- Introduce Roslynator with adjusted rules and addressed issues by @dennisdoomen in #2159
- Regex cleanup by @jnyrup in #2162
- Introduce the Meziantou.Analyzer to improve our code even more. by @dennisdoomen in #2160
- Some internal naming improvements by @dennisdoomen in #2164
- Extracts the type reflection logic into a dedicated class by @dennisdoomen in #2165
- Update to C# 11 by @jnyrup in #2166
- Improve the
DataRowCollectionEquivalency
code coverage by @sdelarosbil in #2163 - Improve the ExpressionExtensions coverage by @sdelarosbil in #2168
- Improve the DateOnly and TimeOnly code coverage by @sdelarosbil in #2167
- Update to Coveralls v2 by @jnyrup in #2173
- Migrate from FxCop to .NET Analyzers by @jnyrup in #2174
- Use builtin coveralls flag to ignore missing coverage file by @jnyrup in #2178
- Revert "Use builtin coveralls flag to ignore missing coverage file" by @jnyrup in #2183
- Ensure running the site works again by @dennisdoomen in #2185
- Prepare for .NET 8 analyzers by @jnyrup in #2184
- Update Ruby dependencies by @jnyrup in #2182
New Contributors
- @martincostello made their first contribution in #2128
- @sdelarosbil made their first contribution in #2147
- @chrischu made their first contribution in #2151
Full Changelog: 6.10.0...6.11.0
6.10.0
What's Changed
Fixes
- Declare
System.Net.Http
as a framework dependency by @AArnott in #2122 - Improves how
BeEquivalentTo
handles fields hiding base-class fields by @dennisdoomen in #1990 - Fix timeout check in
WithResult
extension by @lg2de in #2101 - Avoid exceptions when wrapping in
AssertionScope
by @jnyrup in #2103
Others
- Fix copyright year by @ITaluone in #2099
- Fix broken link in releases.md by @ITaluone in #2096
- Check if
lcov.info
does exist by @ITaluone in #2097 - Clean up
Build.cs
by @IT-VBFK in #2093 - Updated editor configs by @dennisdoomen in #2104
- Revert early returns for project consistency by @jnyrup in #2105
- Update data.md to fix typo by @berserck in #2114
- Add unit tests for better coverage in Execution namespace by @lg2de in #2042
- Add code coverage to XUnit2.Specs by @jnyrup in #2115
- Regrouping and formatting of the selection rule specs by @dennisdoomen in #2106
- Add fancy
ReportSummary
by @IT-VBFK in #2116 - Add new issue template for a general feature by @IT-VBFK in #2113
- Add missing tests for
int.Seconds(TimeSpan)
by @IT-VBFK in #2119 - Add test summaries by @IT-VBFK in #2118
- Declare few more files as
DocumentationChanges
by @IT-VBFK in #2100 - Remove unused InstallPfx.bat by @jnyrup in #2124
New Contributors
Full Changelog: 6.9.0...6.10.0
6.9.0
What's Changed
New features
- Added
BeOneOf
forIComparable
s and object comparisons. by @jez9999 in #2028 - Add
BeCloseTo()
/NotBeCloseTo()
to TimeOnlyAssertions by @IT-VBFK in #2030 - Add
ThatAre[Not]Abstract
,ThatAre[Not]Static
andThatAre[Not]Virtual
toPropertyInfoSelector
by @94sedighi in #2054 - Add
ThatAre[Not]Abstract
toMethodInfoSelector
by @94sedighi in #2060 - Add
ThatAre[Not]Abstract
toTypeSelector
by @94sedighi in #2058 - Add
ThatAre[Not]Sealed
toTypeSelector.cs
by @94sedighi in #2059 - Add
ThatAre[Not]Interfaces
toTypeSelector.cs
by @94sedighi in #2057 - Add extensions for
OccurrenceConstraint
that reads more fluently by @IT-VBFK in #2047 - Add
Imply()
toBooleanAssertions
by @IT-VBFK in #2074 - Add
ThatAre[Not]ValueTypes
method toTypeSelector.cs
by @94sedighi in #2083
Improvements
- Order strings with ordinal comparison by @jnyrup in #2075
- Improve performance of
IsTuple()
by @jnyrup in #2079 - Optimize
IsRecord()
by @jnyrup in #2080
Fixes
- Nested
AssertionScope
s do not print inner scope reportables by @94sedighi in #2044 - Extend
ThatArePublicOrInternal
to also look at the setter of properties by @Ruijin92 in #2082 - Treat record structs as records by @salvois in #2009
Documentation
- Document alternatives for collection order by @nycdotnet in #2063
- Document that
PathMap
is currently not supported by @jnyrup in #2067 - Use langword instead of for C# keywords by @jnyrup in #2070
- Add missing exceptions to xml summaries by @jnyrup in #2023
- Improve
Guard
helper by @jnyrup in #2076 - Add issue templates and api review process by @jnyrup in #2078
- Add
cSpell
to NUKE build pipeline by @IT-VBFK in #2086
Others
- Enable CI unit tests on linux and mac by @jnyrup in #2021
- update catch phrase url by @danielchalmers in #2025
- Prepare approval tests for .NET 7 by @jnyrup in #2024
- Use PolySharp to generate polyfill attributes by @jnyrup in #2026
- New unit test to verify CompleteWithinAsync behaves correctly in an assertion scope by @lg2de in #2033
- Fix nuget config to be able to restore/build the project when having custom HTTP nuget sources by @ITaluone in #2032
- Improve coverage on data assertions by @lg2de in #2037
- Bump minimum SDK to 6.0.400 by @jnyrup in #2038
- Let
EquatableOfInt
implementIComparable<T>
by @jnyrup in #2036 - New tests for better code coverage on collection assertions by @lg2de in #2035
- Comparable type assertions referential equality by @jnyrup in #2046
- Use TheoryData by @jnyrup in #2068
- Pattern combinators by @jnyrup in #2039
- Update nugets by @jnyrup in #2077
- Set process dotnet cli language to en-US by @IT-VBFK in #2084
- Bump required .NET SDK to v7 by @jnyrup in #2087
- Optimize NUKE spell check by @IT-VBFK in #2089
- Cleanups by @jnyrup in #2081
- Fix build breaking on non PR branches by @IT-VBFK in #2090
- Add process env variable
DOTNET_CLI_UI_LANGUAGE
also inside targets by @ITaluone in #2092
New Contributors
- @danielchalmers made their first contribution in #2025
- @jez9999 made their first contribution in #2028
- @94sedighi made their first contribution in #2054
- @Ruijin92 made their first contribution in #2082
- @salvois made their first contribution in #2009
Full Changelog: 6.8.0...6.9.0
6.8.0
What's Changed
New features
- Extend collection assertions with
ContainInConsecutiveOrder
andNotContainInConsecutiveOrder
by @StacyCash in #1963 - Added
NotCompleteWithinAsync
for Task assertions by @lg2de in #1967 - Added assertions for non-generic
TaskCompletionSource
by @lg2de in #1961 - Exposes the
IMonitor
object to extensions methods. by @A-Kjeldgaard in #2010
Improvements
- Optimize
BeEquivalentTo
by @jnyrup in #1939 - Print commas at the end of the line by @ronaldkroon in #1945
- Avoid allocating sub-arrays in
ContainInOrder
by @jnyrup in #1960 - Extend
IObjectInfo
with info aboutDeclaringType
by @dennisdoomen in #1950 - Prepare constructors of
AsyncFunctionAssertions
to make them protected in V7 by @lg2de in #1972 - Calculate the difference between the subject and the expected nearby time by @IT-VBFK in #2013
Fixes
- Filter dynamic methods from stack trace by @jnyrup in #1943
- Make For/Excluding work with nested paths by @whymatter in #1953
- Use InvariantCulture when doing case-insensitive matches by @jnyrup in #1985
- Global record equivalency settings were not taken into account by @dennisdoomen in #1984
- Escape brackets in execution time failures by @Briaoeuidhtns in #1994
Documentation
- More specifically clarify the intentions of
WithArgs
by @jnyrup in #1929 - Remove building link from the website by @IT-VBFK in #1934
- Add
Enum.BeOneOf
to the docs by @jnyrup in #1958 - Document how to use
ModuleInitializer
by @jnyrup in #1966 - Fix a typo on the Assembly References documentation page by @asydikov in #1970
- Update summary of
EquivalencyValidator
by @Wolgo in #1991 - Improve error messages for accidental
Equals
usage by @nycdotnet in #2006
Others
- Upgrade to C# 10 by @jnyrup in #1935
- Use file scoped namespaces by @jnyrup in #1936
- More use of pattern matching and lifted operators by @jnyrup in #1937
- Update nuget packages by @jnyrup in #1962
- Make it possible for third-party libraries to access the underlying collection of instances of
ReadOnlyNonGenericCollectionWrapper
by @logiclrd in #1968 - Code cleanups by @jnyrup in #1973
- Improve coverage for
CollectionMemberObjectInfo
by @dennisdoomen in #1983 - Deduplicate target frameworks by @0xced in #1980
- Removed netcoreapp2.0 framework check in formatting precision tests by @iliashkolyar in #1976
- Rename
ShouldCompareMembersThisDeep
toShouldCompareNodesThisDeep
by @Wolgo in #1992 - Update nuget packages by @jnyrup in #1996
- Cleanups by @jnyrup in #1998
- Update GitHub actions by @jnyrup in #2007
- Fix the PR link in releases.md by @IT-VBFK in #2014
- Prepare 6.8.0 by @jnyrup in #2020
New Contributors
- @StacyCash made their first contribution in #1963
- @asydikov made their first contribution in #1970
- @0xced made their first contribution in #1980
- @Wolgo made their first contribution in #1991
- @Briaoeuidhtns made their first contribution in #1994
- @nycdotnet made their first contribution in #2006
- @A-Kjeldgaard made their first contribution in #2010
Full Changelog: 6.7.0...6.8.0
6.7.0
What's Changed
New features
- Add
BeDefined
andNotBeDefined
toEnumAssertions
by @IT-VBFK in #1888 - Restore basic assertions for collections in
System.Data
by @logiclrd in #1812 - Add the ability to exclude non-browsable members from equivalency tests by @logiclrd in #1827
- Add
For
/Exclude
to allow exclusion of members inside a collection by @whymatter in #1782 - Add overload to
HaveElement()
to be able to assert on occurrences forXDocument
andXElement
by @ITaluone in #1880
Fixes
Documentation
- Update documentation for event monitoring at .netstandard2.0 by @ITaluone in #1879
- Update docxml comments on
BeInRange
by @andrewlock in #1907 - Add ContainSingle.Where to collection examples by @timabell in #1917
Others
- More code coverage by @ITaluone in #1871
- Code style fixes by @ITaluone in #1881
- Add missing tests (according to coveralls) for Data* objects by @IT-VBFK in #1882
- Fix small typo in
AssertionScope
by @IT-VBFK in #1890 - Add missing tests for matching
null
with a wildcard by @IT-VBFK in #1889 - More testing of guarding methods by @jnyrup in #1891
- Fix release notes by @IT-VBFK in #1892
- Structure assertions with nested classes instead of regions (Part 1) by @IT-VBFK in #1898
- Add missing
null
check tests in Data*Specs by @IT-VBFK in #1899 - Structure assertions with nested classes instead of regions (Part 2) by @IT-VBFK in #1900
- Update nugets by @jnyrup in #1901
- Cleanup README.md by @robvanuden in #1905
- Structure assertions with nested classes instead of regions (Part 3) by @IT-VBFK in #1903
- Try to stabilize UIFact tests by running them sequentially by @jnyrup in #1902
- Structure assertions with nested classes instead of regions (Part 4) by @IT-VBFK in #1908
- Structure assertions with nested classes instead of regions (Part 5) by @IT-VBFK in #1909
- Fix coveralls badge by @ITaluone in #1906
- Fix codestyle issues by @ITaluone in #1912
- Structure assertions with nested classes instead of regions (Part 6) by @IT-VBFK in #1911
- Fix the failure message for occurrence regex by @ITaluone in #1913
New Contributors
- @ITaluone made their first contribution in #1871
- @whymatter made their first contribution in #1782
- @andrewlock made their first contribution in #1907
- @timabell made their first contribution in #1917
Full Changelog: 6.6.0...6.7.0
6.6.0
What's Changed
New features
- Adding support for .NET6
DateOnly
struct by @iliashkolyar in #1844 - Adding support for .NET6
TimeOnly
struct by @iliashkolyar in #1848 - Extend
NullableBooleanAssertions
byNotBe()
by @mu88 in #1865 - Added a new overload to
MatchRegex()
to assert on the number of regex matches by @IT-VBFK in #1869
Improvements
- Annotated
[Not]MatchRegex
with[StringSyntax("Regex")]
by @jnyrup in #1816 - Determine caller name for
EnumAssertions.Be
by @jnyrup in #1835 - Add difference to numeric assertion failure messages by @iliashkolyar in #1859
- Improve difference calculation of overflowing integrals by @jnyrup in #1875
Fixes
- Ensure
ExcludingMissingMembers
doesn't undo usage ofWithMapping
by @dennisdoomen in #1838 - Better support for NaN in numeric assertions on floats and doubles by @dennisdoomen in #1822
WithMapping
now works in equivalency assertions on collections by @dennisdoomen in #1858- Better handling of NaN in nullable numeric assertions by @jnyrup in #1867
Documentation
- Fix typo in comment for
ComparingRecordsByMembers
by @kijanawoodard in #1809 - Add release notes template by @jnyrup in #1818
- Update migration tip on how to replace
AllItemsAreInstancesOfType
by @IT-VBFK in #1873
Others
- Add code coverage reporting by @eNeRGy164 in #1815
- Fix uninvoked actions in tests by @jnyrup in #1817
- Update nuget packages by @jnyrup in #1819
- More Code Coverage by @jnyrup in #1820
- Reordered the numeric tests and replaced regions with nested classes by @dennisdoomen in #1821
- Fill gaps in System.Data unit testing by @logiclrd in #1814
- Add net6.0 target by @jnyrup in #1831
- Target PRs at develop instead of master by @jnyrup in #1836
- Adds test for string collection equivalency by @chvollm in #1843
- Replaced regions in numeric specs with nested classes by @dennisdoomen in #1837
- Rename constructor parameter for
NullableDateOnlyAssertions
by @jnyrup in #1846 - Improve code coverage of fake should overloads by @jnyrup in #1847
- Improve code coverage and fix some test mutations by @eNeRGy164 in #1839
- Removes unnecessary code by @chvollm in #1849
A_NaN_is_never_in_range_of_two_doubles
was exercisingfloat
s by @jnyrup in #1852- Split
StringAssertionSpecs
file by @eNeRGy164 in #1855 - Update internal test and build nuget packages by @jnyrup in #1866
- Add test coverage for
OccurrenceConstraint
by @eNeRGy164 in #1856 - Fix Some Typos in UpgradingToV6.md by @say25 in #1870
- Cleanups in Specs by @jnyrup in #1853
New Contributors
- @kijanawoodard made their first contribution in #1809
- @say25 made their first contribution in #1870
- @IT-VBFK made their first contribution in #1869
Full Changelog: 6.5.1...6.6.0