Skip to content

Releases: meilisearch/meilisearch-js

v0.29.1 🌻

03 Nov 11:22
7747e1a
Compare
Choose a tag to compare

πŸ› Bug Fixes

Thanks again to @bidoubiwa! πŸŽ‰

v0.29.0 🌻

27 Oct 10:20
f29fa0f
Compare
Choose a tag to compare

⚠️ Breaking changes

  • refactor: Construct date type for related keys (#1338) @TheLearneer
  • Refactor Task and EnqueuedTask to classes (#1343) @blenderskool

πŸš€ Enhancements

Thanks again to @CursedRock17, @MoskalykA, @TheLearneer, @Ugzuzg, @bidoubiwa, @blenderskool, @brunoocasali, @jimmyruann, @sab1in, @vishalsodani, @viveknshah and sabin! πŸŽ‰

v0.28.0 🌻

03 Oct 14:43
5c4c3c0
Compare
Choose a tag to compare

This version makes this package compatible with Meilisearch v0.29.0 πŸŽ‰
Check out the changelog of Meilisearch v0.29.0 for more information on the changes.

πŸš€ Enhancements

  • Add the new search query parameter matchingStrategy #1324 @bidoubiwa
  • Ensure support to keys with wildcarded actions.
    • actions field during key creation now accepts wildcards on actions. For example, indexes.* provides rights to indexes.create, indexes.get,indexes.delete, indexes.delete, and indexes.update. #1325 @bidoubiwa

⚠️ Breaking Changes

This breaking change may not affect you, but in any case, you should check your search queries if you want to keep the same behavior from v0.28.

Thanks again to @bidoubiwa and @guimachiavelli! πŸŽ‰

v0.28.0-beta.0 🌻

01 Sep 13:14
Compare
Choose a tag to compare
Pre-release

This version makes this package compatible with Meilisearch v0.29.1 πŸŽ‰
Check out the changelog of Meilisearch v0.29.1 for more information on the changes.

πŸš€ Enhancements

  • New search query parameter matchingStrategy #1324
  • The actions field when creating a key now accepts wildcards on specific actions. For example: indexes.* provides rights to create/get/delete/update indexes meilisearch/meilisearch#2560
  • Changes in filters and behavior of the NOT keyword meilisearch/meilisearch#2486

v0.27.0-optional-words-beta.1 🌻

02 Aug 15:24
Compare
Choose a tag to compare
Pre-release

πŸš€ Enhancements

  • Add any as an optionalWords value. c40122c

Usage

const response = await client.index('myIndex').search('hello world', { optionalWords: 'any' })

optionalWords can also be any. With this mode, all the query words are optional, no matter their order in the query (i.e. the q parameter).

More information here

Thanks again to @bidoubiwa ! πŸŽ‰

v0.27.0-optional-words-beta.0 🌻

01 Aug 14:50
Compare
Choose a tag to compare
Pre-release

This version makes this package compatible with Meilisearch v0.29.0-optional-words.beta.1 πŸŽ‰

In this version, you can try out the new optionalWords search parameter we are testing out. For complete information on the feature, please refer to this guide.

πŸš€ Enhancements

  • Feature prototype: define strategy on optional words during search #1312

Usage

const response = await client.index('myIndex').search('hello world', { optionalWords: 'none' })

optionalWords can be either last (default behavior) or none. More information here

Thanks again to @bidoubiwa ! πŸŽ‰

v0.28.0-pagination-beta.0 🌻

26 Jul 09:49
Compare
Choose a tag to compare
Pre-release

This version makes this package compatible with Meilisearch v0.29.0-pagination.beta.1 πŸŽ‰

In this version, you can try out the new pagination system that we are testing out. For complete information on the feature, please refer to this guide.

πŸ’₯ Breaking changes

  • index.search() the following parameters are added:
    • hitsPerPage
    • page
  • index.search() search response has new fields
    • hitsPerPage
    • page
    • totalPages
    • totalHits
  • index.search() some search response fields that are now optional (not always in the response)
    • all of the above
    • offset
    • limit
    • estimatedTotalHits

Usage

The following will provide the six hits of the first page.

index.search('', {
   hitsPerPage: 6,
   page: 1
})

The following will provide the six hits of the second page.

index.search('', {
   hitsPerPage: 6,
   page: 2
})

v0.27.0 🌻

11 Jul 15:40
bf97aea
Compare
Choose a tag to compare

This version makes this package compatible with Meilisearch v0.28.0 πŸŽ‰
Check out the changelog of Meilisearch v0.28.0 for more information on the changes.

πŸ’₯ Breaking changes

  • client.updateKey(key: string, options: KeyPayload): Promise<Key> now can just update the description and/or the name. #1266
  • The type EnqueuedTask now returns an taskUid instead of an uid
  • client.getTasks(...) and index.getTasks() now returns a TasksResults type containing the following fields: results, limit, from, next #1269
  • index.search changes in the response parameters: #1263
    • nbHits replaced with estimatedTotalHits
    • exhaustiveNbHits is deleted
    • exhaustiveFacetsCount is deleted
  • index.search changes in the request parameters: #1263
    • matches renamed showMatchesPosition
    • _matchesInfo response parameter is renamed _matchesPosition
    • facetsDistribution request parameter is renamed facets.
    • facetsDistribution response parameter is renamed facetDistribution.
  • The Index type and returned IndexObject does not contain a name field anymore
  • client.getIndexes and client.getRawIndexes now returns an IndexesResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments and client.getDocuments now returns an DocumentsResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments and index.getDocument query parameter attributesToRetrieve is now called fields #1264
  • client.getDumpStatus has been removed #1267
  • client.createDump() now returns an EnqueuedTask #1267
  • client.generateTenantToken(apiKeyUid, searchRules, options) has now a mandatory apiKeyUid parameter which should contain the uid of a specific API key. #1268

πŸš€ Enhancements

  • client.getKeys(parameters: KeysQuery = {}) now accepts pagination parameters: limit, offset #1269
  • client.getKey(keyOrUid: string) can now also find keys based on their key uid. #1266
  • client.createKey(options: KeyCreation) lets you specify a custom uid (optionally) to create a new Key #1269
  • The returned Key now has an additional name and uid string fields. #1266
  • The indexUid field in both EnqueuedTask and Task can be null #1259
  • client.getTasks(parameters: TasksQuery = {}) and index.getTasks(parameters: TasksQuery) now accepts pagination parameters: limit, from, next and filters parameters: type, status, indexUid (same for index.getTasks) #1269
  • client.getIndexes and client.getRawIndexes now accepts pagination parameters: limit, offset #1269
  • index.getDocuments now accepts pagination parameters: limit, offset #1269
  • new MeiliSearch({ host, apiKey, headers, clientAgents }) now accept a new parameter clientAgents that should contain the agent from which the library is used. #1272

Analytics is enabled by default in the server, but you can disable them by following this guide
Also, of course, every analytics data we collect are ANONYMOUS read the guide for more information.

Thanks again to @bidoubiwa ! πŸŽ‰

v0.27.0-beta.1

29 Jun 09:29
Compare
Choose a tag to compare
v0.27.0-beta.1 Pre-release
Pre-release

This version makes this package compatible with Meilisearch v0.28.0rc1 πŸŽ‰
Check out the changelog of Meilisearch v0.28.0rc1 for more information on the changes.

πŸ’₯ Breaking changes

  • client.updateKey(key: string, options: KeyPayload): Promise<Key> now can just update the description and/or the name. #1266
  • The type EnqueuedTask now returns an taskUid instead of an uid
  • client.getTasks(...) and index.getTasks() now returns a TasksResults type containing the following fields: results, limit, from, next #1269
  • index.search changes in the response parameters: #1263
    • nbHits replaced with estimatedTotalHits
    • exhaustiveNbHits is deleted
    • exhaustiveFacetsCount is deleted
  • index.search changes in the request parameters: #1263
    • matches renamed showMatchesPosition
    • _matchesInfo response parameter is renamed _matchesPosition
    • facetsDistribution request parameter is renamed facets.
    • facetsDistribution response parameter is renamed facetDistribution.
  • The Index type and returned IndexObject does not contain a name field anymore
  • client.getIndexes and client.getRawIndexes now returns an IndexesResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments and client.getDocuments now returns an DocumentsResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments query parameter attributesToRetrieve is now called fields #1264
  • client.getDumpStatus has been removed #1267
  • client.createDump() now returns an EnqueuedTask #1267
  • client.generateTenantToken(apiKeyUid, searchRules, options) has now a mandatory apiKeyUid parameter which should contain the uid of a specific API key. #1268

πŸš€ Enhancements

  • client.getKeys(parameters: KeysQuery = {}) now accepts pagination parameters: limit, offset #1269
  • client.getKey(keyOrUid: string) can now also find keys based on their key uid. #1266
  • client.createKey(options: KeyCreation) lets you specify a custom uid (optionally) to create a new Key #1269
  • The returned Key now has an additional name and uid string fields. #1266
  • The indexUid field in both EnqueuedTask and Task can be null #1259
  • client.getTasks(parameters: TasksQuery = {}) and index.getTasks(parameters: TasksQuery) now accepts pagination parameters: limit, from, next and filters parameters: type, status, indexUid (same for index.getTasks) #1269
  • client.getIndexes and client.getRawIndexes now accepts pagination parameters: limit, offset #1269
  • index.getDocuments now accepts pagination parameters: limit, offset #1269
  • new MeiliSearch({ host, apiKey, headers, clientAgents }) now accept a new parameter clientAgents that should contain the agent from which the library is used. #1272

Thanks again to @bidoubiwa ! πŸŽ‰

v0.27.0-beta.0

29 Jun 09:24
Compare
Choose a tag to compare
v0.27.0-beta.0 Pre-release
Pre-release

This version makes this package compatible with Meilisearch v0.28.0rc1 πŸŽ‰
Check out the changelog of Meilisearch v0.28.0rc1 for more information on the changes.

πŸ’₯ Breaking changes

  • client.updateKey(key: string, options: KeyPayload): Promise<Key> now can just update the description and/or the name. #1266
  • The type EnqueuedTask now returns an taskUid instead of an uid
  • client.getTasks(...) and index.getTasks() now returns a TasksResults type containing the following fields: results, limit, from, next #1269
  • index.search changes in the response parameters: #1263
    • nbHits replaced with estimatedTotalHits
    • exhaustiveNbHits is deleted
    • exhaustiveFacetsCount is deleted
  • index.search changes in the request parameters: #1263
    • matches renamed showMatchesPosition
    • _matchesInfo response parameter is renamed _matchesPosition
    • facetsDistribution request parameter is renamed facets.
    • facetsDistribution response parameter is renamed facetDistribution.
  • The Index type and returned IndexObject does not contain a name field anymore
  • client.getIndexes and client.getRawIndexes now returns an IndexesResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments and client.getDocuments now returns an DocumentsResults type containing the following fields: results, limit, offset, total #1269
  • index.getDocuments query parameter attributesToRetrieve is now called fields #1264
  • client.getDumpStatus has been removed #1267
  • client.createDump() now returns an EnqueuedTask #1267
  • client.generateTenantToken(apiKeyUid, searchRules, options) has now a mandatory apiKeyUid parameter which should contain the uid of a specific API key. #1268

πŸš€ Enhancements

  • client.getKeys(parameters: KeysQuery = {}) now accepts pagination parameters: limit, offset #1269
  • client.getKey(keyOrUid: string) can now also find keys based on their key uid. #1266
  • client.createKey(options: KeyCreation) lets you specify a custom uid (optionally) to create a new Key #1269
  • The returned Key now has an additional name and uid string fields. #1266
  • The indexUid field in both EnqueuedTask and Task can be null #1259
  • client.getTasks(parameters: TasksQuery = {}) and index.getTasks(parameters: TasksQuery) now accepts pagination parameters: limit, from, next and filters parameters: type, status, indexUid (same for index.getTasks) #1269
  • client.getIndexes and client.getRawIndexes now accepts pagination parameters: limit, offset #1269
  • index.getDocuments now accepts pagination parameters: limit, offset #1269
  • new MeiliSearch({ host, apiKey, headers, clientAgents }) now accept a new parameter clientAgents that should contain the agent from which the library is used. #1272

Thanks again to @bidoubiwa ! πŸŽ‰