Hey folks,
Two releases to share today: **uPortal 5.17.3** and **resource-server 1.5.3**.
uPortal 5.17.3
The headline is a substantial frontend modernization that's been in flight for a long time finally landing — Bill Smith (@Naenyn) led the effort to get the `respondr` skin off Bootstrap 3, off LESS, and off Fluid Infusion. Specifically:
- **Bootstrap 3 → 5** across the skin
- **jQuery 4** in place of the older 1.x line
- **LESS → SCSS** for the stylesheets
- **Fluid Infusion removed** — the layout preferences, tab manager, group admin, entity selector, permissions, customize/gallery, and flyout components were rewritten in vanilla JS
If you maintain a customized skin, you'll want to budget some time to migrate. Look under `uPortal-webapp/src/main/webapp/media/skins/` for any `.less` files (now `.scss`), Bootstrap 3/4 class names that need BS5 equivalents, and any direct uses of the Fluid library.
The release also folds in security updates (commons-lang3, commons-beanutils, guava, hsqldb), a refactor of the LimitingTee output stream, and the routine Renovate dep-hygiene cycle.
A doc note worth surfacing: **uPortal has required Java 11 since 5.17.2** (`sourceCompatibility` was bumped from 1.8 to 11 in March). If you're still on Java 8, you'll need to upgrade your JVM before deploying 5.17.2 or later. We've backfilled this into `docs/CHANGES.md`.
**Release notes:**
https://github.com/uPortal-Project/uPortal/releases/tag/v5.17.3resource-server 1.5.3
Smaller release, mostly hygiene. We bumped the parent POM from `uportal-portlet-parent:44` to `:48` and dropped the redundant `<dependencyManagement>` entries that the new parent now provides. Plus a batch of dep bumps (commons-codec/io/compress, maven-plugin-api, maven-checkstyle-plugin, maven-javadoc-plugin, foundation, actions/checkout, actions/setup-java).
**For developers — modern JS is now in reach.** The esbuild bundler bump (to 0.28.x) modernizes the JS toolchain. The previous tooling would choke on ES6+ language features — classes, arrow functions, `let`/`const`, template literals, async/await, etc. — and reject the build. With this update you can write modern JS in custom portlets and skin overlays without the build step rejecting it. The PR titles read as a routine version bump, but the practical effect is significant.
**Important for uPortal-start adopters:** 1.5.3 also fixes a packaging issue in the previous 1.5.0 release where the webjar JARs (jQuery, Bootstrap, etc.) weren't bundled into `WEB-INF/lib`, which broke webjar serving in deployments. If you've been hitting 404s on `/resource-server/webjars/...` paths or seeing jQuery/Bootstrap fail to load in the browser, bumping to 1.5.3 (or 1.5.2 — also fine) will fix it.
**Release notes:**
https://github.com/uPortal-Project/resource-server/releases/tag/resource-server-1.5.3What's next for the fleet
Coming in the next day or two:
- A uPortal-start PR to bump `uPortalVersion=5.17.3` and `resourceServerWebjarVersion=1.5.3` in lockstep
- Updates to the Playwright test suite to match the new Bootstrap 5 / `up.notify` modernized DOM (already in flight)
Thanks
Big thanks to Bill (@Naenyn) for owning the frontend modernization end-to-end — that's the longest-running frontend cleanup in recent uPortal history finally done. Thanks also to everyone who contributed to the dep-hygiene work this cycle, and to the Renovate and Dependabot bots whose accumulated PRs make up a meaningful chunk of the changeset.
Reply or ping me if you hit issues with either release.
Thanks,
Benito