Skip to main content

Migration guide

This document lists every known breaking change, not all of them may affect your application.

caution

The amount of changes in this new version is significant. If you were using a version older than v4, please also read this migration guide

You should thoroughly test your application once the migration is over.

Common breaking changes

The changes below are effective on all of the API clients.

PreviousLatestDescription
initIndexremovedAll methods are now available at the client level. See example below

Client's specific breaking changes

The changes below are effective on the selected API client. For information regarding the installation of the package, please see the installation page.

PreviousLatestImpacted clientsDescription
@algolia@experimental-api-clients-automationJavaScriptDuring the beta phase, the clients are available under the NPM @experimental-api-clients-automation namespace, you can find a full list here.
algoliasearch/litealgoliasearch-liteJavaScriptThe lite version of the client now have its own package.
searchsearchClientallExported clients are suffixed by Client.

Usage

PreviousLatestImpacted clientsDescription
@algolia@experimental-api-clients-automationJavaScriptDuring the beta phase, the clients are available under the NPM @experimental-api-clients-automation namespace, you can find a full list here.
algoliasearch/litealgoliasearch-liteJavaScriptThe lite version of the client now have its own package.
searchsearchClientallExported clients are suffixed by Client.

To get started, first install the algoliasearch client.

yarn add @experimental-api-clients-automation/algoliasearch
# or
npm install @experimental-api-clients-automation/algoliasearch

You can now uninstall the previously added client.

Make sure to update all your imports.

yarn remove algoliasearch
# or
npm uninstall algoliasearch

You can continue this guide on our installation page.

Importing algoliasearch using ES Modules

- import algoliasearch from 'algoliasearch/lite';
+ import { algoliasearchLiteClient } from '@experimental-api-clients-automation/algoliasearch-lite';

- import algoliasearch from 'algoliasearch';
+ import { algoliasearch } from '@experimental-api-clients-automation/algoliasearch';

Methods targeting an indexName

Prior to the initIndex removal stated in the Common breaking changes, all methods previously available at the initIndex level requires the indexName to be sent with the query.

import { algoliasearch } from '@experimental-api-clients-automation/algoliasearch';

const client = algoliasearch('<YOUR_APP_ID>', '<YOUR_API_KEY>');

// only query string
const searchResults = await client.search({
requests: [
{
indexName: '<YOUR_INDEX_NAME>',
query: '<YOUR_QUERY>',
},
],
});

// with params
const searchResults2 = await client.search({
requests: [
{
indexName: '<YOUR_INDEX_NAME>',
query: '<YOUR_QUERY>',
attributesToRetrieve: ['firstname', 'lastname'],
hitsPerPage: 50,
},
],
});