Commit Graph
34 Commits
Author SHA1 Message Date
MarekWoandClaude Opus 5 636dce70a1 chore: open 2.15.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 21:12:54 +02:00
MarekWoandClaude Opus 5 8403da3ca7 chore(release): finalize 2.14.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-02 21:12:22 +02:00
MarekWoandClaude Opus 5 3ea543eb7d chore: open 2.14.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 21:25:28 +02:00
MarekWoandClaude Opus 5 dba48ca2b8 chore(release): finalize 2.13.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-30 21:24:57 +02:00
MarekWoandClaude Opus 5 98f2afff7e chore: open 2.13.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 16:04:38 +02:00
MarekWoandClaude Opus 5 0c4b402dd5 chore(release): finalize 2.12.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-27 16:03:58 +02:00
MarekWoandClaude Opus 5 b5e5c69faf chore: open 2.12.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 08:26:33 +02:00
MarekWoandClaude Opus 5 9298a1720e chore(release): finalize 2.11.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 08:25:49 +02:00
MarekWoandClaude Opus 5 ab4e5f9a6e chore: open 2.11.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 15:56:53 +02:00
MarekWoandClaude Opus 5 dda56ab75b chore(release): finalize 2.10.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-19 15:56:13 +02:00
MarekWoandClaude Opus 5 8f3e04ae80 chore: open 2.10.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 13:04:14 +02:00
MarekWoandClaude Opus 5 9cadd067c5 chore(release): finalize 2.9.1
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 12:19:12 +02:00
MarekWoandClaude Opus 5 e848bc16a4 chore: open 2.10.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 10:53:33 +02:00
MarekWoandClaude Opus 5 4b89a02364 chore(release): finalize 2.9.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-14 10:52:31 +02:00
MarekWo e6497e31dd chore: open 2.9.0 development 2026-08-13 07:08:04 +02:00
MarekWoandClaude Opus 5 38dddf0ace chore(release): finalize 2.8.0
Drop the -dev suffix and date the pending whatsnew section. Also record the
two repeater path-wrapping fixes (31729fd, 8224128), which landed after the
docs pass and had no user-facing entry yet.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-13 07:07:38 +02:00
MarekWoandClaude Opus 5 92ff649984 chore: open 2.8.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 16:23:31 +02:00
MarekWoandClaude Opus 5 70e5238cfb chore(release): finalize 2.7.0
Also documents the two behaviours the release adds to Resend that only
whatsnew had covered: the stale-message confirmation, and that a resend
now repairs a message left with no delivery badge.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 16:22:47 +02:00
MarekWoandClaude Opus 5 75080de12e chore: open 2.7.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_0187QpThw1Y8n7aYDjHtMHax
2026-08-03 09:10:46 +02:00
MarekWoandClaude Opus 5 307eafade3 chore(release): finalize 2.6.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>

Claude-Session: https://claude.ai/code/session_0187QpThw1Y8n7aYDjHtMHax
2026-08-03 09:09:53 +02:00
MarekWoandClaude Opus 5 63f3784df5 chore: open 2.6.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 07:42:15 +02:00
MarekWoandClaude Opus 5 a958a74920 chore(release): finalize 2.5.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 07:41:44 +02:00
MarekWoandClaude Opus 5 4460219a19 chore: open 2.5.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 13:08:16 +02:00
MarekWoandClaude Opus 5 44d14d7c34 chore(release): finalize 2.4.2
Only a fix since 2.4.1, so PATCH per the project's SemVer rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 13:07:36 +02:00
MarekWoandClaude Opus 5 569e519007 chore: open 2.5.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:38:53 +02:00
MarekWoandClaude Opus 5 6e180e8d45 chore(release): finalize 2.4.1
Only fixes since 2.4.0, so PATCH per the project's SemVer rule.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-31 09:37:08 +02:00
MarekWoandClaude Opus 5 dc685348f9 chore: open 2.5.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 21:17:05 +02:00
MarekWoandClaude Opus 5 8695017af5 chore(release): 2.4.0
Also corrects the app-vs-PWA table in the user guide: it claimed QR
scanning and file downloads were unavailable in the Android app, which
contradicted the Android App guide from the start - both have always
worked there.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 21:16:18 +02:00
MarekWoandClaude Opus 5 6ecdfd6033 chore: open 2.4.0 development
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:21:29 +02:00
MarekWoandClaude Opus 5 f6e427be5d chore(release): 2.3.0
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:19:13 +02:00
MarekWoandClaude Opus 5 0c10640e28 chore: open 2.3.0 development
Marks dev as ahead of the 2.2.0 release, so tester builds report
2.3.0-dev instead of claiming to be the released version. The final
number is decided when the release is cut - a cycle that turns out to
carry only fixes ships as 2.2.1 instead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 12:13:17 +02:00
MarekWoandClaude Opus 5 0fc73ec760 chore(release): 2.2.0
Drop the -dev suffix and date the whatsnew section so release.sh can find
its notes. Also make the build-string example in the whatsnew header read
as an example, instead of naming one particular build that goes stale the
moment it ships.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-27 12:11:55 +02:00
MarekWoandClaude Opus 5 9899f58ae7 chore: open 2.2.0 development
Marks dev as ahead of the 2.1.0 release, so tester builds report
2.2.0-dev instead of claiming to be the released version. The final
number is decided when the release is cut - a cycle that turns out to
carry only fixes ships as 2.1.1 instead.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 19:57:13 +02:00
MarekWoandClaude Opus 5 4c6857a00f feat: numbered releases (2.1.0) with git tags and GitHub releases
The app already knew exactly which build was running - a calendar version
of commit date plus short hash - but nothing gave a release a name users
could quote, and the repo had no tags at all.

Adds a VERSION file as the single source of truth for a SemVer release
number, read by app/version.py alongside the existing build string rather
than replacing it: the number is for people, the build is for pinning down
a deploy, and both ship in /api/version and the template context. The menu
shows the release first with the build underneath. #versionText still holds
the build string, because the remote-update poller compares it to detect
that the server came back on a new build.

Resolution order is unchanged (frozen file > git > fallback), and a frozen
file written before this change still yields a correct release number, so
an already-deployed server does not need re-freezing to stay sane. The
container has no git, hence COPY VERSION into the image - otherwise a plain
'docker compose build' reports 0.0.0.

scripts/release.sh cuts a release from main: it refuses a dirty tree, a
wrong branch, a malformed number or an existing tag, extracts the notes
from the matching whatsnew section, then tags, pushes and publishes via gh.

Numbering starts at 2.1.0 rather than 1.x: the v2 line has been in
production since March and 'v1' is the archived pre-migration branch, so
1.x would have been ambiguous. Sections in whatsnew before 2.1.0 keep
their date-only headings - they were never tagged.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-26 19:20:57 +02:00