PackageTrack
Sign in Get early access

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 2026
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 39
  1. 0.19.0 01 Apr 2026
    Release notes

    🚀 Enhancements

    ⚙️ Maintenance/misc

    Thanks again to @Strift, @brunoocasali, @curquiza ! 🎉

    Open source →
    Release notes

    Changes:

    Breaking Changes:

    None

    Open source →
  2. 0.18.0 03 Feb 2026
    Release notes

    🚀 Enhancements

    🐛 Bug Fixes

    ⚙️ Maintenance/misc

    • Update dependabot and release template configuration (#448)
    • Remove bors and use GitHub merge queue (#454) @curquiza
    • Remove bors.toml configuration 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]! 🎉

    Open source →
    Release notes

    Breaking Changes:

    No breaking change but addition of new features

    • export API
    • Add ID as a parameter for GetDocuments
    Open source →
  3. 0.17.1 18 Sep 2025
    Release notes

    🚀 Enhancements

    • Implement rankingScoreThreshold as search query parameter (#436) @memishood

    ⚙️ Maintenance/misc

    Thanks again to @Strift, @ahmednfwela, @curquiza, @dependabot[bot], @meili-bors[bot], @memishood and dependabot[bot]! 🎉

    Open source →
    Release notes

    Breaking Changes:

    Open source →
  4. 0.17.0 30 Apr 2025
    Release notes

    🚀 Enhancements

    ⚙️ Maintenance/misc

    Thanks again to @Strift, @ahmednfwela, @curquiza, @guimachiavelli, @meili-bors[bot], and @memishood! 🎉

    Open source →
    Release notes

    Breaking Changes:

    • AI-powered search is now stable. Use it without activating the experimental feature.
    Open source →
  5. 0.16.0 11 Mar 2024
    Release notes

    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

    • scoreDetails feature is not experimental anymore. You can directly use showRankingScoreDetails during a search without activating the experimental feature 🎉

    🚀 Enhancements

    ⚙️ Maintenance/misc

    Open source →
    Release notes

    Breaking Changes:

    • scoreDetails feature is not experimental anymore. You can directly use showRankingScoreDetails during a search without activating the experimental feature
    Open source →
  6. 0.15.0 14 Sep 2023
    Release notes

    Checkout the full CHANGELOG here: https://github.com/meilisearch/meilisearch-dart/blob/main/CHANGELOG.md

    ⚠️ Breaking changes

    🚀 Enhancements

    Thanks again to @ahmednfwela, @brunoocasali, @curquiza, @justkahdri, @meili-bors[bot] ! 🎉

    Open source →
    Release notes

    Breaking Changes:

    • Change members of Faceting to be final, and remove the default values
    • Mark all Searcheable<T> fields in the constructor as required
    • Bug Fix Searcheable<T> had a wrong matchesPosition property, which was moved into MeiliDocumentContainer<T>

    Changes:

    • Add int? total to TasksResults
    • Add attributesToSearchOn to SearchQuery and IndexSearchQuery
    • Add Future<FacetSearchResult> facetSearch(FacetSearchQuery query) to MeiliSearchIndex
    • Add enum FacetingSortTypes
    • Add Map<String, FacetingSortTypes>? sortFacetValuesBy to Faceting
    • [experimental]* Add List? vector to SearchQuery and IndexSearchQuery
    • [experimental]* Add bool? showRankingScoreDetails to SearchQuery and IndexSearchQuery
    • Add bool? showRankingScore to SearchQuery and IndexSearchQuery
    • Add MeiliDocumentContainer<T>
    • Add Map<String, dynamic> src to Searchable which 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

    Open source →
  7. 0.14.0 06 Jun 2023
    Release notes

    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 a DeleteDocumentsQuery, which could contain the filter or the ids (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 filter in the DocumentsQuery. When a query with a filter is sent to getDocuments(params: DocumentsQuery) it will filter the documents like the search method. 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.search now takes a String query and a SearchQuery object as the only inputs. #310 @ahmednfwela

      • Replace any occurrence of search index.search('xyz', ....) with index.search('xyz', SearchQuery(....))
      - await client.index('books').search('query', sort: [], filter: ...);
      + await client.index('books').search('query', SearchQuery(sort: [], filter: ...));
    • Meili.geoBoundingBox and Meili.geoRadius now take record values to represent the lat/lng points: #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.queries to be a List<IndexSearchQuery> instead of a List<SearchQuery>: #310 @ahmednfwela

      final result = await client.multiSearch(MultiSearchQuery(queries: [
      -      SearchQuery(
      +      IndexSearchQuery(
                query: "",
                indexUid: index1.uid,
              ),
      -    SearchQuery(
      +    IndexSearchQuery(
                query: "",
                indexUid: index2.uid,
              ),
      ];

    Enhancements:

    • Introduce a new annotation RequiredMeiliServerVersion which 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, filterExpression parameter to DocumentsQuery. #310 @ahmednfwela
    • Some internal Queryable refactoring to unify its behavior and avoid duplicating the code. #310 @ahmednfwela
    • Added a workaround for meilisearch/meilisearch#3740 by jsonEncoding attribute names when using filterExpressions #310 @ahmednfwela
    • A new type is introduced IndexSearchQuery which extends SearchQuery. #310 @ahmednfwela

    Thanks again to @brunoocasali, @ahmednfwela! 🎉

    Open source →
    Release notes

    Breaking Changes:

    • Moved indexUid, query from SearchQuery to the new IndexSearchQuery.
    • Changed deleteDocuments signature:
    // from:
    - Future<Task> deleteDocuments(List<Object> ids)
    + Future<Task> deleteDocuments(DeleteDocumentsQuery query)
    
    // to:
    - index.deleteDocuments([456, 4])
    + index.deleteDocuments(DeleteDocumentsQuery(ids: [456, 4]))
    
    • MeiliSearchIndex.search now takes a String query and a SearchQuery object as the only inputs.
      • Replace any ocurrence of search index.search('xyz', ....) with index.search('xyz', SearchQuery(....))
    - await client.index('books').search('query', sort: [], filter: ...);
    + await client.index('books').search('query', SearchQuery(sort: [], filter: ...));
    
    • Meili.geoBoundingBox and Meili.geoRadius now take record values to represent the lat/lng points:
    // 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.queries to be a List<IndexSearchQuery> instead of a List<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 RequiredMeiliServerVersion which documents the version this members were introduced.
    • Introduce filter expressions for IS NULL, IS NOT NULL, IS EMPTY, IS NOT EMPTY.
    • Added filter, filterExpression parameter to DocumentsQuery.
    • Some internal Queryable refactoring to unify its behavior and avoid duplicating the code.
    • Added a workaround for https://github.com/meilisearch/meilisearch/issues/3740 by jsonEncoding attribute names when using filterExpressions
    • A new type is introduced IndexSearchQuery which extends SearchQuery.
      • Added copyWith to SearchQuery and IndexSearchQuery
    Open source →
  8. 0.13.0 17 May 2023
    Release notes

    ⚠️ Breaking changes

    💅 Misc

    Thanks again to @ahmednfwela and @brunoocasali! 🎉

    Open source →
    Release notes

    Breaking Changes

    • The minimum supported Dart runtime is now 3.0.0.
    Open source →
  9. 0.12.0 02 May 2023
    Release notes

    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, and matchesPosition (#296) @ahmednfwela

    🚀 Enhancements

    Thanks again to @ahmednfwela, @brunoocasali, @curquiza! 🎉

    Open source →
    Release notes

    Breaking Changes:

    • SwapIndex class has a new assert to require at least two items in the this.indexes attribute.
    • 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 csvDelimiter parameter to addDocumentsCsv, addDocumentsCsvInBatches, updateDocumentsCsv, updateDocumentsCsvInBatches MeiliSearchIndex methods.
    • Add support for _geoBoundingBox in filterExpression
    Open source →
  10. 0.11.1 27 Apr 2023
    Release notes

    🐛 Bug Fixes

    Thanks again to @ahmednfwela, @brunoocasali ! 🎉

    Open source →
    Release notes

    Bug Fixes:

    • Searchable class was not being public exported.
    Open source →
  11. 0.11.0 27 Apr 2023
    Release notes

    Breaking Changes:

    • Changes Searcheable, SearchResult, PaginatedSearchResult signatures to be generic Searcheable<T>, SearchResult<T>, PaginatedSearchResult<T>
    • Adds a new map<TOther> method to Searcheable<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 the map<TOther> method.
    • Revert some of the Object? types that were changed from dynamic:
      • MeiliSearchClient class Future<Map<String, dynamic>> health();
      • HttpRequest class Map<String, dynamic> headers();
      • MeiliSearchIndex class Future<Searcheable<Map<String, dynamic>>> search(...);
      • MeiliSearchIndex classFuture<Map<String, dynamic>?> getDocument(Object id, {List<String> fields});
      • MeiliSearchIndex class Future<Result<Map<String, dynamic>>> getDocuments({DocumentsQuery? params});
    • Searcheable<T>.hits is non-nullable now, and defaults to const []

    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);
    
    Open source →
  12. 0.10.2 24 Apr 2023
    Release notes

    Changes:

    • Introduce MultiSearchQuery class to handle search requests.
    • Add Future<MultiSearchResult> multiSearch(MultiSearchQuery requests); to MeiliSearchClient.
    Open source →
  13. 0.10.1 24 Mar 2023
    Release notes

    Bug Fixes:

    • Fix the behavior of client.index.getTasks() where the indexUid was not changing correctly after consecutive calls.
    Open source →
  14. 0.10.0 22 Mar 2023
    Release notes

    Changes:

    • Add pagination settings methods Future<Pagination> getPagination(), Future<Task> resetPagination(), Future<Task> updatePagination(Pagination pagination) on Index instances.

    • Add faceting settings methods Future<Faceting> getFaceting(), Future<Task> resetFaceting(), Future<Task> updateFaceting(Faceting faceting) on Index instances.

    • Add typo tolerance settings methods Future<TypoTolerance> getTypoTolerance(), Future<Task> resetTypoTolerance(), Future<Task> updateTypoTolerance(TypoTolerance typoTolerance) on Index instances.

    • Add filter-builder style:

      • Added filterExpression parameter to the search method, which takes a MeiliOperatorExpressionBase, you can only use the new parameter or the regular filter parameter, but not both. If both are provided, filter parameter will take priority.

      • Added new facade class Meili which contains static methods to help create filter expressions.

      • Added extension method toMeiliAttribute() to String, which is equivalent to Meili.attr.

      • Added extension method toMeiliValue() to String,num,DateTime,bool, which are equivalent to Meili.value.

      • example: This query await index.search('prince', filterExpression: Meili.eq(Meili.attribute('tag'), Meili.value("Tale"))); is the same as await index.search('prince', filter: "tag = Tale").

    • Add Future<List<Task>> addDocumentsInBatches(List<Map<String, Object?>> documents, { int batchSize = 1000, String? primaryKey }) to Index instances.

    • Add Future<List<Task>> updateDocumentsInBatches(List<Map<String, Object?>> documents, { int batchSize = 1000, String? primaryKey }) to Index instances.

    • Add support to create documents from ndJson and CSV formats directly from Index with addDocumentsNdjson, addDocumentsCsv, updateDocumentsNdjson, and updateDocumentsCsv methods.

    • Add support for Dio adapter customization with MeiliSearchClient.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:

    Open source →
  15. 0.9.1 28 Feb 2023
    Release notes
    • [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 the X-Meilisearch-Client one.
    Open source →
  16. 0.9.0 27 Feb 2023
    Release notes

    Breaking Changes:

    • The minimum supported Dart runtime is now 2.15.

    • Updated dio dependency from v4 to v5.

    • MeiliSearchClientImpl.connectTimeout, MeiliSearchClient.connectTimeout is now a Duration instead of int, and the default is Duration(seconds: 5).

    • From Future<Response<T>> getMethod<T>(String path, {Map<String, dynamic>? queryParameters,}); to Future<Response<T>> getMethod<T>(String path, { Object? data, Map<String, Object?>? queryParameters })

    • Reduce usage of dynamic keyword by replacing it with Object?.

      • Queryable.toQuery was promoted from Map<String, dynamic> to Map<String, Object> due to the use of removeEmptyOrNulls
      • Result<T> had argument type T that was never used, so it was changed from List<dynamic> results; to List<T> results; and introduced a new helper function Result<TTarget> map<TTarget>(TTarget Function(T item) converter).
      • getDocuments changed signature from Future<Result> getDocuments({DocumentsQuery? params}); to Future<Result<Map<String, Object?>>> getDocuments({DocumentsQuery? params});, and now end users can call .map on the result to use their own DTO classes (using fromJson for example).
      • Future<Task> deleteDocuments(List<dynamic> ids); to Future<Task> deleteDocuments(List<Object> ids); since deleting a null id was an illegal operation.
      • Future<Task> deleteDocument(dynamic id); to Future<Task> deleteDocument(Object id);
      • Future<Task> updateDocuments(List<Map<String, dynamic>> documents, {String? primaryKey}); to Future<Task> updateDocuments(List<Map<String, Object?>> documents, {String? primaryKey});
      • Future<Task> addDocuments(List<Map<String, dynamic>> documents, {String? primaryKey}); to Future<Task> addDocuments(List<Map<String, Object?>> documents, {String? primaryKey});
      • Future<Task> deleteDocument(dynamic id); to Future<Task> deleteDocument(Object id);
      • Future<Map<String, dynamic>?> getDocument(dynamic id, {List<String> fields}); to Future<Map<String, Object?>?> getDocument(Object id, {List<String> fields});
      • Future<Searcheable> search(String? query, {...dynamic filter...}) is now a Object? filter
      • Future<Map<String, dynamic>> getRawIndex(String uid); to Future<Map<String, Object?>> getRawIndex(String uid);
      • Future<Map<String, dynamic>> health(); to Future<Map<String, Object?>> health();
      • String generateTenantToken(String uid, dynamic searchRules,... to String generateTenantToken(String uid, Object? searchRules,...
      • class TasksResults<T> { ... } to class TasksResults { ... }

    Changes

    • Fix a bug in the creation of keys with an existing uid.
    Open source →
  17. 0.8.0 14 Feb 2023
    Release notes

    Breaking changes

    • TasksQuery#canceledBy field is now a List<int> and not an int? anymore.
    • Add indexUid to Task

    Changes

    • Expose these classes:
      • PaginatedSearchResult
      • DocumentsQuery
      • TasksQuery
      • CancelTasksQuery
      • DeleteTasksQuery
      • KeysTasksQuery
      • IndexesTasksQuery
      • MatchingStrategy enum
      • MeiliSearchApiException and CommunicationException
      • Task and TaskError
      • SwapIndex
    Open source →
  18. 0.7.1 01 Feb 2023
    Release notes

    Changes

    • Remove dart:mirrors dependency. Enable flutter and web platforms again.
    Open source →
  19. 0.7.0 11 Jan 2023
    Release notes

    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 Queryable class. Please use the next available version.

    • SearchResult now is returned from search requests when is a non-exhaustive pagination request. A instance of PaginatedSearchResult is 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.
      • CancelTasksQuery has 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.
      • DeleteTasksQuery has 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

    • TasksQuery has 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; from List<String> status;
        • List<String> types; from List<String> type;
        • List<String> indexUids; from List<String> indexUid;
    Open source →
  20. 0.6.1 11 Jan 2023
    Release notes

    Changes

    • Add support to matchingStrategy in the search MeiliSearchIndex#search.
    Open source →
  21. 0.6.0 11 Jul 2022
    Release notes

    This version makes this package compatible with Meilisearch v0.28.0 and newer

    Breaking changes

    • MeiliSearchClient#getDumpStatus method was removed.
    • MeiliSearchClient#getIndexes method now return a object type Result<MeiliSearchIndex>.
    • TaskInfo, TaskImpl, ClientTaskImpl are now just Task.
      • The method getStatus was removed in the new class.
    • MeiliSearchClient#generateTenantToken now require a String uid which is the uid of the Key instance used to sign the token.
    • MeiliSearchClient#createDump now responds with Task.
    • MeiliSearchClient#getKeys method now return a object type Future<Result<Key>>.
    • MeiliSearchClient#updateKey now can just update a description and/or name.
    • MeiliSearchClient#getTasks method now return a object type Future<TasksResults>.
    • MeiliSearchIndex#getTasks method now return a object type Future<TasksResults>.
    • MeiliSearchIndex#search facetsDistribution is now facets
    • MeiliSearchIndex#search matches is now showMatchesPosition
    • MeiliSearchIndex#getDocuments method now return a object type Future<Result>.
    • MeiliSearchIndex#getDocuments method now accepts a object as a parameter and offset, limit, attributesToRetrieve were not longer accepted.
    • nbHits, exhaustiveNbHits, facetsDistribution, exhaustiveFacetsCount were removed from SearchResult.
    • Remove unused generic T in MeiliSearchClient#search method

    Changes

    • MeiliSearchClient#getIndexes accepts a object IndexesQuery to filter and paginate the results.
    • MeiliSearchClient#getKeys accepts a object KeysQuery to filter and paginate the results.
    • MeiliSearchClient#getKey accepts both a Key#uid or Key#key value.
    • MeiliSearchClient#getTasks accepts a object TasksQuery to filter and paginate the results.
    • MeiliSearchIndex#getTasks accepts a object TasksQuery to filter and paginate the results.
    • MeiliSearchClient#createKey can specify a uid (optionally) to create a new Key.
    • MeiliSearchIndex#getDocuments accepts a object DocumentsQuery to filter and paginate the results.
    • Key has now a name and uid string fields.
    • MeiliSearchIndex#getDocument accepts a list of fields to reduce the final payload.
    • estimatedTotalHits, facetDistribution were added to SearchResult
    • Sending a invalid uid or apiKey will raise InvalidApiKeyException in the generateTenantToken.
    Open source →
  22. 0.5.3 09 May 2022
    Release notes

    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
    Open source →
  23. 0.5.2 14 Mar 2022
    Release notes
      • 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
    Open source →
  24. 0.5.1 20 Jan 2022
    Release notes
    • Add User-Agent header to have analytics in every http request (#129) @brunoocasali
    Open source →
  25. 0.5.0 19 Jan 2022
    Release notes

    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 upgrade in dependencies (#128) @brunoocasali
    • Add support to keys (according to v0.25.0 spec) more (#121) @brunoocasali
      • Create a new resource class Key to represent keys
      • Create methods to support keys:
        • client.getKeys
        • client.getKey
        • client.createKey
        • client.updateKey
        • client.deleteKey
    • 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 getOrCreate from MeiliSearchClient (#119) @brunoocasali
    • Rename PendingUpdate to TaskInfo (#123) @brunoocasali
    • Meilisearch v0.25.0 uses Authorization header instead of X-Meili-API-Key (#121) @brunoocasali
    • Multiple naming changes regarding the v0.25.0 upgrade (#119, #120, #125, #127) @brunoocasali:
      • client.getUpdateStatus to client.getTask
      • client.getAllUpdateStatus to client.getTasks
      • client.getKeys responds with a Future<List<Key>> not Future<Map<String, String>>
      • index.update, index.delete, client.createIndex, client.deleteIndex and client.updateIndex now responds with Future<TaskInfo>
      • index.getAllUpdateStatus to index.getTasks
      • index.getUpdateStatus to index.getTask
    Open source →
  26. 0.4.0 18 Nov 2021
    Release notes
    • Rename errorCode, errorType and errorLink into code, type and link in the error handler (#110) @curquiza
    • Changes related to the next Meilisearch release (v0.24.0) (#109)
    Open source →
  27. 0.3.2 13 Oct 2021
    Release notes
    • Add json content type by default as header to make it compatible with Meilisearch v0.23.0 (#89) @curquiza
    Open source →
  28. 0.3.0 25 Aug 2021
    Release notes

    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)
    Open source →
  29. 0.2.1 21 Jun 2021
    Release notes
    • Changes due to the implicit index creation (#48) @alallema
    Open source →
  30. 0.2.0 06 May 2021
    Release notes

    Changes

    • Add health method (#38) @alallema

    Breaking changes

    • Null-safety migration (#42) @TheMisir
    • Add an error handler (#36) @curquiza
    Open source →
  31. 0.1.3 06 Mar 2021
    Release notes
    • Upgrade dependencies
    Open source →
  32. 0.1.2 06 Mar 2021
    Release notes
    • Fix: Rename facetDistribution into facetsDistribution
    Open source →
  33. 0.1.1 10 Dec 2020
    Release notes
    • Add example project
    Open source →
  34. 0.1.1+1 10 Dec 2020

    Nothing published for this version

  35. 0.1.0 10 Dec 2020
    Release notes
    • Initial stable release
    • Write unit tests
    Open source →
  36. 0.1.0+1 10 Dec 2020
    Release notes
    • Fix image in pub.dev listing
    Open source →
  37. 0.0.3-pre 06 Dec 2020 pre-release
    Release notes
    • Implemented search endpoints
    • Implemented settings endpoints
    • Implemented document endpoints
    Open source →
  38. 0.0.2-pre 06 Dec 2020 pre-release

    Nothing published for this version

  39. 0.0.1-pre 06 Dec 2020 pre-release
    Release notes
    • Initial pre-release
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive