meilisearch
Meilisearch Dart is the Meilisearch API client for Dart and Flutter developers.
0.19.0
3.3K downloads/mo
#4502 most downloaded on pub.dev
meilisearch/meilisearch-dart
What this package is like to depend on
Last release 4 months ago
01 Apr 2026
Release timing varies
gaps range from 8 days to 1.1 years
Nearly every release is documented
notes for 35 of 36 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
39 releases · first in 2020
3 releases in the last 12 months
see the full history below
Release timeline
39 releases · Dec 2020 to Apr 2026Releases
latest 39-
0.19.001 Apr 2026Release notes
Open source →🚀 Enhancements
- Add replication and sharding support via network API (#480) @Strift
⚙️ Maintenance/misc
- Remove unused code samples (#472) @curquiza
- Replace localhost:7700 with MEILISEARCH_URL (#471) @Strift
- Fix test timeouts (#474) @Strift
Thanks again to @Strift, @brunoocasali, @curquiza ! 🎉
-
0.18.003 Feb 2026Release notes
Open source →🚀 Enhancements
🐛 Bug Fixes
- Type casting for JWT claims in tenant token tests (#451) @ahmednfwela
⚙️ Maintenance/misc
- Update dependabot and release template configuration (#448)
- Remove bors and use GitHub merge queue (#454) @curquiza
- Remove
bors.tomlconfiguration file (#455) - Use Meilisearch Enterprise Edition (#457) @Strift
- Clean up table of contents in CONTRIBUTING.md (#464) @curquiza
- Add AI usage disclosure guidelines to CONTRIBUTING.md (#465)
- Bump actions/checkout from 4 to 6 (#460) @dependabot[bot]
Thanks again to @M4dhav, @Strift, @ahmednfwela, @brunoocasali, @curquiza, @dependabot[bot], @meili-bors[bot], and dependabot[bot]! 🎉
Release notes
Open source →Breaking Changes:
No breaking change but addition of new features
- export API
- Add ID as a parameter for GetDocuments
-
0.17.118 Sep 2025Release notes
Open source →🚀 Enhancements
- Implement
rankingScoreThresholdas search query parameter (#436) @memishood
⚙️ Maintenance/misc
- Add logs to understand flaky tests (#432) @ahmednfwela
- Make index swap test more permissive (#442) @Strift
- Bump dart_jsonwebtoken from 2.17.0 to 3.2.0 (#434) @dependabot[bot]
- Bump lints from 3.0.0 to 6.0.0 (#433) @dependabot[bot]
- Add 'dependencies' label to release draft template (#447) @curquiza
Thanks again to @Strift, @ahmednfwela, @curquiza, @dependabot[bot], @meili-bors[bot], @memishood and dependabot[bot]! 🎉
- Implement
-
0.17.030 Apr 2025Release notes
Open source →🚀 Enhancements
- implement experimental ai-powered search (#398) @memishood
- Rename current_mean and current_sigma for AI feature (#407) @ahmednfwela
- Stabilize vector store usage (#410) @Strift
⚙️ Maintenance/misc
- Chore: fix linting issues (#403) @Strift
- Revert "Chore: fix linting issues" & fix linting (#405) @curquiza
- Update release-drafter workflow (#425) @Strift
- Remove _md code samples for Mintlify migration (#421) @curquiza
- Fix CI for publishing (#427) @curquiza
- Update publishing workflow (#428) @Strift
Thanks again to @Strift, @ahmednfwela, @curquiza, @guimachiavelli, @meili-bors[bot], and @memishood! 🎉
Release notes
Open source →Breaking Changes:
- AI-powered search is now stable. Use it without activating the experimental feature.
-
0.16.011 Mar 2024Release notes
Open source →This version introduces features released on Meilisearch v1.7.0 🎉
Check out the changelog of Meilisearch v1.7.0 for more information on the changes.⚠️ Breaking changes
scoreDetailsfeature is not experimental anymore. You can directly useshowRankingScoreDetailsduring a search without activating the experimental feature 🎉
🚀 Enhancements
- Add text separators (#379) @ahmednfwela
⚙️ Maintenance/misc
- Create code samples from code, a.k.a. code excerpts (#358) @ahmednfwela
- Update dart version and checkout (#367) @brunoocasali
- fix ci steps (#378) @ahmednfwela
- docs: Add readme section about dio (#380) @ahmednfwela
Release notes
Open source →Breaking Changes:
scoreDetailsfeature is not experimental anymore. You can directly use showRankingScoreDetails during a search without activating the experimental feature
-
0.15.014 Sep 2023Release notes
Open source →Checkout the full CHANGELOG here: https://github.com/meilisearch/meilisearch-dart/blob/main/CHANGELOG.md
⚠️ Breaking changes
- feat(settings): Add sortFacetValuesBy (#351) @ahmednfwela
- Add Result container (#350) @ahmednfwela
🚀 Enhancements
- EXPERIMENTAL: Add vector store (#335, #350) @ahmednfwela
- EXPERIMENTAL: Display ranking details at search (#338, #350) @ahmednfwela
- support /tasks total (#343) @ahmednfwela
- added attributesToSearchOn (#342) @ahmednfwela
- Facet search (#344) @ahmednfwela
- feat(settings): Add sortFacetValuesBy (#351) @ahmednfwela
Thanks again to @ahmednfwela, @brunoocasali, @curquiza, @justkahdri, @meili-bors[bot] ! 🎉
Release notes
Open source →Breaking Changes:
- Change members of
Facetingto befinal, and remove the default values - Mark all
Searcheable<T>fields in the constructor asrequired - Bug Fix
Searcheable<T>had a wrongmatchesPositionproperty, which was moved intoMeiliDocumentContainer<T>
Changes:
- Add
int? totaltoTasksResults - Add
attributesToSearchOntoSearchQueryandIndexSearchQuery - Add
Future<FacetSearchResult> facetSearch(FacetSearchQuery query)toMeiliSearchIndex - Add
enum FacetingSortTypes - Add
Map<String, FacetingSortTypes>? sortFacetValuesBytoFaceting - [experimental]* Add
List? vectortoSearchQueryandIndexSearchQuery - [experimental]* Add
bool? showRankingScoreDetailstoSearchQueryandIndexSearchQuery - Add
bool? showRankingScoretoSearchQueryandIndexSearchQuery - Add
MeiliDocumentContainer<T> - Add
Map<String, dynamic> srctoSearchablewhich exposes the raw json object returned from the server. Just in case we don't keep up with new meilisearch releases, the user has a way to access new features.
[experimental]* To adopt a experimental change you must opt-in manually
-
0.14.006 Jun 2023Release notes
Open source →This version introduces features released on Meilisearch v1.2.0 🎉
Check out the changelog of Meilisearch v1.2.0 for more information on the changes.
⚠️ If you want to adopt new features of this release, update the Meilisearch server to the according version.Check the complete CHANGELOG here: https://github.com/meilisearch/meilisearch-dart/blob/main/CHANGELOG.md
💥 Breaking changes
-
The method
deleteDocuments()now supports a different behavior. This method now takes aDeleteDocumentsQuery, which could contain the filter or theids(aka old behavior). #318 @ahmednfwela⚠️ You must configure the attributes you want to filter using the
MeiliSearchIndex.filterableAttributes().
⚠️ Remember to update your Meilisearch server to v1.2.0 or newer before adopting it.Still, even being supported, the ability to receive only a list of ids is deprecated, and it will be removed soon.
// from: - Future<Task> deleteDocuments(List<Object> ids) + Future<Task> deleteDocuments(DeleteDocumentsQuery query) // to: - index.deleteDocuments([456, 4]) + index.deleteDocuments(DeleteDocumentsQuery(ids: [456, 4]))
-
Add the ability to set
filterin theDocumentsQuery. When a query with afilteris sent togetDocuments(params: DocumentsQuery)it will filter the documents like thesearchmethod. See the docs on how to use filters. #318 @ahmednfwela⚠️ You must configure the attributes you want to filter using the
MeiliSearchIndex.filterableAttributes().
⚠️ Remember to update your Meilisearch server to v1.2.0 or newer before adopting it. -
MeiliSearchIndex.searchnow takes aString queryand aSearchQueryobject as the only inputs. #310 @ahmednfwela- Replace any occurrence of search
index.search('xyz', ....)withindex.search('xyz', SearchQuery(....))
- await client.index('books').search('query', sort: [], filter: ...); + await client.index('books').search('query', SearchQuery(sort: [], filter: ...));
- Replace any occurrence of search
-
Meili.geoBoundingBoxandMeili.geoRadiusnow take record values to represent thelat/lngpoints: #310 @ahmednfwela// Confusing, unclear - Meili.geoBoundingBox(3,5.3,10,20) // Not Confusing :) + Meili.geoBoundingBox((lat: 3, lng: 5.3), (lat: 10, lng: 20))
// Confusing, unclear - Meili.geoRadius(3, 5.3, 100) // Not Confusing :) + Meili.geoRadius((lat: 3, lng: 5.3), 100)
-
Change
MultiSearchQuery.queriesto be aList<IndexSearchQuery>instead of aList<SearchQuery>: #310 @ahmednfwelafinal result = await client.multiSearch(MultiSearchQuery(queries: [ - SearchQuery( + IndexSearchQuery( query: "", indexUid: index1.uid, ), - SearchQuery( + IndexSearchQuery( query: "", indexUid: index2.uid, ), ];
Enhancements:
- Introduce a new annotation
RequiredMeiliServerVersionwhich documents the version these members were introduced. #310 @ahmednfwela - Introduce filter expressions for
IS NULL,IS NOT NULL,IS EMPTY,IS NOT EMPTY. #310 @ahmednfwela - Added
filter,filterExpressionparameter toDocumentsQuery. #310 @ahmednfwela - Some internal
Queryablerefactoring to unify its behavior and avoid duplicating the code. #310 @ahmednfwela - Added a workaround for meilisearch/meilisearch#3740 by
jsonEncodingattribute names when usingfilterExpressions #310 @ahmednfwela - A new type is introduced
IndexSearchQuerywhich extendsSearchQuery. #310 @ahmednfwela- Added
copyWithtoSearchQueryandIndexSearchQuery#310 @ahmednfwela
- Added
Thanks again to @brunoocasali, @ahmednfwela! 🎉
Release notes
Open source →Breaking Changes:
- Moved
indexUid,queryfromSearchQueryto the newIndexSearchQuery. - Changed
deleteDocumentssignature:
// from: - Future<Task> deleteDocuments(List<Object> ids) + Future<Task> deleteDocuments(DeleteDocumentsQuery query) // to: - index.deleteDocuments([456, 4]) + index.deleteDocuments(DeleteDocumentsQuery(ids: [456, 4]))MeiliSearchIndex.searchnow takes aString queryand aSearchQueryobject as the only inputs.- Replace any ocurrence of search
index.search('xyz', ....)withindex.search('xyz', SearchQuery(....))
- Replace any ocurrence of search
- await client.index('books').search('query', sort: [], filter: ...); + await client.index('books').search('query', SearchQuery(sort: [], filter: ...));Meili.geoBoundingBoxandMeili.geoRadiusnow take record values to represent thelat/lngpoints:
// Confusing, unclear - Meili.geoBoundingBox(3,5.3,10,20) // Not Confusing :) + Meili.geoBoundingBox((lat: 3, lng: 5.3), (lat: 10, lng: 20))// Confusing, unclear - Meili.geoRadius(3, 5.3, 100) // Not Confusing :) + Meili.geoRadius((lat: 3, lng: 5.3), 100)- Change
MultiSearchQuery.queriesto be aList<IndexSearchQuery>instead of aList<SearchQuery>:
final result = await client.multiSearch(MultiSearchQuery(queries: [ - SearchQuery( + IndexSearchQuery( query: "", indexUid: index1.uid, ), - SearchQuery( + IndexSearchQuery( query: "", indexUid: index2.uid, ), ];Changes:
- Introduce a new annotation
RequiredMeiliServerVersionwhich documents the version this members were introduced. - Introduce filter expressions for
IS NULL,IS NOT NULL,IS EMPTY,IS NOT EMPTY. - Added
filter,filterExpressionparameter toDocumentsQuery. - Some internal
Queryablerefactoring to unify its behavior and avoid duplicating the code. - Added a workaround for https://github.com/meilisearch/meilisearch/issues/3740 by
jsonEncodingattribute names when usingfilterExpressions - A new type is introduced
IndexSearchQuerywhich extendsSearchQuery.- Added
copyWithtoSearchQueryandIndexSearchQuery
- Added
-
-
0.13.017 May 2023Release notes
Open source →⚠️ Breaking changes
- Raise minimum supported Dart runtime SDK to v3.0.0 (#307) @ahmednfwela
💅 Misc
- Add screenshot (#304) @brunoocasali
Thanks again to @ahmednfwela and @brunoocasali! 🎉
-
0.12.002 May 2023Release notes
Open source →This version introduces features released on Meilisearch v1.1.0 🎉
Check out the changelog of Meilisearch v1.1.0 for more information on the changes.⚠️ Breaking changes
- Add proper types for
facetStats,facetDistributions, andmatchesPosition(#296) @ahmednfwela
🚀 Enhancements
- Support for custom CSV delimiter (#295) @ahmednfwela
- Support
_geoBoundingBoxinfilterExpressionparameter (#297) @ahmednfwela - Refactor tests and allow concurrency (#299) @ahmednfwela
Thanks again to @ahmednfwela, @brunoocasali, @curquiza! 🎉
Release notes
Open source →Breaking Changes:
SwapIndexclass has a newassertto require at least two items in thethis.indexesattribute.- Introduces new classes:
FacetStat,MatchPosition. - Change
Searchable<T>to have proper types:
- final Object? facetDistribution; + final Map<String, Map<String, int>>? facetDistribution; - final Object? matchesPosition; + final Map<String, List<MatchPosition>>? matchesPosition; + final Map<String, FacetStat>? facetStats;Changes:
- Add
csvDelimiterparameter toaddDocumentsCsv,addDocumentsCsvInBatches,updateDocumentsCsv,updateDocumentsCsvInBatchesMeiliSearchIndexmethods. - Add support for
_geoBoundingBoxinfilterExpression
- Add proper types for
-
0.11.127 Apr 2023Release notes
Open source →🐛 Bug Fixes
- Make searchable.dart public available (#290, #289) @ahmednfwela
Thanks again to @ahmednfwela, @brunoocasali ! 🎉
-
0.11.027 Apr 2023Release notes
Open source →Breaking Changes:
- Changes
Searcheable,SearchResult,PaginatedSearchResultsignatures to be genericSearcheable<T>,SearchResult<T>,PaginatedSearchResult<T> - Adds a new
map<TOther>method toSearcheable<T>and its subclasses to map the search result to a different type. - All search operations produce
Searcheable<Map<String, dynamic>>by default, which can be mapped to other types using themap<TOther>method. - Revert some of the
Object?types that were changed fromdynamic:MeiliSearchClientclassFuture<Map<String, dynamic>> health();HttpRequestclassMap<String, dynamic> headers();MeiliSearchIndexclassFuture<Searcheable<Map<String, dynamic>>> search(...);MeiliSearchIndexclassFuture<Map<String, dynamic>?> getDocument(Object id, {List<String> fields});MeiliSearchIndexclassFuture<Result<Map<String, dynamic>>> getDocuments({DocumentsQuery? params});
Searcheable<T>.hitsis non-nullable now, and defaults toconst []
Changes:
- Introduced new extension methods to help consumers cast
Future<Searchable<T>>to the corresponding type:
final result = await index.search('').then((value) => (value as SearchResult<Map<String, dynamic>>).map(BookDto.fromMap)); final resultPaginated = await index.search('').then((value) => (value as PaginatedSearchResult<Map<String, dynamic>>).map(BookDto.fromMap));to:
final result = await index.search('').asSearchResult().map(BookDto.fromMap); final resultPaginated = await index.search('').asPaginatedResult().map(BookDto.fromMap); - Changes
-
0.10.224 Apr 2023Release notes
Open source →Changes:
- Introduce
MultiSearchQueryclass to handle search requests. - Add
Future<MultiSearchResult> multiSearch(MultiSearchQuery requests);toMeiliSearchClient.
- Introduce
-
0.10.124 Mar 2023Release notes
Open source →Bug Fixes:
- Fix the behavior of
client.index.getTasks()where theindexUidwas not changing correctly after consecutive calls.
- Fix the behavior of
-
0.10.022 Mar 2023Release notes
Open source →Changes:
-
Add
paginationsettings methodsFuture<Pagination> getPagination(),Future<Task> resetPagination(),Future<Task> updatePagination(Pagination pagination)onIndexinstances. -
Add
facetingsettings methodsFuture<Faceting> getFaceting(),Future<Task> resetFaceting(),Future<Task> updateFaceting(Faceting faceting)onIndexinstances. -
Add
typo tolerancesettings methodsFuture<TypoTolerance> getTypoTolerance(),Future<Task> resetTypoTolerance(),Future<Task> updateTypoTolerance(TypoTolerance typoTolerance)onIndexinstances. -
Add filter-builder style:
-
Added
filterExpressionparameter to thesearchmethod, which takes aMeiliOperatorExpressionBase, you can only use the new parameter or the regularfilterparameter, but not both. If both are provided,filterparameter will take priority. -
Added new facade class
Meiliwhich contains static methods to help create filter expressions. -
Added extension method
toMeiliAttribute()to String, which is equivalent toMeili.attr. -
Added extension method
toMeiliValue()toString,num,DateTime,bool, which are equivalent toMeili.value. -
example:This queryawait index.search('prince', filterExpression: Meili.eq(Meili.attribute('tag'), Meili.value("Tale")));is the same asawait index.search('prince', filter: "tag = Tale").
-
-
Add
Future<List<Task>> addDocumentsInBatches(List<Map<String, Object?>> documents, { int batchSize = 1000, String? primaryKey })toIndexinstances. -
Add
Future<List<Task>> updateDocumentsInBatches(List<Map<String, Object?>> documents, { int batchSize = 1000, String? primaryKey })toIndexinstances. -
Add support to create documents from ndJson and CSV formats directly from
IndexwithaddDocumentsNdjson,addDocumentsCsv,updateDocumentsNdjson, andupdateDocumentsCsvmethods. -
Add support for
Dioadapter customization withMeiliSearchClient.withCustomDio(url, apiKey: "secret", interceptors: [interceptor])(e.g: you can use this to inject custom code, support to HTTP/2 and more)
Special thanks to @ahmednfwela :tada:
-
-
0.9.128 Feb 2023Release notes
Open source →- [web] Fix a bug that affected the web platform regarding the override of
User-Agent. Now the header used to send the client name information is theX-Meilisearch-Clientone.
- [web] Fix a bug that affected the web platform regarding the override of
-
0.9.027 Feb 2023Release notes
Open source →Breaking Changes:
-
The minimum supported Dart runtime is now
2.15. -
Updated
diodependency fromv4tov5. -
MeiliSearchClientImpl.connectTimeout,MeiliSearchClient.connectTimeoutis now aDurationinstead ofint, and the default isDuration(seconds: 5). -
From
Future<Response<T>> getMethod<T>(String path, {Map<String, dynamic>? queryParameters,});toFuture<Response<T>> getMethod<T>(String path, { Object? data, Map<String, Object?>? queryParameters }) -
Reduce usage of
dynamickeyword by replacing it withObject?.Queryable.toQuerywas promoted fromMap<String, dynamic>toMap<String, Object>due to the use ofremoveEmptyOrNullsResult<T>had argument typeTthat was never used, so it was changed fromList<dynamic> results;toList<T> results;and introduced a new helper functionResult<TTarget> map<TTarget>(TTarget Function(T item) converter).getDocumentschanged signature fromFuture<Result> getDocuments({DocumentsQuery? params});toFuture<Result<Map<String, Object?>>> getDocuments({DocumentsQuery? params});, and now end users can call.mapon the result to use their own DTO classes (usingfromJsonfor example).Future<Task> deleteDocuments(List<dynamic> ids);toFuture<Task> deleteDocuments(List<Object> ids);since deleting anullid was an illegal operation.Future<Task> deleteDocument(dynamic id);toFuture<Task> deleteDocument(Object id);Future<Task> updateDocuments(List<Map<String, dynamic>> documents, {String? primaryKey});toFuture<Task> updateDocuments(List<Map<String, Object?>> documents, {String? primaryKey});Future<Task> addDocuments(List<Map<String, dynamic>> documents, {String? primaryKey});toFuture<Task> addDocuments(List<Map<String, Object?>> documents, {String? primaryKey});Future<Task> deleteDocument(dynamic id);toFuture<Task> deleteDocument(Object id);Future<Map<String, dynamic>?> getDocument(dynamic id, {List<String> fields});toFuture<Map<String, Object?>?> getDocument(Object id, {List<String> fields});Future<Searcheable> search(String? query, {...dynamic filter...})is now aObject? filterFuture<Map<String, dynamic>> getRawIndex(String uid);toFuture<Map<String, Object?>> getRawIndex(String uid);Future<Map<String, dynamic>> health();toFuture<Map<String, Object?>> health();String generateTenantToken(String uid, dynamic searchRules,...toString generateTenantToken(String uid, Object? searchRules,...class TasksResults<T> { ... }toclass TasksResults { ... }
Changes
- Fix a bug in the creation of keys with an existing
uid.
-
-
0.8.014 Feb 2023Release notes
Open source →Breaking changes
TasksQuery#canceledByfield is now aList<int>and not anint?anymore.- Add
indexUidtoTask
Changes
- Expose these classes:
PaginatedSearchResultDocumentsQueryTasksQueryCancelTasksQueryDeleteTasksQueryKeysTasksQueryIndexesTasksQueryMatchingStrategyenumMeiliSearchApiExceptionandCommunicationExceptionTaskandTaskErrorSwapIndex
-
0.7.101 Feb 2023Release notes
Open source →Changes
- Remove
dart:mirrorsdependency. Enableflutterandwebplatforms again.
- Remove
-
0.7.011 Jan 2023Release notes
Open source →Changes
⚠️ Don't use this version if you're using with Flutter or Web. It is not supported due to a mistake in the implementation of the
Queryableclass. Please use the next available version.SearchResultnow is returned fromsearchrequests when is a non-exhaustive pagination request. A instance ofPaginatedSearchResultis returned when the request was made with finite pagination.- Add
Future<Task> swapIndexes(List<SwapIndex> swaps)method to swap indexes. - Add
Future<Task> cancelTasks({CancelTasksQuery? params})to cancel tasks based on the input query params.CancelTasksQueryhas these fields:int? next;DateTime? beforeEnqueuedAt;DateTime? afterEnqueuedAt;DateTime? beforeStartedAt;DateTime? afterStartedAt;DateTime? beforeFinishedAt;DateTime? afterFinishedAt;List<int> uids;List<String> statuses;List<String> types;List<String> indexUids;
- Add
Future<Task> deleteTasks({DeleteTasksQuery? params})delete old processed tasks based on the input query params.DeleteTasksQueryhas these fields:int? next;DateTime? beforeEnqueuedAt;DateTime? afterEnqueuedAt;DateTime? beforeStartedAt;DateTime? afterStartedAt;DateTime? beforeFinishedAt;DateTime? afterFinishedAt;List<int> canceledBy;List<int> uids;List<String> statuses;List<String> types;List<String> indexUids;
Breaking changes
TasksQueryhas new fields, and some of them were renamed:- those fields were added:
int? canceledBy;DateTime? beforeEnqueuedAt;DateTime? afterEnqueuedAt;DateTime? beforeStartedAt;DateTime? afterStartedAt;DateTime? beforeFinishedAt;DateTime? afterFinishedAt;List<int> uids;
- those were renamed:
List<String> statuses;fromList<String> status;List<String> types;fromList<String> type;List<String> indexUids;fromList<String> indexUid;
- those fields were added:
-
0.6.111 Jan 2023Release notes
Open source →Changes
- Add support to
matchingStrategyin the searchMeiliSearchIndex#search.
- Add support to
-
0.6.011 Jul 2022Release notes
Open source →This version makes this package compatible with Meilisearch v0.28.0 and newer
Breaking changes
MeiliSearchClient#getDumpStatusmethod was removed.MeiliSearchClient#getIndexesmethod now return a object typeResult<MeiliSearchIndex>.TaskInfo,TaskImpl,ClientTaskImplare now justTask.- The method
getStatuswas removed in the new class.
- The method
MeiliSearchClient#generateTenantTokennow require aString uidwhich is theuidof theKeyinstance used to sign the token.MeiliSearchClient#createDumpnow responds withTask.MeiliSearchClient#getKeysmethod now return a object typeFuture<Result<Key>>.MeiliSearchClient#updateKeynow can just update adescriptionand/orname.MeiliSearchClient#getTasksmethod now return a object typeFuture<TasksResults>.MeiliSearchIndex#getTasksmethod now return a object typeFuture<TasksResults>.MeiliSearchIndex#searchfacetsDistributionis nowfacetsMeiliSearchIndex#searchmatchesis nowshowMatchesPositionMeiliSearchIndex#getDocumentsmethod now return a object typeFuture<Result>.MeiliSearchIndex#getDocumentsmethod now accepts a object as a parameter andoffset,limit,attributesToRetrievewere not longer accepted.nbHits,exhaustiveNbHits,facetsDistribution,exhaustiveFacetsCountwere removed fromSearchResult.- Remove unused generic
TinMeiliSearchClient#searchmethod
Changes
MeiliSearchClient#getIndexesaccepts a objectIndexesQueryto filter and paginate the results.MeiliSearchClient#getKeysaccepts a objectKeysQueryto filter and paginate the results.MeiliSearchClient#getKeyaccepts both aKey#uidorKey#keyvalue.MeiliSearchClient#getTasksaccepts a objectTasksQueryto filter and paginate the results.MeiliSearchIndex#getTasksaccepts a objectTasksQueryto filter and paginate the results.MeiliSearchClient#createKeycan specify auid(optionally) to create a newKey.MeiliSearchIndex#getDocumentsaccepts a objectDocumentsQueryto filter and paginate the results.Keyhas now anameanduidstring fields.MeiliSearchIndex#getDocumentaccepts a list of fields to reduce the final payload.estimatedTotalHits,facetDistributionwere added toSearchResult- Sending a invalid
uidorapiKeywill raiseInvalidApiKeyExceptionin thegenerateTenantToken.
-
0.5.309 May 2022Release notes
Open source →This version makes this package compatible with Meilisearch v0.27.0 and newer
Changes
- Ensure nested field support (#157) @brunoocasali
- Add
highlightPreTag,highlightPostTag,cropMarker, parameters in the search request (#156) @brunoocasali - Fix syntax issue in the README (#162) @mafreud
-
0.5.214 Mar 2022Release notes
Open source →-
- 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. (#139) @brunoocasali
- Added new method
-
-
0.5.120 Jan 2022Release notes
Open source →- Add
User-Agentheader to have analytics in every http request (#129) @brunoocasali
- Add
-
0.5.019 Jan 2022Release notes
Open source →This version makes this package compatible with Meilisearch v0.25.0 and newer
Changes
- Add method to responds with raw information from API
client.getRawIndex(#124) @brunoocasali - Run a
pub upgradein dependencies (#128) @brunoocasali - Add support to keys (according to v0.25.0 spec) more (#121) @brunoocasali
- Create a new resource class
Keyto represent keys - Create methods to support keys:
client.getKeysclient.getKeyclient.createKeyclient.updateKeyclient.deleteKey
- Create a new resource class
- Add PATCH method support (#121) @brunoocasali
- Updates regarding code samples:
- setting guide sortable (#117) @alallema
- added all the changed methods based on the new version v0.25.0 (#126) @brunoocasali
Breaking changes
- Remove
getOrCreatefromMeiliSearchClient(#119) @brunoocasali - Rename
PendingUpdatetoTaskInfo(#123) @brunoocasali - Meilisearch v0.25.0 uses
Authorizationheader instead ofX-Meili-API-Key(#121) @brunoocasali - Multiple naming changes regarding the v0.25.0 upgrade (#119, #120, #125, #127) @brunoocasali:
client.getUpdateStatustoclient.getTaskclient.getAllUpdateStatustoclient.getTasksclient.getKeysresponds with aFuture<List<Key>>notFuture<Map<String, String>>index.update,index.delete,client.createIndex,client.deleteIndexandclient.updateIndexnow responds withFuture<TaskInfo>index.getAllUpdateStatustoindex.getTasksindex.getUpdateStatustoindex.getTask
- Add method to responds with raw information from API
-
0.4.018 Nov 2021Release notes
Open source →- Rename
errorCode,errorTypeanderrorLinkintocode,typeandlinkin the error handler (#110) @curquiza - Changes related to the next Meilisearch release (v0.24.0) (#109)
- Rename
-
0.3.213 Oct 2021Release notes
Open source →- Add json content type by default as header to make it compatible with Meilisearch v0.23.0 (#89) @curquiza
-
0.3.025 Aug 2021Release notes
Open source →This version makes this package compatible with Meilisearch v0.21.0
Changes
- Update PendingUpdateX (#62) @alallema
- Adding option to specify a connectTimeout duration (#59) @sanders41
- Adding getKeys method (#66) @sanders41
- Adding dump methods (#67) @sanders41
- Adding getVersion method (#68) @sanders41
- Adding sub-settings methods (#70) @sanders41
- Adding index.getStats and client.getStats methods (#69) @sanders41
- Adding getAllUpdateStatus and getUpdateStatus methods (#73) @sanders41
Breaking changes
- Rename attributes_for_faceting into filterable_attributes (#61) @alallema
- Rename Filters into Filter (#63) @alallema
- Rename attributes for faceting into filterable attributes (#71) @curquiza
- Changes related to the next Meilisearch release (v0.21.0) (#40)
-
0.2.121 Jun 2021 -
0.2.006 May 2021Release notes
Open source →Changes
- Add health method (#38) @alallema
Breaking changes
- Null-safety migration (#42) @TheMisir
- Add an error handler (#36) @curquiza
-
0.1.306 Mar 2021 -
0.1.206 Mar 2021 -
0.1.110 Dec 2020 -
0.1.1+110 Dec 2020Nothing published for this version
-
0.1.010 Dec 2020 -
0.1.0+110 Dec 2020 -
0.0.3-pre06 Dec 2020 pre-releaseRelease notes
Open source →- Implemented search endpoints
- Implemented settings endpoints
- Implemented document endpoints
-
0.0.2-pre06 Dec 2020 pre-releaseNothing published for this version
-
0.0.1-pre06 Dec 2020 pre-release