v1.6.9 — upgrading actually upgrades
If an upgrade has ever seemed to work while leaving the version unchanged, this release is for you — and the command below is the part that was wrong.
Security
- The database moves up to the current 15.x. It had been pinned to a build from early 2023 and was thirteen point releases behind, each of which carries upstream PostgreSQL fixes. Same major version, so nothing about your data changes and there is no conversion step — it starts up on exactly the files it was already using.
Fixed
- A brand-new install could get stuck before it ever started. On a fresh database the setup script and the app's own migrations ran as two different users, and the second could not modify what the first had created — so the app refused to start and retried forever. Existing installs were never affected, which is why it went unnoticed.
- Upgrading could silently do nothing if you run the pre-built image. The upgrade command in the release notes left out the file that actually points at the published image, so Docker quietly rebuilt the app from whatever source happened to be on disk — usually the version you were already on. It looked like a clean upgrade, every container came up healthy, and only the version number in Settings disagreed. The instructions now name both files,
start.sh upwarns when it is about to rebuild while a newer image sits unused, and Troubleshooting covers the symptom. Thanks to @edlucky1 for chasing this down across several attempts (#106).
Upgrading
docker compose -f docker-compose.yml -f docker-compose.image.yml pull
./start.sh upBoth -f flags matter. Docker Compose only loads docker-compose.yml and docker-compose.override.yml by itself. The published image is defined in docker-compose.image.yml, so leaving it out makes Compose quietly rebuild the app from whatever source is on disk — which reports success and changes nothing. start.sh adds the overlay for you, and now warns if it is about to rebuild while a newer image is already downloaded.
Check which path you are on before upgrading:
docker compose -f docker-compose.yml -f docker-compose.image.yml config | grep -A1 "^ webapp:"An image: ghcr.io/svenger87/kinboard:... line means you are running the published image. A build: line means you are compiling from source — fine on purpose, but then git pull --ff-only origin main first or you will rebuild the version you already have.
Building from source? Nothing changes for you; the database bump applies either way, and migrations run on boot.
Thanks to @edlucky1, who spent several rounds proving their setup was doing exactly what it was told to do.