Wheels 4.0.6 released — generate auth, policies, and a faster mixin cache #3390
bpamiri
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Wheels 4.0.6 is out. After 4.0.5's hardening pass, this one is about what you can build:
wheels generate auth, an authorization policy layer, pluggable local/S3 storage disks, and a query builder that can start withselect(). It also lands the mixin-plan cache that was making 4.0.x feel slower than 2.x.Read: https://blog.wheels.dev/posts/wheels-4-0-6-released
Release: https://github.com/wheels-dev/wheels/releases/tag/v4.0.6
Changelog: https://github.com/wheels-dev/wheels/blob/main/CHANGELOG.md
What's in it
Auth (#3155, part of #2962).
wheels generate authscaffolds session auth (or--strategy=token/--strategy=jwt): User model, PBKDF2 hasher, Sessions/Passwords/Registrations, CSRF-safe views, migration, and injected route/service/strategy blocks. Generated files are yours —--forcereplaces the injected blocks instead of duplicating them.Policies (#3156). Default-deny
wheels.Policy,authorize()/can()/policyScope(),wheels generate policy. Missing policy class throws in dev/test and silently denies in production.Storage disks (#3157).
LocalDisk+S3Diskbehindput/get/exists/delete/url/signedUrl. S3 (including presigned URLs) is SigV4 overcfhttp— no AWS SDK.Query builder (#3346).
model("Person").select("id,firstName").where(...).get()works.includeCalculated(#3252) opts aselect=falsecalculated property back into a finder without replacing the column list.Performance (#3213). Mixin-integration plan is built once per app, not on every
new()/ finder row. Model-instance creation is roughly half the cost. If 4.0.x felt slower than 2.x, this is that.Also: Global.cfc split (#3241, public mixin surface unchanged); Adobe
onApplicationEndteardown (#3379 — existing 4.0.5 apps need thepublic/Application.cfcguard); tenant/pagination request-key collisions (#3336/#3339); test-runner isolation (#3374);wheels packages add(notinstall) (#3378);/wheelswelcome gated in production; Adobe / BoxLang / Postgres / Yugabyte fixes.Install / upgrade
wheels --versionshould read 4.0.6. Thenwheels upgrade check/wheels upgrade applyfor the framework invendor/wheels/.Discussion
Questions, upgrade reports (especially
wheels generate auth, Adobe teardown, or a Tenant-named model), or anything that broke — drop them in this thread.All reactions