Releases: meilisearch/meilisearch-js
v0.27.0-optional-words-beta.0 π»
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 π»
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 fieldshitsPerPage
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 π»
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 thedescription
and/or the name. #1266- The type
EnqueuedTask
now returns antaskUid
instead of anuid
client.getTasks(...)
andindex.getTasks()
now returns a TasksResults type containing the following fields:results
,limit
,from
,next
#1269index.search
changes in the response parameters: #1263nbHits
replaced withestimatedTotalHits
exhaustiveNbHits
is deletedexhaustiveFacetsCount
is deleted
index.search
changes in the request parameters: #1263matches
renamedshowMatchesPosition
_matchesInfo
response parameter is renamed_matchesPosition
facetsDistribution
request parameter is renamedfacets
.facetsDistribution
response parameter is renamedfacetDistribution
.
- The
Index
type and returnedIndexObject
does not contain aname
field anymore client.getIndexes
andclient.getRawIndexes
now returns anIndexesResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
andclient.getDocuments
now returns anDocumentsResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
andindex.getDocument
query parameterattributesToRetrieve
is now calledfields
#1264client.getDumpStatus
has been removed #1267client.createDump()
now returns anEnqueuedTask
#1267client.generateTenantToken(apiKeyUid, searchRules, options)
has now a mandatoryapiKeyUid
parameter which should contain the uid of a specific API key. #1268
π Enhancements
client.getKeys(parameters: KeysQuery = {})
now accepts pagination parameters:limit
,offset
#1269client.getKey(keyOrUid: string)
can now also find keys based on their key uid. #1266client.createKey(options: KeyCreation)
lets you specify a custom uid (optionally) to create a new Key #1269- The returned
Key
now has an additionalname
anduid
string fields. #1266 - The
indexUid
field in bothEnqueuedTask
andTask
can be null #1259 client.getTasks(parameters: TasksQuery = {})
andindex.getTasks(parameters: TasksQuery)
now accepts pagination parameters:limit
,from
,next
and filters parameters:type
,status
,indexUid
(same forindex.getTasks
) #1269client.getIndexes
andclient.getRawIndexes
now accepts pagination parameters:limit
,offset
#1269index.getDocuments
now accepts pagination parameters:limit
,offset
#1269new MeiliSearch({ host, apiKey, headers, clientAgents })
now accept a new parameterclientAgents
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
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 thedescription
and/or the name. #1266- The type
EnqueuedTask
now returns antaskUid
instead of anuid
client.getTasks(...)
andindex.getTasks()
now returns a TasksResults type containing the following fields:results
,limit
,from
,next
#1269index.search
changes in the response parameters: #1263nbHits
replaced withestimatedTotalHits
exhaustiveNbHits
is deletedexhaustiveFacetsCount
is deleted
index.search
changes in the request parameters: #1263matches
renamedshowMatchesPosition
_matchesInfo
response parameter is renamed_matchesPosition
facetsDistribution
request parameter is renamedfacets
.facetsDistribution
response parameter is renamedfacetDistribution
.
- The
Index
type and returnedIndexObject
does not contain aname
field anymore client.getIndexes
andclient.getRawIndexes
now returns anIndexesResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
andclient.getDocuments
now returns anDocumentsResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
query parameterattributesToRetrieve
is now calledfields
#1264client.getDumpStatus
has been removed #1267client.createDump()
now returns anEnqueuedTask
#1267client.generateTenantToken(apiKeyUid, searchRules, options)
has now a mandatoryapiKeyUid
parameter which should contain the uid of a specific API key. #1268
π Enhancements
client.getKeys(parameters: KeysQuery = {})
now accepts pagination parameters:limit
,offset
#1269client.getKey(keyOrUid: string)
can now also find keys based on their key uid. #1266client.createKey(options: KeyCreation)
lets you specify a custom uid (optionally) to create a new Key #1269- The returned
Key
now has an additionalname
anduid
string fields. #1266 - The
indexUid
field in bothEnqueuedTask
andTask
can be null #1259 client.getTasks(parameters: TasksQuery = {})
andindex.getTasks(parameters: TasksQuery)
now accepts pagination parameters:limit
,from
,next
and filters parameters:type
,status
,indexUid
(same forindex.getTasks
) #1269client.getIndexes
andclient.getRawIndexes
now accepts pagination parameters:limit
,offset
#1269index.getDocuments
now accepts pagination parameters:limit
,offset
#1269new MeiliSearch({ host, apiKey, headers, clientAgents })
now accept a new parameterclientAgents
that should contain the agent from which the library is used. #1272
Thanks again to @bidoubiwa ! π
v0.27.0-beta.0
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 thedescription
and/or the name. #1266- The type
EnqueuedTask
now returns antaskUid
instead of anuid
client.getTasks(...)
andindex.getTasks()
now returns a TasksResults type containing the following fields:results
,limit
,from
,next
#1269index.search
changes in the response parameters: #1263nbHits
replaced withestimatedTotalHits
exhaustiveNbHits
is deletedexhaustiveFacetsCount
is deleted
index.search
changes in the request parameters: #1263matches
renamedshowMatchesPosition
_matchesInfo
response parameter is renamed_matchesPosition
facetsDistribution
request parameter is renamedfacets
.facetsDistribution
response parameter is renamedfacetDistribution
.
- The
Index
type and returnedIndexObject
does not contain aname
field anymore client.getIndexes
andclient.getRawIndexes
now returns anIndexesResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
andclient.getDocuments
now returns anDocumentsResults
type containing the following fields:results
,limit
,offset
,total
#1269index.getDocuments
query parameterattributesToRetrieve
is now calledfields
#1264client.getDumpStatus
has been removed #1267client.createDump()
now returns anEnqueuedTask
#1267client.generateTenantToken(apiKeyUid, searchRules, options)
has now a mandatoryapiKeyUid
parameter which should contain the uid of a specific API key. #1268
π Enhancements
client.getKeys(parameters: KeysQuery = {})
now accepts pagination parameters:limit
,offset
#1269client.getKey(keyOrUid: string)
can now also find keys based on their key uid. #1266client.createKey(options: KeyCreation)
lets you specify a custom uid (optionally) to create a new Key #1269- The returned
Key
now has an additionalname
anduid
string fields. #1266 - The
indexUid
field in bothEnqueuedTask
andTask
can be null #1259 client.getTasks(parameters: TasksQuery = {})
andindex.getTasks(parameters: TasksQuery)
now accepts pagination parameters:limit
,from
,next
and filters parameters:type
,status
,indexUid
(same forindex.getTasks
) #1269client.getIndexes
andclient.getRawIndexes
now accepts pagination parameters:limit
,offset
#1269index.getDocuments
now accepts pagination parameters:limit
,offset
#1269new MeiliSearch({ host, apiKey, headers, clientAgents })
now accept a new parameterclientAgents
that should contain the agent from which the library is used. #1272
Thanks again to @bidoubiwa ! π
v0.26.0 π»
β οΈ Breaking changes
- Rework the custom Meilisearch Errors (#1245) @bidoubiwa
- Allow query in search options (#1256) @bidoubiwa
π 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 π»
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 theSettings
type. - Creation of:
index.getTypoTolerance
,index.updateTypoTolerance
,index.resetTypoTolerance
- Add
- 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
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
v0.25.0 π»
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
π 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()
, changegetIndexes()
behavior (#1045) @K-Kumar-01client.getIndexes
now returns an array ofIndex
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 π»
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 ofX-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
- MeiliSearch v0.25.0 uses
- Changes related to the new task API (#1123) @bidoubiwa Check out the task API references and the asynchronous tasks guide
createIndex
,updateIndex
anddeleteIndex
are now asynchrone regarding MeiliSearch and do not return aIndex
instance anymore, but a task object. Please useindex()
method instead.- Rename
index.getAllUpdateStatus
intoindex.getTasks
- Rename
index.getUpdateStatus
intoindex.getTask
waitForPendingUpdate
is renamed intowaitForTask
and is accessible fromindex
and fromclient
- 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()
andclient.getTask()
Thanks again to @bidoubiwa, @alallema and @curquiza ! π