Releases: meilisearch/meilisearch-js
v0.29.1 π»
v0.29.0 π»
β οΈ Breaking changes
- refactor: Construct date type for related keys (#1338) @TheLearneer
- Refactor Task and EnqueuedTask to classes (#1343) @blenderskool
π Enhancements
- Add faceting index settings methods (#1344) @Ugzuzg
- Add support to the pagination setting customization at the index level (#1339) @vishalsodani
- Make MatchingStrategies enum type available to import (#1358) @jimmyruann
Thanks again to @CursedRock17, @MoskalykA, @TheLearneer, @Ugzuzg, @bidoubiwa, @blenderskool, @brunoocasali, @jimmyruann, @sab1in, @vishalsodani, @viveknshah and sabin! π
v0.28.0 π»
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 toindexes.create
,indexes.get
,indexes.delete
,indexes.delete
, andindexes.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
.
- The
NOT
filter keyword does not have an implicitlyEXIST
operator anymore. Check out for more information: meilisearch/meilisearch#2486
Thanks again to @bidoubiwa and @guimachiavelli! π
v0.28.0-beta.0 π»
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 π»
π Enhancements
- Add
any
as anoptionalWords
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).
Thanks again to @bidoubiwa ! π
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 ! π