Releases: meilisearch/meilisearch-go
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 ๐น
๐ Enhancements
- Add facet search method (#543) @migueltarga
- Add rankingScoreThreshold search parameter (#544) @Ja7ad
๐ Bug Fixes
Thanks again to @Ja7ad, @curquiza, and @migueltarga! ๐
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! ๐
v0.25.1 ๐น
๐ Enhancements
- Add support for attributesToSearchOn (v1.3) (#458) @barribarrier
- Add Total Tasks in task route #636 (#475) @tonyghouse
- Add support for rankingScore (v1.3) (#477) @aooohan
- Add support for vectorSearch (v1.3) (#483) @luigibarbato
๐ Bug Fixes
Thanks again to @Azanul, @Esmeralda-lad, @alallema, @aooohan, @barribarrier, @brunoocasali, @curquiza, @luigibarbato, @manujz, and @tonyghouse! ๐