Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
28 changes: 27 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,31 @@ and this project adheres to

## [Unreleased]

## [0.4.0] - 2026-03-05

### Added

- Store thread read state per thread access #575

_⚠️ This migration requires a search reindex to be run after the upgrade._

- Store and display the user who sent a message #574
- Display selected threads count in right panel #576
- Add skip navigation link for keyboard users #573
- Add DeployCenter backend for syncing maildomain admins #572
- Add management command to print all users of the instance

### Changed

- Bump keycloak to 26.5.4 #571
- Add migrations-check Makefile command

### Fixed

- Preserve scroll position across renders #578
- Convert newlines to `<br>` in styled text #577
- Scope labels and user_role to the requested mailbox

## [0.3.0] - 2026-02-24

### Added
Expand Down Expand Up @@ -110,7 +135,8 @@ and this project adheres to
- Exclude `is_trashed` and `is_spam` threads from search results by default
- `to` search modifier now looks for messages where recipient fields (to, cc, bcc) contain the given email address.

[unreleased]: https://github.com/suitenumerique/messages/compare/v0.3.0...main
[unreleased]: https://github.com/suitenumerique/messages/compare/v0.4.0...main
[0.4.0]: https://github.com/suitenumerique/messages/compare/v0.3.0...v0.4.0
[0.3.0]: https://github.com/suitenumerique/messages/compare/v0.2.0...v0.3.0
[0.2.0]: https://github.com/suitenumerique/messages/releases/v0.2.0
[0.1.1]: https://github.com/suitenumerique/messages/releases/v0.1.1
Expand Down
11 changes: 11 additions & 0 deletions bin/release.py
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,17 @@ def update_files(version: str) -> None:
package_json.write_text(content)
sys.stdout.write(f" → {package_json}\n")

# Update uv.lock files to match
sys.stdout.write("Updating uv.lock files...\n")
for pyproject_toml in src_path.rglob("pyproject.toml"):
lock_file = pyproject_toml.parent / "uv.lock"
if lock_file.exists():
run_command(
f"cd {pyproject_toml.parent} && uv lock",
shell=True
)
Comment thread
jbpenrath marked this conversation as resolved.
sys.stdout.write(f" → {lock_file}\n")

# Update package-lock.json files to match
sys.stdout.write("Updating package-lock.json files...\n")
for package_json in src_path.rglob("package.json"):
Expand Down
2 changes: 1 addition & 1 deletion src/backend/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

[project]
name = "messages-backend"
version = "0.3.0"
version = "0.4.0"
authors = [{ "name" = "ANCT", "email" = "suiteterritoriale@anct.gouv.fr" }]
classifiers = [
"Development Status :: 5 - Production/Stable",
Expand Down
2 changes: 1 addition & 1 deletion src/backend/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 2 additions & 2 deletions src/e2e/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion src/e2e/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "st-messages-e2e",
"private": true,
"version": "0.3.0",
"version": "0.4.0",
"description": "End-to-end tests for Messages application",
"engines": {
"node": ">=22.0.0 <23.0.0",
Expand Down
Loading
Loading