Upgrade Guide¶
This page documents breaking changes and migration steps between Arvel releases. When a change requires updating your code, you'll find it here with before/after examples.
Versioning Policy¶
Arvel follows Semantic Versioning from 1.0.0 onward. Until then, 0.x minor releases may include breaking changes — always documented below.
Upgrading to 0.3.0¶
Estimated upgrade time: a few minutes.
0.3.0 is a drop-in upgrade from 0.1.0 — it's purely additive, with no breaking changes. Update the dependency and re-sync:
To pull every optional feature in one go (the recommended install), use the all extra:
Python 3.14+ has been required since 0.1.0 — no change there.
Upgrading to 0.1.0¶
0.1.0 was the first public release. There's no documented upgrade path from pre-release versions.
How to Read This Guide¶
Each future release adds a section here. Breaking changes come with the exact code to change. A couple of conventions worth knowing now, so later migrations read clearly:
- Service providers. App-level providers are declared in
bootstrap/providers.pyas aproviderslist. Some subsystems are opt-in — for example,AuthServiceProviderpowers authentication and theGate:
# bootstrap/providers.py
from arvel.auth.provider import AuthServiceProvider
providers = [
AuthServiceProvider,
# ...your other providers...
]
- Config classes.
ArvelSettingssubclasses auto-derive theirenv_prefixfrom the class name (DbConfig→DB_). Setmodel_config["env_prefix"]explicitly to override.
Next Steps¶
- Read the Release Notes for what shipped in each version, or
CHANGELOG.mdfor the full log. - Check Configuration if any environment variables changed.