mirror of
https://github.com/suitenumerique/docs.git
synced 2026-10-17 21:55:31 +02:00
🔖(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
This commit is contained in:
+66
-57
@@ -6,83 +6,86 @@ and this project adheres to
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [v6.0.0] - 2026-10-05
|
||||
|
||||
### Added
|
||||
|
||||
- 👷(ci) lint, typecheck, build and test the collaboration server (yhub)
|
||||
- 👷(ci) check the load-test tooling: swarm, canary, k6 and dashboards
|
||||
- 👷(ci) cancel the superseded runs of a pull request
|
||||
- 👷(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
|
||||
- 🐛(frontend) reduce PostHog volume from web vitals and opt_in spam #2701
|
||||
- ✨(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
|
||||
- ✨(loadtest) add a websocket load generator for the collaboration
|
||||
server #2556
|
||||
- ✨(loadtest) add k6 scenarios for the page-open sequence and the heavy
|
||||
endpoints
|
||||
- ✨(loadtest) add browser canaries measuring what a user feels under load
|
||||
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
|
||||
- 📝(documentation) add the load-testing guide
|
||||
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
|
||||
the prometheus console #2556
|
||||
- ✨(backend) measure the calls to yhub and to the converters, the database
|
||||
pool and the celery queue
|
||||
pool and the celery queue #2556
|
||||
- ✨(backend) add a `LoadTest` configuration and its `loadtest` application,
|
||||
minting sessions for load tests
|
||||
minting sessions for load tests #2556
|
||||
- ✨(collaboration) add opt-in prometheus metrics to yhub, server and worker,
|
||||
protected by a bearer token
|
||||
protected by a bearer token #2556
|
||||
- ✨(collaboration) report yhub errors to sentry, configured through
|
||||
`SENTRY_*`
|
||||
`SENTRY_*` #2556
|
||||
- ✨(backend) add opt-in prometheus metrics on `/metrics`, protected by a
|
||||
bearer token
|
||||
bearer token #2556
|
||||
- ✨(helm) add a dedicated ingress for the prometheus metrics of the backend
|
||||
and of yhub
|
||||
and of yhub #2556
|
||||
- ✨(helm) add a ServiceMonitor and a PodMonitor per component whose metrics
|
||||
are enabled, and `backend.metrics.enabled`
|
||||
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
|
||||
kube-prometheus-stack and the ServiceMonitors of the chart #2556
|
||||
- 🔧(helm) serve the example console of django-prometheus on the dev
|
||||
Prometheus
|
||||
- ✨(backend) add a service generating cached RS256 JWT tokens
|
||||
- ✨(backend) publish the JWT public key on a JWKS endpoint
|
||||
- 🔧(dev) generate the JWT signing key when bootstrapping the dev stack
|
||||
- ✨(collaboration) add an admin reset-connections endpoint on yhub
|
||||
- ✨(collaboration) add a create-ydoc endpoint on yhub
|
||||
- 🔧(backend) fine tune redis cache options
|
||||
- ✨(frontend) make the full last-update date available #1215
|
||||
- ✨(collaboration) soft-migrate legacy S3 documents into yhub
|
||||
- ✨(collaboration) replay legacy s3 version history into yhub
|
||||
- ✨(backend) add a service to call the yhub REST API
|
||||
- ✨(backend) call YHubService to seed initial document content
|
||||
- ✨(collaboration) add a get-ydoc endpoint on yhub
|
||||
- ✨(backend) duplicate a document through the collaboration server
|
||||
- ✨(backend) serve `documents/{id}/formatted-content/` from yhub
|
||||
- ✨(collaboration) notify the backend when the worker persists new content
|
||||
- 🐛(frontend) stop reconnecting to the websocket based on the status code
|
||||
- ✨(collaboration) let a user read the document's editing history
|
||||
- ✨(frontend) fall back to http polling when the websocket cannot be opened.
|
||||
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`
|
||||
`COLLABORATION_VERSION_GRANULARITY_MS` #2556
|
||||
- ✨(frontend) keep a local copy of documents, so they open and stay editable
|
||||
offline
|
||||
- 🐛(frontend) stop the service worker from caching the collaboration server's
|
||||
rest api
|
||||
offline #2556
|
||||
|
||||
### Changed
|
||||
|
||||
- 🛂(backend) let users allowed to comment list each other's accesses #2447
|
||||
- ♻️(collaboration) migrate the collaboration server from hocuspocus to yhub
|
||||
- 💥(y-provider) y-provider becomes converter-only
|
||||
- ♻️(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`
|
||||
- 🔧(collaboration) adapt docker stack for development purpose
|
||||
- 🔧(helm) run a valkey for the backend and one for yhub in dev and feature
|
||||
- ✨(frontend) turn pasted doc links into interlinks #2713
|
||||
`/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
|
||||
@@ -94,8 +97,8 @@ and this project adheres to
|
||||
- 🐛(frontend) cache hashed `/_next/static/` assets and revalidate HTML #2770
|
||||
- 🐛(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
|
||||
- 🐛(backend) retry the duplicate of a document on a tree path collision
|
||||
- 🐛(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
|
||||
@@ -106,18 +109,24 @@ and this project adheres to
|
||||
- 📝(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`
|
||||
- 💥(backend) remove the `documents/{id}/can-edit/` endpoint
|
||||
- 💥(backend) remove the `documents/{id}/content/` endpoint
|
||||
- 🔥(backend) remove the document version endpoints.
|
||||
- 🔥(backend) remove `Document.content`
|
||||
- 🔥(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
|
||||
- 🔒️(collaboration) stop read-only users from sharing their cursor #2556
|
||||
- 🔒️(backend) fix race conditions between actions updating a docs #2781
|
||||
|
||||
## [v5.7.0] - 2026-09-15
|
||||
|
||||
@@ -126,7 +135,6 @@ and this project adheres to
|
||||
- 🔧(backend) fine tune redis cache options #2658
|
||||
- ✨(frontend) make the full last-update date available #1215
|
||||
- 💄(frontend) redesign email confirmation standalone page #2601
|
||||
- ✨(frontend) add markdown download option #2608
|
||||
|
||||
### Changed
|
||||
|
||||
@@ -1636,7 +1644,8 @@ and this project adheres to
|
||||
- ✨(frontend) Coming Soon page (#67)
|
||||
- 🚀 Impress, project to manage your documents easily and collaboratively.
|
||||
|
||||
[unreleased]: https://github.com/suitenumerique/docs/compare/v5.7.0...main
|
||||
[unreleased]: https://github.com/suitenumerique/docs/compare/v6.0.0...main
|
||||
[v6.0.0]: https://github.com/suitenumerique/docs/releases/v6.0.0
|
||||
[v5.7.0]: https://github.com/suitenumerique/docs/releases/v5.7.0
|
||||
[v5.6.1]: https://github.com/suitenumerique/docs/releases/v5.6.1
|
||||
[v5.6.0]: https://github.com/suitenumerique/docs/releases/v5.6.0
|
||||
|
||||
@@ -16,6 +16,8 @@ the following command inside your docker container:
|
||||
|
||||
## [Unreleased]
|
||||
|
||||
## [6.0.0] - 2026-10-05
|
||||
|
||||
⚠️ This release replaces the collaboration server. The content of a document
|
||||
does not live in the object storage anymore, it lives in that server, and the
|
||||
`y-provider` that used to serve the websocket does not serve it. There is a new
|
||||
|
||||
@@ -7,7 +7,7 @@ build-backend = "uv_build"
|
||||
|
||||
[project]
|
||||
name = "impress"
|
||||
version = "5.7.0"
|
||||
version = "6.0.0"
|
||||
authors = [{ "name" = "DINUM", "email" = "dev@mail.numerique.gouv.fr" }]
|
||||
classifiers = [
|
||||
"Development Status :: 5 - Production/Stable",
|
||||
|
||||
Generated
+1
-1
@@ -964,7 +964,7 @@ wheels = [
|
||||
|
||||
[[package]]
|
||||
name = "impress"
|
||||
version = "5.7.0"
|
||||
version = "6.0.0"
|
||||
source = { editable = "." }
|
||||
dependencies = [
|
||||
{ name = "beautifulsoup4" },
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "app-e2e",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"author": "DINUM",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "app-impress",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"author": "DINUM",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "impress",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"private": true,
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"author": "DINUM",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "eslint-plugin-docs",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"author": "DINUM",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "packages-i18n",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"author": "DINUM",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "server-y-provider",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"description": "Y.js provider for docs",
|
||||
"repository": "https://github.com/suitenumerique/docs",
|
||||
"license": "MIT",
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
apiVersion: v2
|
||||
type: application
|
||||
name: docs
|
||||
version: 6.0.0-alpha.2
|
||||
version: 6.0.0
|
||||
appVersion: latest
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "mail_mjml",
|
||||
"version": "5.7.0",
|
||||
"version": "6.0.0",
|
||||
"description": "An util to generate html and text django's templates from mjml templates",
|
||||
"type": "module",
|
||||
"dependencies": {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
{
|
||||
"name": "yhub-server",
|
||||
"version": "6.0.0",
|
||||
"private": true,
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
|
||||
Reference in New Issue
Block a user