Skip to content

Commit 5a6cb4d

Browse files
author
Clément Le Provost
committed
Update change log (WIP)
[ci skip]
1 parent 4fef920 commit 5a6cb4d

File tree

1 file changed

+41
-0
lines changed

1 file changed

+41
-0
lines changed

ChangeLog.md

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,47 @@
11
Change Log
22
==========
33

4+
## 4.0 (WIP)
5+
6+
**Note:** This is a new major version, bringing incompatible changes, most of them due to Swift 3 support.
7+
8+
**Warning:** This version requires Swift 3; it will not compile with Swift 2.x.
9+
10+
Add support for **Swift 3**:
11+
12+
- Adapt to the new Foundation API
13+
- Follow the [Swift API Design Guidelines](https://swift.org/documentation/api-design-guidelines):
14+
- Argument labels:
15+
- Omit the first argument when the function name contains a complement (e.g. `addObject`) or when the purpose is obvious (`search`: with a query)
16+
- Label the first argument when the purpose is not obvious and not contained in the method name (e.g. `batch(operations:)`)
17+
- Label all completion handlers explicitly. This is the convention adopted by the system's libraries (e.g. `URLSession.dataTask(with:completionHandler:)`. Since the completion handler is likely to be a closure, the block can be moved out of the call site anyway, so the label is only required when passing a function/block reference.
18+
- Method names:
19+
- `browse` is now overloaded: `browse(query:)` and `browse(from:)`.
20+
- Rename enum members to lower camel case
21+
- Better Objective-C mappings
22+
- Adjust method names when necessary for a better fit with this language
23+
- Objective-C specific types are no longer visible in Swift (well, technically, they still are, but you have to look harder...)
24+
- No underscore-suffixed properties any longer
25+
- Use `Error` instead of `NSError` in completion handlers
26+
- Use dedicated error types
27+
- Use `@discardableResult` for methods returning `Operation`
28+
- Notifications are typed `Notification.Name`
29+
- Prevent subclassing by *not* adopting the `open` access modifier
30+
31+
Other breaking changes:
32+
33+
- (Swift only) Better typing of complex properties through enums
34+
- Rename `Index.indexName` to `Index.name`.
35+
- Refactor index search cache handling into two properties to enable/disable (`searchCacheEnabled`) it and set the expiration delay (`searchCacheExpiringTimeInterval`), and one method to clear it (`clearSearchCache()`)
36+
- Rename "slaves" to "replicas"
37+
38+
Other improvements:
39+
40+
- Improve cancellation of `Index.waitTask()`
41+
- Add tests for Objective-C bridging (online flavor only)
42+
- Make timeouts configurable
43+
44+
445
## 3.7 (2016-09-07)
546

647
- (#118) Add support for **watchOS**

0 commit comments

Comments
 (0)