Skip to content

Releases: meilisearch/meilisearch-swift

0.16.0 🕊

20 Mar 14:41
26f30d1
Compare
Choose a tag to compare

⚠️ Breaking changes

🚀 Enhancements

⚙️ Maintenance/misc

  • (Quick Wins) Fix Xcode 15, Reduce Search Requirements, Update README (#426) @Sherlouk

Thanks again to @Sherlouk, @berwyn, @brunoocasali, @curquiza, @dependabot, @dependabot[bot], @meili-bors[bot] ! 🎉

0.15.0 🕊

07 Mar 18:39
062fd1d
Compare
Choose a tag to compare

This version makes this package compatible with Meilisearch v1.0.0 🎉
Check out the changelog of Meilisearch v1.0.0 for more information on the changes.

⚠️ Breaking changes

  • search<T> returns a Searchable<T> instead SearchResult<T> directly. Now the SearchResult contains the implementation handler of a request with estimated pagination (limit/offset), and FiniteSearchResult contains the implementation for finite pagination page/hitsPerPage. (#369) @brunoocasali
  • This is the list of the accepted parameters for getTasks (TasksQuery) (#365) @brunoocasali:
limit: Int?
from: Int?
next: Int?
statuses: [String]?
types: [String]?
indexUids: [String]?
uids: [Int]?
canceledBy: [Int]?
beforeEnqueuedAt: Date?
afterEnqueuedAt: Date?
afterFinishedAt: Date?
beforeStartedAt: Date?
afterStartedAt: Date?
beforeFinishedAt: Date?

🚀 Enhancements

🐛 Bug Fixes

Thanks again to @Dishant10, @aronbudinszky, @bidoubiwa, @brunoocasali, @curquiza, @mannuch, @meili-bors[bot], and @zt4ff! 🎉

0.14.1 🕊

10 Aug 12:36
f9fb100
Compare
Choose a tag to compare

🎉 This release adds support to Linux environments. Let us know if there is something not working ;)

🚀 Enhancements

💅 Misc

  • Added the try keyword in front of MeiliSearch() constructor in the code samples (#325) @mgregoire254

Thanks again to @aronbudinszky, @bidoubiwa, @brunoocasali, and @mgregoire254! 🎉

0.14.0 🕊

08 Aug 17:51
d0e1279
Compare
Choose a tag to compare

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

  • MeiliSearch#getKeys now returns a KeysResults. (#319, #321, #313) @brunoocasali
  • MeiliSearch#getIndexes now returns a IndexesResults (#319, #321, #314) @brunoocasali
  • MeiliSearch#createDump now responds with a Result<TaskInfo, Swift.Error> object. (#319, #321, #311) @brunoocasali
  • MeiliSearch#getDumpStatus was removed. Use the MeiliSearch#getTasks or MeiliSearch#getTask instead. (#311) @brunoocasali
  • Add TaskInfo type to handle enqueued tasks. (#310) @brunoocasali
  • Dump type was removed (#311) @brunoocasali.
  • SearchParameters changes (#317) @brunoocasali
    • Renamed facetsDistribution field to facets.
    • Renamed matches field to showMatchesPosition.
  • SearchResult<T> changes (#317) @brunoocasali
    • Renamed nbHits field to estimatedTotalHits.
    • Removed exhaustiveFacetsCount field.
    • Removed exhaustiveNbHits field.
  • Index#getDocuments<T> now returns an object DocumentsResults<T> (#319, #321, #312) @brunoocasali
  • MeiliSearch#getTasks and Index#getTasks now returns an object TasksResults (#319, #321, #310, #315) @brunoocasali
  • addDocuments<T>, createDump, updateSettings and other methods that "creates" a new task, now responds with a Result<TaskInfo, Swift.Error> and therefore they have a taskUid instead of uid (#310) @brunoocasali
  • MeiliSearch#updateKey method to update keys now receive a new object KeyUpdateParams (#313, #319) @brunoocasali

🚀 Enhancements

  • MeiliSearch#getIndexes now accepts an object with pagination IndexesQuery. (#314) @brunoocasali
  • MeiliSearch#getDocuments<T> now accepts an object with pagination DocumentsQuery. (#312) @brunoocasali
  • MeiliSearch#getDocument<T> now accepts a param called fields which takes an array of strings to remap the response. (#312) @brunoocasali
    ⚠️ Be careful with this option since T should be able to handle the missing fields.
  • MeiliSearch#createKey and MeiliSearch#deleteKey accepts both api key or api key uid. (#319, #313) @brunoocasali
  • MeiliSearch#createKey can optionally specify a uid: to generate deterministic API keys. (#319, #313) @brunoocasali
  • Refactor the request function to use a simple request builder (#283) @ppamorim
  • Add a new step into the linter action to validate Podspec (#298) @brunoocasali
  • Remove all the types from the code samples to make them simpler (#306) @brunoocasali
  • Replace all print(error) with dump(error) in the tests (#301) @nicolasvienot

Thanks again to @bidoubiwa, @brunoocasali, @meili-bors[bot], @nicolasvienot and @ppamorim! 🎉

0.13.2 🕊

09 May 12:00
05279fe
Compare
Choose a tag to compare

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.

🚀 Enhancements

  • Add new search parameters highlightPreTag, highlightPostTag and cropMarker (#288) @bidoubiwa
  • Ensure nested fields support (#287)
    @bidoubiwa

Thanks again to @bidoubiwa 🎉

0.13.1 🕊

08 May 16:24
f4ad485
Compare
Choose a tag to compare

This version makes this package compatible with Meilisearch v0.26.0 🎉
Check out the changelog of Meilisearch v0.26.0 for more information on the changes.

🚀 Enhancements

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 @bidoubiwa, @brunoocasali! 🎉

0.13.0 🕊

14 Feb 20:27
f66a420
Compare
Choose a tag to compare

This package version is compatible with MeiliSearch v0.25.0 🎉

⚠️ Breaking changes

  • Update api to task api (#248) @bidoubiwa

    • Task structure introduced
    • all actions on Indexes except get now return a Task :
      • updateIndex
      • createIndex
      • deleteIndex
    • waitForPendingUpdate is removed and waitForTask is introduced as replacement
    • getStatusUpdate and getAllStatusUpdates are removed.
    • getTask and getTasks and waitForTask are introduced on Indexes and Client instances.
    • All routes returning an Update return now a Task
  • Update keys api (#252) @bidoubiwa

    • New Key structure
    • client.getkeys now returns a Results<Key> object see specification
    • client.getKey returns a Key object of a specific key
    • client.createKey returns a Key object created with a KeyParams object
    • client.updateKey returns a Key object with the updated key
    • client.deleteKey returns void as the chosen key has been deleted
  • Remove GetOrCreateIndex and DeleteIfExistsIndex (#256) @bidoubiwa

    • getOrCreateIndex no longer exists.
    • deleteIfExistsIndex no longer exists. Because deleting an index is now an asynchronous task it will either delete the index or the task will fail. But it will not block any other action.

Thanks again to @alallema, @aronbudinszky, @bidoubiwa, @brunoocasali, @curquiza, @dichotommy, @fatihyildizhan ! 🎉

0.12.0 🕊

22 Nov 14:00
e9d038a
Compare
Choose a tag to compare

This package version is compatible with MeiliSearch v0.24.0 🎉

⚠️ Breaking changes

  • Changes related to the next MeiliSearch release (v0.24.0) (#224)

Errors API changes

MeiliSearchApiError interface receives an update in the fields naming. Error fields are replaced by the following:

  • errorCode -> code
  • errorLink -> link
  • errorType -> type
  struct MSErrorResponse: Decodable, Encodable, Equatable {
    public let message: String
    public let code: String
    public let type: String
    public let link: String?
  }

When an update fails, previously the error fields in the update body were also namederrorCode, errorLink, ...
Now error fields are moved inside the error with the same MSErrorResponse type.

  /// Result type for the Update.
  public struct Result: Codable, Equatable {
    /// ...
    /// Error information in case of failed update.
    public let error: MeiliSearch.MSErrorResponse?
  }

Thanks everyone!

0.11.1 🕊

11 Nov 18:21
ed4e9c5
Compare
Choose a tag to compare

🚀 Enhancements

Thanks again to @Ethenyl, @Hard-Coder05, @IgorChernyshov, @bidoubiwa, @brunoocasali, @curquiza, @edinapap ! 🎉

0.11.0 🕊

13 Oct 11:23
352df07
Compare
Choose a tag to compare

Changes

Breaking changes ⚠️

  • Fix: remove charset=utf-8 from Content-Type header (#205) @curquiza

Thanks again to @bidoubiwa, @curquiza ! 🎉