Skip to content

Releases: Quick/Nimble

v13.3.0

08 Apr 16:40
v13.3.0
Compare
Choose a tag to compare

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

25 Feb 06:30
v13.2.1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v13.2.0...v13.2.1

v13.2.0 - visionOS, map matcher.

17 Jan 23:11
v13.2.0
Compare
Choose a tag to compare

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!

Note: This version of Nimble is not available in Cocoapods. Nimble 13.2.1 is available in Cocoapods.

Autogenerated Release Notes

What's Changed

New Contributors

Full Changelog: v13.1.2...v13.2.0

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