Skip to content

Releases: Quick/Nimble

v13.1.2

05 Jan 05:38
v13.1.2
Compare
Choose a tag to compare

What's Changed

Full Changelog: v13.1.1...v13.1.2

v13.1.1 - The Require DSL, but now with a fixed cocoapods build

21 Dec 19:11
v13.1.1
Compare
Choose a tag to compare

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

21 Dec 16:38
v13.1.0
Compare
Choose a tag to compare

Highlights

New Features

  • Introduce the require dsl. This throws an error (a RequireError, 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]. However try require(2).toEqual(1)) will throw a RequireError.
    • When the matcher fails, require will still register the assertion failure with XCTest.
    • This also adds unwrap and pollUnwrap, which are work as try require(...).toNot(beNil()) and try 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.

Deprecations

  • Removes Expectation.onFailure, as the new require 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

10 Oct 16:40
v13.0.0
Compare
Choose a tag to compare

Highlights

New Features

  • Nimble now supports Windows! (Thanks @brianmichel!)
  • the Predicate series of APIs has been renamed to Matcher. 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

Automated Release Notes

What's Changed

New Contributors

Full Changelog: v12.3.0...v13.0.0

v13.0.0-rc.1

02 Oct 20:45
v13.0.0-rc.1
Compare
Choose a tag to compare
v13.0.0-rc.1 Pre-release
Pre-release

Highlights

New Features

  • Nimble now supports Windows! (Thanks @brianmichel!)
  • the Predicate series of APIs has been renamed to Matcher. 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

New Contributors

Full Changelog: v12.3.0...v13.0.0-rc.1

v12.3.0

17 Sep 04:54
v12.3.0
Compare
Choose a tag to compare

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

Full Changelog: v12.2.0...v12.3.0

v12.2.0

28 Jul 15:34
v12.2.0
Compare
Choose a tag to compare

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

15 Jul 05:48
Compare
Choose a tag to compare

Highlights

  • You can now create Predicates that run in async contexts.

What's Changed

New Contributors

Full Changelog: v12.0.1...v12.1.0

v12.0.1

01 Jun 22:45
Compare
Choose a tag to compare

What's Changed

Full Changelog: v12.0.0...v12.0.1

v12.0.0

14 Apr 16:57
Compare
Choose a tag to compare

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

Full Changelog: v11.2.2...v12.0.0