Releases: uPortal-Project/NotificationPortlet
NotificationPortlet 4.8.2
Tag: v4.8.2
Maven Central: https://central.sonatype.com/artifact/org.jasig.portlet.notification/notification-portlet-webapp/4.8.2
The first NotificationPortlet release of the post-OSSRH-sunset / Central-Portal era. The headline is the long-running frontend modernization landing — Bootstrap 5, jQuery 4, and Fluid Infusion removed — alongside the routine Renovate dep-hygiene cycle and the build-tooling fixes needed to push to the new Sonatype Central Portal staging API.
What's new
Frontend modernization (#660): Bootstrap → 5, jQuery → 4, Fluid Infusion removed
The single largest change in this release. The notification UI's vanilla-JS components have been rebuilt off Bootstrap 3 / jQuery 1.x / Fluid Infusion onto a modern Bootstrap 5 + jQuery 4 stack with Fluid removed entirely. Aligns NotificationPortlet with the same modernization that uPortal 5.17.3 shipped in respondr.
If you maintain a customized notification skin or override notification CSS/JS, expect to budget time for a migration pass — Bootstrap 3/4 class names need their BS5 equivalents and any direct Fluid library use needs replacement.
Java 11 source/target alignment
build.gradle's sourceCompatibility moved from 1.8 to 11, matching the workspace fleet floor. The CI matrix already ran on Java 11 only — this just lifts the source pin to match. Fleet-floor consistency, plus it unblocks dep majors (Guava 32+, Jackson recent patch lines) that only publish Java 11+ class-file variants.
Renovate pin tightening
Two new caps in renovate.json to stop the bot from creating PRs that can't merge against the Java 11 floor:
gradle-wrapper < 9.0— Gradle 9 requires Java 17 to run.com.jayway.jsonpath:json-path < 3.0— json-path 3 only publishes Java 17+ variants.
Same shape as the existing Spring 5+, Hibernate 6+, Jakarta, and Mockito 5 caps already in this file: revisit when the fleet moves to Java 17 as part of the Spring 6 / Jakarta EE migration.
Routine dep cycle
- uPortalVersion → 5.17.3
- resource-server-utils → 1.5.3
- commons-lang3 → 3.20.0
- jackson monorepo → 2.21.x
- joda-time → 2.14.2
- json-path → 2.10.0
- guava → 32.0.0-jre
- hsqldb → 2.7.4
- commons-codec → 1.22.0
- json-smart → 2.6.0
- aspectjweaver → 1.9.25.1
- slf4j-api → 2.0.17
- junit-vintage-engine → 5.14.4
Plus GitHub Actions cycle: actions/checkout@v6, actions/setup-java@v5, gradle/actions@v6.
Why no 4.8.1?
A 4.8.1 release was prepared earlier today but never published. The ./gradlew release flow tripped on two release-tooling regressions in sequence:
- OSSRH sunset: the
uploadArchivesrepository URL still pointed atoss.sonatype.org, which Sonatype sunset in June 2025. That host now returns HTTP 402 as a deprecation signal. Fixed in #691 (URL pointed atossrh-staging-api.central.sonatype.com). - Manifest-vs-staging mismatch: the
notification-portlet-webappmodule produced a plainnotification-portlet-webapp-4.8.1.jar(auto-enabled by thewar+javaplugin combination) that the Gradle old-mavenplugin listed in the upload manifest but didn't actually deliver to the staging area, causing Central Portal validation to reject. Fixed in #692 (jar.enabled = false).
Because the Gradle release plugin advanced the version to 4.8.2-SNAPSHOT before the upload failed, the cleanest path was to skip 4.8.1 rather than rewrite history. 4.8.2 ships the same intended content plus the release-flow fixes. Adopters with a notification-portlet-api:4.8.1 pin somewhere should bump straight to 4.8.2.
Compatibility
- Java: 11 source/target (was 1.8); CI matrix unchanged (Java 11 on ubuntu, macos, windows)
- Gradle: 6.9.4 (wrapper)
- Spring Framework: 4.3.30.RELEASE
- Spring Boot (build-time, webapp module): 1.5.22.RELEASE
- Hibernate: 5.6.15.Final
- uPortalVersion: 5.17.3
Known issues
- The generated
notification-portlet-webapp-4.8.2.pomhas a malformed<developer><organization>element — Gradle's oldmavenplugin renders the value asorg.apache.maven.model.Organization@<addr>rather than the configured string. This is a pre-existing bug surfaced by the deeper inspection during 4.8.1/4.8.2 troubleshooting; it didn't block Central Portal publish but should be fixed in 4.8.3. - Adopters bumping past Spring 4.3.x, Hibernate 5.6.x, Mockito 4.x, Jakarta EE, or Java 17 need the broader fleet migration story (gated on Spring 6 / Jakarta EE) — see the renovate.json caps.
Migrating from 4.8.0
Bump your notification-portlet-api and notification-portlet-webapp pins from 4.8.0 to 4.8.2. If you customize the notification frontend, plan for the Bootstrap 5 / jQuery 4 / Fluid removal migration described above.
Thanks
Big thanks to everyone who contributed to the frontend modernization (PR #660 — long-running effort), and to the Renovate bot for the dep-hygiene cycle.
Diff: v4.8.0...v4.8.2
v4.8.0
What's Changed
- Update dependency com.fasterxml.jackson.core:jackson-core to v2.11.2 by @renovate in #442
- Update dependency com.fasterxml.jackson.core:jackson-annotations to v2.11.2 by @renovate in #441
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.11.2 by @renovate in #443
- Update dependency gradle to v6.6 by @renovate in #447
- Update dependency org.jasig.portal:uPortal-soffit-renderer to v5.8.2 by @renovate in #448
- Update dependency commons-codec:commons-codec to v1.15 by @renovate in #466
- Update dependency gradle to v6.6.1 by @renovate in #464
- Update dependency org.junit.vintage:junit-vintage-engine to v5.7.0 by @renovate in #467
- Update dependency org.apache.commons:commons-lang3 to v3.11 by @renovate in #437
- Update dependency org.aspectj:aspectjweaver to v1.9.6 by @renovate in #438
- Update spring core to v4.3.29.RELEASE by @renovate in #468
- Update dependency com.fasterxml.jackson.core:jackson-core to v2.11.3 by @renovate in #470
- Update dependency com.fasterxml.jackson.core:jackson-annotations to v2.11.3 by @renovate in #469
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.11.3 by @renovate in #471
- Update dependency junit:junit to v4.13.1 by @renovate in #473
- Update dependency org.projectlombok:lombok to v1.18.16 by @renovate in #474
- Update dependency gradle to v6.7 by @renovate in #475
- Update dependency org.apache.httpcomponents:httpclient to v4.5.13 by @renovate in #472
- Update dependency joda-time:joda-time to v2.10.8 by @renovate in #477
- Update dependency com.google.guava:guava to v30 by @renovate in #476
- Update dependency gradle to v6.7.1 by @renovate in #478
- Update dependency org.ehcache:ehcache to v3.9.0 by @renovate in #465
- Update dependency com.fasterxml.jackson.core:jackson-core to v2.12.0 by @renovate in #483
- Update hibernate core to v5.4.25.Final by @renovate in #460
- Update dependency com.jayway.jsonpath:json-path to v2.5.0 by @renovate in #486
- Update spring core to v4.3.30.RELEASE by @renovate in #485
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.12.0 by @renovate in #484
- Update hibernate core to v5.4.27.Final by @renovate in #489
- Update dependency org.jasig.portal:uPortal-soffit-renderer to v5.9.0 by @renovate in #495
- Update dependency gradle to v6.8 by @renovate in #491
- Update dependency com.fasterxml.jackson.core:jackson-annotations to v2.12.1 by @renovate in #492
- Update dependency joda-time:joda-time to v2.10.9 by @renovate in #490
- Update dependency com.google.guava:guava to v30.1-jre by @renovate in #488
- Update dependency com.fasterxml.jackson.core:jackson-core to v2.12.1 by @renovate in #493
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.12.1 by @renovate in #494
- Update dependency gradle to v6.8.1 by @renovate in #497
- Update dependency gradle to v6.8.2 by @renovate in #501
- Update dependency org.junit.vintage:junit-vintage-engine to v5.7.1 by @renovate in #500
- Update dependency org.projectlombok:lombok to v1.18.18 by @renovate in #499
- Update dependency org.codehaus.janino:janino to v3.1.3 by @renovate in #498
- Update dependency joda-time:joda-time to v2.10.10 by @renovate in #502
- Update dependency com.github.node-gradle.node:com.github.node-gradle.node.gradle.plugin to v3 by @renovate in #503
- Update dependency com.github.node-gradle.node:com.github.node-gradle.node.gradle.plugin to v3.0.1 by @renovate in #504
- Update dependency junit:junit to v4.13.2 by @renovate in #512
- Update dependency org.junit.vintage:junit-vintage-engine to v5.7.2 by @renovate in #522
- Update dependency glob-parent to 5.1.2 [SECURITY] by @renovate in #517
- Update dependency hosted-git-info to 2.8.9 [SECURITY] by @renovate in #518
- Update dependency trim-newlines to 3.0.1 [SECURITY] by @renovate in #519
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.12.4 by @renovate in #527
- Update dependency com.github.node-gradle.node:com.github.node-gradle.node.gradle.plugin to v3.1.0 by @renovate in #523
- Update dependency gradle to v6.9 by @renovate in #524
- Update dependency com.google.guava:guava to v30.1.1-jre by @renovate in #528
- Update dependency com.fasterxml.jackson.core:jackson-annotations to v2.12.4 by @renovate in #520
- Update dependency org.projectlombok:lombok to v1.18.20 by @renovate in #532
- Update dependency org.slf4j:slf4j-api to v1.7.32 by @renovate in #534
- Update dependency com.fasterxml.jackson.core:jackson-core to v2.12.4 - autoclosed by @renovate in #521
- Update dependency com.rometools:rome to v1.16.0 by @renovate in #538
- Update dependency com.jayway.jsonpath:json-path to v2.6.0 by @renovate in #536
- Update dependency org.codehaus.janino:janino to v3.1.6 by @renovate in #545
- Update dependency org.springframework.security.oauth:spring-security-oauth2 to v2.5.1.RELEASE by @renovate in #547
- Update dependency gradle to v6.9.1 by @renovate in #541
- Update dependency org.apache.commons:commons-lang3 to v3.12.0 by @renovate in #549
- Update jacksonVersion to v2.12.5 by @renovate in #548
- Update dependency org.jasig.portal:uPortal-soffit-renderer to v5.11.0 by @renovate in #551
- Update dependency org.aspectj:aspectjweaver to v1.9.7 by @renovate in #543
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.12.5 by @renovate in #542
- Update plugin com.github.node-gradle.node to v3.1.1 by @renovate in #552
- Update dependency org.junit.vintage:junit-vintage-engine to v5.8.0 by @renovate in #553
- Update dependency org.junit.vintage:junit-vintage-engine to v5.8.1 by @renovate in #554
- Update dependency joda-time:joda-time to v2.10.11 by @renovate in #555
- Update dependency joda-time:joda-time to v2.10.12 by @renovate in https://github.com/uPortal-Project/Notificatio...
v4.6.1
Changes since v4.6.0:
Credit to @ChristianMurphy, and @bjagg for the commits / merges
Fixes
- Added empty overridesContext.xml (#344)
Chores
- Updated the following dependencies:
- Update dependency org.jasig.portal:uPortal-soffit-renderer to v5.8.0 (#340)
- Update dependency org.apache.httpcomponents:httpclient to v4.5.10 (#343)
- Update dependency org.junit.vintage:junit-vintage-engine to v5.5.2 (#342)
- Update dependency gradle to v5.6.2 (#341)
- Update dependency gradle to v5.6.1 (#339)
- Update dependency gradle to v5.6.0 (#338)
- Update dependency org.codehaus.janino:janino to v3.1.0 (#337)
- Update dependency org.slf4j:slf4j-api to v1.7.28 (#336)
- Update dependency org.springframework.boot:spring-boot-gradle-plugin to v1.5.22.RELEASE (#335)
- Update dependency com.fasterxml.jackson.core:jackson-databind to v2.9.9.3 (#333)
- Update dependency org.slf4j:slf4j-api to v1.7.27 (#334)
Notification 4.1.1
Changelog
Fixes
- Fix the notification modal dialog on Firefox (#96).
Other Updates
- Update @uportal/open-id-connect (Node module) to
^1.5.0 - Update i18next (Node module) to
^11.5.0 - Update i18next-browser-languagedetector to
^2.2.2 - Update react-i18next (Node module) to
^7.10.1 - Update reactive-elements (Node module) to
^0.10.0 - Update reactstrap (Node module) to
^6.3.1
NotificationPortlet-4.0.0
BREAKING CHANGE
Notification icon is now a web component, loaded using a simple content portlet, powered by a REST service.
Using the new Notification Icon requires a minimum of uPortal 5.1.0.
Features
Notification icon now includes a dropdown allowing users to preview their notifications inline.
Notification count is now based off unread messages, rather than total messages.
NotificationPortlet-3.2.1
fix: ensures that notification has sufficient contrast from background. (#60)