Skip to content

v3.0.0 - Lycaena helle

Latest

Choose a tag to compare

@SMEWebify SMEWebify released this 13 Oct 21:39
· 143 commits to WEM-2.0 since this release

WEM moves to AdminLTE 4 / Bootstrap 5.3. The whole interface is rebuilt on the new
template; business features, data and URLs are unchanged.

Before you upgrade

  • Upgrade to v2.2 first: v3.0 keeps its requirements (PHP 8.4, Laravel 13).
  • One migration, additive: two nullable columns on users (ui_preset, ui_primary).
    Run php artisan migrate --pretend first, as usual.
  • Rebuild the front end: npm ci && npm run build is required.
  • Customised views: if you changed Blade views, React components or the views in
    resources/views/vendor/adminlte, they must be converted to Bootstrap 5. A conversion script
    is provided (node tools/bs5-codemod.cjs). PDF layouts (print/custom/*) are not concerned.
  • Customised config/adminlte.php: port your changes onto the new file, several keys were
    renamed or removed by the package.
  • Removed folders in public/vendor (handled by git pull; delete them yourself if you
    deploy by copying files): adminlte and bootstrap (replaced), popper,
    overlayScrollbars, chart.js, flag-icon-css, select2-bootstrap4-theme, summernote.
  • Ask users to reload once with Ctrl+F5.

Full guide: docs/upgrade-3.0.md.

Security

No security advisory in this release.

What's new

AdminLTE 4 / Bootstrap 5.3

  • jeroennoten/laravel-adminlte 4 and AdminLTE 4: CSS grid layout, native dark mode
    (data-bs-theme), Bootstrap 5.3 components.
  • One Bootstrap per page. Screens with React components used to load Bootstrap twice
    (AdminLTE's 4.6 and Vite's 5.3, with different colours); the Vite stylesheet of those pages
    drops from 246 KB to 27 KB. The AdminLTE stylesheet itself goes from 1.36 MB to 305 KB.
  • jQuery is no longer needed by the layout nor by WEM's own views: it is loaded once, for
    Select2 only. Ten screens that each pulled an extra copy of jQuery from a CDN no longer do.
  • The whole markup moved to Bootstrap 5 classes and the AdminLTE 4 colour palette; no
    Bootstrap 4 compatibility layer is loaded.

Appearance per user

Profile → Appearance: each user picks one of the 17 AdminLTE 4 themes (light, semi-dark,
full dark, coloured and gradient) or keeps the current one, and a primary colour (buttons,
links, checkboxes, active menu item). Light / dark / pro mode is still switched from the top
bar and combines with the chosen theme.

Fixes along the way

  • The active menu entry is highlighted again: menu links now carry the language prefix.
  • The customer portal mobile menu opens (it was written for Bootstrap 5 but loaded
    Bootstrap 4's JavaScript).
  • The "More ▾" menu of overflowing tab bars works with Bootstrap 5.
  • Dark mode: document drop zones, file viewers, the maintenance dashboard, table headers and
    the quote / order line panels follow the theme.
  • The "remember me" checkbox no longer requests a stylesheet that did not exist.
  • Error pages (403, 404, 419, 500) use Bootstrap 5 layout utilities; an unclosed element is
    fixed.

Removed

  • Unused front-end assets: Chart.js 2.7 (CDN), flag-icon-css, the Select2 Bootstrap 4 theme,
    Summernote (never loaded), bs-custom-file-input (CDN, never initialised).
  • The custom CSS-only switch override: <x-adminlte-input-switch> is now the native
    Bootstrap 5 switch of the package.