The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.1.4.
MyFaces Core is a JavaServer(tm) Faces 2.1 implementation as specified by JSR-314. MyFaces Core has passed Sun's JSR-314 TCK and is 100% compliant with the JSR-314 specification. MyFaces Core 2.1.4 is available in both binary and source distributions. * http://myfaces.apache.org/download.html MyFaces Core is also available in the central Maven repository under Group ID "org.apache.myfaces.core". Release Notes - MyFaces Core - Version 2.1.4 New Feature Now jsf.js has been refactored to provide a modular include system [MYFACES-3361]. See this blog for details: http://www.irian.at/en/blog/-/blogs/introducing-apache-myfaces-modular-includes Sub-task [MYFACES-3330] - Generate small generated unique ids for components without explicit ids [MYFACES-3331] - Identifier stored on MARK_CREATED should be unique per component on the same Bug [MYFACES-2552] - TagValueExpression.getType() returns null if the property in the managed bean is null and the expression points to a facelets composite component attribute [MYFACES-3106] - Resources not loaded when using a dynamic ui:inlclude and rendered via ajax [MYFACES-3259] - Custom Validator tag attributes are not configured when used with default tag handler in wrapping mode [MYFACES-3268] - UIComponentBase.findComponent does not allow use the same id for a child component. [MYFACES-3300] - Ajax behavior change from 2.1.1 to 2.1.2 [MYFACES-3304] - NullPointerException using h:selectOneRadio with an enum [MYFACES-3309] - Throw correct exception while using FactoryFinderProvider SPI [MYFACES-3310] - javax.faces.validator.BeanValidator.createValidatorFactory should store the factory instance on the application map of the externalContext instead of casting to a servletcontext. [MYFACES-3312] - Compare viewId after PreRenderView does not detect navigation to the same page [MYFACES-3313] - Calculation of redirect URL does not preserve the extension used in Faces Servlet mapping [MYFACES-3315] - @FacesValidator.isDefault() not processed [MYFACES-3318] - Documentation for insert ajax command does not match with spec xsd [MYFACES-3321] - jsf.js: Script fragments evaluated after an ajax operation encode '&' character into'&' [MYFACES-3323] - UIInput._createFieldDebugInfo should check for Object[] before call Arrays.deepToString(...) [MYFACES-3324] - Conditional navigation match has priority over same case without conditional navigation [MYFACES-3325] - h:column should use HtmlColumn instead UIColumn [MYFACES-3332] - Fix condition to call ComponentSupport.markComponentToRestoreFully on 2.1.x branch [MYFACES-3336] - Request with only prefix mapping throws exception, but it should return http 404 (not found) response [MYFACES-3337] - param defined with f:param inside h:button or h:link has precedence over the same param defined in a faces-config navigation rule [MYFACES-3338] - jsf.js: getViewState is not called [MYFACES-3339] - Ajax embedded CDATA Sequence lost on the server once an ajax refresh is triggered [MYFACES-3340] - h:commandButton with f:ajax behavior and f:param renders submit script [MYFACES-3341] - Call to getClientId() on UIInput._createFieldDebugInfo on jsp cause invalid client to be assigned on development project stage [MYFACES-3342] - UISelectMany child components could receive non array or collection instances as selected values [MYFACES-3343] - f:convertNumber in jsp only accept Locale instance into its locale attribute [MYFACES-3349] - Plugin snapshot repository missing in MyFaces core pom.xml [MYFACES-3353] - jsf.js: Runtime.js inheritance method callsuper ignores the resturn value [MYFACES-3354] - NullPointerException on jetty 6.1.5 with faces-redirect=true action result [MYFACES-3356] - MyFaces assumes that the WAR is exploded and XHTML pages are accessible in filesystem [MYFACES-3360] - DefaultFaceletsStateManagementStrategy.PostAddPreRemoveFromViewListener can now register changes on the view when refreshing occur [MYFACES-3364] - UIComponent.findComponent ignored overridden method findComponent of a NamingContainer [MYFACES-3366] - FacesContext should use FacesContext.getCurrentInstance() instead of 'this' [MYFACES-3372] - Multiple Lifecycle instances are not taken into account when setup phase listeners [MYFACES-3373] - UIForm.createUniqueId should take into account prependId logic [MYFACES-3375] - MyFaces can incorrectly determine that Portlets are not supported [MYFACES-3377] - unsynchronized lazy initialization could create concurrency errors [MYFACES-3378] - UIComponent.setParent does not propagate setInView() call when processingEvents is false [MYFACES-3379] - PostAddToViewEvent should be propagated to UIViewRoot [MYFACES-3380] - system-event-listener source-class should be optional but is not [MYFACES-3385] - Entered values for input fields conatined in a Composite Component are lost, if the CC is used in a datatable [MYFACES-3390] - jsf.js: Error alert in development mode is shown despite local listeners [MYFACES-3391] - jsf.js: Lifecycle, success should not be called if an error is raised Improvement [MYFACES-3262] - [perf] [concurrency] Cache read and write method in _ComponentAttributesMap [MYFACES-3305] - jsf.js: major code cleanup and refactoring [MYFACES-3308] - Allow localized composite components [MYFACES-3319] - Make create AjaxBehavior accessible in AjaxHandler [MYFACES-3322] - h:outputScript "name" attribute can receive query params [MYFACES-3327] - Spaces between markup and component are trimmed by facelets algorithm [MYFACES-3328] - [perf] FlashELResolver should get FacesContext instance when it is necessary [MYFACES-3329] - Fix PSS algorithm to ensure c:if and ui:include src="#{...}" related use cases will work without rely on org.apache.myfaces.REFRESH_TRANSIENT_BUILD_ON_PSS_PRESERVE_STATE [MYFACES-3345] - Quotes in Messages.properties [MYFACES-3346] - Chinese Translation for Messages.properties [MYFACES-3347] - Improve web config param logging and enhance @JSFWebConfigParam [MYFACES-3348] - Length Validator Message in Messages.properties [MYFACES-3352] - Chinese Translation for Messages.js [MYFACES-3355] - Allow relocation of library name / resource name using a Resource wrapper [MYFACES-3357] - jsf.js: readability and performance improvements [MYFACES-3361] - jsf.js: code restructuration for size and speed improvlements [MYFACES-3363] - Enable checkstyle checks by default in our myfaces-parent pom [MYFACES-3367] - Detect when to wpdate head or body target when content has been updated dynamically [MYFACES-3376] - Create abstract test classes that runs MyFaces Core as in a container Task [MYFACES-3374] - Compatibility with Servlet API 2.4 regards, Leonardo Uribe