You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Core] Markdown::getFilePath() now performs a case-insensitive fallback lookup when the exact-match locator call returns nothing, fixing 404s on case-sensitive filesystems when URL casing differs from the filename (e.g. tos → Tos.md).
[Framework] DotenvEditor::save() now preserves existing file permissions and defaults to 0644 for new files, preventing the web server from being locked out of a .env file created via php bakery setup:env.
[Core] debug:version now warns when .env exists but cannot be read, helping diagnose deployment permission issues.
[Docker] Fix docker/mysql/Dockerfile not applying mysql.conf — innodb_use_native_aio=0 was silently ignored because the file was never copied into the image.
[Docker] Fix duplicate memory_limit directive in docker/app/php/custom.ini (64M was immediately overridden by 512M).
[Skeleton][Docker] Fix .env.dockerSMTP_PORT from 2025 to 1025 (Mailpit's actual SMTP port).
[Skeleton][Docker] Remove unused DB_ROOT_PASSWORD and ROOT_PASSWORD variables from .env.docker.
[Skeleton][Docker] Set UF_MODE=debug (was empty) in .env.docker.
Changed
[Core] FilePermissionMiddleware now caches a successful permission check for a configurable TTL (cache.file_permission.ttl), skipping redundant is_writable() calls on subsequent requests.
[Core] NODE_VERSION and NPM_VERSION container entries in VersionsService are now lazily evaluated, avoiding exec() calls on every web request.
[Core] Bump Composer dependency userfrosting/vite-php-twig from ^1.0.2 to ^1.2.0.
Added
[Core] New config keys cache.file_permission.key and cache.file_permission.ttl to control permission-check caching. Production default is 3600 s.
[Core/Skeleton] Add vite_css_preload() Twig function via userfrosting/vite-php-twig 1.2.0, emitting <link rel="preload" as="style"> hints for CSS files. stylesheets_site.html.twig now calls it before vite_css().
[Skeleton + Monorepo][Docker] Upgrade Node.js from 22 to 24 in all Docker configurations.
File permission check caching — FilePermissionMiddleware now caches is_writable() results (3600 s in production, disabled in dev). New config keys cache.file_permission.key / cache.file_permission.ttl are available if you want to customize the behaviour.
NODE_VERSION/NPM_VERSION lazy evaluation — these are no longer eagerly computed on every request.
debug:version warning — now warns if .env exists but is unreadable.
Markdown case-insensitive file lookup — fixes 404s on case-sensitive filesystems.
DotenvEditor permission fix — setup:env no longer creates .env with wrong permissions.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
What's Changed
Fixed
Markdown::getFilePath()now performs a case-insensitive fallback lookup when the exact-match locator call returns nothing, fixing 404s on case-sensitive filesystems when URL casing differs from the filename (e.g.tos→Tos.md).DotenvEditor::save()now preserves existing file permissions and defaults to0644for new files, preventing the web server from being locked out of a.envfile created viaphp bakery setup:env.debug:versionnow warns when.envexists but cannot be read, helping diagnose deployment permission issues.docker/mysql/Dockerfilenot applyingmysql.conf—innodb_use_native_aio=0was silently ignored because the file was never copied into the image.memory_limitdirective indocker/app/php/custom.ini(64M was immediately overridden by 512M)..env.dockerSMTP_PORTfrom 2025 to 1025 (Mailpit's actual SMTP port).DB_ROOT_PASSWORDandROOT_PASSWORDvariables from.env.docker.UF_MODE=debug(was empty) in.env.docker.Changed
FilePermissionMiddlewarenow caches a successful permission check for a configurable TTL (cache.file_permission.ttl), skipping redundantis_writable()calls on subsequent requests.NODE_VERSIONandNPM_VERSIONcontainer entries inVersionsServiceare now lazily evaluated, avoidingexec()calls on every web request.userfrosting/vite-php-twigfrom^1.0.2to^1.2.0.Added
cache.file_permission.keyandcache.file_permission.ttlto control permission-check caching. Production default is 3600 s.vite_css_preload()Twig function viauserfrosting/vite-php-twig1.2.0, emitting<link rel="preload" as="style">hints for CSS files.stylesheets_site.html.twignow calls it beforevite_css().Full Changelog: userfrosting/monorepo@6.0.0-rc.2...6.0.0-rc.3
Upgrading from 6.0.0-rc.2 to 6.0.0-rc.3
1. Update Composer dependencies
This pulls in
userfrosting/vite-php-twig ^1.2.0(bumped from^1.0.2), which adds the newvite_css_preload()Twig function used below.2. Add CSS preload hint to your Twig template
In
app/templates/content/stylesheets_site.html.twig, addvite_css_preload()beforevite_css():{% block stylesheets_site %} + {{ vite_css_preload('main.ts') }} {{ vite_css('main.ts') }} {{ vite_preload('main.ts') }} {% endblock %}This emits
<link rel="preload" as="style">hints, improving perceived load performance.3. Docker users only
Fix
.env.docker:Upgrade Node.js 22 → 24 in
docker/app/Dockerfile:Upgrade Node.js image in
docker/vue/Dockerfile:What you get for free (no action needed)
FilePermissionMiddlewarenow cachesis_writable()results (3600 s in production, disabled in dev). New config keyscache.file_permission.key/cache.file_permission.ttlare available if you want to customize the behaviour.NODE_VERSION/NPM_VERSIONlazy evaluation — these are no longer eagerly computed on every request.debug:versionwarning — now warns if.envexists but is unreadable.DotenvEditorpermission fix —setup:envno longer creates.envwith wrong permissions.Beta Was this translation helpful? Give feedback.
All reactions