Releases: Quick/Nimble
Releases · Quick/Nimble
v13.4.0
What's Changed
- Bump rexml from 3.2.6 to 3.2.8 by @dependabot in #1143
- BeLogical: fix retroactive conformance error. by @TomerHacohen in #1149
- Add a matcher to negate a passed in matcher by @younata in #1151
New Contributors
- @TomerHacohen made their first contribution in #1149
Full Changelog: v13.3.0...v13.4.0
v13.3.0
Highlights
- Adds Matchers for Result that match against submatchers or equatable values.
- Use DocC for documentation.
- Make
PollingDefaults
threadsafe.
What's Changed
- Make PollingDefaults threadsafe by @younata in #1122
- Bump softprops/action-gh-release from 1 to 2 by @dependabot in #1128
- Depend on CwlPreconditionTesting 2.2.0 for Cocoapods by @younata in #1129
- Add matchers for Result that match against submatchers, or for equatable values. by @younata in #1134
- Use docc for documentation, instead of having it all in a single, giant README. by @younata in #1135
- Get documentation deploying working. by @younata in #1136
- Improve documentation articles by adding short abstracts to them. by @younata in #1137
- Fix a typo in the name of this framework. 🤦🏻♀️ by @younata in #1138
- Bump actions/checkout from 3 to 4 by @dependabot in #1139
Full Changelog: v13.2.1...v13.3.0
v13.2.1
What's Changed
- Bump cocoapods from 1.14.3 to 1.15.0 by @dependabot in #1116
- Bump cocoapods from 1.15.0 to 1.15.2 by @dependabot in #1119
- Fix bug where expect(nil).toAlways(equal(0)) would erroneously pass by @younata in #1121
Full Changelog: v13.2.0...v13.2.1
v13.2.0 - visionOS, map matcher.
Highlights
- Nimble now supports visionOS! Thanks @stonko1994!
- Adds a new
map
matcher.map
allows you to transform the expression to another value, and pass that value to another matcher.- For example, if you wanted to match the first element in a tuple easily, you could write:
expect(myTuple).to(map(\.0, equal(expectedValue)))
. - See the docs for more suggestions!
- For example, if you wanted to match the first element in a tuple easily, you could write:
Note: This version of Nimble is not available in Cocoapods. Nimble 13.2.1 is available in Cocoapods.
Autogenerated Release Notes
What's Changed
- Add a
map
matcher. by @younata in #1112 - Build the carthage frameworks in a github action by @younata in #1107
- Bump cocoapods from 1.14.2 to 1.14.3 by @dependabot in #1100
- Add a privacy manifest by @younata in #1113
- Add visionOS support by @stonko1994 in #1098
New Contributors
- @stonko1994 made their first contribution in #1098
Full Changelog: v13.1.2...v13.2.0
v13.1.2
What's Changed
- Fix cocoapods dependencies by @svenmuennich in #1111
Full Changelog: v13.1.1...v13.1.2
v13.1.1 - The Require DSL, but now with a fixed cocoapods build
Highlights
See the previous release for more on the require DSL.
BugFixes
- Fix cocoapods release.
Automated Release Notes
What's Changed
- Fix build on cocoapods by specifying the correct location for the CocoaWithLove exception helper libraries by @younata in #1109
Full Changelog: v13.1.0...v13.1.1
v13.1.0 - The Require DSL
Highlights
New Features
- Introduce the
require
dsl. This throws an error (aRequireError
, or a custom one) if the matcher used with it fails. If the matcher doesn't fail, then the require dsl will return the result of the expression.- For example,
try require([1, 2, 3]).to(haveCount(3))
will return[1, 2, 3]
. Howevertry require(2).toEqual(1))
will throw aRequireError
. - When the matcher fails,
require
will still register the assertion failure with XCTest. - This also adds
unwrap
andpollUnwrap
, which are work astry require(...).toNot(beNil())
andtry require(...).toEventuallyNot(beNil())
. With both sync and async variants. They either throw, or return non-optional versions of the expression. - See the documentation here for more.
- For example,
Deprecations
- Removes
Expectation.onFailure
, as the newrequire
dsl entirely replaces that API. This deprecation will persist through Nimble 14, before being marked as removed in Nimble 15 and fully removed in Nimble 16.
Breaking Changes
- The
throwAssertion
matcher no longer supports watchOS and tvOS in the cocoapods distribution of Nimble. This is because Nimble no longer directly embeds the CwlCatchException CwlPreconditionTesting libraries used in that matcher and instead Nimble pulls in those libraries transitively through the package manager used.
Automated Release Notes
What's Changed
- Bump cocoapods from 1.13.0 to 1.14.2 by @dependabot in #1094
- Introduce the require dsl. For when you need the assertion to pass before continuing by @younata in #1103
- Pull in CwlCatchException and CwlPreconditionTesting transitively. by @younata in #1108
Full Changelog: v13.0.0...v13.1.0
v13.0.0
Highlights
New Features
- Nimble now supports Windows! (Thanks @brianmichel!)
- the
Predicate
series of APIs has been renamed toMatcher
. There are typealiases for the older APIs to better enable migrations. These typealiases will be marked as removed in the next major version of Nimble (Nimble 14), and they will be removed entirely in Nimble 15. - Nimble now supports the DriverKit platform.
Breaking Changes
- The
Predicate
series of APIs have been renamed. - The
AsyncDefaults
struct is now marked as removed. It will be fully removed in the next major version of Nimble. - The platform-independent targets in
Nimble.xcodeproj
have now been consolidated into a single Nimble (and NimbleTests) target.
Other Notes
- No changes since Nimble 13 RC 1.
Automated Release Notes
What's Changed
- Update release script for a more modern-ish release process by @younata in #1086
- Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in #1089
- Add Windows Support by @brianmichel in #1088
- Rename Predicate to Matcher by @younata in #1090
- Mark the AsyncDefaults struct as removed. by @younata in #1092
- Consolidate xcodeproj targets (... again). by @younata in #1093
- Bump actions/checkout from 3 to 4 by @dependabot in #1091
New Contributors
- @brianmichel made their first contribution in #1088
Full Changelog: v12.3.0...v13.0.0
v13.0.0-rc.1
Highlights
New Features
- Nimble now supports Windows! (Thanks @brianmichel!)
- the
Predicate
series of APIs has been renamed toMatcher
. There are typealiases for the older APIs to better enable migrations. These typealiases will be marked as removed in the next major version of Nimble (Nimble 14), and they will be removed entirely in Nimble 15. - Nimble now supports the DriverKit platform.
Breaking Changes
- The
Predicate
series of APIs have been renamed. - The
AsyncDefaults
struct is now marked as removed. It will be fully removed in the next major version of Nimble. - The platform-independent targets in
Nimble.xcodeproj
have now been consolidated into a single Nimble (and NimbleTests) target.
Automated Release Notes
What's Changed
- Update release script for a more modern-ish release process by @younata in #1086
- Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in #1089
- Add Windows Support by @brianmichel in #1088
- Rename Predicate to Matcher by @younata in #1090
- Mark the AsyncDefaults struct as removed. by @younata in #1092
- Consolidate xcodeproj targets (... again). by @younata in #1093
- Bump actions/checkout from 3 to 4 by @dependabot in #1091
New Contributors
- @brianmichel made their first contribution in #1088
Full Changelog: v12.3.0...v13.0.0-rc.1
v12.3.0
Highlights
- the async variant of
toEventually
no longer kicks off unstructured background tasks to check that the matcher matches. This means that there will no longer be the possibility that the same value will be being checked by multiples of the same matcher.
What's Changed
- Bump activesupport from 7.0.4.3 to 7.0.7.2 by @dependabot in #1080
- Bump actions/checkout from 3 to 4 by @dependabot in #1081
- Implement the async variant of toEventually using structured concurrency by @younata in #1079
- Fix all swiftlint warnings by @younata in #1085
Full Changelog: v12.2.0...v12.3.0