diff --git a/client/src/assets/docs/whats-new.md b/CHANGELOG.md similarity index 93% rename from client/src/assets/docs/whats-new.md rename to CHANGELOG.md index 8dc41667..c5aaff75 100644 --- a/client/src/assets/docs/whats-new.md +++ b/CHANGELOG.md @@ -1,4 +1,16 @@ -# [2.2.1] - 2026-08-10 +## [Unreleased] + +### Added + +* Add `db:clean-orphaned-records` script to report and remove reference rows left behind by an incomplete delete + +### Fixed + +* Fix a blank home view when a project manager or board membership points at a project that no longer exists +* Fix endless list pagination returning an error for cursors Postgres cannot read as a timestamp +* Fix endless list pagination skipping and repeating cards when a search, member or label filter is active + +## [2.2.1] - 2026-08-10 ### Fixed diff --git a/Dockerfile b/Dockerfile index 24fbf65a..cfb60cd6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -18,6 +18,7 @@ FROM node:24 AS client WORKDIR /app COPY client . +COPY CHANGELOG.md /CHANGELOG.md RUN npm install npm --global \ && npm install --omit=dev \ diff --git a/client/src/components/common/AboutModal/AboutPane.jsx b/client/src/components/common/AboutModal/AboutPane.jsx index 4d04f312..03e151bc 100644 --- a/client/src/components/common/AboutModal/AboutPane.jsx +++ b/client/src/components/common/AboutModal/AboutPane.jsx @@ -11,7 +11,7 @@ import version from '../../../version'; import Markdown from '../Markdown'; import aboutLogo from '../../../assets/images/about-logo.png'; -import whatsNewUrl from '../../../assets/docs/whats-new.md?url'; +import changelogUrl from '../../../../../CHANGELOG.md?url'; import styles from './AboutPane.module.scss'; @@ -23,7 +23,7 @@ const AboutPane = React.memo(() => { async function fetchWhatsNew() { let response; try { - response = await fetch(whatsNewUrl); + response = await fetch(changelogUrl); } catch { return; } diff --git a/client/vite.config.js b/client/vite.config.js index dd1a8fea..ce59faa5 100644 --- a/client/vite.config.js +++ b/client/vite.config.js @@ -56,6 +56,10 @@ export default defineConfig({ server: { port: 3000, open: true, + // The changelog rendered in the about modal lives at the repository root + fs: { + allow: ['..'], + }, proxy: { '/api': PROXY_TARGET, '/socket.io': { target: PROXY_TARGET, ws: true }, diff --git a/docker-compose-dev.yml b/docker-compose-dev.yml index a172f70f..178f3215 100644 --- a/docker-compose-dev.yml +++ b/docker-compose-dev.yml @@ -87,6 +87,7 @@ services: restart: on-failure volumes: - ./client:/app + - ./CHANGELOG.md:/CHANGELOG.md ports: - 3000:3000 environment: