Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add release changelogs for v0.28.0 #13

Merged
merged 84 commits into from
Jul 11, 2022
Merged
Changes from 6 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
babcaae
Add release changelogs for v0.28.0
curquiza Jun 7, 2022
7ccca36
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
6aa618b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
016db99
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
6af6f41
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
2deb5a9
Update following reviews
curquiza Jun 8, 2022
989ecef
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
e4072c4
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
a6f0e45
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
2526a25
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
92c1da2
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
5b20272
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
0028e1e
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
f8bb9cb
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
f01fdd7
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
0a9638f
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
81f0ae2
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
024dc2b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
cbc96bd
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
4280117
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
4a94d4c
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
146539f
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
f21aef2
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
4eedd9b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
eb4748b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
817ed4b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
525dfb4
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
31a7347
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
ffd973c
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
ec4e0f6
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
3768751
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
3b2ab91
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
84bd69e
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
09c8348
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
c97e0f5
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
d8de3e5
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
6376cce
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
5f75349
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
ea8be40
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
46dc526
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
c2ee09f
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
1a6682c
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
b80a9b4
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
845ebc2
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
b27878c
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
133affa
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
cb705d2
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
8611a37
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
68000f3
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
e93477e
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
fcd4582
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
ff38be0
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
d52d72c
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
a0ffff9
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
c58c1b9
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
fe5b1ad
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
c1aec41
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
c14ca93
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
1bd15e3
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
2b21796
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 8, 2022
236689f
Remove extra spaces
curquiza Jun 8, 2022
54dfede
Add new sections about new limits
curquiza Jun 8, 2022
7373300
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
80b549a
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
9eef097
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
d70b72b
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
5eef4c8
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
c8b93cd
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
e2def26
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
0360950
Add PR about docker
curquiza Jun 9, 2022
ecc7f95
Add pierre contribution
curquiza Jun 9, 2022
2874d5d
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 9, 2022
e9c4753
Add the fix
curquiza Jun 9, 2022
9304d4e
Add contributor PR in the release changelogs
curquiza Jun 13, 2022
0935980
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 13, 2022
2134269
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 14, 2022
6eaedf6
Fix examples
curquiza Jun 15, 2022
2c46009
Add missing PR about docker CI improvement
curquiza Jun 16, 2022
7747212
Add new fix
curquiza Jun 23, 2022
4ac38d9
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jun 24, 2022
f5bfa93
Update meilisearch-release-changelogs/v0.28.0.md
curquiza Jul 5, 2022
06175fa
Add mini-dashboard PR
curquiza Jul 6, 2022
206d72e
Add bash command to create deterministic keys
curquiza Jul 6, 2022
020652d
Add link for new pagination guide
curquiza Jul 6, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
174 changes: 174 additions & 0 deletions meilisearch-release-changelogs/v0.28.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
# v0.28.0 release changelogs

The main goal of this new release is to stabilize the Meilisearch API 🚀
This introduces a lot of breaking changes (especially regarding the naming), and we are sorry for this. The purpose is to guarantee what we care about the most: provide the best search engine experience by stabilizing the Meilisearch API at the same time. So, it means the Meilisearch API will not break in the future.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

<!-- The following line should NOT be put in the official release changelogs -->
⚠️ Since this is a release candidate (RC), the official documentation is not updated yet, but will be ready for the official v0.28.0 release. The work-in-progress documentation is available [here]().
curquiza marked this conversation as resolved.
Show resolved Hide resolved
Comment on lines +7 to +8
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
<!-- The following line should NOT be put in the official release changelogs -->
⚠️ Since this is a release candidate (RC), the official documentation is not updated yet, but will be ready for the official v0.28.0 release. The work-in-progress documentation is available [here]().

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So you can remove it directly from github before the release 🤓

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will not remove it from this PR, so that I can copy/paste in my next release changelog
However I will not put it in the v0.28.0 changelog on Monday haha


# New features 🚀
curquiza marked this conversation as resolved.
Show resolved Hide resolved

### Smart crop
curquiza marked this conversation as resolved.
Show resolved Hide resolved

The smart crop is an improvement of the Meilisearch crop.

The cropping algorithm tries to match the window with the highest density of query terms within the `cropLength` limit. Then it picks the window that contains the more ordered query terms.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @ManyTheFish (#2408)

### API key management improvements
curquiza marked this conversation as resolved.
Show resolved Hide resolved

- It is now possible to create a deterministic `key` value by specifying an `uid` field at creation. `uid` is a uuidv4. If omitted, Meilisearch generates it.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Adds a `name` field to give a human-readable name to ease API key retrieval in a list at the convenience of the user.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Introduce new actions to manage API Keys (`keys.get`, `keys.create`, `keys.update`, `keys.delete`).
curquiza marked this conversation as resolved.
Show resolved Hide resolved
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @ManyTheFish in #2438, #2451, #2475, and #2474)

### Add the Hebrew language support
curquiza marked this conversation as resolved.
Show resolved Hide resolved

New language support: Hebrew, using the [Niqqud library](https://github.com/benny-n/niqqud).

Done by the amazing @benny-n in meilisearch/charabia#101.

### Integrate the new tokenizer: add your language to Meilisearch!
curquiza marked this conversation as resolved.
Show resolved Hide resolved

The contribution experience in the tokenizer has been significantly improved.
As for the Hebrew support language that has just been added, if your language is missing in Meilisearch please consider contributing to [the Meilisearch tokenizer](https://github.com/meilisearch/charabia) by following the CONTRIBUTING.md file by integrating your expected normalizer/segmenter.

The whole core team is available to help you contribute. Feel free to ask any questions or clarifications you need!
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @ManyTheFish, @loiclec @gmourier, and @curquiza.

# Breaking changes and improvement ⚠️

<!-- The following line should only be put in the official release changelogs, not for the RC -->
For most of the following changes, if you use [one of our SDKs](https://docs.meilisearch.com/learn/what_is_meilisearch/sdks.html), these changes will be transparent for you by only updating to the latest version of the SDK.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

### Changes in `/indexes/{uid}/search` endpoint

- `nbHits` is renamed `estimatedNbhits`. Indeed some users were confused by the name and use it for their pagination, but should not. Please check out this [fresh new guide]() to know how to paginate with Meilisearch without using `nbHits`.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `facetsDistribution` search parameter (used when calling the [`GET/POST /search` route](https://docs.meilisearch.com/reference/api/search.html)) is renamed `facets`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `facetsDistribution` field in the response body (received when calling the [`GET/POST /indexes/{uid}/search` route](https://docs.meilisearch.com/reference/api/search.html)) is renamed into `facetDistribution`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `matches` search parameter (used when calling the [`GET/POST /indexes/{uid}/search` route](https://docs.meilisearch.com/reference/api/search.html)) is renamed `showMatchesPosition`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `_matchesInfo` field in the response body (received when calling the [`GET/POST /indexes/{uid}/search` route](https://docs.meilisearch.com/reference/api/search.html)) is renamed into `_matchesPosition`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- `exhaustiveNbHits` and `exhaustiveFacetsCount` are removed because their values never change thus making them inoperable.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @irevoire in #2406.

### Changes in `/indexes` endpoints

- When getting the index list, the indexes are now paginated. It means:
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- You can use the `offset` and `limit` parameters to browse the indexes.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The indexes are returned in the `results` field in the response body.
- The `limit`, `offset`, and `total` are also now available in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The endpoint to update an index is now `PATCH /indexes/{indexUid}` instead of `PUT`
- The already deprecated `name` field returned in the response body is totally removed.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @irevoire and @Kerollmops in #2423, #2452, and #2454.

### Changes in `indexes/{uid}/documents` endpoints

- When getting the documents via the `GET /indexes/{uid}/documents` route, the pagination has been improved. It means:
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- You can still use the `offset` and `limit` parameters to browse the indexes.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The documents are returned in the `results` field in the response body.
- The `limit`, `offset`, and `total` are also now available in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- When getting the documents via the `GET /indexes/{uid}/documents` route, the `attributesToRetrieve` parameter has been renamed into `fields`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `fields` parameter is available for the `GET /indexes/{uid}/documents/{document_uid}` route.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The [`displayedAttributes` settings](https://docs.meilisearch.com/reference/api/displayed_attributes.html) does not impact the `indexes/{uid}/documents` anymore, but ony the `/indexes/{uid}/search` endpoints.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @irevoire in #2372, #2433, and #2454.

### Changes in `/tasks` and `/indexes/{uid}/tasks` endpoints

- Add filtering on the `GET /tasks` endpoint:
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Add filtering capabilities on `type`, `status` and `indexUid` for `GET` `task` lists endpoints.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- It is possible to specify several values for a filter using the `,` character. e.g. `?status=enqueued,processing`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Between two different filters, an `AND` operation is applied. e.g. `?status=enqueued&type=indexCreation` is equivalent to `status=enqueued AND type = indexCreation`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Add keyset pagination on the `GET /tasks` endpoints, allowing users to browse multiple sets of `task` items.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- You can use the `limit`, `from` query parameters to browse the tasks.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The tasks are still returned in the `result` field in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `limit`, `from`, and `next` are available in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Remove `GET /indexes/:indexUid/tasks` is removed. It can be replaced by `GET /tasks?indexUid=:indexUid`
- Remove `GET /indexes/:indexUid/tasks/:taskUid` is removed.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Rename `uid` to `taskUid` in the response body returned by every asynchronous task (ex: index creation, document addition...)
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Rename some task properties
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- `documentPartial`-> `documentAdditionOrUpdate`
- `documentAddition`-> `documentAdditionOrUpdate`
- `clearAll` -> `documentDeletion`

Done by Kerollmops in #2399 and #2445.

### Changes regarding the dumps
curquiza marked this conversation as resolved.
Show resolved Hide resolved

- Dump creation becomes an asynchronous task. It means the dump task is put at the end of the task queue but will be processed in priority.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- `POST /dumps` now returns `202` like any other asynchronous operation (e.g. index creation, document addition...
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `GET /dumps/:dump_uid/status` route is removed because not useful anymore, use `GET /tasks` instead.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Remove the `dump_already_processing` error when a dump is already processed since they can now be enqueued.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @MarinPostma in #2410

### Changes in `/keys` endpoint

- Regarding the tenant token: `apiKeyPrefix` is renamed `apiKeyUid`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Once a key is created, you cannot update `actions`, `indexes`, `expireAt` anymore. Only the `name` and `description` fields are updatable. You can delete and re-create the key if needed.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- When getting the key list (`GET /keys`), the keys are now paginated. It means:
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- You can use the `offset` and `limit` parameters to browse the indexes.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The keys are still returned in the `result` field in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `limit`, `offset`, and `total` are available in the response body.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Due to all the changes on the `keys` resources, the dump's compatibility is not full with API keys. It means the keys created with an old version of Meilisearch will be imported with the same `actions` and `indexes` values, but the `key` and `uid` fields will be regenerated. You will need to update your keys.
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The `dumps.get` action is removed.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by @ManyTheFish in #2438, #2451, #2475, and #2474)

### Changes in `/indexes/{uid}/settings` endpoints

The changes only concern the HTTP methods
curquiza marked this conversation as resolved.
Show resolved Hide resolved

- The endpoint to update the global settings is now `PATCH /indexes/{indexUid}/settings` instead of `POST`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The endpoint to update the typo-tolerance settings is now `PATCH /indexes/{indexUid}/settings/typo-tolerance` instead of `POST`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The endpoint to update the displayed attributes settings is now `PUT /indexes/{indexUid}/settings/displayed-attributes` instead of `POST`
- The endpoint to update the distinct attribute settings is now `PUT /indexes/{indexUid}/settings/distinct-attribute` instead of `POST`
- The endpoint to update the filterable attribute settings is now `PUT /indexes/{indexUid}/settings/filterable-attributes` instead of `POST`
- The endpoint to update the ranking rules settings is now `PUT /indexes/{indexUid}/settings/ranking-rules` instead of `POST`
- The endpoint to update the searchable attributes settings is now `PUT /indexes/{indexUid}/settings/searchable-attributes` instead of `POST`
- The endpoint to update the sortable attributes settings is now `PUT /indexes/{indexUid}/settings/sortable-attributes` instead of `POST`
- The endpoint to update the stop-words settings is now `PUT /indexes/{indexUid}/settings/stop-words` instead of `POST`
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- The endpoint to update the synonyms settings is now `PUT /indexes/{indexUid}/settings/synonyms` instead of `POST`

Done by @Kerollmops in #2452

### Limit of 1000 for facet value

<!-- Currently in the RC, but can be changed -->
For performance reasons, the limit of facet values is now 1000.
curquiza marked this conversation as resolved.
Show resolved Hide resolved

Done by Kerollmops in #2468 and meilisearch/milli#535

# Other improvements 🔨
curquiza marked this conversation as resolved.
Show resolved Hide resolved

- Geo-search: Support string type for `_geo` `lat` and `lng` fields (#2408 and meilisearch/milli#523) @irevoire
curquiza marked this conversation as resolved.
Show resolved Hide resolved
- Improve ranking rules error message (meilisearch/milli#536, #2468) @matthias-wright
- Remove the connection keep-alive timeout (#2471) @Thearas

# Misc

- Telemetry: handle the `X-Meilisearch-Client` header (#2374) @irevoire
- Telemetry: send the analytics to `telemetry.meilisearch.com` instead of segment (#2429) @irevoire
- Create custom error types for `TaskType`, `TaskStatus`, and `IndexUid` (#2460) @walterbm
- Some internal changes (#2447, #2464, #2453, #2455) @MarinPostma @Kerollmops
- Update dependencies (#2450) @Kerollmops
- Add dump tests in CI (#2357) @irevoire
- Deny warnings in CI (#2339) @MarinPostma
- Change Nelson path (#2347) @curquiza
- Re-integrate Clippy in the CI (#2424) @irevoire
- Fix typo in README (#2448) @ryanrussell
- Fix typo in code base comments (#2459) @ryanrussel
- Update url of `movies.json` in README (#2422) @0x0x1
- Fix command in README (#2434) @0x0x1

----

❤️ Thanks again to our external contributors:
- [Meilisearch](https://github.com/meilisearch/meilisearch): @0x0x1, @ryanrussel, @Thearas, and @walterbm
- [Milli](https://github.com/meilisearch/milli): @matthias-wright
- [Charabia](https://github.com/meilisearch/charabia): @benny-n