Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
323: Update version for the next release (v0.14.0) r=brunoocasali a=meili-bot This version introduces features released on Meilisearch v1.2.0 🎉 Check out the changelog of [Meilisearch v1.2.0](https://github.com/meilisearch/meilisearch/releases/tag/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. ```diff // 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](https://www.meilisearch.com/docs/learn/advanced/filtering#filter-basics). #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(....))` ```diff - 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` ```diff // Confusing, unclear - Meili.geoBoundingBox(3,5.3,10,20) // Not Confusing :) + Meili.geoBoundingBox((lat: 3, lng: 5.3), (lat: 10, lng: 20)) ``` ```diff // 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` ```diff 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 `filterExpression`s #310 `@ahmednfwela` - A new type is introduced `IndexSearchQuery` which extends `SearchQuery`. #310 `@ahmednfwela` - Added `copyWith` to `SearchQuery` and `IndexSearchQuery` #310 `@ahmednfwela` Thanks again to `@brunoocasali,` `@ahmednfwela!` 🎉 Co-authored-by: meili-bot <[email protected]> Co-authored-by: Bruno Casali <[email protected]>
- Loading branch information