Releases: meilisearch/meilisearch-go
v0.30.0 🐹
⚠️ Breaking changes
- Add AI-powered search changes related to v1.10 (#593) @Ja7ad
ApiKey
field is renamedAPIKey
- Rest embedder
- Removed parameters:
query
,inputField
,inputType
,pathToEmbeddings
andembeddingObject
. - Replaced by request and response
- New parameter:
headers
- Removed parameters:
- Add
url
parameter to the OpenAI embedder dimensions
is now available as an optional parameter for Ollama embedders.
🚀 Enhancements
- Feat update documents by function (#590) @Ja7ad. More docs here
- Enhance encoding algorithm and improve naming convention (#594) @Ja7ad
⚙️ Maintenance/misc
Thanks again to @Ja7ad! 🎉
v0.29.0 🐹
⚠️ Breaking changes (experimental feature)
embedder
is now mandatory everywhere - Ensure compatibility with Meilisearch v1.11 by @Kerollmops
🚀 Enhancements
- Add Embedder.URL (#568) @polyfloyd
- Add multi-search federation (#563) @polyfloyd
- Feat support content encoding (#570) @Ja7ad
- Support experimental manager (#572) @A7bari
- Feat Language settings & search parameter (#580) @Ja7ad
- Feat support retry pattern on status code 502, 503, 504 (#581) @Ja7ad
Thanks again to @A7bari, @Ja7ad, @Kerollmops and @polyfloyd! 🎉
v0.28.0 🐹
⚠️ Breaking changes
// Before
client := meilisearch.NewClient(meilisearch.ClientConfig{
client := meilisearch.New("http://localhost:7700", meilisearch.WithAPIKey("foobar"))
Host: "http://127.0.0.1:7700",
APIKey: "masterKey",
})
// Now
client := meilisearch.New("http://localhost:7700", meilisearch.WithAPIKey("foobar"))
- Feat sort facets value by alphanumerical (
SortFacetTypeAlpha
) or count order (SortFacetTypeCount
) (#558) @Ja7ad
Before:
// Before
client.Index("movies").UpdateFaceting(&meilisearch.Faceting{
MaxValuesPerFacet: 2,
SortFacetValuesBy: {
"*": "count",
}
})
// Now
client.Index("movies").UpdateFaceting(&meilisearch.Faceting{
MaxValuesPerFacet: 2,
SortFacetValuesBy: {
"*": SortFacetTypeCount,
}
})
// Before
resp, err := client.Index("movies").Search("big fat liar", &meilisearch.SearchRequest{
MatchingStrategy: "last",
})
// or
resp, err := client.Index("movies").Search("big fat liar", &meilisearch.SearchRequest{
MatchingStrategy: "all",
})
// Now
resp, err := client.Index("movies").Search("big fat liar", &meilisearch.SearchRequest{
MatchingStrategy: Last,
})
// or
resp, err := client.Index("movies").Search("big fat liar", &meilisearch.SearchRequest{
MatchingStrategy: All,
})
🚀 Enhancements
- Add method to create snapshot (#560) @Ja7ad
- Feat support text-separator customization (#559) @Ja7ad
- Add dictionary settings (#562) @Ja7ad
- Feat support proximityPrecision setting (#564) @Ja7ad
⚙️ Maintenance/misc
v0.27.2 🐹
v0.27.1 🐹
v0.27.0 🐹
⚠️ Breaking changes
Breaking because Meilisearch v1.9 is breaking regarding vector display at search for the Hybrid search experimental feature. More detail in the v1.9 changelog
- Changes related to the next Meilisearch release (v1.9.0) (#535)
- Introduction of the
retrieveVectors
parameter at search -> whentrue
, the display of the previous version is kept. Use it to avoid any breaking.
- Introduction of the
v0.26.3 🐹
🚀 Enhancements
- Implement vector search experimental feature (#517) @jackielii
- Alligned
SearchRequest.Vector
type to[]float32
(#524) @LGXerxes - Add new search param showRankingScoreDetails (#528) @Tommy-42
🐛 Bug Fixes
- Fix issue with ticker leaking CPU, optimize (#523) @thisisdev-patrick
⚙️ Maintenance/misc
- Apply cov range to avoid flaky failures (#525) @brunoocasali
Thanks again to @LGXerxes, @Tommy-42, @brunoocasali, @curquiza, @jackielii, @thisisdev-patrick! 🎉
v0.26.2 🐹
v0.26.1 🐹
🚀 Enhancements
- Add
DumpUid
field fordumpCreation
task. (#499) @fitimvata
⚙️ Maintenance/misc
- Update tests related to the next Meilisearch release (v1.6.0) (#503)
Thanks again to @brunoocasali, @curquiza, @fitimvata, ! 🎉
v0.26.0 🐹
⚠️ Breaking changes: Enhanced Enumeration for Task Types & Statuses
The Meilisearch Go client has undergone a significant enhancement in how it handles task types and statuses. In prior versions, developers interfaced with tasks using generic strings. This methodology, while functional, lacked clarity and posed maintenance challenges.
TaskType
and TaskStatus
have transitioned from generic strings to definitive constants. This change augments code clarity, minimizes potential errors, and paves the way for smoother future updates.
Quick Exemple
// Before:
taskType := "documentDeletion"
...
// After:
taskType := meilisearch.TaskTypeDocumentDeletion
Real world example
// Before:
func Before() {
resp, _ := meilisearchClient.GetTasks(&meilisearch.TasksQuery{
Statuses: []string("enqueued", "processing"),
Types: []string("documentDeletion", "documentAdditionOrUpdate"),
})
for _, task := range resp.Results {
if task.Status == "processing" {
// ...
}
if task.Type == "documentDeletion" {
// ...
}
}
}
// After:
func After() {
resp, _ := meilisearchClient.GetTasks(&meilisearch.TasksQuery{
Statuses: []meilisearch.TaskStatus{
meilisearch.TaskStatusEnqueued,
meilisearch.TaskStatusProcessing,
},
Types: []meilisearch.TaskType{
meilisearch.TaskTypeDocumentDeletion,
meilisearch.TaskTypeDocumentAdditionOrUpdate,
},
})
for _, task := range resp.Results {
if task.Status == meilisearch.TaskStatusProcessing {
// ...
}
if task.Type == meilisearch.TaskTypeDocumentDeletion {
// ...
}
}
}
🚀 Enhancements
Thanks again to @42atomys, @curquiza, @datbeohbbh, and @tadejsv! 🎉