Skip to content

Releases: ole/SortedArray

0.7.0

18 Jun 16:39
@ole ole
Compare
Choose a tag to compare
  • Drop Swift 3.x support. Please continue to use version 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.

  • General cleanup because we no longer need to support Swift 3. Thanks @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.

0.6.0

10 Jan 09:54
@ole ole
Compare
Choose a tag to compare
  • 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:).

0.5.1

08 Aug 13:51
@ole ole
Compare
Choose a tag to compare

Switch back to legacy Xcode build system (required for Carthage compatibility) (#13). Thanks @klaaspieter!

0.5

16 Jul 19:28
@ole ole
Compare
Choose a tag to compare
0.5
  • 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!

0.4

28 Apr 09:46
@ole ole
Compare
Choose a tag to compare
0.4

Added equality operators == and != to SortedArray (#9). Thanks @klaaspieter!

0.3

26 Mar 16:19
@ole ole
Compare
Choose a tag to compare
0.3

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.

0.2

18 Mar 17:47
@ole ole
Compare
Choose a tag to compare
0.2

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. Travis will build and run the tests on macOS and Linux for every pull request.

0.1

18 Mar 17:43
@ole ole
Compare
Choose a tag to compare
0.1

Initial release. See my blog article for more information on SortedArray.