Swiftpack.co - Swift Packages by Quick

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.

Packages published by Quick

Quick/Quick v7.5.0
The Swift (and Objective-C) testing framework.
⭐️ 9,756
🕓 4 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v7.5.0 - Pending tests are now marked as Skipped in Xcode
4 weeks ago
## Highlights - Any tests which are pended-out (using `pending`, `xdescribe`, `xcontext`, `xitBehavesLike`, or `xit`), OR tests which are skipped because they are not focused (that is, the **other** tests when you use `fdescribe`, `fcontext`, `fitBehavesLike` or `fit`) are now marked as skipped in Xcode. ## Automated Changelog * Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/Quick/Quick/pull/1274 * Mark tested which are pended-out or not focused as skipped. by @younata in https://github.com/Quick/Quick/pull/1276 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.4.1...v7.5.0
v7.4.1
6 weeks ago
## What's Changed * Bump cocoapods from 1.14.3 to 1.15.0 by @dependabot in https://github.com/Quick/Quick/pull/1265 * Corrected typo in document by @regi93 in https://github.com/Quick/Quick/pull/1267 * Bump cocoapods from 1.15.0 to 1.15.2 by @dependabot in https://github.com/Quick/Quick/pull/1269 * Respect XCTSkip and StopTest errors in beforeEach, afterEach and aroundEach by @younata in https://github.com/Quick/Quick/pull/1273 ## New Contributors * @regi93 made their first contribution in https://github.com/Quick/Quick/pull/1267 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.4.0...v7.4.1
v7.4.0 - visionOS support
13 weeks ago
# Highlights - Quick now supports visionOS! Thanks @stonko1994! # Autogenerated Release Notes ## What's Changed * Release script should auto-update local ruby dependencies by @younata in https://github.com/Quick/Quick/pull/1263 * Add visionOS support by @stonko1994 in https://github.com/Quick/Quick/pull/1249 ## New Contributors * @stonko1994 made their first contribution in https://github.com/Quick/Quick/pull/1249 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.3.1...v7.4.0
v7.3.1
13 weeks ago
# Highlights - Fixes a crash in AsyncSpec caused by race condition when unsetting AsyncSpec.current. # Autogenerated Release Notes ## What's Changed * Bump danger from 9.3.1 to 9.3.2 by @dependabot in https://github.com/Quick/Quick/pull/1243 * Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in https://github.com/Quick/Quick/pull/1244 * Bump fkirc/skip-duplicate-actions from 5.3.0 to 5.3.1 by @dependabot in https://github.com/Quick/Quick/pull/1245 * Bump cocoapods from 1.13.0 to 1.14.2 by @dependabot in https://github.com/Quick/Quick/pull/1247 * Bump rake from 13.0.6 to 13.1.0 by @dependabot in https://github.com/Quick/Quick/pull/1248 * Consolidate Quick-macOS, Quick-iOS and Quick-tvOS into a single Quick target by @younata in https://github.com/Quick/Quick/pull/1222 * Bump danger from 9.3.2 to 9.4.1 by @dependabot in https://github.com/Quick/Quick/pull/1254 * Bump danger from 9.4.1 to 9.4.2 by @dependabot in https://github.com/Quick/Quick/pull/1257 * Bump cocoapods from 1.14.2 to 1.14.3 by @dependabot in https://github.com/Quick/Quick/pull/1252 * Build carthage artifacts as a github action. by @younata in https://github.com/Quick/Quick/pull/1259 * Add a privacy manifest by @younata in https://github.com/Quick/Quick/pull/1260 * Fix crash in AsyncSpec when using TestState by @younata in https://github.com/Quick/Quick/pull/1261 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.3.0...v7.3.1
v7.3.0
31 weeks ago
## Highlights - Adds a property wrapper default initializer for TestState. Meaning the following declaration is now accepted! ```swift @TestState var foo: Int! = 30 ``` Thanks @tahirmt! - TestState now nils out the value after all afterEach blocks run, instead of in the middle of the afterEach chain. Thanks @CraigSiemens ## What's Changed * Bump activesupport from 7.0.4.3 to 7.0.7.2 by @dependabot in https://github.com/Quick/Quick/pull/1238 * Add property wrapper default initializer for TestState by @tahirmt in https://github.com/Quick/Quick/pull/1235 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Quick/pull/1241 * Updated TestState to remove the value after the test. by @CraigSiemens in https://github.com/Quick/Quick/pull/1240 * Update release script to generate a carthage binary and include it in the release. by @younata in https://github.com/Quick/Quick/pull/1234 ## New Contributors * @tahirmt made their first contribution in https://github.com/Quick/Quick/pull/1235 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.2.0...v7.3.0
v7.2.0 - TestState property wrapper
38 weeks ago
# Highlight You can now use the `@TestState` property wrapper to automatically deconstruct test variables. For example: ```swift describe("using TestState") { @TestState var subject: SomeObject? } ``` Is functionally equivalent to: ```swift describe("using TestState") { var subject: SomeObject? afterEach { subject = nil } } ``` You can also specify an initial value, and `TestState` will act as an `aroundEach`: setting the wrapped variable to the value, then setting it to nil at test teardown. ```swift describe("using TestState") { @TestState(1) var value: Int? it("is already configured") { expect(value).to(equal(1)) } } ``` Thanks @CraigSiemens for their contribution! # Automated Release Notes ## What's Changed * Added a TestState property wrapper, again :D by @CraigSiemens in https://github.com/Quick/Quick/pull/1233 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.1.0...v7.2.0
v7.1.0
41 weeks ago
# Highlights ## New Features - You can now use `throw` in `beforeEach`, `justBeforeEach`, and `afterEach` blocks. - Quick now suggests to XCTest that tests run in the order they are defined in. ## Fixes - `beforeEach` blocks specified in configurations are now run in AsyncSpec tests. - `xitBehavesLike(_ name: String)` is now available in `QuickSpec` and `Behavior`. # Autogenerated ChangeLog ## What's Changed * Bump danger from 9.3.0 to 9.3.1 by @dependabot in https://github.com/Quick/Quick/pull/1224 * Ensure beforeEach in Configuration run for AsyncSpec by @junmo-kim in https://github.com/Quick/Quick/pull/1228 * Allow beforeEach, justBeforeEach, and afterEach in Swift to throw by @younata in https://github.com/Quick/Quick/pull/1229 * Improve documentation for installing Quick and Nimble via Cocoapods in the README. by @younata in https://github.com/Quick/Quick/pull/1231 * Make a public xitBehavesLike(_ name: String) for SyncDSLUser by @younata in https://github.com/Quick/Quick/pull/1230 * Attempt to run tests within a QuickSpec or AsyncSpec in the order they are defined in by @younata in https://github.com/Quick/Quick/pull/1232 ## New Contributors * @junmo-kim made their first contribution in https://github.com/Quick/Quick/pull/1228 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.0.2...v7.1.0
v7.0.2
45 weeks ago
This is a bug fix release that primarily fixes a conflict in how Nimble defines `FileString` and how Quick defines `FileString` when you use both via Swift Package Manager. It also fixes a number of warnings people who install Quick via Swift Package Manager on Darwin will receive. ## What's Changed * Correct a few places where we falsely assume "SWIFT_PACKAGE" == not darwin by @younata in https://github.com/Quick/Quick/pull/1223 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.0.1...v7.0.2
7.0.1 - re-allow async calls in AsyncSpec's xit
46 weeks ago
This fixes an oversight where you couldn't use async closures with `xit`. Thanks @stonko1994 for calling this out! ## What's Changed * Allow xit in the Async DSL to take in async closures by @younata in https://github.com/Quick/Quick/pull/1220 **Full Changelog**: https://github.com/Quick/Quick/compare/v7.0.0...v7.0.1
v7.0.0 - AsyncSpec and Human-Readable Test Selectors
48 weeks ago
# Highlights ## Async Test Changes Quick 7 changes how Async tests are run. Instead of forcing all tests to run in an async context, Quick 7 provides a separate Spec class for Async Tests. Create an `AsyncSpec` subclass, and all tests inside of that subclass will run in an async context. Tests inside of `QuickSpec` subclasses will have a similar behavior to what was in Quick 5. Additionally, Quick 7 changes how the DSL is defined slightly. In Quick 6 and before, the DSL was defined as a series of global functions, available to be called anywhere. In Quick 7, these functions were moved to be static methods on the new `SyncDSLUser` (which `QuickSpec`, `Behavior`, and `QuickConfiguration` conform to) and `AsyncDSLUser` (which `AsyncSpec` and `AsyncBehavior` conform to) protocols. This allows us to make sure that you are using the correct DSL for the context, and was necessary for this approach. For example: ```swift class SynchronousSpec: QuickSpec { override class func spec() { it("runs synchronously, as you'd expect") { var ocean: [String] = [] DispatchQueue.main.async { ocean.append("dolphins") ocean.append("whales") } expect(ocean).toEventually(contain("dolphins", "whales")) } } } actor OceanActor<T> { var contents: [T] = [] func append(_ value: T) { contents.append(value) } } class AsynchronousSpec: AsyncSpec { override class func spec() { it("runs the test in an async context") { let ocean = OceanActor<String>() Task { await ocean.append("dolphins") await ocean.append("whales") } await expect { await ocean.contents }.toEventually(contain("dolphins", "whales")) } } } ``` ## Unencoded Test Selectors Furthermore, Quick 7 changes how test selectors are generated for `QuickSpec`. Now, both `AsyncSpec` and `QuickSpec` will use the unencoded test names as the test selectors. Test selectors are now generated by joining the `describe`/`context` blocks leading up to the `it` block with ", ". This makes test names immensely easier to read. For example, with the following spec: ```swift class MySpec: QuickSpec { override class func spec() { describe("some feature") { context("in one case") { it("has a behavior") {} } context("in another case") { it("doesn't have the earlier behavior") {} } } } } ``` will generate the following test selectors: - `some feature, in one case, has a behavior` - `some feature, in another case, doesn't have the earlier behavior` You can disable this change by setting the `QUICK_USE_ENCODED_TEST_SELECTOR_NAMES` environment variable. ## Migrating Suggestions Quick 7 is not a drop-in migration from either Quick 5 or Quick 6. Quick 5 users will have a slightly easier time upgrading, but due to `spec` being defined as a class method instead of an instance method, there will still be changes. Doing a Find & Replace of `override func spec` with `override class func spec` will take care of the low-hanging fruit. If you have any test helpers that exist as properties or methods of your QuickSpec subclasses, the you will need to either move them inside of the `spec` function, or outside to another scope. For Objective-C users, this is, for the most part, a drop-in replacement. You will only need to do anything if you do not use the `QuickSpecBegin` and `QuickSpecEnd` macros (in which case: do a find & replace of the regex `-(\s*)\(void\)(\s*)spec` with `+$1(void)$2spec`). For migrating from Quick 6 to Quick 7, it would be easiest to also do a Find & Replace of `: QuickSpec` to `: AsyncSpec`, then migrate tests that do not need to run in async contexts to be `QuickSpec`s themselves. # Auto-Generated Changelog ## What's Changed * Bump git from 1.12.0 to 1.13.0 by @dependabot in https://github.com/Quick/Quick/pull/1191 * (Temporarily) Remove async support from Quick by @younata in https://github.com/Quick/Quick/pull/1192 * Bump activesupport from 6.1.5 to 6.1.7.1 by @dependabot in https://github.com/Quick/Quick/pull/1196 * Bump danger from 9.1.0 to 9.2.0 by @dependabot in https://github.com/Quick/Quick/pull/1198 * Transition QuickSpec.spec to be a static method. by @younata in https://github.com/Quick/Quick/pull/1200 * Add async duplicate-world based support. by @younata in https://github.com/Quick/Quick/pull/1199 * Bump cocoapods from 1.11.3 to 1.12.0 by @dependabot in https://github.com/Quick/Quick/pull/1201 * Bump activesupport from 7.0.4.2 to 7.0.4.3 by @dependabot in https://github.com/Quick/Quick/pull/1203 * Bump fkirc/skip-duplicate-actions from 5.2.0 to 5.3.0 by @dependabot in https://github.com/Quick/Quick/pull/1188 * [Translation] AsyncAwait.md Korean translation by @tisohjung in https://github.com/Quick/Quick/pull/1204 * Update Nimble to v12 by @younata in https://github.com/Quick/Quick/pull/1206 * Demangle QuickSpec test names as much as possible by @younata in https://github.com/Quick/Quick/pull/1207 * Add mechanism to fallback to legacy test selector names by @younata in https://github.com/Quick/Quick/pull/1211 * Bump cocoapods from 1.12.0 to 1.12.1 by @dependabot in https://github.com/Quick/Quick/pull/1210 * Bump danger from 9.2.0 to 9.3.0 by @dependabot in https://github.com/Quick/Quick/pull/1209 * Don't imply that we plan to remove the option to force encoded test selector names by @younata in https://github.com/Quick/Quick/pull/1212 * Merge branch quick_7 into main. by @younata in https://github.com/Quick/Quick/pull/1213 * [doc] Corrected to class method by @coffmark in https://github.com/Quick/Quick/pull/1214 * Update the english documentation for Quick 7 by @younata in https://github.com/Quick/Quick/pull/1215 * Provide a way to get the currently running spec, regardless of if we're executing an AsyncSpec or a QuickSpec by @younata in https://github.com/Quick/Quick/pull/1216 ## New Contributors * @tisohjung made their first contribution in https://github.com/Quick/Quick/pull/1204 * @coffmark made their first contribution in https://github.com/Quick/Quick/pull/1214 **Full Changelog**: https://github.com/Quick/Quick/compare/v6.1.0...v7.0.0
iOS macOS tvOS
Quick/Nimble v13.3.0
A Matcher Framework for Swift and Objective-C
⭐️ 4,768
🕓 2 weeks ago
🔖 Release Notes

Releases

The markdown parsing is broken/disabled for release notes. Sorry about that, I'm chasing the source of a crash that's been bringing this website down for the last couple of days.
v13.3.0
2 weeks ago
# 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 https://github.com/Quick/Nimble/pull/1122 * Bump softprops/action-gh-release from 1 to 2 by @dependabot in https://github.com/Quick/Nimble/pull/1128 * Depend on CwlPreconditionTesting 2.2.0 for Cocoapods by @younata in https://github.com/Quick/Nimble/pull/1129 * Add matchers for Result that match against submatchers, or for equatable values. by @younata in https://github.com/Quick/Nimble/pull/1134 * Use docc for documentation, instead of having it all in a single, giant README. by @younata in https://github.com/Quick/Nimble/pull/1135 * Get documentation deploying working. by @younata in https://github.com/Quick/Nimble/pull/1136 * Improve documentation articles by adding short abstracts to them. by @younata in https://github.com/Quick/Nimble/pull/1137 * Fix a typo in the name of this framework. 🤦🏻‍♀️ by @younata in https://github.com/Quick/Nimble/pull/1138 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1139 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.2.1...v13.3.0
v13.2.1
8 weeks ago
## What's Changed * Bump cocoapods from 1.14.3 to 1.15.0 by @dependabot in https://github.com/Quick/Nimble/pull/1116 * Bump cocoapods from 1.15.0 to 1.15.2 by @dependabot in https://github.com/Quick/Nimble/pull/1119 * Fix bug where expect(nil).toAlways(equal(0)) would erroneously pass by @younata in https://github.com/Quick/Nimble/pull/1121 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.2.0...v13.2.1
v13.2.0 - visionOS, map matcher.
13 weeks ago
# 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](https://github.com/Quick/Nimble/tree/v13.2.0#mapping-a-value-to-another-value)! Note: This version of Nimble is not available in Cocoapods. Nimble 13.2.1 is available in Cocoapods. # Autogenerated Release Notes ## What's Changed * Add a `map` matcher. by @younata in https://github.com/Quick/Nimble/pull/1112 * Build the carthage frameworks in a github action by @younata in https://github.com/Quick/Nimble/pull/1107 * Bump cocoapods from 1.14.2 to 1.14.3 by @dependabot in https://github.com/Quick/Nimble/pull/1100 * Add a privacy manifest by @younata in https://github.com/Quick/Nimble/pull/1113 * Add visionOS support by @stonko1994 in https://github.com/Quick/Nimble/pull/1098 ## New Contributors * @stonko1994 made their first contribution in https://github.com/Quick/Nimble/pull/1098 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.2...v13.2.0
v13.1.2
15 weeks ago
## What's Changed * Fix cocoapods dependencies by @svenmuennich in https://github.com/Quick/Nimble/pull/1111 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.1...v13.1.2
v13.1.1 - The Require DSL, but now with a fixed cocoapods build
17 weeks ago
# Highlights See [the previous release](https://github.com/Quick/Nimble/releases/tag/v13.1.0) 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 https://github.com/Quick/Nimble/pull/1109 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.1.0...v13.1.1
v13.1.0 - The Require DSL
17 weeks ago
# 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](https://github.com/Quick/Nimble/tree/v13.1.0#using-require-to-demand-that-a-matcher-pass-before-continuing) 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 https://github.com/Quick/Nimble/pull/1094 * Introduce the require dsl. For when you need the assertion to pass before continuing by @younata in https://github.com/Quick/Nimble/pull/1103 * Pull in CwlCatchException and CwlPreconditionTesting transitively. by @younata in https://github.com/Quick/Nimble/pull/1108 **Full Changelog**: https://github.com/Quick/Nimble/compare/v13.0.0...v13.1.0
v13.0.0
28 weeks ago
# 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 - No changes since [Nimble 13 RC 1](https://github.com/Quick/Nimble/releases/tag/v13.0.0-rc.1). # Automated Release Notes ## What's Changed * Update release script for a more modern-ish release process by @younata in https://github.com/Quick/Nimble/pull/1086 * Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in https://github.com/Quick/Nimble/pull/1089 * Add Windows Support by @brianmichel in https://github.com/Quick/Nimble/pull/1088 * Rename Predicate to Matcher by @younata in https://github.com/Quick/Nimble/pull/1090 * Mark the AsyncDefaults struct as removed. by @younata in https://github.com/Quick/Nimble/pull/1092 * Consolidate xcodeproj targets (... again). by @younata in https://github.com/Quick/Nimble/pull/1093 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1091 ## New Contributors * @brianmichel made their first contribution in https://github.com/Quick/Nimble/pull/1088 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.3.0...v13.0.0
v13.0.0-rc.1
29 weeks ago
# 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 * Update release script for a more modern-ish release process by @younata in https://github.com/Quick/Nimble/pull/1086 * Bump cocoapods from 1.12.1 to 1.13.0 by @dependabot in https://github.com/Quick/Nimble/pull/1089 * Add Windows Support by @brianmichel in https://github.com/Quick/Nimble/pull/1088 * Rename Predicate to Matcher by @younata in https://github.com/Quick/Nimble/pull/1090 * Mark the AsyncDefaults struct as removed. by @younata in https://github.com/Quick/Nimble/pull/1092 * Consolidate xcodeproj targets (... again). by @younata in https://github.com/Quick/Nimble/pull/1093 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1091 ## New Contributors * @brianmichel made their first contribution in https://github.com/Quick/Nimble/pull/1088 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.3.0...v13.0.0-rc.1
v12.3.0
31 weeks ago
## 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 * Bump activesupport from 7.0.4.3 to 7.0.7.2 by @dependabot in https://github.com/Quick/Nimble/pull/1080 * Bump actions/checkout from 3 to 4 by @dependabot in https://github.com/Quick/Nimble/pull/1081 * Implement the async variant of toEventually using structured concurrency by @younata in https://github.com/Quick/Nimble/pull/1079 * Fix all swiftlint warnings by @younata in https://github.com/Quick/Nimble/pull/1085 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.2.0...v12.3.0
v12.2.0
38 weeks ago
# Highlights the `equal` matcher now supports arrays of tuples. For example: ```swift expect([ (1, 2), (3, 4) ]).to(equal([ (1, 2), (3, 4) ])) ``` Thanks @faroman for their contribution! # Automatically Generated Release Notes ## What's Changed * Fix typo in README.md by @nemesis in https://github.com/Quick/Nimble/pull/1066 * Equal predicate for array of tuples by @faroman in https://github.com/Quick/Nimble/pull/1065 ## New Contributors * @nemesis made their first contribution in https://github.com/Quick/Nimble/pull/1066 * @faroman made their first contribution in https://github.com/Quick/Nimble/pull/1065 **Full Changelog**: https://github.com/Quick/Nimble/compare/v12.1.0...v12.2.0
iOS macOS watchOS tvOS

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics