Peter Amiri
06/10/2026, 12:21 PM--no-* negations and every named-only invocation. wheels seed --environment=production quietly seeded development. All 24 commands now parse through one typed ArgSpec, and the lossy shim is gone.
Highlights:
⢠--no-sqlite / --no-routes / --no-test-db and named-only flags now actually work everywhere
⢠CLI failures exit non-zero ā a typo'd subcommand or failed migration no longer looks green to CI
⢠wheels migrate / seed / reload / g admin refuse to attach to a different project's server (the wrong-database footgun)
⢠PostgreSQL/CockroachDB FK migrations work again (--belongsTo scaffolds crashed before), and Oracle 19c/21c DROP TABLE is fixed
⢠Framework helpers like env() can no longer be invoked as controller actions from a URL
⢠wheels new keeps generated secrets in .env, not in committed config
Upgrade: brew upgrade wheels / scoop update wheels / apt upgrade wheels / dnf upgrade wheels
Full write-up: https://blog.wheels.dev/posts/wheels-4-0-3-released