Releases: algolia/algoliasearch-client-swift
Releases · algolia/algoliasearch-client-swift
3.6
- Add explicit support for tvOS in the Cocoapods pod spec. (In fact, tvOS has been supported for a while in our code, but somehow never made it to the pod spec.) Note: not supported by the offline mode.
- Add support for HTML documentation generation via Jazzy
- Fix behavior of the
exhaustiveFacetsCount
response field when using disjunctive faceting - Migrate the
User-Agent
HTTP header to a new, more parseable format; now also includes the operating system's version. - Change value of
ErrorDomain
constant. Note: not a breaking change unless you relied on the value itself. - Update documentation
Offline mode
- Expose last successful sync date (property
MirroredIndex.lastSuccessfulSyncDate
)
3.5
- New
multipleQueries()
method at index level - Fix cancellation of requests: in some edge cases, the completion handler could be called after cancellation
- Fix potential crash when cancelling requests (unsafe assertions were made)
The following changes are for the offline mode only:
- New offline fallback strategy. Warning: breaking change: preventive search no longer supported.
- Offline requests now also work for disjunctive faceting
- The
searchMirror()
method has been renamed tosearchOffline()
, for better consistency with the newly introducedsearchOnline()
method. - Improve detection of non-existent indices
3.4
- New
Client.isAlive()
method (/1/isalive
endpoint) - Completion handler is now mandatory for multiple queries. Warning: breaking change
- (#88) Fix passing of
strategy
parameter in multiple queries (should be POST instead of GET) - (#103) Fix URL encoding of path components (e.g. spaces in index names)
- Add test case for TCP connection dropping
3.3
- (#77) Support a list of languages as a value for the
removeStopWords
query parameter. Warning: The type of the
corresponding property had to be degraded fromBool?
toAnyObject?
; as a consequence, the getter suffers from an
incompatible change (but not the setter). - (#79) Support
aroundRadius=all
in query parameters - (#76) Support the
exactOnSingleWordQuery
query parameter - (#76) Support the
alternativesAsExact
query parameter - (#74) Support Swift 2.3
- (#75) Fix iTunes Connect submission issue when using Carthage: minimum iOS version is now 8.0
- Update documentation
3.2.1
- Fix OS X support in Cocoapods
3.2
- Support iOS 7.0
- Warning: Because Cocoapods uses dynamic frameworks and Swift is not supported in dynamic frameworks on iOS 7,
iOS 7 support is not possible through Cocoapods. - Warning: Due to unavailability of simulators earlier than iOS 8.1 in Xcode 7.3, iOS 7 remains untested.
- Warning: Because Cocoapods uses dynamic frameworks and Swift is not supported in dynamic frameworks on iOS 7,
- README updated
- [Test] Add test case for DNS time-out
Experimental features
- Offline mode. Note: requires the Algolia Search Offline Core library. Warning: beta version.
3.1
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
Query
class 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
NSOperation
instance, making it possible to
callcancel()
on it. - Timeout settings now user-configurable
- Batch operation support
- Multiple queries
strategy
parameter support - Disjunctive faceting helper
- Delete by query helper
- Browse iterator helper (
BrowseIterator
)
Changes
- Asynchronous methods completion block argument renamed to
completionHandler
for better consistency with the
system libraries (in particularNSURLSession
) - Align
Query
class 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
BrowseIterator
helper; 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