Releases: algolia/algoliasearch-client-swift
Releases · algolia/algoliasearch-client-swift
3.0
This major version brings new features and bug fixes. In addition, a lot of refactoring has been performed to achieve
better Objective-C bridging, better maintainability, as well as to align the Swift client with the other Algolia API
clients.
As a consequence, the public interface has changed in an incompatible way. Please refer to our
Migration Guide for
detailed instructions.
New features
- Allow arbitrary query parameters to be specified: the 
Queryclass provides low-level, untyped accessors in addition
to the higher-level, typed properties. - Allow arbitrary HTTP headers to be specified (
Client.headers) - Asynchronous requests are cancellable: asynchronous methods return an 
NSOperationinstance, making it possible to
callcancel()on it. - Timeout settings now user-configurable
 - Batch operation support
 - Multiple queries 
strategyparameter support - Disjunctive faceting helper
 - Delete by query helper
 - Browse iterator helper (
BrowseIterator) 
Changes
- Asynchronous methods completion block argument renamed to 
completionHandlerfor better consistency with the
system libraries (in particularNSURLSession) - Align 
Queryclass parameters with the REST API - Remove operations requiring an admin API key. (The admin key should never be used on the client side.)
 - Browse methods now only low-level. (For high-level iteration, use the 
BrowseIteratorhelper; see above.) - Remove accessors to deprecated HTTP headers
 
Fixes
- Full Objective-C bridging: all features are now available from Objective-C.
 - More consistent error handling
 - Fix percent-escaping of query parameters in URLs
 - Fix Swift 2.2 deprecation warnings
 - HTTP headers can now be changed during the client's lifetime
 
Misc. improvements
- Minimize public interface
 - Update documentation
 - Add test cases