This document helps you upgrade between versions of Hephaestus.
⚠️ Pre-1.0 Notice: We are in active development. Minor versions (0.x.0) may contain breaking changes. Always test in staging before production.
| Symbol | Meaning |
|---|---|
| 🔴 | Breaking: Action required before upgrade |
| 🟡 | Deprecated: Works now, removed in next major |
| 🟢 | New: No action needed |
# Deployed version
curl -s https://api.hephaestus.cit.tum.de/actuator/info | jq '.build.version'
# Git tag
git describe --tags --abbrev=0During pre-1.0, we follow Semantic Versioning 0.x conventions:
Major version zero (0.y.z) is for initial development. Anything MAY change at any time.
| Version Bump | May Contain |
|---|---|
0.x.0 → 0.y.0 |
Breaking changes |
0.x.y → 0.x.z |
Bug fixes, minor features |
Before upgrading to any new 0.x.0 version:
- ✅ Read the release notes
- ✅ Check this migration guide for breaking changes
- ✅ Verify in staging first (auto-deployed on every release)
- ✅ Regenerate API clients:
npm run generate:api - ✅ Approve production deployment after staging verification
Breaking changes will be documented here as they're merged.
No breaking changes documented.
No breaking changes documented.
When breaking changes occur, they're documented like this:
Version: v0.x.0 Affected: What's impacted
Before:
// Old codeAfter:
// New codeMigration:
- Step one
- Step two
Why: Rationale for the change
| Component | Tool | Notes |
|---|---|---|
| Database schema | Liquibase | Runs on server startup |
| Entity relationships | JPA | Schema changes auto-applied |
| Component | How | Notes |
|---|---|---|
| API clients | npm run generate:api |
After any OpenAPI spec change |
| Environment variables | Check release notes | New config may be required |
| Docker compose | Check docker/ files |
Image versions may change |
When we release v1.0.0, we commit to:
- ✅ No breaking changes in patch releases (1.0.x)
- ✅ Deprecation warnings before removal
- ✅ Migration guides for every breaking change
- ✅ LTS support consideration
Until then, expect rapid iteration and occasional breaking changes.
- Regenerate client:
npm run generate:api - Fix TypeScript errors
- Update any manual type assertions
- Check
.env.examplefor new variables - Add to your
.envand deployment configs - Restart services
Liquibase handles this automatically. If you see errors:
- Check Liquibase changelog for the migration
- Ensure database user has ALTER permissions
- Check for data that violates new constraints
- 📖 GitHub Discussions - Ask the community
- 🐛 Issues - Report problems
- 📝 CHANGELOG.md - Detailed change history
- 🔄 Release Notes - Per-version details