This repository was archived by the owner on Jan 31, 2022. It is now read-only.
Releases: algolia/algoliasearch-client-android
Releases · algolia/algoliasearch-client-android
3.3.0
- removeStopWords can be either a list of language codes or a boolean, see documentation.
- Implement new exact API: see documentation for the new
exactOnSingleWordQuery
andalternativesAsExact
parameters. - Remove app_name string resource (fixes #104)
- New
Index.multipleQueriesAsync()
method (convenience shortcut toClient.multipleQueriesAsync()
)
The following changes impact the offline mode only:
- Require an Android
Context
to be provided during client construction. Warning: breaking change. - Offline requests now also work for disjunctive faceting
- New offline fallback strategy. Warning: breaking change: preemptive search no longer supported.
- Improve detection of non-existent indices
- Improve error handling
- Fix crash on concurrent accesses to a local index
- Fix potential race condition in lazy instantiation of the local index
3.2.2
3.2.1
3.2
- Network requests are now run in parallel, whereas they were sequential before. This is required for better performance. Warning: Client code must make sure to protect against out-of-order requests.
- Better error reporting:
- Always propagate cause exception when available
- Always report HTTP status code when available
- Add ability to distinguish transient errors from fatal errors after they are reported
- Update documentation
- README updated
- Clarify documentation of
AlgoliaException
’s status code
- [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
- Add typed accessors for missing query parameters
filters
andnumericFilters
- Shuffle host array at init time, for better load balancing
- Perform stricter check on GZip
Content-Encoding
HTTP header - Update documentation
3.0
This major version brings new features as well as bug fixes. In addition, a lot of refactoring has been performed
to achieve better maintainability and to align the Android 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
- In-memory search cache: disabled by default, can be enabled per index.
- Allow arbitrary query parameters to be specified: the
Query
class provides low-level, untyped accessors in addition
to the higher-level, typed accessors. - Allow arbitrary HTTP headers to be specified (
Client.setHeader
) - Asynchronous requests are cancellable: asynchronous methods return a
Request
instance with acancel
method. - Low-level browse methods (
Index.browse
andIndex.browseFrom
) - New browse helper (
BrowseIterator
) - New method to clear an index (
Index.clearIndexAsync
)
Changes
- Now only one type of asynchronous listener (
CompletionHandler
) with an interface containing only one method,
used for both success and error cases. In addition to simplifying the code and aligning the Android client with other
languages, this makes it possible to use Java 8 lambda expressions. - Remove operations requiring an admin API key. (The admin key should never be used on the client side.)
- Align
Query
class parameters with the REST API - Improve the type safety of many
Query
parameters, especially the geo search-related parameters and the filters - Remove obsolete (and unused)
enableDsn
anddsnHost
initialization parameters - Remove accessors to deprecated HTTP headers
- Space character is now URL-encoded as
%20
instead of+
- Better naming convention:
- Rename
APIClient
class toClient
- Rename
*ASync
to*Async
- Remove prefix on enum values
- Rename
Fixes
- Search queries now use POST instead of GET, working around any potential hard-coded limit to the URL string.
- Delete by query uses browse instead of search, for both better performance and to work around any index settings
(likedistinct
) that would silently prevent the query from selecting all objects. - More consistent error handling
- Fix retry logic in case of host failure
- Alleviate critical section on internal request methods
Misc. improvements
- Use
@NonNull
annotations to document mandatory parameters and return values - Asynchronous methods no longer throw (declared) exceptions
- Update documentation (a lot!)
- Add test cases
2.6.4
Release 2.6.3
Version 2.6.3