Releases: meilisearch/meilisearch-php
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->getDumpStatusmethod was removed. (#336) @brunoocasaliMeiliSearch\Client->getIndexesmethod now return a object typeIndexesResults. (#341), (#345) @brunoocasaliMeiliSearch\Client->generateTenantTokennow require aString apiKeyUidwhich is theuidof theKeyinstance used to sign the token. (#343) @brunoocasaliMeiliSearch\Client->createDumpnow responds withTaskobject. (#336, #337) @brunoocasaliMeiliSearch\Client->getKeysmethod now return a object typeKeysResults. (#343), (#338) @brunoocasaliMeiliSearch\Client->updateKeynow can just update adescriptionand/orname, if there are other key/value will be silently ignored. (#343), (#338) @brunoocasaliMeiliSearch\Client->getTasksmethod now return a object typeTasksResults. (#337), (#346) @brunoocasaliMeiliSearch\Index->getTasksmethod now return a object typeTasksResults. (#337), (#346) @brunoocasaliMeiliSearch\Index->searchfacetsDistributionis nowfacets(#332) @curquizaMeiliSearch\Index->searchmatchesis nowshowMatchesPosition(#332) @curquizaMeiliSearch\Index->getDocumentsmethod now return a object typeDocumentsResults.MeiliSearch\Index->getDocumentsmethod now accepts a object as a parameter andoffset,limit,attributesToRetrievewere not longer accepted.exhaustiveNbHits,facetsDistribution,exhaustiveFacetsCountwere removed fromSearchResult. (#332) @curquiza
🚀 Enhancements
MeiliSearch\Client->getIndexesaccepts a objectIndexesQueryto filter and paginate the results.MeiliSearch\Client->getKeysaccepts a objectKeysQueryto filter and paginate the results. (#343), (#338) @brunoocasaliMeiliSearch\Client->getKeyaccepts both aKey#uidorKey#keyvalue. (#343), (#338) @brunoocasaliMeiliSearch\Client->getTasksaccepts a objectTasksQueryto filter and paginate the results. (#337), (#346) @brunoocasaliMeiliSearch\Index->getTasksaccepts a objectTasksQueryto filter and paginate the results. (#337), (#346) @brunoocasaliMeiliSearch\Client->createKeycan specify auid(optionally) to create a newKey. (#343), (#338) @brunoocasaliMeiliSearch\Index->getDocumentaccepts afieldslist to compact the remap the response. (#340), (#344) @brunoocasaliMeiliSearch\Index->getDocumentsaccepts a objectDocumentsQueryto filter and paginate the results. (#340), (#344) @brunoocasaliKeyhas now anameanduidstring fields. (#343), (#338) @brunoocasaliestimatedTotalHits,facetDistributionwere added toSearchResult(#332) @curquizanbHitsis still defined and will contain the same value asestimatedTotalHits.
- Sending a invalid
uidorapiKeywill 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
Authorizationheader 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
deleteIndexIfExistsmethod (#266) @alallema - Remove
getOrCreateIndexmethod (#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 ataskresponse instead of anIndex.index.createandindex.deletefrom index return atask.waitForPendingUpdate()is renamed intowaitForTaskand is accessible fromindexand fromclient.- the current
index.waitForTask()method call/tasks/:uid index.getUpdateStatusis renamedindex.getTaskindex.getAllUpdateStatusis renamedindex.getTasks- new method
client.waitForTask()call/tasks/:uid - new method
client.waitForTask() - new method
client.getTasksthat calls/tasks - new method
client.getTaskthat calls/tasks/:uid
Notes: The only two methods that now return anIndexareclient.index()andclient.getIndex()
- All the actions on indexes are now asynchronous check out the task API references and the asynchronous tasks guide
- Change
client.getKeysdoes 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.patchuse byupdateKeyclient.getKeyget information about a specific API key.client.createKeycreate a new API key.client.deleteKeydelete an API key.client.updateKeyupdate 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! 🎉
v0.20.0 🐘
⚠️ Breaking changes
This package version is compatible with MeiliSearch v0.24.0 and later, but not with v0.23.1 and older. Be sure you are using at least MeiliSearch v0.24.0 or newer before doing the upgrade.
🚀 Enhancements
- Add getRawIndex method to client (#234) @kjellknapen
- Add createdAt and updatedAt to Indexes (#237) @srichter
- Add PHP 8.1 support (#247) @mheap
Thanks again to @Hard-Coder05, @Sukriti-sood, @alallema, @almasaeed2010, @curquiza, @edinapap, @kjellknapen, @mheap, @srichter and Kjell Knapen! 🎉
v0.19.3 🐘 [ABANDONED]
If you are using MeiliSearch v0.23.1 or older, please still use meilisearch-php v0.19.2
If you are using MeiliSearch v0.24.0 or newer, please still use meilisearch-php v0.20.0
Sorry for this!
This package version is compatible with MeiliSearch v0.24.0
🚀 Enhancements
- Add getRawIndex method to client (#234) @kjellknapen
- Add createdAt and updatedAt to Indexes (#237) @srichter
- Add PHP 8.1 support (#247) @mheap
Thanks again to @Hard-Coder05, @Sukriti-sood, @alallema, @almasaeed2010, @curquiza, @edinapap, @kjellknapen, @mheap, @srichter and Kjell Knapen! 🎉
v0.19.2 🐘
This package version is compatible with MeiliSearch v0.23.0
Changes
- Add method
deleteIndexIfExists()(#226) @bofalke - Add method
addDocumentsInBatches(array $documents, ?int $batchSize = 1000, ?string $primaryKey = null)(#229) @bofalke - Add method
updateDocumentsInBatches(array $documents, ?int $batchSize = 1000, ?string $primaryKey = null)(#229) @bofalke - Add method to
getAllRawIndexes()(#228) @kjellknapen - News methods New format handling CSV NDJSON (#235) @alallema
- Add new index method
addDocumentsJson(string $documents, ?string $primaryKey = null) - Add new index method
addDocumentsNdJson(string $documents, ?string $primaryKey = null) - Add new index method
addDocumentsCsv(string $documents, ?string $primaryKey = null)
- Add new index method
Bugs
- Fixing issue when send synonyms as empty array (#208) @alallema
- Check response Content-Type header in HTTP client (#219) @srichter
- Refactors TimeOutException (fixing unreachable code) and increase test coverage (#221) @srichter
Thanks again to @AbihaFatima, @alallema, @bofalke, @curquiza, @kjellknapen, @srichter, and Kjell Knapen! 🎉