Nimble: [Proposal] Release Nimble v8 for bumping Swift version requirement (to 4.2) and adjust the deprecation roadmap

Created on 20 Jan 2019  Â·  2Comments  Â·  Source: Quick/Nimble

Currently the deprecation roadmap is noted in the README as follows:

The deprecating plan is a 3 major versions removal. Which is as follows:

  1. Introduce new Predicate API, deprecation warning for old matcher APIs. (Nimble v7.x.x)
  2. Introduce warnings on migration-path features (.predicate, Predicate-constructors with similar arguments to old API). (Nimble v8.x.x)
  3. Remove old API. (Nimble v9.x.x)

I think we are not ready for v8 release yet but maintaining v7 release (at 7.x-branch) for 3 Swift versions (Swift 3, Swift 4 and Swift 4.2) and many Xcode versions (from Xcode 8 to Xcode 10.1) is so difficult and tedious.

So I propose releasing Nimble v8 just for bumping Swift version requirement to Swift 4.2 with no API changes since v7.3.2. That should fairly make the development easier.

As a result,

  1. Introduce warnings on migration-path features (.predicate, Predicate-constructors with similar arguments to old API). (Nimble v8.x.x)

will be Nimble v9.x.x and

  1. Remove old API. (Nimble v9.x.x)

will be Nimble v10.x.x.

@Quick/core How do you think?

Most helpful comment

I think this is a good idea especially with the Xcode 10.2 beta 1 release today which includes Swift 5 and drops support for Swift 3.

error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Nimble-macOS')

Build system information
warning: Swift 3 mode has been deprecated and will be removed in a later version of Xcode. Please migrate "Nimble-macOS" to Swift 4.2 using "Convert > To Current Swift Syntax…" in the Edit menu. (in target 'Nimble-macOS')

All 2 comments

I think this is a good idea especially with the Xcode 10.2 beta 1 release today which includes Swift 5 and drops support for Swift 3.

error: SWIFT_VERSION '3.0' is unsupported, supported versions are: 4.0, 4.2, 5.0. (in target 'Nimble-macOS')

Build system information
warning: Swift 3 mode has been deprecated and will be removed in a later version of Xcode. Please migrate "Nimble-macOS" to Swift 4.2 using "Convert > To Current Swift Syntax…" in the Edit menu. (in target 'Nimble-macOS')

Thanks @phatblat, I'll go for it!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

zachlucas picture zachlucas  Â·  5Comments

aaroncrespo picture aaroncrespo  Â·  10Comments

delebedev picture delebedev  Â·  4Comments

msaehn picture msaehn  Â·  5Comments

Blackjacx picture Blackjacx  Â·  7Comments