docs: release notes for v3.2.1-beta

This commit is contained in:
Florian Sylvain committed 2026-10-13 22:39:42 +02:00
1 parent 63c1e7076e
commit 0d03a27f31
3 files changed
+36 -4

No files matched your search

+4 -4
View File
@@ -21,7 +21,7 @@ Requirements: Docker with Compose v2. [task](https://taskfile.dev) is optional f
docker compose up -d
```
`docker-compose.yml` uses `image: ${RENEWCMS_IMAGE:-git.floriansylvain.fr/fsylvain/renewcms:beta}`. The default tag is `beta` because `latest` does not exist until the first stable release (the default changes to `latest` then). Set `RENEWCMS_IMAGE` in your shell or in a `.env` file next to the compose file to pin another tag, for example `RENEWCMS_IMAGE=git.floriansylvain.fr/fsylvain/renewcms:v3.2.0-beta`.
`docker-compose.yml` uses `image: ${RENEWCMS_IMAGE:-git.floriansylvain.fr/fsylvain/renewcms:beta}`. The default tag is `beta` because `latest` does not exist until the first stable release (the default changes to `latest` then). Set `RENEWCMS_IMAGE` in your shell or in a `.env` file next to the compose file to pin another tag, for example `RENEWCMS_IMAGE=git.floriansylvain.fr/fsylvain/renewcms:v3.2.1-beta`.
To build from the local sources instead, see [Building from source](#building-from-source).
@@ -50,7 +50,7 @@ docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --build
| Release | Tags pushed |
|---|---|
| `vX.Y.Z` (stable) | `vX.Y.Z`, `X.Y.Z`, `X.Y`, `latest` |
| `vX.Y.Z-<pre>` (for example `v3.2.0-beta`, `v3.2.0-rc.1`) | `vX.Y.Z-<pre>`, `X.Y.Z-<pre>`, and the moving tag `<pre-name>` (`beta`, `rc`) |
| `vX.Y.Z-<pre>` (for example `v3.2.1-beta`, `v3.2.1-rc.1`) | `vX.Y.Z-<pre>`, `X.Y.Z-<pre>`, and the moving tag `<pre-name>` (`beta`, `rc`) |
A pre-release never moves `latest`. Images are published for `linux/amd64` and `linux/arm64`. `renewcms --version` in the image prints the exact release tag. Images are not signed; the Ed25519 key signs the release binaries only.
@@ -198,7 +198,7 @@ Publishing is a manual, maintainer-run task, like `task release`. There is no CI
1. Tag the release and keep the work tree clean:
```sh
git tag v3.2.0-beta
git tag v3.2.1-beta
```
2. Log in once to the registry. The task never reads or stores credentials:
@@ -226,7 +226,7 @@ Publishing is a manual, maintainer-run task, like `task release`. There is no CI
```sh
task docker:publish -- --dry-run
task docker:publish VERSION=v3.2.0-rc.1 -- --dry-run
task docker:publish VERSION=v3.2.1-rc.1 -- --dry-run
```
The dry run builds for the host platform only, loads the image into the local Docker, pushes nothing and needs no login. It prints the tags a real run would push. A `VERSION` override is accepted only with `--dry-run`, and a dirty tree is allowed there. Remove the loaded images afterwards with `docker rmi`.
+1
View File
@@ -38,3 +38,4 @@ Each body lives in `docs/releases/<tag>.md`. Publish with `tea releases create -
| `v3.0.0-beta` | Activity log, more databases and S3 storage |
| `v3.1.0-beta` | Image variants |
| `v3.2.0-beta` | Article lists, editor links and activity export |
| `v3.2.1-beta` | Paged media library and remembered page sizes |
+31
View File
@@ -0,0 +1,31 @@
This release pages the media library, remembers your page size on the article, activity and media lists, and previews image variants on a real sample photo. The media list API changes shape, so read the upgrading notes if you call it.
## New
**Media library**
- The media library is now paged, with a page size of 5, 25, 50 or 100. The image picker in the editor uses the same pages.
**Image variants**
- Creating a variant shows a preview rendered from a real sample image, so the size estimate and the before and after comparison match what visitors will get.
## Improvements and fixes
- The article, activity and media lists keep their page and page size in the address, so a reload or a shared link opens the same view.
- The Integration page is now fully translated into French.
## API
- Changed: `GET /v1/media/` answers `{ items, total, page, size, counts }` instead of `{ items, next_cursor, counts }`. It accepts `page` (default `1`) and `size` (`5`, `25`, `50` or `100`, default `25`). An invalid value answers `400`.
- Changed: `GET /v1/media/` no longer accepts `cursor` or `limit`.
## Under the hood
- Replace the cursor and limit of the media list query with a page and a size in the image domain and the list use case.
- Add specifications, design checks and Go and Vitest suites for the paged media screens.
## Upgrading
- Replace the binary, or pull the new image. There is no schema change and no new environment variable.
- Any script or site that reads `GET /v1/media/` must now read `total` and loop over `page` instead of following `next_cursor`.