Upgrading Your Project¶
This page covers the general workflow for keeping a Vibetuner project current. For version-specific breaking changes, see the migration guides listed at the bottom.
Versioning Policy¶
Vibetuner follows semantic versioning. Version bumps are driven by the conventional-commit type of each merged PR, processed automatically by Release Please:
| Change type | Example PR title | Version bump |
|---|---|---|
| Breaking change | feat!: remove deprecated API |
MAJOR |
| New feature | feat: add OAuth support |
MINOR |
| Performance | perf: speed up SSE fan-out |
MINOR |
| Bug fix, docs, chore | fix: resolve Redis timeout |
PATCH |
MAJOR version upgrades always include a migration guide. MINOR and PATCH upgrades are safe to apply without code changes in the common case.
The full history is in the
CHANGELOG. Breaking
changes are flagged with a ⚠ BREAKING CHANGES header and include migration instructions.
Updating the Scaffold Template¶
Your project was generated from the Vibetuner Copier template. As the template evolves (new justfile targets, updated compose files, tooling improvements), pull the latest template changes into your project:
This runs Copier's update against the latest template revision. For each file that has
changed since your last update, Copier shows the diff and asks you to accept or skip it.
Review changes carefully for any files you have customised (e.g. compose.prod.yml,
.env.example, justfile).
Common options¶
| Flag | Default | Description |
|---|---|---|
--skip-answered |
on | Re-uses your original answers — no prompts for settings you already configured |
--no-skip-answered |
— | Re-prompts for every question — use when you need to change project settings |
--branch BRANCH |
main |
Pull from a specific template branch instead of the latest main |
After running scaffold update¶
- Review the diff:
git diff - Resolve any merge conflicts in customised files
- Sync dependencies:
uv sync - Restart:
just dev - Run
vibetuner doctorto confirm everything is healthy (see Troubleshooting)
Upgrading the Framework Package¶
vibetuner scaffold update updates the template scaffold (project files, justfile,
compose, tooling). It does not bump the vibetuner Python package version. To
upgrade the framework itself:
Or to always track the latest release:
For MAJOR version upgrades, read the relevant migration guide before running the
version bump. After upgrading, run vibetuner doctor to catch configuration issues
early.
Version-Specific Migration Guides¶
| Upgrading from | To | Guide |
|---|---|---|
| v11.x | v12 | Upgrading to v12 — fail-closed SESSION_KEY, Jinja autoescaping, auth rate limits |
Past breaking changes¶
v10 → v11: WorkerDepends() / TaskDepends() removed¶
Vibetuner v11 upgraded to streaq v7, which removed the WorkerDepends() and
TaskDepends() dependency-injection helpers. See the
Background Tasks — Worker Context section for the
migration callout and the replacement worker.context pattern.
Full notes: PR #1996 and the v11.0.0 changelog entry.