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.
* Drop Swift 3.x support. Please continue to use version [0.6.0](https://github.com/ole/SortedArray/releases/tag/0.6.0) if you need Swift 3 compatibility. The lowest supported version is now Swift 4.0.
* Compatibility with Swift 4.2.
* `SortedArray` now conditionally conforms to `Equatable` (on Swift 4.1 and up) and `Hashable` (on Swift 4.2 and up) if its `Element` type is `Equatable` or `Hashable`. Note that the comparator function is not considered for determining equality.
* Added `SortedArray.firstIndex(of:)` as an alias for `index(of:)` (following the standard library). The old method isnโt deprecated yet, but may be in a future release.
* The binary search is now implemented using recursion, which (surprisingly to me) turned out to be faster (#21). Thanks **[@kareman](https://github.com/kareman)**.
* General cleanup because we no longer need to support Swift 3. Thanks **[@klaaspieter](https://github.com/klaaspieter)**.
* The performance tests are now in a separate target and do no longer run by default when you hit Cmd+U in Xcode. This speeds up the test suite. On the command line, use `swift test --parallel --filter UnitTests` to only run the unit tests.
* Fix `index(of:)` when searching for duplicate elements. Previously, `index(of:)` was not guaranteed to return the index of the _first_ matching element when the array contains duplicates. This is now fixed (#16). Thanks @Mamonaku!
* Provide `lastIndex(of:)` and `anyIndex(of:)` (when itโs not important which of multiple matching elements is found) methods to complement `index(of:)`.
Switch back to legacy Xcode build system (required for Carthage compatibility) (#13). Thanks @klaaspieter!
* Compatible with Swift 3.2 and Swift 4.0.
* Dropped support for Swift 3.0.
* The methods for removing elements from the array now have the `@discardableResult` attribute, avoiding compiler warnings if you ignore the return value. Thanks @DivineDominion!
Added equality operators `==` and `!=` to `SortedArray` (#9). Thanks @klaaspieter!
**New methods for removing elements:** `remove(at:)`, `removeSubrange(_:)`, `removeFirst(_:)`, `removeFirst`, `removeLast(_:)`, `removeLast`, `removeAll(keepingCapacity:)`, `remove(_:)`. Thanks @klaaspieter for driving this forward.
**Carthage support** and, through Carthage, easy integration into iOS, tvOS, and watchOS targets.
**Added a `filter` method to `SortedArray`.** The difference to `Sequence.filter` (which always returns an `Array`) is that it returns a `SortedArray`. We can do this efficiently because filtering doesn't affect the sort order of the remaining elements. Thank you @klaaspieter for the PR!
**Set up continuous integration on [Travis CI](https://travis-ci.org/).** Travis will build and run the tests on macOS and Linux for every pull request.
**Initial release.** See [my blog article](https://oleb.net/blog/2017/02/sorted-array/) for more information on `SortedArray`.