Releases: meilisearch/meilisearch-rust
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
TaskInfo
and not aTask
object anymore. (ex: add_documents). #299 get_tasks
now returns aTasksResults
where the tasks are contained inside theresults
field. #299task_id
inTask
andTaskInfo
is now au32
instead of au64
#299index_uid
inTask
andTaskInfo
is now optional. #299- Following taskTypes are renamed: #299
- documentPartial -> documentAdditionOrUpdate
- documentAddition -> documentAdditionOrUpdate
- clearAll -> documentDeletion
- Possibility to filter the tasks when using
get_tasks
onindexUid
,status
andtype
. #299 - The returned keys when using
get_keys_with
get_keys
orget_key
now returns an additionalname and
uid` field. #313 - The response from
get_keys_with
andget_keys
is now aKeysResults
instead ofVec<Key>
. #313 update_key
only accepts updates on thedescription
and thename
#313client.get_indexes
now returns aIndexesResults
instead of aVec<Index>
#315client.get_indexes_raw
now returns aValue
instead of aVec<Value>
#315Index
structure: #315uid
is now astring
and not aArc<string>
and is publicclient
is now publicprimary_key
is now publicname
field is removed
- In
SearchResults
nbHits
is now namedestimated_total_hits
#316 - In
SearchResults
exhaustive_nb_hits
is removed. #316 - In
SearchResults
exhaustive_facets_count
is removed. #316 - In
SearchQuery
matches
is now namedshow_mathes_position
and the methodwith_matches
is now namedwith_show_matches_position
#316 - In
SearchResults
matches_info
is now namedmatches_position
#316 - In
SearchQuery
facets_distribution
is now namedfacets
#316 - In
SearchResults
facets_distribution
is now namedfacet_distribution
#316 client.get_documents
andclient.get_documents_with
now returns aDocumentsResults
instead of aVec<T>
#315client.get_documents
has no filtering parameters anymore, useget_documents_with
to filter.- in
client.generate_tenant_token
,apiKeyPrefix
is now namedapiKeyUid
and 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_status
removed on Dumps struct #319 create_dump
now returns aTaskInfo
instead of aDumpInfo
#319- Remove the sync feature and use Arc everywhere by default (#251) @irevoire
🐛 Enhancements
- Creation of a method
client.get_tasks_with
and a structTasksQuery
based 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_key
accepts a customname
and a customuuid
to create deterministic API keys. #313client.get_indexes_with
takes as argumentIndexesQuery
giving you the possibility to setlimit
andoffset
. #315client.get_indexes_raw_with
takes as argumentIndexesQuery
giving you the possibility to setlimit
andoffset
. #315IndexUpdater
struct 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) #315IndexesQuery
struct allows you to define the filtering applied during theget_all_indexes_with
call. #315- new method
client.get_documents_with
takes as argumentDocumentsQuery
giving the possibility to setlimit
moffset
and the fields that you want to see in the returned documents (default: all fields). #315 - new method
index.get_document_with
takes as argumentDocumentQuery
giving 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
,highlightPostTag
andcropMarker
(#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
OffsetDateTime
on theClientStats
(#244) @irevoire - Fixed formatting with clippy & Removed
Document
trait (#267) @irevoire
🚀 Enhancements
- Add methods to automatically add/update documents in batches (#262) @abhizer
- Feature/Tenant Token (#263, #264) @brunoocasali
🐞 Bug fixes
- Add missing
IndexUpdate
Task type (#271) @bidoubiwa
Misc
Thanks again to @abhizer, @bidoubiwa, @brunoocasali, @irevoire, and Adrian Coutsoftides! 🎉
v0.15.0 🦀
⚠️ Breaking changes
- Refactorise the errors, now
error_code
anderror_type
has types instead ofstring
(#234) @irevoire - Put type on timestamp and duration (#237) @irevoire
- The
time
crate 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
Authorization
header 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_exists
andget_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 atask
response instead of anIndex
.index.create
andindex.delete
from index return atask
.wait_for_pending_update()
is renamed intowait_for_task
and is accessible fromindex
and fromclient
.- the current
index.wait_for_task()
method call/tasks/:uid
index.get_update_status
is renamedindex.get_task
index.get_all_update_status
is renamedindex.get_tasks
- new method
client.wait_for_task()
call/tasks/:uid
- new method
client.get_tasks
that calls/tasks
- new method
client.get_task
that calls/tasks/:uid
Notes: The only two methods that now return anIndex
areclient.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_keys
does not return an object of keys, but an array of keys. Check out keys API references. -
The
Progress
type 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
KeyBuilder
type has been added to eases the creation of keys (#227) @irevoire - An
Action
enum has been created to represents all the possible action (#227) @irevoire - Add method
wait_for_completion
directly on the Task (#225) @irevoire
Thanks again to @alallema, @curquiza, @irevoire, and @moises-marquez! 🎉
v0.13.0 🦀
v0.12.0 🦀
This version is compatible with MeiliSearch v0.24.0
⚠️ Breaking changes
- Rename
message
intoerror_message
in the error handler + update theerrorCode
(#204) @curquiza formatted_result
is nowOption<Map<String, Value>>
instead ofOption<T>
(#205) @curquiza
🚀 Enhancements
- Add
get_raw_index
method (#190) @ginglis13
🐛 Bug Fixes
- Fix typo test_query_crop_length (#197) @ginglis13
Thanks again to @Hard-Coder05, @curquiza, @ginglis13 ! 🎉
v0.11.0 🦀
v0.10.2 🦀
v0.10.1 🦀
This package version is compatible with MeiliSearch v0.22.0 🎉