What Is New in PrimeFaces 10.0
PrimeFaces 10.0 is a major release that modernizes the UI suite for Jakarta EE 9+ and introduces a host of new components and enhancements. This update focuses on aligning with the latest Java ecosystem standards and expanding the component library.
| Category | Key Changes |
|---|---|
| New Features | New components: Signature, ImageCompare, Dock, Stepper, BlockUI. New themes: Lara, Aura. |
| Improvements | Upgraded to Jakarta EE 9+, new theming architecture, modernized charts, Client-Window mode deprecated. |
| Bug Fixes | Over 150 bug fixes and enhancements from the community. |
| Deprecations | Legacy Chart components, Client-Window mode, and other outdated features. |
What are the major compatibility changes in this release?
The biggest change is the migration from Java EE to Jakarta EE 9+. This means all namespace references changed from javax.faces to jakarta.faces. You'll need to update your project's dependencies and any imports in your code to match the new Jakarta EE APIs.
In practice, this is a necessary step to stay current with the Java ecosystem. If you're upgrading from an older version, expect to do a find-and-replace for those packages.
Which new components should I start using?
PrimeFaces 10.0 adds several practical components. The Signature component captures drawing input, which is great for approvals or agreements. ImageCompare is perfect for showcasing before-and-after visuals with a slider.
The Dock component creates a macOS-style dock menu, and Stepper provides a clear indicator for multi-step workflows. For modal overlays, the new BlockUI is a solid choice.
How has the theming system been improved?
The old themes like Nova and Saga have been replaced with a new design system called Lara. This includes two new themes: Lara Light and Lara Dark. The theming architecture itself was rebuilt for better maintainability and a more modern look and feel.
This matters because it future-proofs the UI and provides a more consistent design foundation. The old themes are still available in a legacy jar for compatibility, but new projects should use Lara.
What happened to the old Chart components?
The legacy Chart components based on jqPlot have been deprecated. The recommendation is to migrate to the modern ChartJS components, which offer better performance, more features, and are actively maintained.
This is a clear signal to update any existing charts in your applications. The old charts still work for now but will likely be removed in a future version.
Is Client-Window mode still supported?
Client-Window mode has been deprecated. The project is moving away from this feature, so it's best to stop using it in new development and plan to remove it from existing applications.
This simplifies the state handling approach and aligns with modern JSF development practices where this mode is less commonly used.
FAQ
Do I have to migrate to Jakarta EE 9+ to use PrimeFaces 10.0?
Yes, it's a hard requirement. PrimeFaces 10.0 only works with Jakarta EE 9+ and its jakarta.faces APIs, so your entire application must be upgraded to this new namespace.
Where can I get the legacy themes like Nova?
The old themes are available in a separate legacy compatibility jar. You can add it to your project if you need them, but the new Lara theme is the recommended path forward.
Is the new Signature component mobile-friendly?
Yes, the Signature component is designed to work with touch interfaces, making it suitable for capturing inputs on both desktop and mobile devices.
How many bugs were fixed in this release?
The community contributed to over 150 bug fixes and enhancements, making this a very stable and polished major release.
What is the best way to upgrade from PrimeFaces 8 or 9?
First, upgrade your project to Jakarta EE 9+. Then, update the PrimeFaces version in your dependency management tool. Finally, replace any deprecated API usage, like switching from jqPlot charts to ChartJS.