Skip to content

Merge development into production [major] - #133

Merged
rbruhn merged 2 commits into
mainfrom
development
Nov 1, 2026
Merged

rbruhn merged 2 commits into
mainfrom
development

Conversation

@rbruhn

@rbruhn rbruhn commented Nov 1, 2026

Copy link
Copy Markdown
Contributor

Releases development to production. Merging deploys production (tests first) and creates the next release. The [major] in the title carries into the merge commit, so this release bumps the major version.

Included (#132):

  • Laravel 13 (framework 13.39.0), with the app moved to the slim Laravel 11+ structure: bootstrap/providers.php, routing in bootstrap/app.php, and the unused Auth/Broadcast/Event/Route service providers and app/Http/Middleware classes removed. Removing the app's EventServiceProvider also fixes verification emails being sent twice.
  • Laravel Mix replaced by Vite 8. Assets and the site's images are built into public/build and come with each release's CI artifact; Isotope and imagesLoaded now come from npm.
  • deploy.php no longer shares public/css, public/js, public/fonts, public/images or public/svg.
  • Supersedes Dependabot Bump laravel/framework from 12.70.1 to 13.39.0 #130 and Bump the javascript-minor-and-patch group with 2 updates #131, and clears the 9 remaining npm alerts that came from Laravel Mix (Replace Laravel Mix with Vite #128).

Checked on development:

  • Tests passed and the deploy succeeded.
  • Pages return 200 and load their assets from /build/assets; uploaded team images load from /storage; /admin redirects to the login page; /up returns 200.
  • The database holds no references to the old images/, css/ or js/ paths.

After the production deploy, the old Mix folders left in production's shared/public (everything except vendor) are unused and can be removed, as was done on development.

Laravel 13
- laravel/framework ^13.0 (13.39.0), with minor package updates
- Filament panel uses PreventRequestForgery, the new name of VerifyCsrfToken
- Providers move to bootstrap/providers.php; api and broadcast channel routes
  load from bootstrap/app.php
- Remove the pre-Laravel 11 Auth, Broadcast, Event and Route service providers
  and the unused app/Http/Middleware classes; the Super Admin gate moves to
  AppServiceProvider and Fortify's home is '/admin'
- Fixes duplicate verification emails: SendEmailVerificationNotification was
  registered on Registered twice (the old EventServiceProvider and the framework's)

Vite
- vite.config.js replaces webpack.mix.js; yarn dev / yarn build
- Blade loads assets with @Vite and Vite::asset(); images are versioned in public/build
- Isotope and imagesLoaded come from npm as jQuery plugins instead of vendored
  bundles; lodash and the separate postcss dependency are removed
- The reCAPTCHA script waits for DOMContentLoaded, since the module script is deferred
- Removes laravel-mix/webpack and with them every open npm security alert
  (webpack-dev-server, webpack-dev-middleware, uuid, elliptic); yarn audit is clean

Deploy
- CI builds with yarn build and checks for the Vite manifest
- public/build ships with each release; public/css, js, fonts, images, svg and
  mix-manifest.json are no longer shared (the database has no links to them)

Supersedes Dependabot #130 (laravel/framework 13.39.0) and #131 (axios 1.21.0, postcss).
Upgrade to Laravel 13 and move from Laravel Mix to Vite [major]
@rbruhn
rbruhn merged commit 6abef01 into main Nov 1, 2026
10 checks passed

This branch was successfully deployed

1 active deployment
development — b3318fbb Deployed Nov 1, 2026 by rbruhn via build-and-deploy-development / deploy #111
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant