Skip to content

Commit 4a57fb8

Browse files
committed
update release workflow and notes template
1 parent 0d55b19 commit 4a57fb8

3 files changed

Lines changed: 135 additions & 6 deletions

File tree

Makefile

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -199,12 +199,19 @@ version-bump: ## Interactive version bump
199199
sed -i "s/\"version\": \".*\"/\"version\": \"$$NEW_VERSION\"/" backend/package.json; \
200200
echo "Version bumped to $$NEW_VERSION"
201201

202-
changelog: ## Reset RELEASE.md from template and open it for editing
203-
@echo "Generating fresh RELEASE.md..."
204-
@if [ "$(PRERELEASE)" = "1" ]; then \
205-
node scripts/reset-release-notes.cjs --prerelease; \
202+
changelog: ## Prepare RELEASE.md from template or keep existing content, then open it
203+
@echo "Prepare release notes for editing?"
204+
@read -r CHOICE; \
205+
CHOICE_LOWER=$$(printf '%s' "$$CHOICE" | tr '[:upper:]' '[:lower:]'); \
206+
if [ "$$CHOICE_LOWER" = "y" ] || [ "$$CHOICE_LOWER" = "yes" ]; then \
207+
echo "Generating fresh RELEASE.md..."; \
208+
if [ "$(PRERELEASE)" = "1" ]; then \
209+
node scripts/reset-release-notes.cjs --prerelease; \
210+
else \
211+
node scripts/reset-release-notes.cjs; \
212+
fi; \
206213
else \
207-
node scripts/reset-release-notes.cjs; \
214+
echo "Keeping current RELEASE.md."; \
208215
fi
209216
@$(MAKE) changelog-open
210217

RELEASE.md

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,84 @@
1+
# ExcaliDash v0.4.19
2+
13
Release date: 2026-02-17
2-
update release workflow, fix import tests
4+
5+
## Highlights
6+
7+
- New authentication platform across backend and frontend, including local accounts, optional OIDC integration, admin roles, and onboarding controls.
8+
- New password-reset flow and bootstrap setup code for first-admin initialization.
9+
- User identity, impersonation, and per-user isolation improvements in editor/dashboard flows.
10+
- Expanded import/export surface with compatibility support for legacy SQLite backups.
11+
12+
## Upgrading
13+
14+
<details>
15+
<summary>Show upgrade steps</summary>
16+
17+
### Data safety checklist
18+
19+
- Back up backend volume (`dev.db`, secrets) before upgrading.
20+
- Let migrations run on startup (`RUN_MIGRATIONS=true`) for normal deploys.
21+
- Run `docker compose -f docker-compose.prod.yml logs backend --tail=200` after rollout and verify startup/migration status.
22+
23+
### Recommended upgrade (Docker Hub compose)
24+
25+
```bash
26+
docker compose -f docker-compose.prod.yml pull
27+
docker compose -f docker-compose.prod.yml up -d
28+
```
29+
30+
### Pin images to this release (recommended for reproducible deploys)
31+
32+
Edit `docker-compose.prod.yml` and pin the release tags:
33+
34+
```yaml
35+
services:
36+
backend:
37+
image: zimengxiong/excalidash-backend:v0.4.19
38+
frontend:
39+
image: zimengxiong/excalidash-frontend:v0.4.19
40+
```
41+
42+
Example:
43+
44+
```bash
45+
docker compose -f docker-compose.prod.yml up -d
46+
```
47+
48+
</details>
49+
50+
## What's new
51+
52+
- Backend auth stack
53+
- Added dedicated auth modules and routes (`backend/src/auth/*`) for login/register/refresh/me, account actions, admin controls, and OIDC callbacks.
54+
- Added auth middleware and mode-aware route protection.
55+
- Added auth mode configuration with `local | hybrid | oidc_enforced`.
56+
- Added system-level config, bootstrap setup code support, login-rate-limit configuration, and audit logging plumbing.
57+
- Security hardening
58+
- Added server- and client-side CSRF improvements and stability tests.
59+
- Added token hardening and refresh-token rotation controls.
60+
- Added trusted-proxy handling and stricter onboarding/session safety checks.
61+
- Data and collaboration improvements
62+
- Added import/export routes and services (including legacy migration/import compatibility).
63+
- Added drawings cache and socket authentication updates.
64+
- Added preview utilities and bug fixes for image-sync/persistence in collaborative editing.
65+
- Frontend auth + UX
66+
- Added login/register/profile/admin/setup/password-reset pages and onboarding flow components.
67+
- Added protected routes, auth context integration, identity sync, pagination/state hooks, and impersonation banner/update UI.
68+
- Updated dashboard and editor interactions for authenticated multi-user behavior.
69+
- Operations and DX
70+
- Added deployment/release tooling cleanup (`scripts/*`, compose updates, workflow refinements).
71+
- Added/updated migration and setup scripts for safer local workflows.
72+
- Expanded test coverage (backend, frontend, and e2e), including new auth and image/persistence cases.
73+
74+
## Migration / upgrade notes
75+
76+
- Database changes now include auth-related schema migrations and require migration execution as part of upgrade:
77+
- New users/auth identity models
78+
- Auth flags/state
79+
- Bootstrap setup tracking
80+
- New/updated production-relevant environment requirements were added in config and docs:
81+
- `AUTH_MODE`, `JWT_SECRET`, `TRUST_PROXY`, OIDC variables, bootstrap/retry limits, audit/release switches.
82+
- `JWT_SECRET` now has stricter validation in production (`.env.example` documents this explicitly).
83+
- On first-run / migration to authenticated mode, users may encounter onboarding/setup screens; follow the documented first-admin setup flow.
84+
- Read updated docs and deployment notes before deploying.

scripts/release-notes-template.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,41 @@
1+
# ExcaliDash v{{VERSION}}
2+
13
Release date: {{DATE}}
4+
5+
## Upgrading
6+
7+
<details>
8+
<summary>Show upgrade steps</summary>
9+
10+
### Data safety checklist
11+
12+
- Back up backend volume (`dev.db`, secrets) before upgrading.
13+
- Let migrations run on startup (`RUN_MIGRATIONS=true`) for normal deploys.
14+
- Run `docker compose -f docker-compose.prod.yml logs backend --tail=200` after rollout and verify startup/migration status.
15+
16+
### Recommended upgrade (Docker Hub compose)
17+
18+
```bash
19+
docker compose -f docker-compose.prod.yml pull
20+
docker compose -f docker-compose.prod.yml up -d
21+
```
22+
23+
### Pin images to this release (recommended for reproducible deploys)
24+
25+
Edit `docker-compose.prod.yml` and pin the release tags:
26+
27+
```yaml
28+
services:
29+
backend:
30+
image: zimengxiong/excalidash-backend:{{TAG}}
31+
frontend:
32+
image: zimengxiong/excalidash-frontend:{{TAG}}
33+
```
34+
35+
Example:
36+
37+
```bash
38+
docker compose -f docker-compose.prod.yml up -d
39+
```
40+
41+
</details>

0 commit comments

Comments
 (0)