Download Latest Version v14.0.0 source code.zip (248.8 kB)
Email in envelope

Get an email when there's a new version of Nimble

Home / v14.0.0
Name Modified Size InfoDownloads / Week
Parent folder
Nimble.xcframework.zip 2025-11-28 43.6 MB
README.md 2025-11-28 2.0 kB
v14.0.0 source code.tar.gz 2025-11-28 150.4 kB
v14.0.0 source code.zip 2025-11-28 248.8 kB
Totals: 4 Items   44.0 MB 0

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

Full Changelog: https://github.com/Quick/Nimble/compare/v13.8.0...v14.0.0

Source: README.md, updated 2025-11-28