Releases: Quick/Nimble
v11.2.2
Highlights
Nimble v11.2.2 is a minor bug fix release which fixes the build on Xcode 14.3 and Wasm.
Thanks to @dymv for fixing the Xcode 14.3 build and to @ikesyo for fixing the wasm build!
Autogenerated Changelog
What's Changed
- Bump activesupport from 6.1.5 to 6.1.7.1 by @dependabot in #1029
- Bump cocoapods from 1.11.3 to 1.12.0 by @dependabot in #1032
- Fixes the build on Xcode 14.3b2 by @dymv in #1033
- Bump activesupport from 7.0.4.2 to 7.0.4.3 by @dependabot in #1034
- Fix wasm build by @ikesyo in #1036
New Contributors
Full Changelog: v11.2.1...v11.2.2
v11.2.1
Fixed tripping the main thread checker in async toEventually
checks. Your CI should no longer report that tests erroneously crashed because the expression's debugDescription
dared to reference something that needed to run on the main thread.
What's Changed
- Add documentation on recommended ways to configure AsyncDefaults by @younata in #1022
- Ensure that stringify'ing an expression as part of the async/await polling infrastructure always happens on the main thread by @younata in #1024
Full Changelog: v11.2.0...v11.2.1
v11.2.0
Improved developer experience by allowing you to use the sync form of expect
in a test that has other usage of async test. i.e. the following code compiles again:
class MyTest: XCTestCase {
func testExample() {
await someAsyncFunction()
expect(someValue).to(equal(expectedValue))
}
}
What's Changed
Full Changelog: v11.1.1...v11.2.0
v11.1.1
v11.1.0
11.1.0 drops support for Swift 5.6 (you must use Xcode 14 or later). #1009
11.1.0 fixes a developer experience bug where you could unknowingly use the sync version of toEventually
in an async context, which will cause test timeout failures. #1010
That is, the following test method (XCTest-style) would compile with no errors or warnings emitted, but fail at test runtime due to timeout issues. In v11.1.0, this now emits a warning that you're using the wrong version of toEventually
(and similar).
@MainActor func testSomething() async {
expect(1).toEventually(equal(1)) // (in v11.0.0, this would not emit any kind of warning or error, but would definitely fail with a timeout error)
}
Full Changelog: v11.0.0...v11.1.0
v11.0.0
This closes the v11.0.0 milestone.
Highlights
Primarily, this release now supports running tests in async contexts.
Fixed
toEventually
et. al. now works from background threads. #1000toEventually
et. al. now work in async tests. #1007
New
- Async/await support in expectation expressions (e.g.
await expect(await someAsyncFunction()).to(...)
). #1004 append(details:)
now respects whitespace that is in the message. #1001- watchOS support. #916
- You can now directly check if an expectation has passed or not. #995
Breaking
- Raised version requirements to Swift 5.6, iOS 13, macOS 10.15, tvOS 13, and watchOS 6. #984
- The
Expectation
struct is now a protocol. There are 2 concrete implementations,SyncExpectation
andAsyncExpectation
.AsyncExpectation
does not supporttoEventually
, and is meant for awaiting on async functions.SyncExpectation
is effectively the olderExpectation
implementation, and works as it used to. #1004
Auto-generated release notes
What's Changed
- Add support for watchOS by @JosephDuffy in #916
- Add @younata to funding.yml by @younata in #994
- Expose whether an expectation has passed and provide an option to throw by @bnickel in #995
- Raise minimum required OS and Swift Versions to Async-Support versions. by @younata in #999
- Don't strip whitespace from appended newlines by @younata in #1001
- Allow toEventually to run on background threads by @younata in #1000
- Allow using async/await in expect by @younata in #1004
- Get toEventually et al working in async contexts. by @younata in #1007
New Contributors
- @JosephDuffy made their first contribution in #916
- @bnickel made their first contribution in #995
Full Changelog: v10.0.0...v11.0.0
v10.0.0
This closes the v10.0.0 milestone.
Highlights
See additional details under the auto-generated release notes below.
Fixed
- Various documentation improvements
- Remove various deprecated APIs
New
- Add
toAlways
, the inverse oftoNever
#969 - Add
beWithin
matcher #886 - Support nested optionals in
beNil
matcher #894 - Support operator overloads for
beNil
matcher #893 - Support
throwAssertion
matcher on SwiftPM on Linux #891 - Add support for tuples of up to 6 elements to
equal
matcher, as with the standard library #880 - Add matchers for Swift 5 Result type #643
Breaking
- Swift 5.4+
- Xcode 12.5+
- Remove old Matcher API #876
- Use FloatingPoint protocol in
beCloseTo
matcher #879 passFunc
ofallPass
matcher now takesS.Element
overS.Element?
#895
Auto-generated release notes
What's Changed
- [BREAKING] Bump Swift requirement to 5.3 (Xcode 12) by @ikesyo in #875
- [README] Use
expect
with trailing closure syntax for thesucceed
matcher by @ikesyo in #877 - Suppress SwiftPM build warnings by @ikesyo in #878
- [BREAKING] Remove old Matcher API by @ikesyo in #876
- Add support for tuples of up to 6 elements to
equal
matcher, as with the standard library by @ikesyo in #880 - [BREAKING] Use FloatingPoint protocol in
beCloseTo
matcher by @ikesyo in #879 - Adding toNever expectation by @rkreutz in #800
- [ObjC] Add
toNever
expectation by @ikesyo in #885 - [BREAKING] Remove deprecated and unavailable APIs by @ikesyo in #887
- Add
beWithin
matcher by @ikesyo in #886 - Experimental SwiftWasm support by @ikesyo in #889
- Removed invalid anchors in the README. by @daveverwer in #890
- Support
throwAssertion
matcher on SwiftPM on Linux by @ikesyo in #891 - Adds matchers for Swift 5 Result type by @xzeror in #643
- Support operator overloads for
beNil
matcher by @ikesyo in #893 - Support nested optionals in
beNil
matcher by @ikesyo in #894 - [BREAKING]
passFunc
ofallPass
matcher now takesS.Element
overS.Element?
by @ikesyo in #895 - Follow
master
-to-main
branch renaming by @ikesyo in #896 - Add more specific operator overloads for
equal
matcher by @ikesyo in #897 - Simplify
equal
matcher implementation by @ikesyo in #907 - [CI] Test Swift 5.5 Development by @ikesyo in #908
- [README] Remove deprecated Accio references by @ikesyo in #909
- [CI] macOS 11 and Xcode 12.5 by @ikesyo in #912
- Work around Xcode 13 archiving issue by @ikesyo in #915
- Bump addressable from 2.7.0 to 2.8.0 by @dependabot in #918
- Bump cocoapods from 1.10.1 to 1.10.2 by @dependabot in #920
- [CI] Test Xcode 13 by @ikesyo in #926
- Update CwlPreconditionTesting to 2.0.1 by @ikesyo in #927
- Reduce CI duration by removing tests on iPad simulator by @ikesyo in #929
- Specify header_dir in the podspec by @tsapeta in #921
- [CI] Disable swift:nightly tests temporarily by @ikesyo in #930
- Bump cocoapods from 1.10.2 to 1.11.0 by @dependabot in #933
- Bump swiftwasm/swiftwasm-action from 5.3 to 5.4 by @dependabot in #932
- Bump cocoapods from 1.11.0 to 1.11.1 by @dependabot in #934
- Bump cocoapods from 1.11.1 to 1.11.2 by @dependabot in #935
- [CI] Test Swift 5.5 stable by @ikesyo in #939
- Fix type inference problem for
equal
matchers on Xcode 12.5 or above by @ikesyo in #938 - [BREAKING] Bump Swift requirement to 5.4 (Xcode 12.5) by @ikesyo in #941
- Add support for precondition testing on Apple Silicon by @svenmuennich in #948
beIdenticalTo
/===
: disallow comparing non-objects by @NachoSoto in #955- Bump actions/checkout from 2 to 3 by @dependabot in #970
- Fix
succeed
matcher type inference issue by @ikesyo in #965 - Bump cocoapods from 1.11.2 to 1.11.3 by @dependabot in #972
- Bump cocoapods-downloader from 1.5.1 to 1.6.3 by @dependabot in #975
- Disable ThrowAssertion for watchOS to make Nimble compile for watchOS by @danielsaidi in #953
- Add toAlways, the inverse of toNever. by @younata in #969
- Simplify the implementations of beTruthy and beFalsy by @younata in #978
- Fix equal compilation optionals by @younata in #982
- Add document for running tests on linux using docker by @younata in #980
- Update documentation for the beCloseTo and beWithin matchers by @younata in #983
- [10.0.0] bump version, gen docs by @jessesquires in #985
New Contributors
- @rkreutz made their first contribution in #800
- @daveverwer made their first contribution in #890
- @xzeror made their first contribution in #643
- @tsapeta made their first contribution in #921
- @svenmuennich made their first contribution in #948
- @NachoSoto made their first contribution in #955
- @danielsaidi made their first contribution in #953
- @jessesquires made their first contribution in #985
Full Changelog: v9.2.0...v10.0.0
v9.2.1
v9.2.0
v9.1.0
Additions
- Add
satisfyAnyOf
andsatisfyAllOf
overloads that take arrays of matchers #861, #869 (Thanks @younata)
Improvements
- Use target dependency condition instead of build machine info #842 (Thanks @kateinoigakukun)
- [CI] Update Xcode and Swift versions #866, #871
- Xcode 12.5: Update to recommended settings #868