Releases: jdhealy/PrettyColors
5.0.2
Changelog · No Source Changes
-
Swift Package Manager: Additionally specify tools version of
4.0
.Allows for compilation from Swift 5.0’s Package Manager, which has support stretching back accommodating this.
-
For CocoaPods, specify supported Swift versions.
5.0.1
Changelog · No Source Changes
- Update various
xcconfig
5.0.0: Swift 3 · Support Swift Package Manager
Changelog · Breaking Changes
- Conform to updated Standard Library in regards to API Guidelines.
- Conform to new Collection indexing model.
- Lowercase enum names and static properties.
- Remove Foundation import, never previously relied upon.
Tests still use a subset of Foundation where apple/swift-corelibs-foundation can service those simple needs.
v4.0.0: Swift 2.3 · Reduce to single framework target and single scheme · Support tvOS and watchOS
Notice: No breaking API changes! In fact, no Swift source file changes whatsoever!
This semantic versioning major version bump indicates the breaking — not of source compatibility API — but of project build setting API:
- The reduction to a single framework target and single scheme accommodating macOS, iOS, tvOS, and watchOS.
- Code signing changes for the
PrettyColors
framework:- Set
CODE_SIGNING_REQUIRED
toNO
. - Remove configuration
CODE_SIGN_IDENTITY[sdk=iphoneos*] = "iPhone Developer"
.- Code signing will usually still be required at the point of embedding PrettyColors in a code-signed bundle.
- Set
v3.0.2: Build Less Tests
Tests: Stop building test target for Run and Analyze actions.
Avoid unnecessary test builds and more closely match Xcode 7.3.0 new project build actions for test targets.
v3.0.1: Swift 2.2 Updates for Tests Only
v3.0.0: Swift 2.0 Support
v2.0.0: Swift 1.2 Support
Swift 1.2
support.
Notice: No breaking API changes!
While semantic versioning major changes usually indicate the breaking of public API, this major version increment is only intended to denote that the syntactical changes required by Swift 1.2
are backwards-incompatible with Swift 1.1
and earlier.
v1.0.0
Changelog
Conform Color.Wrap
to MutableCollectionType.
Conform Color.Wrap
to ArrayLiteralConvertable.
Conform Color.Wrap
to Equality.
let one: Color.Wrap = [StyleParameter.Bold]
let two: [StyleParameter.Bold] as Color.Wrap
XCTAssert( one == two )
Remove Color.Wrap.add
and SelectGraphicRenditionWrapType.add
.
Previously:
Color.Wrap.add
and SelectGraphicRenditionWrapType.add
do not mutate their struct
. They return a SelectGraphicRenditionWrapType value.
let red = Color.Wrap(foreground: .Red)
red.add(parameters: .Bold) // => SelectGraphicRenditionWrapType value
XCTAssert( red == Color.Wrap(foreground: .Red) )
XCTAssert( red != Color.Wrap(foreground: .Red, style: .Bold) )
var red = Color.Wrap(foreground: .Red)
red.add(parameters: .Bold) // => SelectGraphicRenditionWrapType value
XCTAssert( red == Color.Wrap(foreground: .Red) )
XCTAssert( red != Color.Wrap(foreground: .Red, style: .Bold) )
As of 1.0.0
:
let red = Color.Wrap(foreground: .Red)
red + Color.Wrap(styles: .Bold) // => Color.Wrap value
// red.append(style: .Bold) /* prevented by compiler… */
XCTAssert( red == Color.Wrap(foreground: .Red) )
XCTAssert( red != Color.Wrap(foreground: .Red, style: .Bold) )
var red = Color.Wrap(foreground: .Red)
red.append(style: .Bold) // => ()
XCTAssert( red != Color.Wrap(foreground: .Red) )
XCTAssert( red == Color.Wrap(foreground: .Red, style: .Bold) )
More examples of the new syntax can be found in the tests….
Conform Color.Wrap
to Equality.
Default to Array Equality, but add option of Set Equality.
Example
let one = Color.Wrap(styles: .Bold, .Italic)
let two = Color.Wrap(styles: .Italic, .Bold)
XCTAssert( !(one == two) )
XCTAssert( one != two )
XCTAssert( one.isEqual(to: two, equality: .Set) )
XCTAssert( !one.isEqual(to: two, equality: .Array) )
Semantic Versioning
Going forward, PrettyColors will follow Semantic Versioning: http://semver.org.
Thanks
MutableCollectionType
conformance based off code from brynbellomy/SwiftDataStructures and brynbellomy/Funky.
Thanks to @brynbellomy