Releases: meilisearch/meilisearch-php
v0.25.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
- Ensure support to the new search query parameter
matchingStrategy
(#376) @brunoocasali - 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
. (#377) @brunoocasali
โ ๏ธ 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
v0.24.2 ๐
๐ Enhancements
- Add the ability to provide extra custom user agents (#369) @brunoocasali
Thanks again to @brunoocasali! ๐
v0.24.1 ๐
๐ Enhancements
- Pass
$options
toIndexes#allRaw
method (#360) @Jared87 - Add
faceting
andpagination
settings (#362) @tgalopin co-authored by @eelcol (#361)getFaceting
,updateFaceting
,resetFaceting
getPagination
,updatePagination
,resetPagination
- Fix bad typehint on
IndexesResults
constructor (#357) @norkunas - Use the correct notation for getting documents (#358) @brunoocasali
Thanks again to @Jared87, @brunoocasali, @eelcol, @norkunas and @tgalopin! ๐
v0.24.0 ๐
This version makes this package only compatible with Meilisearch v0.28.0 ๐
Check out the changelog of Meilisearch v0.28.0 for more information on the changes.
๐ฅ Breaking changes
rawSearch
(and other raw*
functions) are a direct connection between your PHP application and Meilisearch, you may find changes that are not present in this section.
MeiliSearch\Client->getDumpStatus
method was removed. (#336) @brunoocasaliMeiliSearch\Client->getIndexes
method now return a object typeIndexesResults
. (#341), (#345) @brunoocasaliMeiliSearch\Client->generateTenantToken
now require aString apiKeyUid
which is theuid
of theKey
instance used to sign the token. (#343) @brunoocasaliMeiliSearch\Client->createDump
now responds withTask
object. (#336, #337) @brunoocasaliMeiliSearch\Client->getKeys
method now return a object typeKeysResults
. (#343), (#338) @brunoocasaliMeiliSearch\Client->updateKey
now can just update adescription
and/orname
, if there are other key/value will be silently ignored. (#343), (#338) @brunoocasaliMeiliSearch\Client->getTasks
method now return a object typeTasksResults
. (#337), (#346) @brunoocasaliMeiliSearch\Index->getTasks
method now return a object typeTasksResults
. (#337), (#346) @brunoocasaliMeiliSearch\Index->search
facetsDistribution
is nowfacets
(#332) @curquizaMeiliSearch\Index->search
matches
is nowshowMatchesPosition
(#332) @curquizaMeiliSearch\Index->getDocuments
method now return a object typeDocumentsResults
.MeiliSearch\Index->getDocuments
method now accepts a object as a parameter andoffset
,limit
,attributesToRetrieve
were not longer accepted.exhaustiveNbHits
,facetsDistribution
,exhaustiveFacetsCount
were removed fromSearchResult
. (#332) @curquiza
๐ Enhancements
MeiliSearch\Client->getIndexes
accepts a objectIndexesQuery
to filter and paginate the results.MeiliSearch\Client->getKeys
accepts a objectKeysQuery
to filter and paginate the results. (#343), (#338) @brunoocasaliMeiliSearch\Client->getKey
accepts both aKey#uid
orKey#key
value. (#343), (#338) @brunoocasaliMeiliSearch\Client->getTasks
accepts a objectTasksQuery
to filter and paginate the results. (#337), (#346) @brunoocasaliMeiliSearch\Index->getTasks
accepts a objectTasksQuery
to filter and paginate the results. (#337), (#346) @brunoocasaliMeiliSearch\Client->createKey
can specify auid
(optionally) to create a newKey
. (#343), (#338) @brunoocasaliMeiliSearch\Index->getDocument
accepts afields
list to compact the remap the response. (#340), (#344) @brunoocasaliMeiliSearch\Index->getDocuments
accepts a objectDocumentsQuery
to filter and paginate the results. (#340), (#344) @brunoocasaliKey
has now aname
anduid
string fields. (#343), (#338) @brunoocasaliestimatedTotalHits
,facetDistribution
were added toSearchResult
(#332) @curquizanbHits
is still defined and will contain the same value asestimatedTotalHits
.
- Sending a invalid
uid
orapiKey
will raiseInvalidApiKeyException
. (#343) @brunoocasali
Thanks again to @brunoocasali, @curquiza! ๐
v0.23.3 ๐
๐ Enhancements
- Improve Docker configuration in the package (#328) @brunoocasali
๐ Bug Fixes
Thanks again to @Nextra, @brunoocasali ! ๐
v0.23.2 ๐
This version makes this package compatible with Meilisearch v0.27.0๐
Check out the changelog of Meilisearch v0.27.0 for more information about the changes.
๐ Enhancements
- Add new methods for the new typo tolerance settings #316 @alallema
index.getTypoTolerance()
index.updateTypoTolerance(params)
index.resetTypoTolerance()
- Ensure nested field support #317 @alallema
- Add new search parameters highlightPreTag, highlightPostTag and cropMarker #318 @alallema
๐ Bug Fixes
v0.23.1 ๐
v0.23.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
โ ๏ธ Breaking changes
- Make settings and synonyms be classes so they can be serialized properly (#281) @jonatanrdsantos
- Changes the Keys Class (#298) @alallema
๐ 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. (#297) @alallema
Thanks again to @TeddyBear06, @alallema, @jonatanrdsantos! ๐
v0.22.0 ๐
This package version is compatible with MeiliSearch v0.25.0
โ ๏ธ Breaking changes
- Drop PHP 7.3 support (#284) @mmachatschek
๐ Enhancements
- Add typed properties and more typed parameters to methods (#285) @mmachatschek
- Add a function to respond with the full qualified version for the PHP SDK:
"Meilisearch PHP (v0.21.0)"
(#293) @brunoocasali - Add new feature: Analytics (#294) @brunoocasali
Thanks again to @alallema, @brunoocasali, @mmachatschek and @shahlin! ๐
v0.21.0 ๐
This package version is compatible with MeiliSearch v0.25.0 (#370)
โ ๏ธ 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.25.0 or newer before doing the upgrade.
Why isn't it compatible?- MeiliSearch v0.25.0 uses
Authorization
header instead ofX-Meili-API-Key
(#265) - 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
- Remove
deleteIndexIfExists
method (#266) @alallema - Remove
getOrCreateIndex
method (#267) @alallema - Redesign update API to task API (#268) @alallema
- All the actions on indexes are now asynchronous check out the task API references and the asynchronous tasks guide
createIndex()
,updateIndex()
,deleteIndex()
are now asynchrone and return atask
response instead of anIndex
.index.create
andindex.delete
from index return atask
.waitForPendingUpdate()
is renamed intowaitForTask
and is accessible fromindex
and fromclient
.- the current
index.waitForTask()
method call/tasks/:uid
index.getUpdateStatus
is renamedindex.getTask
index.getAllUpdateStatus
is renamedindex.getTasks
- new method
client.waitForTask()
call/tasks/:uid
- new method
client.waitForTask()
- new method
client.getTasks
that calls/tasks
- new method
client.getTask
that calls/tasks/:uid
Notes: The only two methods that now return anIndex
areclient.index()
andclient.getIndex()
- All the actions on indexes are now asynchronous check out the task API references and the asynchronous tasks guide
- Change
client.getKeys
does not return an object of keys, but an array of keys. Check out keys API references. - Changes related to the next MeiliSearch release (v0.25.0) (#261)
๐ Enhancements
- Extract functionality to a more specific class (#272) @jonatanrdsantos
- Addition related to API keys (#269) @alallema
- Granular management of API keys is now added to MeiliSearch. New methods have been created to manage this:
http.patch
use byupdateKey
client.getKey
get information about a specific API key.client.createKey
create a new API key.client.deleteKey
delete an API key.client.updateKey
update an API key.
- Check out the documentation guide.
- Granular management of API keys is now added to MeiliSearch. New methods have been created to manage this:
Thanks again to @alallema, @curquiza, @jonatanrdsantos, @norkunas, and Jonatan Santos! ๐