Skip to content

Releases: meilisearch/meilisearch-js

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 ! ๐ŸŽ‰

v0.26.0 ๐ŸŒป

27 Jun 12:54
b9e0a21
Compare
Choose a tag to compare

โš ๏ธ Breaking changes

๐Ÿš€ Enhancements

  • Improve Docker configuration in the package (#1250)
  • Updated created at in index (#1220) @bidoubiwa
  • Add prototype setting for meili errors to allow instanceof operator (#1274) @mmachatschek

๐Ÿ› Bug Fixes

  • Make updateDocuments accept partial documents in typing (#1209) @bidoubiwa
  • FIX-1222 Update EnqueuedTask to be in line with spec (#1228) @rob-moore
  • fix: TypoTolerance type has a wrong key name (#1276) @lrvinye

Thanks again to @bidoubiwa, @brunoocasali, @lrvinye, @mmachatschek, @rob-moore, @rutterjt and @susamongusacedemy! ๐ŸŽ‰

v0.25.1 ๐ŸŒป

09 May 14:00
5a9eca4
Compare
Choose a tag to compare

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

Even if the minor version improved, this PR does not introduce a breaking-change!

๐Ÿš€ Enhancements

  • Ensure nested field support #1192
  • Add the typo tolerance setting #1197
    • Add typoTolerance parameter in the Settings type.
    • Creation of: index.getTypoTolerance, index.updateTypoTolerance, index.resetTypoTolerance
  • Add highlightPreTag & highlightPostTag & cropMarker #1196

๐Ÿ› Bug Fixes

  • Make updateDocuments accept partial documents in typing (#1209) @bidoubiwa

Thanks again to @bidoubiwa and @mmachatschek! ๐ŸŽ‰

v0.26.0-beta.0

19 Apr 15:45
Compare
Choose a tag to compare
v0.26.0-beta.0 Pre-release
Pre-release

This beta version makes this package compatible with MeiliSearch v0.27.0rc1 ๐ŸŽ‰
Check out the changelog of MeiliSearch v0.27.0rc1 for more information on the changes.

๐Ÿš€ Enhancements

  • Ensure nested field support #1192
  • Add the typo tolerance setting #1197
    • Add typoTolerance parameter in the Settings type.
    • Creation of: index.getTypoTolerance, index.updateTypoTolerance, index.resetTypoTolerance
  • Add highlightPreTag & highlightPostTag & cropMarker #1196

v0.25.0 ๐ŸŒป

14 Mar 14:56
be800d5
Compare
Choose a tag to compare

This version makes this package compatible with MeiliSearch v0.25 up to v0.26.0 ๐ŸŽ‰
Check out the changelog of MeiliSearch v0.26.0 for more information about the โš ๏ธ breaking changes about the flag and dump new behavior.

๐Ÿš€ Enhancements

  • Added new method generateTenantToken() as a result of the addition of the multi-tenant functionality.
    This method creates a JWT tenant token that will allow the user to have multi-tenant indexes and thus restrict access to documents based on the end-user making the search request. (#1162) @bidoubiwa
  • Complete details field in tasks (#1151) @bidoubiwa
  • Add a validator on the provided host (#1168) @bidoubiwa

โš ๏ธ Breaking changes

  • Add new method to getAllRawIndexes(), change getIndexes() behavior (#1045) @K-Kumar-01
    • client.getIndexes now returns an array of Index instances.
    • client.getRawIndexes now returns an array of object containing the indexes information returned by meilisearch
  • Change how the library exports bundles (#1161) @bidoubiwa

๐Ÿ”’ Security

  • [Security] build(deps): bump shelljs from 0.8.4 to 0.8.5 (#1134)

Thanks again to @K-Kumar-01, @bidoubiwa, @dichotommy, and @psvnlsaikumar! ๐ŸŽ‰

v0.24.0 ๐ŸŒป

12 Jan 16:05
fbc87a4
Compare
Choose a tag to compare

This package version is compatible with MeiliSearch v0.25.0 ๐ŸŽ‰

โš ๏ธ Breaking changes

  • This package is only compatible with MeiliSearch v0.25.0 and later, but not with v0.24.0 and older. Be sure you are using at least MeiliSearch v0.24.0 or newer before doing the upgrade.
    Why isn't it compatible?
    • MeiliSearch v0.25.0 uses Authorization header instead of X-Meili-API-Key
    • MeiliSearch v0.25.0 has a new API regarding the updates that have been renamed into tasks. More details in the following points
  • Changes related to the new task API (#1123) @bidoubiwa Check out the task API references and the asynchronous tasks guide
    • createIndex, updateIndex and deleteIndex are now asynchrone regarding MeiliSearch and do not return a Index instance anymore, but a task object. Please use index() method instead.
    • Rename index.getAllUpdateStatus into index.getTasks
    • Rename index.getUpdateStatus into index.getTask
    • waitForPendingUpdate is renamed into waitForTask and is accessible from index and from client
  • Remove getOrCreateIndex method (#1125) @bidoubiwa
  • Remove deleteIndexIfExists method (#1124) @bidoubiwa
  • client.getKeys() does not return an object of keys, but an array of keys. Check out keys API references.

๐Ÿš€ Enhancements

  • Add API keys methods (#1123) @bidoubiwa
    • client.createKey()
    • client.updateKey()
    • client.deleteKey()
    • client.getKey()

Check out the documentation guide.

  • Add new methods client.getTasks() and client.getTask()

Thanks again to @bidoubiwa, @alallema and @curquiza ! ๐ŸŽ‰

v0.24.0-beta.1

10 Jan 12:17
Compare
Choose a tag to compare
v0.24.0-beta.1 Pre-release
Pre-release

This package version is compatible with MeiliSearch v0.25.0.rc3 ๐ŸŽ‰

โš ๏ธ Breaking changes

  • Wrap keys results inside results object #1132

Thanks again to @bidoubiwa! ๐ŸŽ‰

v0.24.0-beta.0

05 Jan 01:22
Compare
Choose a tag to compare
v0.24.0-beta.0 Pre-release
Pre-release

This package version is compatible with MeiliSearch v0.25.0.rc3 ๐ŸŽ‰

โš ๏ธ Breaking changes

  • Changes related to the next MeiliSearch release (v0.24.0) (#1108)
  • Change update API to task API #1123
  • Remove deleteIfExists method #1124
  • Remove get or create index #1125
  • Change key methods #1123

Thanks again to @bidoubiwa! ๐ŸŽ‰

v0.23.0 ๐ŸŒป

22 Nov 14:29
25ba640
Compare
Choose a tag to compare

This package version is compatible with MeiliSearch v0.24.0 ๐ŸŽ‰

โš ๏ธ Breaking changes

  • Changes related to the next MeiliSearch release (v0.24.0) (#1074)

Errors API changes

MeiliSearchApiError interface receives an update in the fields naming. Error fields are replaced by the following:

  • errorCode -> code
  • errorLink -> link
  • errorType -> type

When an update fails, previously the error fields in the update body were also namederrorCode, errorLink, ...
Now error fields are moved inside the error and the naming is changing the same way it did in MeiliSearchApiError.

{
    "status": "failed",
    "updateId": 1,
    // ...
    "error": {
	 "message": "Document `:documentId` not found.",
    	"code": "document_not_found",
    	"type": "invalid_request",
    	"link": "https://docs.meilisearch.com/errors#document_not_found"
    },
  }

Thanks again to @bidoubiwa! ๐ŸŽ‰