Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
Formatting Rules for Entries
Each entry should use the following format:- Summary of what was changed in a single line using past tense & followed by two whitespaces.
Issue: [#0](https://github.com/Flinesoft/HandySwift/issues/0) | PR: [#0](https://github.com/Flinesoft/HandySwift/pull/0) | Author: [Cihat Gündüz](https://github.com/Jeehut)
Note that at the end of the summary line, you need to add two whitespaces (
) for correct rendering on GitHub.
If needed, pluralize to Tasks
, PRs
or Authors
and list multiple entries separated by ,
. Also, remove entries not needed in the second line.
[Unreleased]
Added
- None.
Changed
- None.
Deprecated
- None.
Removed
- None.
Fixed
- None.
Security
- None.
[3.2.1] - 2020-10-03
Changed
Withable
doesn't require an emptyinit()
method anymore. Instead, it can be combined with any initializer. If you used theFoo { $0.bar = 5 }
type of initializer, you will need to add().with
behind the type like so:Foo().with { $0.bar = 5 }
.
Issue: #49 | PR: #50 | Author: Cihat Gündüz- Improved with new
removeAll
method, conformance toBidirectionalCollection
,ExpressibleByArrayLiteral
and removal ofnewElement
label on `insert.
Author: Cihat Gündüz
Fixed
- Made all functions accept throwing closures to allow wider usage cases for helper functions like
.times
etc.
Author: Cihat Gündüz
[3.2.0] - 2020-03-27
Added
- New
DivisibleArithmetic
protocol which easily extendsaverage()
to Collections ofDouble
,Float
andCGFloat
.
Issue: #36 | PR: #38 | Author: David Knothe - Make most of the API
@inlinable
for increased real-time performance.
Issue: #40 | PR: #43 | Author: David Knothe
Changed
- Allow
Int.init?(randomBelow:)
to use an arbitrary RandomNumberGenerator (instead of just the system one).
PR: #44 | Author: David Knothe
[3.1.0] - 2019-09-01
Added
- New
Comparable.clamped(to:)
andComparable.clamp(to:)
interfaces for anyComparable
, e. g.Int
.
[3.0.0] - 2019-04-30
Added
- New
Withable
protocol to init/copy objects and set properties in a convenient way on a single line.
Changed
- Upgraded to Swift 5 & Xcode 10.2.
Removed
- Remove
ExpressibleByStringLiteral
conformance ofRegex
type to only allow initialization viainit(_:options:) throws
interface.
[2.8.0] - 2019-02-11
Added
- New
NSRange(_:in:)
initializer for converting fromRange<String.Index>
- New
sum
computed property onSequence
types likeArray
- New
average
computed property onCollection
types withInt
orDouble
elements like[Int]
- New
fullRange
andfullNSRange
computed properties onString
Changed
- Made some APIs available in wider contexts (like
sample
inRandomAccessCollection
instead ofArray
)
[2.7.0] - 2018-09-27
Added
- Official support for Linux & Swift Package Manager.
Removed
- Support for Swift 4.1 and lower was dropped.
[2.6.0] - 2018-04-22
Added
- New swifty
Regex
type built on top of the NSRegularExpression API.