33 lines
2.0 KiB
Markdown
33 lines
2.0 KiB
Markdown
This release reworks image handling in the article editor and brings the password-reset screens up to the new design.
|
|
|
|
## New
|
|
|
|
**Crop and resize before upload**
|
|
- A Crop and resize step now sits between picking an image and uploading it. It applies to JPEG, PNG and WEBP files. SVG files still upload straight away.
|
|
- Move or resize the crop frame by dragging it or its handles. Arrow keys nudge it by 1 px, and Shift+arrow resizes it by 1 px.
|
|
- Aspect ratios: Original, Free, 16:9, 4:3 and 1:1.
|
|
- Rotate and Reset buttons.
|
|
- Output width presets: Original, 1600 px (default), 1200 px and 800 px. The output is never wider than the crop frame.
|
|
- A live line shows the final pixel size and an approximate file size before you upload.
|
|
|
|
**Remove images from the editor**
|
|
- Images in an article can now be removed from the editor. The image file and its database row are both deleted.
|
|
- The editor renders images as a dedicated image node.
|
|
|
|
**Password-reset screens**
|
|
- The Forgot password and Reset password screens follow the new design and cover every state in the spec.
|
|
|
|
## API
|
|
- `DELETE /v1/article/{id}/image/{imageId}` (authenticated) deletes an image. It returns 204 on success, 404 for an unknown article or image, and 400 for an ID that isn't a valid uint32.
|
|
- Changed: `POST /v1/article/{id}/image` now returns `{"id": …, "location": …}` instead of `{"location": …}`. The change is additive, but anything parsing the response strictly should be checked.
|
|
|
|
## Under the hood
|
|
- The editor now depends on `@tiptap/extension-image`, `@tiptap/pm` and `@tiptap/vue-3`, all pinned to 3.31.3.
|
|
- New feature specs and QA procedures cover crop and resize, image removal and both reset screens.
|
|
- New Go HTTP tests cover image deletion, and Vitest specs were added and updated for the editor and reset views.
|
|
- The visual-check states cover the new screens, and the design docs are updated to match.
|
|
|
|
## Upgrading
|
|
- No new environment variables and no schema changes.
|
|
- Replace the binary and restart.
|