Skip to content

Commit f6248f1

Browse files
committed
🔖(release) major 6.0.0
Added - 👷(ci) lint, typecheck, build and test the collaboration server (yhub) #2757 - 👷(ci) check the load-test tooling: swarm, canary, k6 and dashboards #2757 - 👷(ci) cancel the superseded runs of a pull request #2757 - ✨(backend) add mention endpoint with cooldown-limited email notification #2447 - 🚩(setting) add feature flag on Duplicate with Children #2721 - 💄(frontend) redesign 404 error standalone page #2696 - 💄(frontend) redesign 403 access denied page #2720 - ✨(frontend) duplicate with subdocuments #2584 - ✨(frontend) add markdown download option #2608 - ✨(frontend) turn pasted doc links into interlinks #2713 - ✨(helm) allow disallowing search engine indexing per instance #2694 - ✨(backend) expose the attachment max size in the config endpoint #2577 - ✨(frontend) warn before uploading an attachment over the size limit #2577 - ✨(loadtest) add a websocket load generator for the collaboration server #2556 - ✨(loadtest) add k6 scenarios for the page-open sequence and the heavy endpoints #2556 - ✨(loadtest) add browser canaries measuring what a user feels under load #2556 - ✨(loadtest) add the grafana dashboards of the load-test campaign, valkey included #2556 - 📝(documentation) add the load-testing guide #2556 - 🔧(helm) run grafana with those dashboards in the dev cluster, in place of the prometheus console #2556 - ✨(backend) measure the calls to yhub and to the converters, the database pool and the celery queue #2556 - ✨(backend) add a `LoadTest` configuration and its `loadtest` application, minting sessions for load tests #2556 - ✨(collaboration) add opt-in prometheus metrics to yhub, server and worker, protected by a bearer token #2556 - ✨(collaboration) report yhub errors to sentry, configured through `SENTRY_*` #2556 - ✨(backend) add opt-in prometheus metrics on `/metrics`, protected by a bearer token #2556 - ✨(helm) add a dedicated ingress for the prometheus metrics of the backend and of yhub #2556 - ✨(helm) add a ServiceMonitor and a PodMonitor per component whose metrics are enabled, and `backend.metrics.enabled` #2556 - 🔧(helm) scrape the metrics of the dev cluster with a trimmed kube-prometheus-stack and the ServiceMonitors of the chart #2556 - 🔧(helm) serve the example console of django-prometheus on the dev Prometheus #2556 - ✨(backend) add a service generating cached RS256 JWT tokens #2556 - ✨(backend) publish the JWT public key on a JWKS endpoint #2556 - 🔧(dev) generate the JWT signing key when bootstrapping the dev stack #2556 - ✨(collaboration) add an admin reset-connections endpoint on yhub #2556 - ✨(collaboration) add a create-ydoc endpoint on yhub #2556 - ✨(collaboration) soft-migrate legacy S3 documents into yhub #2556 - ✨(collaboration) replay legacy s3 version history into yhub #2556 - ✨(backend) add a service to call the yhub REST API #2556 - ✨(backend) call YHubService to seed initial document content #2556 - ✨(collaboration) add a get-ydoc endpoint on yhub #2556 - ✨(backend) duplicate a document through the collaboration server #2556 - ✨(backend) serve `documents/{id}/formatted-content/` from yhub #2556 - ✨(collaboration) notify the backend when the worker persists new content #2556 - ✨(collaboration) let a user read the document's editing history #2556 - ✨(frontend) fall back to http polling when the websocket cannot be opened. #2556 - 🔧(collaboration) make the version-history granularity configurable through `COLLABORATION_VERSION_GRANULARITY_MS` #2556 - ✨(frontend) keep a local copy of documents, so they open and stay editable offline #2556 Changed - 🛂(backend) let users allowed to comment list each other's accesses #2447 - ♻️(collaboration) migrate the collaboration server from hocuspocus to yhub #2556 - 💥(y-provider) y-provider becomes converter-only #2556 - 💥(backend) move the resource server JWKS from `/api/{version}/jwks` to `/external_api/{version}/jwks` #2556 - 🔧(collaboration) adapt docker stack for development purpose #2556 - 🔧(helm) run a valkey for the backend and one for yhub in dev and feature #2556 - 💄(frontend) redesign 401 error standalone page #2716 Fixed - 🐛(documentation) fix minio port and keycloak realm in the k8s guide #2751 - 🐛(collaboration) bound the calls yhub makes to the backend with a timeout, `YHUB_BACKEND_REQUEST_TIMEOUT_MS`, 5s by default #2753 - 🐛(backend) compensate document duplication failures #2755 - 🐛(frontend) open search results in a new tab with ctrl/cmd+click #2719 - 🐛(docker) pull minio images from pgsty #2739 - 🐛(backend) retry the duplicate of a document on a tree path collision #2726 - 🐛(frontend) keep caption and alignment when replacing an image #2730 - 🐛(backend) reset the collaboration connections on every access change #2725 - ⚡️(backend) coalesce and pace the resets of collaboration connections #2725 - 🐛(frontend) clear callout background on Backspace #2052 - 🐛(export) keep image aspect ratio in PDF columns #2670 - 🐛(frontend) fix redirect after deleting a document #2706 - 🐛(frontend) keep documents draggable with a mouse when zoomed #2727 - 📝(docs) fix markdown typo in installation README #2766 - 🐛(i18n) export locale correctly #2750 - 🐛(frontend) keep login and logout out of the service worker cache #2771 - 🐛(frontend) reduce PostHog volume from web vitals and opt_in spam #2701 - 🐛(frontend) stop reconnecting to the websocket based on the status code #2556 - 🐛(frontend) stop the service worker from caching the collaboration server's rest api #2556 Removed - 🔥(backend) remove the unused `CollaborationService` #2556 - 💥(backend) remove the `documents/{id}/can-edit/` endpoint #2556 - 💥(backend) remove the `documents/{id}/content/` endpoint #2556 - 🔥(backend) remove the document version endpoints. #2556 - 🔥(backend) remove `Document.content` #2556 Security - 🔒️(collaboration) stop read-only users from sharing their cursor #2556
1 parent 2bd3031 commit f6248f1

12 files changed

Lines changed: 77 additions & 66 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 65 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -6,83 +6,86 @@ and this project adheres to
66

77
## [Unreleased]
88

9+
## [v6.0.0] - 2026-10-05
10+
911
### Added
1012

11-
- 👷(ci) lint, typecheck, build and test the collaboration server (yhub)
12-
- 👷(ci) check the load-test tooling: swarm, canary, k6 and dashboards
13-
- 👷(ci) cancel the superseded runs of a pull request
13+
- 👷(ci) lint, typecheck, build and test the collaboration server (yhub) #2757
14+
- 👷(ci) check the load-test tooling: swarm, canary, k6 and dashboards #2757
15+
- 👷(ci) cancel the superseded runs of a pull request #2757
1416
- ✨(backend) add mention endpoint with cooldown-limited email
1517
notification #2447
1618
- 🚩(setting) add feature flag on Duplicate with Children #2721
1719
- 💄(frontend) redesign 404 error standalone page #2696
1820
- 💄(frontend) redesign 403 access denied page #2720
1921
- ✨(frontend) duplicate with subdocuments #2584
22+
- ✨(frontend) add markdown download option #2608
23+
- ✨(frontend) turn pasted doc links into interlinks #2713
2024
- ✨(helm) allow disallowing search engine indexing per instance #2694
21-
- 🐛(frontend) reduce PostHog volume from web vitals and opt_in spam #2701
2225
- ✨(backend) expose the attachment max size in the config endpoint #2577
2326
- ✨(frontend) warn before uploading an attachment over the size limit #2577
24-
- ✨(loadtest) add a websocket load generator for the collaboration server
27+
- ✨(loadtest) add a websocket load generator for the collaboration
28+
server #2556
2529
- ✨(loadtest) add k6 scenarios for the page-open sequence and the heavy
26-
endpoints
27-
- ✨(loadtest) add browser canaries measuring what a user feels under load
30+
endpoints #2556
31+
- ✨(loadtest) add browser canaries measuring what a user feels under
32+
load #2556
2833
- ✨(loadtest) add the grafana dashboards of the load-test campaign, valkey
29-
included
30-
- 📝(documentation) add the load-testing guide
34+
included #2556
35+
- 📝(documentation) add the load-testing guide #2556
3136
- 🔧(helm) run grafana with those dashboards in the dev cluster, in place of
32-
the prometheus console
37+
the prometheus console #2556
3338
- ✨(backend) measure the calls to yhub and to the converters, the database
34-
pool and the celery queue
39+
pool and the celery queue #2556
3540
- ✨(backend) add a `LoadTest` configuration and its `loadtest` application,
36-
minting sessions for load tests
41+
minting sessions for load tests #2556
3742
- ✨(collaboration) add opt-in prometheus metrics to yhub, server and worker,
38-
protected by a bearer token
43+
protected by a bearer token #2556
3944
- ✨(collaboration) report yhub errors to sentry, configured through
40-
`SENTRY_*`
45+
`SENTRY_*` #2556
4146
- ✨(backend) add opt-in prometheus metrics on `/metrics`, protected by a
42-
bearer token
47+
bearer token #2556
4348
- ✨(helm) add a dedicated ingress for the prometheus metrics of the backend
44-
and of yhub
49+
and of yhub #2556
4550
- ✨(helm) add a ServiceMonitor and a PodMonitor per component whose metrics
46-
are enabled, and `backend.metrics.enabled`
51+
are enabled, and `backend.metrics.enabled` #2556
4752
- 🔧(helm) scrape the metrics of the dev cluster with a trimmed
48-
kube-prometheus-stack and the ServiceMonitors of the chart
53+
kube-prometheus-stack and the ServiceMonitors of the chart #2556
4954
- 🔧(helm) serve the example console of django-prometheus on the dev
50-
Prometheus
51-
- ✨(backend) add a service generating cached RS256 JWT tokens
52-
- ✨(backend) publish the JWT public key on a JWKS endpoint
53-
- 🔧(dev) generate the JWT signing key when bootstrapping the dev stack
54-
- ✨(collaboration) add an admin reset-connections endpoint on yhub
55-
- ✨(collaboration) add a create-ydoc endpoint on yhub
56-
- 🔧(backend) fine tune redis cache options
57-
- ✨(frontend) make the full last-update date available #1215
58-
- ✨(collaboration) soft-migrate legacy S3 documents into yhub
59-
- ✨(collaboration) replay legacy s3 version history into yhub
60-
- ✨(backend) add a service to call the yhub REST API
61-
- ✨(backend) call YHubService to seed initial document content
62-
- ✨(collaboration) add a get-ydoc endpoint on yhub
63-
- ✨(backend) duplicate a document through the collaboration server
64-
- ✨(backend) serve `documents/{id}/formatted-content/` from yhub
65-
- ✨(collaboration) notify the backend when the worker persists new content
66-
- 🐛(frontend) stop reconnecting to the websocket based on the status code
67-
- ✨(collaboration) let a user read the document's editing history
68-
- ✨(frontend) fall back to http polling when the websocket cannot be opened.
55+
Prometheus #2556
56+
- ✨(backend) add a service generating cached RS256 JWT tokens #2556
57+
- ✨(backend) publish the JWT public key on a JWKS endpoint #2556
58+
- 🔧(dev) generate the JWT signing key when bootstrapping the dev stack #2556
59+
- ✨(collaboration) add an admin reset-connections endpoint on yhub #2556
60+
- ✨(collaboration) add a create-ydoc endpoint on yhub #2556
61+
- ✨(collaboration) soft-migrate legacy S3 documents into yhub #2556
62+
- ✨(collaboration) replay legacy s3 version history into yhub #2556
63+
- ✨(backend) add a service to call the yhub REST API #2556
64+
- ✨(backend) call YHubService to seed initial document content #2556
65+
- ✨(collaboration) add a get-ydoc endpoint on yhub #2556
66+
- ✨(backend) duplicate a document through the collaboration server #2556
67+
- ✨(backend) serve `documents/{id}/formatted-content/` from yhub #2556
68+
- ✨(collaboration) notify the backend when the worker persists new
69+
content #2556
70+
- ✨(collaboration) let a user read the document's editing history #2556
71+
- ✨(frontend) fall back to http polling when the websocket cannot be
72+
opened. #2556
6973
- 🔧(collaboration) make the version-history granularity configurable through
70-
`COLLABORATION_VERSION_GRANULARITY_MS`
74+
`COLLABORATION_VERSION_GRANULARITY_MS` #2556
7175
- ✨(frontend) keep a local copy of documents, so they open and stay editable
72-
offline
73-
- 🐛(frontend) stop the service worker from caching the collaboration server's
74-
rest api
76+
offline #2556
7577

7678
### Changed
7779

7880
- 🛂(backend) let users allowed to comment list each other's accesses #2447
79-
- ♻️(collaboration) migrate the collaboration server from hocuspocus to yhub
80-
- 💥(y-provider) y-provider becomes converter-only
81+
- ♻️(collaboration) migrate the collaboration server from hocuspocus to
82+
yhub #2556
83+
- 💥(y-provider) y-provider becomes converter-only #2556
8184
- 💥(backend) move the resource server JWKS from `/api/{version}/jwks` to
82-
`/external_api/{version}/jwks`
83-
- 🔧(collaboration) adapt docker stack for development purpose
84-
- 🔧(helm) run a valkey for the backend and one for yhub in dev and feature
85-
- ✨(frontend) turn pasted doc links into interlinks #2713
85+
`/external_api/{version}/jwks` #2556
86+
- 🔧(collaboration) adapt docker stack for development purpose #2556
87+
- 🔧(helm) run a valkey for the backend and one for yhub in dev and
88+
feature #2556
8689
- 💄(frontend) redesign 401 error standalone page #2716
8790

8891
### Fixed
@@ -92,8 +95,8 @@ and this project adheres to
9295
`YHUB_BACKEND_REQUEST_TIMEOUT_MS`, 5s by default #2753
9396
- 🐛(backend) compensate document duplication failures #2755
9497
- 🐛(frontend) open search results in a new tab with ctrl/cmd+click #2719
95-
- 🐛(docker) pull minio images from pgsty
96-
- 🐛(backend) retry the duplicate of a document on a tree path collision
98+
- 🐛(docker) pull minio images from pgsty #2739
99+
- 🐛(backend) retry the duplicate of a document on a tree path collision #2726
97100
- 🐛(frontend) keep caption and alignment when replacing an image #2730
98101
- 🐛(backend) reset the collaboration connections on every access change #2725
99102
- ⚡️(backend) coalesce and pace the resets of collaboration connections #2725
@@ -104,18 +107,23 @@ and this project adheres to
104107
- 📝(docs) fix markdown typo in installation README #2766
105108
- 🐛(i18n) export locale correctly #2750
106109
- 🐛(frontend) keep login and logout out of the service worker cache #2771
110+
- 🐛(frontend) reduce PostHog volume from web vitals and opt_in spam #2701
111+
- 🐛(frontend) stop reconnecting to the websocket based on the status
112+
code #2556
113+
- 🐛(frontend) stop the service worker from caching the collaboration server's
114+
rest api #2556
107115

108116
### Removed
109117

110-
- 🔥(backend) remove the unused `CollaborationService`
111-
- 💥(backend) remove the `documents/{id}/can-edit/` endpoint
112-
- 💥(backend) remove the `documents/{id}/content/` endpoint
113-
- 🔥(backend) remove the document version endpoints.
114-
- 🔥(backend) remove `Document.content`
118+
- 🔥(backend) remove the unused `CollaborationService` #2556
119+
- 💥(backend) remove the `documents/{id}/can-edit/` endpoint #2556
120+
- 💥(backend) remove the `documents/{id}/content/` endpoint #2556
121+
- 🔥(backend) remove the document version endpoints. #2556
122+
- 🔥(backend) remove `Document.content` #2556
115123

116124
### Security
117125

118-
- 🔒️(collaboration) stop read-only users from sharing their cursor
126+
- 🔒️(collaboration) stop read-only users from sharing their cursor #2556
119127

120128
## [v5.7.0] - 2026-09-15
121129

@@ -124,7 +132,6 @@ and this project adheres to
124132
- 🔧(backend) fine tune redis cache options #2658
125133
- ✨(frontend) make the full last-update date available #1215
126134
- 💄(frontend) redesign email confirmation standalone page #2601
127-
- ✨(frontend) add markdown download option #2608
128135

129136
### Changed
130137

@@ -1634,7 +1641,8 @@ and this project adheres to
16341641
- ✨(frontend) Coming Soon page (#67)
16351642
- 🚀 Impress, project to manage your documents easily and collaboratively.
16361643

1637-
[unreleased]: https://github.com/suitenumerique/docs/compare/v5.7.0...main
1644+
[unreleased]: https://github.com/suitenumerique/docs/compare/v6.0.0...main
1645+
[v6.0.0]: https://github.com/suitenumerique/docs/releases/v6.0.0
16381646
[v5.7.0]: https://github.com/suitenumerique/docs/releases/v5.7.0
16391647
[v5.6.1]: https://github.com/suitenumerique/docs/releases/v5.6.1
16401648
[v5.6.0]: https://github.com/suitenumerique/docs/releases/v5.6.0

‎UPGRADE.md‎

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ the following command inside your docker container:
1616

1717
## [Unreleased]
1818

19+
## [6.0.0] - 2026-10-05
20+
1921
⚠️ This release replaces the collaboration server. The content of a document
2022
does not live in the object storage anymore, it lives in that server, and the
2123
`y-provider` that used to serve the websocket does not serve it. There is a new

‎src/backend/pyproject.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ build-backend = "uv_build"
77

88
[project]
99
name = "impress"
10-
version = "5.7.0"
10+
version = "6.0.0"
1111
authors = [{ "name" = "DINUM", "email" = "dev@mail.numerique.gouv.fr" }]
1212
classifiers = [
1313
"Development Status :: 5 - Production/Stable",

‎src/backend/uv.lock‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎src/frontend/apps/e2e/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "app-e2e",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"repository": "https://github.com/suitenumerique/docs",
55
"author": "DINUM",
66
"license": "MIT",

‎src/frontend/apps/impress/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "app-impress",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"repository": "https://github.com/suitenumerique/docs",
55
"author": "DINUM",
66
"license": "MIT",

‎src/frontend/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "impress",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"private": true,
55
"repository": "https://github.com/suitenumerique/docs",
66
"author": "DINUM",

‎src/frontend/packages/eslint-plugin-docs/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "eslint-plugin-docs",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"repository": "https://github.com/suitenumerique/docs",
55
"author": "DINUM",
66
"license": "MIT",

‎src/frontend/packages/i18n/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "packages-i18n",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"repository": "https://github.com/suitenumerique/docs",
55
"author": "DINUM",
66
"license": "MIT",

‎src/frontend/servers/y-provider/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "server-y-provider",
3-
"version": "5.7.0",
3+
"version": "6.0.0",
44
"description": "Y.js provider for docs",
55
"repository": "https://github.com/suitenumerique/docs",
66
"license": "MIT",

0 commit comments

Comments
 (0)