5.0.0-M1
Pre-release
Pre-release
·
458 commits
to master
since this release
Eclipse Mojara 5 is an MVC UI framework, implementing Jakarta Faces 5 under development. This release is corresponding with the Jakarta EE 12 specification, also under development.
Mojarra implemented issues from Jakarta Faces 5.0
Big ticket features
API modernization, generics, and enum support
- #206 Make SelectItem#value generic
- #912 FacesMessage.Severity should be Serializable
- #1592 Add new FacesMessage Severity "SUCCESS"
- #1822 Missing Generics in Faces Standard Converters
- #1824 Create TypeLiteral Constants
- #1831 String based context params having fixed set of allowed values should be represented by enums
- #1934 Migrate FacesMessage.Severity to ENUM
- #1938 EnumConverter - try to dynamically extract enum type from ValueExpression
- #1948 5:0 Migrate PhaseId to ENUM
- #1950 5.0: Missing generics in Faces Standard Validators
- #2012 UIComponent getFacesListeners: Class => Class<? extends FacesListener>
- #2026 Better implement generics in Application#createConverter and createValidator
- #2027 Better implement generics in UIData#getDataModel
- #2028 StateHelper: make methods generics aware
- #2033 Add generics to ValueChangeEvent for oldValue and newValue
- #2034 Extend UIComponent#getFacet for using enums
API cleanup, removals, and refactoring
- #1462 Add PartialResponseWriterWrapper
- #1725 Remove UIComponent.bindings field and rename PropertyKeys.bindings to PropertyKeys.valueExpressions
- #1830 Faces 5.0: remove things marked @Deprecated(forRemoval = true, since = "4.0")
- #1833 Unify NavigationHandler and ConfigurableNavigationHandler
- #1839 API will be split off from the implementation code - step 1
- #1861 Introduce FacesServletFactory
- #1871 Remove deprecated code (composite:extension, PreDestroyCustomScopeEvent, PostConstructCustomScopeEvent)
- #1937 Remove unused jakarta.faces.event.ScopeContext
- #1972 Consider deprecating and dropping h:form prependId
- #2008 TextHandler should extends FaceletHandler
- #2015 FaceletContext: add static utility methods getCurrentInstance() and getCurrentInstance(FacesContext context)
- #2024 Add StateHelper#computeIfAbsent
- #2031 Should we introduce UIComponent#getFacetNames()?
CDI, EL, Facelets, and event integration
- #1202 cc:attributes type attribute: fallback case: use what the ELResolver returns.
- #1244 Reword requirements for EL expressions inlined in Facelets pages, but outside of components.
- #1368 EL import handler doesn't work
- #1443 CDI: Allow listing to PhaseEvents via @Observes
- #1466 importConstants should be allowed everywhere, not only in f:metadata
- #1501 CDI: Allow non-component Faces events observeable by CDI
- #1564 Clarify EL / CDI integration: implicit object or CDI producer for artifacts without required inject point support (request, session, component, cc)
- #1954 Specify that expression language 6.0 Optional and Record resolvers should be in chain
Lifecycle, view handling, metadata, and state/reset behavior
- #816 ViewHandler.initView() called too late
- #1160 Clarify intended workings of includeViewParams
- #1709 Spec: Missing description of jakarta.faces.AUTOMATIC_EXTENSIONLESS_MAPPING parameter
- #1713 ui:repeat clarification on attributes, such as offset and size
- #1835 Clarification: Firing of PostAddToViewEvent during Restore View Phase
- #1849 Specify what Faces should do when f:metadata is not a direct child of f:view
- #1883 Enhance UIViewRoot#resetValues() to pass VisitHints
- #1936 ResetValues: UIViewRoot#resetValues() Must walk all children components and reset
- #1940 Add clearModel to f:resetValues
- #1999 StateManager#STATE_SAVING_METHOD_PARAM_NAME specifies wrong default
Components, rendering, resources, and validation behavior
- #583 Message/Messages Rendering When No Messages
- #908 StylesheetRenderer RenderKit Docs Request Path Rendering
- #1278 UIInput.validateValue() oversteps its authority
- #1366 Within Resource Identifier, allow resourceName to have path separator
- #1415 Broken link in JSF vdldocs, to "General Notes on Encoding"
- #1791 SelectItems: var attribute is not honored when using f:selectItems
- #1875 UISelectItems: missing method setVar simialr as in class UIData
- #2014 Documentation for group attribute of h:selectOneRadio needs improvement
- #2025 Add placeholder attribute to h:inputText and h:inputTextarea
- #2029 ByteConverter: incorrect error message
- #2032 Allow passthrough on facets
- #2041 BeanValidator should use EL-coerced value as bean property value
Security, configuration, compatibility, and specification/documentation fixes
- #1112 Security bug with FacesContext in application startup
- #1201 Require that the cookie used to store the Flash key is setHttpOnly(true)
- #1457 11.4.6 should specify "search-expression-context-factory" rather than "search-expression-context-kit-factory"
- #1460 JSF 2.3 spec section 2.5.2.1 typo
- #2097 Add EXCEPTION_TYPES_TO_IGNORE_IN_LOGGING context param
- #2105 Remove support for old xml namespaces
What's Changed
- Remove things marked @deprecated(forRemoval = true, since = "4.0") by @BalusC in #5284
- Fixes #5298 - Mark 2.3 as EOL by @mnriem in #5302
- Useless cast to T inside DataModelIterator by @pizzi80 in #5300
- UIComponentBase internal data structure typo by @pizzi80 in #5301
- Fixes #5316 - ClientWindow: Custom PrimeClientWindowFactory not being respected by @mnriem in #5322
- Fixes #5000 - Change Mojarra implementation artifactId to mojarra by @mnriem in #5320
- Faces 5.0: add UIInput.ValidateEmptyFields enum by @BalusC in #5336
- Faces 5.0: add StateManager.StateSavingMethod enum by @BalusC in #5334
- Faces 4.1: Spec 1739 - Require firing events for @initialized, @BeforeDestroyed, and @DESTROYED for build-in scopes by @volosied in #5340
- ui:repeat clarification on attributes, such as offset and size by @BalusC in #5289
- [5345] Do not override application-specified "com.sun.faces.enableDistributable" value. by @pferraro in #5346
- Interim commit for #4480 by @mnriem in #5319
- Bump to Java 17 by @BalusC in #5350
- Add rowStatePreserved property to UIRepeat by @BalusC in #5353
- Use CDI as injection provider and fixed InitFacesContext by @BalusC in #5354
- Fixes #5357 - Move jakarta.faces-api Maven module to API project by @mnriem in #5358
- Fixes #5359 - Implement FacesServletFactory by @mnriem in #5361
- [MOJARRA_5375] The jfwid contains the session ID by @jasondlee in #5376
- Fixes #5374 - Remove REST/Action/CDI prototypes by @mnriem in #5379
- Fixes #5374 - Remove REST/Action/CDI prototypes by @mnriem in #5381
- NPE in ExternalContextImpl.encodeRedirectURL when no ViewRoot availab… by @shadogray in #5384
- Fixes compile error by @arjantijms in #5422
- restore disappeared test classes by @BalusC in #5423
- Fix FacesServletFactory by @BalusC in #5424
- Add context param attributes to @FacesConfig by @BalusC in #5344
- Move non-impl specific unit tests from Mojarra to Faces by @BalusC in #5470
- Fix #5473: Utilize ability to pass VisitHints to UIViewRoot#resetValues() by @BalusC in #5474
- Fix #5471: Unify NavigationHandler and ConfigurableNavigationHandler by @BalusC in #5472
- Implement firing new @BeforePhase and @afterphase PhaseEvent qualifiers by @BalusC in #5492
- Register EnumConverter by converter-id as well by @BalusC in #5496
- Automatically pass through all on* event attributes by @BalusC in #5325
- Add f:resetValues tag definition back into vdldoc by @BalusC in #5494
- Remove deprecated composite:extension by @BalusC in #5498
- Fix null reference error when calling faces.ajax.request() by @tnagao7 in #5500
- Support new FacesMessage.Severity.SUCCESS in h:message/h:messages by @BalusC in #5490
- Mojarra issue 5398 move vdldoc and renderkitdoc to faces project by @BalusC in #5505
- Don't attempt to set response buffer size on a committed response by @Pandrex247 in #5534
- Fix mojarra 5 initialization with empty dd files by @BalusC in #5537
- refactor MojarraRuntimePopulator conform DRY by @BalusC in #5539
- Fix jakartaee/faces#1999: default of jakarta.faces.STATE_SAVING_METHOD is actually "server" by @BalusC in #5547
- Impl jakartaee/faces#1972: log dev stage warning when prependId is used by @BalusC in #5548
- Fix corner case after implementing jakartaee/faces#1507 integration test by @BalusC in #5551
- Fire faces system events via CDI as well by @BalusC in #5550
- Revert faces issue 1416 and move context param into impl by @BalusC in #5570
- 4.1 by @BalusC in #5588
- Merge #5577 from 4.1 into 5.0 by @BalusC in #5589
- First step for jakartaee/faces#1590 by @BalusC in #5601
- Security Fix: adjust how the servlet context path is handled by @lamntu in #5621
- Bump commons-beanutils:commons-beanutils from 1.9.4 to 1.11.0 in /impl by @dependabot[bot] in #5590
- jakartaee/faces#1590: faces.util.chain must also support CSP; while at it bumped versions to 5 by @BalusC in #5631
- #5635: implement jakartaee/faces#2025 placeholder attribute in inputText/inputTextarea by @BalusC in #5636
- jakartaee/faces#2032: allow passthrough on facets by @BalusC in #5634
- #5646: 5.0 impl must throw TagException when f:metadata is not direct child of UIViewRoot by @BalusC in #5647
- #5648: implement jakarta.faces.EXCEPTION_TYPES_TO_IGNORE_IN_LOGGING by @BalusC in #5649
- #5650: implement var for SelectItem model and Map by @BalusC in #5651
- Second step for jakartaee/faces#1590 by @BalusC in #5644
- Fix failing TCK tests by @BalusC in #5652
- Fixed failing old-TCK tests by @BalusC in #5653
- Impl jakartaee/faces#2105: log warning when deprecated namespace is used by @BalusC in #5654
- jakartaee/faces#1940: Add clearModel to <f:ajax resetValues> and <f:resetValues> by @BalusC in #5659
- #5660: add support for record components in PushContext#send by @BalusC in #5661
- Fix #5663 by @BalusC in #5665
- Update to EE12 (milestone) dependencies by @arjantijms in #5668
- Use EE4J 2.0.0 parent by @arjantijms in #5669
- Set API to 5.0.0-M1 by @arjantijms in #5675
New Contributors
- @shadogray made their first contribution in #5384
- @lamntu made their first contribution in #5621
Full Changelog: 4.1.6-RELEASE...5.0.0-M1-RELEASE