Releases: Quick/Nimble
Releases · Quick/Nimble
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
v12.2.0
Highlights
the equal
matcher now supports arrays of tuples. For example:
expect([
(1, 2),
(3, 4)
]).to(equal([
(1, 2),
(3, 4)
]))
Thanks @faroman for their contribution!
Automatically Generated Release Notes
What's Changed
New Contributors
Full Changelog: v12.1.0...v12.2.0
v12.1.0 - AsyncPredicate
Highlights
- You can now create Predicates that run in async contexts.
What's Changed
- Add AsyncPredicate - Matchers with AsyncExpressions by @younata in #1056
- Remove unused constant by @peterringset in #1064
New Contributors
- @peterringset made their first contribution in #1064
Full Changelog: v12.0.1...v12.1.0
v12.0.1
What's Changed
- Fix wasm build by @ikesyo in #1053
- Bump cocoapods from 1.12.0 to 1.12.1 by @dependabot in #1054
- Bump swiftwasm/swiftwasm-action from 5.7 to 5.8 by @dependabot in #1057
- Make the async version of poll concurrency-safe by wrapping it in an actor by @younata in #1059
- cast an empty array to avoid a warning during compile time by @younata in #1060
Full Changelog: v12.0.0...v12.0.1
v12.0.0
Nimble 12 adds the ability to using polling expectations with async expressions. Additionally, Nimble 12 includes a number of quality-of-life improvements and bug fixes.
What's Changed
- Update the README to have an accurate usage of expect by @younata in #1038
- Allow usage of toEventually with async expressions by @younata in #1039
- Replace public usage of DispatchTimeInterval with a new NimbleTimeInterval by @younata in #1042
- Make NimbleTimeInterval.dispatchTimeInterval public by @younata in #1043
- Run SyncExpectation's expression in async contexts of toEventually on the main actor. by @younata in #1044
- satisfyAllOf and satisfyAnyOf should only evaluate the expression once. by @younata in #1045
- Rename AsyncDefaults to PollingDefaults by @younata in #1023
- Fixed Swift.package: added macCatalyst to the condition for CwlPreconditionTesting dependency by @uebelack in #1048
- Raise minimum watchos deployment target to 7.0 by @younata in #1050
- Feature/handle multithreaded notifications by @johnmckerrell and @younata in #1051
- Objective-C support in the Swift Package version by @younata in #1005
- Update documentation in preparation for Nimble 12 by @younata in #1052
New Contributors
- @uebelack made their first contribution in #1048
- @johnmckerrell made their first contribution in #1051
Full Changelog: v11.2.2...v12.0.0