Skip to content

Releases: meilisearch/meilisearch-go

v0.30.0 🐹

31 Dec 09:36
1415641
Compare
Choose a tag to compare

⚠️ Breaking changes

  • Add AI-powered search changes related to v1.10 (#593) @Ja7ad
    • ApiKey field is renamed APIKey
    • Rest embedder
      • Removed parameters: query, inputField, inputType, pathToEmbeddings and embeddingObject.
      • Replaced by request and response
      • New parameter: headers
    • Add url parameter to the OpenAI embedder
    • dimensions is now available as an optional parameter for Ollama embedders.

🚀 Enhancements

⚙️ Maintenance/misc

Thanks again to @Ja7ad! 🎉

v0.29.0 🐹

28 Oct 10:14
33a33f7
Compare
Choose a tag to compare

⚠️ Breaking changes (experimental feature)

🚀 Enhancements

Thanks again to @A7bari, @Ja7ad, @Kerollmops and @polyfloyd! 🎉

v0.28.0 🐹

21 Aug 16:13
345439c
Compare
Choose a tag to compare

⚠️ Breaking changes

  • Refactor meilisearch client wtih new client and documentation (#556 ) @Ja7ad
// 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,
      }
  })
  • Feat accept the frequency (Frequency) value for the matchingStrategy search (#565) @Ja7ad
// 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

⚙️ Maintenance/misc

  • Add makefile and badges for readme (#561) @Ja7ad

v0.27.2 🐹

03 Aug 14:40
6b5e6fb
Compare
Choose a tag to compare

🚀 Enhancements

🐛 Bug Fixes

  • Fix add json tag on search request (#551) @Ja7ad

Thanks again to @Ja7ad, ! 🎉

v0.27.1 🐹

30 Jul 08:00
59cdcef
Compare
Choose a tag to compare

🚀 Enhancements

🐛 Bug Fixes

  • Fix allow typo tolerance to be disabled for an index (#545) @Ja7ad

Thanks again to @Ja7ad, @curquiza, and @migueltarga! 🎉

v0.27.0 🐹

01 Jul 11:59
aea59d3
Compare
Choose a tag to compare

⚠️ 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 -> when true, the display of the previous version is kept. Use it to avoid any breaking.

v0.26.3 🐹

06 May 14:16
407897c
Compare
Choose a tag to compare

🚀 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

⚙️ Maintenance/misc

Thanks again to @LGXerxes, @Tommy-42, @brunoocasali, @curquiza, @jackielii, @thisisdev-patrick! 🎉

v0.26.2 🐹

19 Feb 09:53
0188a2d
Compare
Choose a tag to compare

🚀 Enhancements

  • Enable to use DeleteDocumentsByFilter through IndexInterface (#511) @yuku

Thanks again to and @yuku! 🎉

v0.26.1 🐹

17 Jan 11:18
a893ec8
Compare
Choose a tag to compare

🚀 Enhancements

⚙️ Maintenance/misc

  • Update tests related to the next Meilisearch release (v1.6.0) (#503)

Thanks again to @brunoocasali, @curquiza, @fitimvata, ! 🎉

v0.26.0 🐹

02 Nov 16:29
d0a4910
Compare
Choose a tag to compare

⚠️ 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

  • Make client.WaitForTask use select and channels for polling (#495) @tadejsv

Thanks again to @42atomys, @curquiza, @datbeohbbh, and @tadejsv! 🎉