Releases: Quick/Nimble
Nimble v1.0.0 Final
Final version release! From now on, Nimble will follow semantic versioning rules.
Remember that version 1.0.0 of Nimble tracks with the stable Swift (1.2) / Xcode (6).
If you're using Swift 2.0 / Xcode 7, please use 2.0.0-rc.1
instead.
Diff from Release Candidate 1 to Final
Changes:
- beAKindOf and beAnInstanceOf raise errors when used with swift native types instead of producing obscure compiler errors.
- Publicize NMBObjCMatcher constructors
- Updated README to use
@import Nimble;
instead of#import <Nimble/Nimble.h>
for Objective-C.
Diff in Release Candidate 1
Repeated from 1.0.0-RC1 release notes.
Changes:
- FailureMessage.stringValue is now a property. It can be assigned to override other values.
- beTruthy() and beFalsy() matchers now work for nil types and Swift
- raiseException() no longer accepts matchers. Use the closure form instead.
- AssertionHandler protocol recieves FailureMessage instead of a String.
- Expectation.verify() now uses FailureMessage instead of String.
- Renamed NMB_wait* builder functions to be more consistent with rest of Nimble.
- fail() with no args passes through line number and file information
- NMBObjCMatcher closure no long accepts source location directly. Use actualExpression.location instead.
- FullMatcherFunc no longer negates doesNotMatch() when invoking its given closure.
Removed:
- NMBWait class is now private.
- Removed BasicMatcherWrapper
- Removed NonNilBasicMatcherWrapper
- Removed NonNilMatcherWrapper, use NonNilMatcherFunc for the same behavior.
- Removed FullMatcherWrapper
Nimble v2.0.0 Release Candidate 1
Release Candidate for 2.0.0, which supports Xcode 7 and Swift 2.0. Please try it out and report any issues. If all is well, then this version may migrate to final 2.0.0.
Note to Carthage Users: You must explicitly give this version for Carthage to install.
github "Quick/Nimble" "v2.0.0-rc.1"
Changes:
- Backwards incompatible changes for Swift 2.0.
- beEmpty() matcher is now defined specifically for String--in Swift 1.2 a
definition for NSString was sufficient.
Nimble v1.0.0 Release Candidate 1
Release Candidate for 1.0.0. Please try it out and report any issues. If all is well, then this version may migrate to final 1.0.0.
Note to Carthage Users: You must explicitly give this version for Carthage to install.
github "Quick/Nimble" "v1.0.0-rc.1"
Changes:
FailureMessage.stringValue
is now a property. It can be assigned to override other values.beTruthy()
andbeFalsy()
matchers now work for nil types and SwiftraiseException()
no longer accepts matchers. Use the closure form instead.AssertionHandler
protocol receives FailureMessage instead of a String.Expectation.verify()
now uses FailureMessage instead of String.- Renamed
NMB_wait*
builder functions to be more consistent with rest of Nimble. fail()
with no args passes through line number and file informationNMBObjCMatcher
closure no long accepts source location directly. UseactualExpression.location
instead.FullMatcherFunc
no longer negatesdoesNotMatch()
when invoking its given closure.
Removed:
NMBWait
class is now private.- Removed
BasicMatcherWrapper
- Removed
NonNilBasicMatcherWrapper
- Removed
NonNilMatcherWrapper
, useNonNilMatcherFunc
for the same behavior. - Removed
FullMatcherWrapper
Nimble v0.4.2
Changes:
- Set the minimum deployment target to iOS 7.
Nimble v0.4.1
Nimble v0.4.0
This version includes backwards-incompatible changes to support Swift 1.2. The
previous behavior of lazy evaluation of the argument in expect(...) has been
removed since Swift 1.2 no longer supports this. Use expect { ... } if you want
the lazy closure behavior.
Using toEventually() will check that this explicit closure is used and will
explicitly fail if the closure is not provided to expect.
Along with fixes for Swift 1.2, there are a few new features:
- Added beEmpty matcher for Objective-C.
- raiseException matcher can compare an exception's userInfo
Nimble v0.3.0
Changes in this release:
-
Added
waitUntil
for Objective-C. AlsowaitUntilWithTimeout
can be used with a custom timeout value. They work similarly to the swift versions:waitUntil(^(void (^done)(void) { // do a lot of work... done(); });
-
Added approximate equality (
beCloseTo
matcher) can use the≈
operator. The operator can be easily typed with (option+x):expect(1.2) ≈ 1.2001
-
Added approximate equality can also be given a delta with the
±
operator (option + shift + =). This also works with the==
operator, but still behaves likebeCloseTo
:// equivalent expectations expect(1.2) == 1.3 ± 0.5 expect(1.2) ≈ 1.3 ± 0.5
-
Added Nimble to Cocoapods Trunk. You no longer need to specify the
:git
keyword argument in your podfile. The prereleased version of cocoapods is still required.
Nimble 0.2.0
Changes in this release:
- Change: Objective-C matchers will now all properly reject
nil
values. UsebeNil()
to match against nils. - Change:
beEmpty()
matcher no longer matches againstnil
- Change:
equal()
uses Swift's built-in equality comparison. - Change: Make objective-c matchers explicit about not accepting any arguments.
- Removed: Undocumented
beOneOf()
matcher that was Swift-only. - New:
expect().withTimeout()
in objective-c for custom timeouts of async matchers. - New: Added Podspec for Cocoapods' Swift Branch
- New: Documentation comments for Swift matchers
- New:
NonNilMatcherFunc
which supports emitting a consistentnil
error message. Matchers that use this still need to safely process nils.