Releases: meilisearch/meilisearch-rust
v0.20.1 ๐ฆ
๐ Enhancements
- Add faceting index settings methods (#344) @Ugzuzg
- feat: Add
with_array_filter()function to allow passing array as a filter list (#347) @VoidCupboard - Add support to the pagination setting customization at the index level (#342) @vishalsodani
Thanks again to @Ugzuzg, @VoidCupboard, @bidoubiwa, and @vishalsodani! ๐
v0.20.0 ๐ฆ
This version makes this package compatible with Meilisearch v0.29.1 ๐
Check out the changelog of Meilisearch v0.29.1 for more information on the changes.
๐ Enhancements
- Ensure support to the new search query parameter
matchingStrategy(#333) @bidoubiwa - Ensure support to keys with wildcarded actions.
actionsfield during key creation now accepts wildcards on actions. For example,indexes.*provides rights toindexes.create,indexes.get,indexes.delete,indexes.delete, andindexes.update. meilisearch/meilisearch#2560
โ ๏ธ Breaking Changes
- Replace struct Query with SearchQuery (#341) @vishalsodani
- Changes in filters and behavior of the NOT keyword meilisearch/meilisearch#2486
Thanks again to @bidoubiwa, @curquiza, and @vishalsodani! ๐
v0.19.0 ๐ฆ
โ ๏ธ Breaking changes
Thanks again to @Jasperav, @bidoubiwa ! ๐
v0.18.1 ๐ฆ
๐ Bug Fixes
- Fix wasm panic when trying to change the user-agent (#330) @bidoubiwa
Thanks again to @bidoubiwa, and @sokratisvas! ๐
v0.18.0 ๐ฆ
This version makes this package compatible with Meilisearch v0.28.0 ๐
Check out the changelog of Meilisearch v0.28.0 for more information on the changes.
๐ฅ Breaking Changes
- Actions that create a task in Meilisearch now return a
TaskInfoand not aTaskobject anymore. (ex: add_documents). #299 get_tasksnow returns aTasksResultswhere the tasks are contained inside theresultsfield. #299task_idinTaskandTaskInfois now au32instead of au64#299index_uidinTaskandTaskInfois now optional. #299- Following taskTypes are renamed: #299
- documentPartial -> documentAdditionOrUpdate
- documentAddition -> documentAdditionOrUpdate
- clearAll -> documentDeletion
- Possibility to filter the tasks when using
get_tasksonindexUid,statusandtype. #299 - The returned keys when using
get_keys_withget_keysorget_keynow returns an additionalname anduid` field. #313 - The response from
get_keys_withandget_keysis now aKeysResultsinstead ofVec<Key>. #313 update_keyonly accepts updates on thedescriptionand thename#313client.get_indexesnow returns aIndexesResultsinstead of aVec<Index>#315client.get_indexes_rawnow returns aValueinstead of aVec<Value>#315Indexstructure: #315uidis now astringand not aArc<string>and is publicclientis now publicprimary_keyis now publicnamefield is removed
- In
SearchResultsnbHitsis now namedestimated_total_hits#316 - In
SearchResultsexhaustive_nb_hitsis removed. #316 - In
SearchResultsexhaustive_facets_countis removed. #316 - In
SearchQuerymatchesis now namedshow_mathes_positionand the methodwith_matchesis now namedwith_show_matches_position#316 - In
SearchResultsmatches_infois now namedmatches_position#316 - In
SearchQueryfacets_distributionis now namedfacets#316 - In
SearchResultsfacets_distributionis now namedfacet_distribution#316 client.get_documentsandclient.get_documents_withnow returns aDocumentsResultsinstead of aVec<T>#315client.get_documentshas no filtering parameters anymore, useget_documents_withto filter.- in
client.generate_tenant_token,apiKeyPrefixis now namedapiKeyUidand expects the uid of the signing API key as a value. The prototype of the function changed accordingly. #318pub fn generate_tenant_token( api_key_uid: String, search_rules: Value, api_key: impl AsRef<str>, expires_at: Option<OffsetDateTime>, ) -> Result<String, Error>
- Method
get_dump_statusremoved on Dumps struct #319 create_dumpnow returns aTaskInfoinstead of aDumpInfo#319- Remove the sync feature and use Arc everywhere by default (#251) @irevoire
๐ Enhancements
- Creation of a method
client.get_tasks_withand a structTasksQuerybased of this that lets you filter tasks. #299 - Creation of
client.get_keys_with()that lets you paginate onlimit(default: 20),offset(default: 0). #313 create_keyaccepts a customnameand a customuuidto create deterministic API keys. #313client.get_indexes_withtakes as argumentIndexesQuerygiving you the possibility to setlimitandoffset. #315client.get_indexes_raw_withtakes as argumentIndexesQuerygiving you the possibility to setlimitandoffset. #315IndexUpdaterstruct gives you the possibility to create an instance of all the fields you would like to change in an Index and then execute the update: `IndexUpdater::new(&client).with_primary_key("my_id".to_string()).execute().await) #315IndexesQuerystruct allows you to define the filtering applied during theget_all_indexes_withcall. #315- new method
client.get_documents_withtakes as argumentDocumentsQuerygiving the possibility to setlimitmoffsetand the fields that you want to see in the returned documents (default: all fields). #315 - new method
index.get_document_withtakes as argumentDocumentQuerygiving the possibility to chose the fields you want to see in your returned documents. #326
Thanks again to @SorenHolstHansen, @abhizer, @bidoubiwa, @brunoocasali, @irevoire ! ๐
v0.17.0 ๐ฆ
This version makes this package compatible with Meilisearch v0.27.0 ๐
Check out the changelog of Meilisearch v0.27.0 for more information on the changes.
โ ๏ธ Breaking changes
๐ Enhancements
- Add cli-app example to meilisearch-rust (#279) @salugi
- Ensure nested field support (#273) @bidoubiwa
- Add new search parameters
highlightPreTag,highlightPostTagandcropMarker(#274) @bidoubiwa - Add User-Agent header to have analytics in every HTTP request (#254) @brunoocasali
Analytics is enabled by default in the server, but you can disable them by following this guide
Also, of course, every analytics data we collect are ANONYMOUS read the guide for more information.
Thanks again to @abhizer, @bidoubiwa, @irevoire, @salugi and a1! ๐
v0.16.0 ๐ฆ
โ ๏ธ Breaking changes
- Use an
OffsetDateTimeon theClientStats(#244) @irevoire - Fixed formatting with clippy & Removed
Documenttrait (#267) @irevoire
๐ Enhancements
- Add methods to automatically add/update documents in batches (#262) @abhizer
- Feature/Tenant Token (#263, #264) @brunoocasali
๐ Bug fixes
- Add missing
IndexUpdateTask type (#271) @bidoubiwa
Misc
Thanks again to @abhizer, @bidoubiwa, @brunoocasali, @irevoire, and Adrian Coutsoftides! ๐
v0.15.0 ๐ฆ
โ ๏ธ Breaking changes
- Refactorise the errors, now
error_codeanderror_typehas types instead ofstring(#234) @irevoire - Put type on timestamp and duration (#237) @irevoire
- The
timecrate will be needed if you need to manipulate API keys (check for more info #226, #237 (comment), and meilisearch/integration-guides#121 (comment)).
- The
๐ Enhancements
Thanks again to @irevoire! ๐
v0.14.0 ๐ฆ
This package version is compatible with Meilisearch v0.25.0 ๐
โ ๏ธ 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 - 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
delete_index_if_existsandget_or_create_index(#225) @irevoire -
Redesign update API to task API (#225) @irevoire
- All the actions on indexes are now asynchronous check out the task API references and the asynchronous tasks guide
create_index(),update_index(),delete_index()are now asynchrone and return ataskresponse instead of anIndex.index.createandindex.deletefrom index return atask.wait_for_pending_update()is renamed intowait_for_taskand is accessible fromindexand fromclient.- the current
index.wait_for_task()method call/tasks/:uid index.get_update_statusis renamedindex.get_taskindex.get_all_update_statusis renamedindex.get_tasks- new method
client.wait_for_task()call/tasks/:uid - new method
client.get_tasksthat calls/tasks - new method
client.get_taskthat calls/tasks/:uid
Notes: The only two methods that now return anIndexareclient.index()andclient.get_index()
- All the actions on indexes are now asynchronous check out the task API references and the asynchronous tasks guide
-
Change
client.get_keysdoes not return an object of keys, but an array of keys. Check out keys API references. -
The
Progresstype have been removed entirely (#227) @irevoire
๐ Enhancements
- Addition related to API keys (#227) @irevoire
- Granular management of API keys is now added to MeiliSearch. New methods have been created to manage this:
- client.get_key get information about a specific API key.
- client.create_key create a new API key.
- client.delete_key delete an API key.
- client.update_key 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:
- A
KeyBuildertype has been added to eases the creation of keys (#227) @irevoire - An
Actionenum has been created to represents all the possible action (#227) @irevoire - Add method
wait_for_completiondirectly on the Task (#225) @irevoire
Thanks again to @alallema, @curquiza, @irevoire, and @moises-marquez! ๐