Skip to content

Releases: Quick/Nimble

v14.0.0

28 Nov 18:13
v14.0.0

Choose a tag to compare

Highlights

Nimble 14 includes a reimplementation of polling expectations. Previously, polling expectations would run 2 tasks: The polling, and a timer. Once the timer ends, the polling task is stopped. This worked, but left open the possibility for increased flakiness in heavily loaded environments (as CI often is), and in parallel testing environments (i.e. using Nimble with Swift Testing). Nimble 14 changes how polling expectations are done to instead first calculate how much to poll (based on the duration & interval specified), and then poll based on that amount calculated (e.g. the default 1 second duration with 1 millisecond interval will result in 1000 polling attempts, waiting 1 millisecond between each attempt). This means that time spent running the polling is not accounted for, which does increase the wall-clock time that polling lasts for. Again, this implementation entirely eliminates one source of flakiness; reliability is worth a little extra runtime.

Deprecations

Nimble 14 deprecates synchronous polling expectations (using polling expectations without await) and the synchronous waitUntil when used from Swift. We will continue to allow polling expectations from Objective-C.

Additionally, Nimble 14 will emit test warnings (Requires Swift 6.3 and later, which is when this feature will be introduced) when using the asynchronous version of waitUntil in a Swift Testing environment. If I could make this a compile-time deprecation warning, I would.

In a future version of Nimble, these will be removed/will emit test failures when used.

Auto-Generated Changelog

What's Changed

  • Reimplement polling expectations to make them more reliable under heavy system loads by @younata in #1199
  • Fix waitUntil, which was broken in the new implementation of polling expectations by @younata in #1202

Full Changelog: v13.8.0...v14.0.0

v13.8.0

01 Oct 22:38
v13.8.0

Choose a tag to compare

Highlights

  • requireFail now returns Never, indicating the status that it will always throw an error. (Thanks @bnickel!)
  • toAlways and toNever will never fail on a main thread timeout. (Thanks @bnickel!)

Auto-Generated Release Notes

What's Changed

New Contributors

Full Changelog: v13.7.1...v13.8.0

v13.7.1

16 Dec 03:52
v13.7.1

Choose a tag to compare

What's Changed

  • done compatible with Sendable by @soranoba in #1159
  • add an explicit test that NSObject with custom equality works by @younata in #1181
  • Fix regression where be and beIdenticalTo matchers stopped matching against AnyObject protocols by @younata in #1183

Full Changelog: v13.7.0...v13.7.1

v13.7.0

12 Dec 00:56
v13.7.0

Choose a tag to compare

What's Changed

  • Bump the ruby version used in github workflows by @younata in #1175
  • Bump cocoapods from 1.15.2 to 1.16.2 by @dependabot in #1172
  • Bump jazzy from 0.14.4 to 0.15.3 by @dependabot in #1170
  • Fix error message grammar in DSL+Wait.swift by @ianrahman in #1176
  • Fix expected text in waitUntil stall test by @younata in #1179
  • Allow beIdenticalTo and be matchers to be used as composed matchers by @younata in #1178
  • Add an overload of map that allows you to fail the conversion by returning nil. by @younata in #1177
  • Rename the failable map overload to compactMap by @younata in #1180

New Contributors

Full Changelog: v13.6.2...v13.7.0

v13.6.2

06 Nov 01:26
v13.6.2

Choose a tag to compare

What's Changed

Full Changelog: v13.6.1...v13.6.2

v13.6.1

05 Nov 22:53
v13.6.1

Choose a tag to compare

What's Changed

  • Bump rexml from 3.3.6 to 3.3.9 by @dependabot in #1171
  • Allow beAKindOf and beAnInstanceOf to nest inside of other matchers by @younata in #1173

Full Changelog: v13.6.0...v13.6.1

v13.6.0

13 Oct 23:42
v13.6.0

Choose a tag to compare

What's Changed

  • Allow unwrap and pollUnwrap to take in custom descriptions by @younata in #1162
  • Add requireFail. Like fail(), but it also always throws an error by @younata in #1163
  • Fix build error when using UI Tests by @younata in #1164

Full Changelog: v13.5.0...v13.6.0

v13.5.0

12 Sep 19:00
v13.5.0

Choose a tag to compare

What's Changed

Full Changelog: v13.4.0...v13.5.0

v13.4.0

08 Aug 06:00
v13.4.0

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v13.3.0...v13.4.0

v13.3.0

08 Apr 16:40
v13.3.0

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