Skip to main content

v2.1.4

· 2 min read

View this release on GitHub

What's new​

Frontend Updates Without On-Server Builds​

FS PBX now installs prebuilt frontend assets during application updates and fresh installations. Routine updates no longer run npm dependency installation or compile the web interface on the PBX server, reducing update-time CPU and memory demands.

Highlights

  • Download compiled frontend assets matching the application release.
  • Verify package integrity and source compatibility before application update steps run.
  • Report missing or incompatible assets without starting an automatic local build.
  • Keep the existing frontend active until replacement assets are ready.

Local Builds and Frontend Rollback​

Developers and administrators can continue using npm run dev and npm run build, including for production troubleshooting. No environment setting is needed to switch between released and locally compiled assets.

Highlights

  • Build the core interface and enabled modules with the usual npm run build command.
  • Activate local assets only after every build succeeds.
  • Reuse an existing local build for an unpublished development checkout when its frontend source still matches exactly.
  • Restore the previous compiled frontend with php artisan frontend:rollback, provided the application and module versions remain compatible.

Frontend rollback restores compiled assets only; it does not revert application source or database changes.

Frontend Packages for Optional Modules​

Optional modules can now deliver their compiled frontend assets through their existing licensed packages. Installing a compatible module package no longer requires rebuilding the core interface.

Modules with a web interface require a corresponding module release containing compatible frontend assets. License and entitlement checks continue to control which module packages are downloaded.

Improvements and fixes​

  • Reject module packages with missing, incompatible, or mismatched frontend assets before replacing installed module files.
  • Restore previous module files when an upgrade of an existing module fails.
  • Keep older compiled asset files available for browser tabs opened before an update.
  • Detect frontend asset changes during navigation so browsers can load the current interface.
  • Load the public real-time connection key from each server at page load, allowing the same compiled release to work across installations.
  • Match fresh-install source to a published release with available frontend assets.
  • Add php artisan frontend:install to retry asset installation without running a full application update.