The Apache MyFaces team is pleased to announce the release of MyFaces Core 2.0.0-alpha.

MyFaces Core is a JavaServer(tm) Faces 2.0 implementation as specified by JSR-314.

MyFaces Core 2.0.0-alpha 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.0.0-alpha

Sub-task

   * [MYFACES-2174] - MyFaces 2.0 AJAX API extension proposal
   * [MYFACES-2191] - Move the myfaces params into the context
   * [MYFACES-2195] - rename xhrcore_xxx to xhrcore._xxx
   * [MYFACES-2200] - Send events and errors at the various xhr stages
   * [MYFACES-2223] - switch viewstate replacement from id to name
   * [MYFACES-2238] - offer extension point for AJAX Javascript
* [MYFACES-2240] - typo in javascript build script and target folder doesn't fit the spec
   * [MYFACES-2257] - trigger external scripts after AJAX reload
   * [MYFACES-2311] - Implement <composite:actionSource> tag handler
   * [MYFACES-2312] - Implement <composite:attribute> tag handler
   * [MYFACES-2313] - Implement <composite:editableValueHolder> tag handler
   * [MYFACES-2314] - Implement <composite:extension> tag handler
   * [MYFACES-2315] - Implement <composite:facet> tag handler
   * [MYFACES-2316] - Implement <composite:implementation> tag handler
   * [MYFACES-2317] - Implement <composite:insertChildren> tag handler
   * [MYFACES-2318] - Implement <composite:insertFacet> tag handler
   * [MYFACES-2319] - Implement <composite:interface> tag handler
   * [MYFACES-2320] - Implement <composite:renderFacet> tag handler
* [MYFACES-2324] - Add ViewDeclarationLanguage.retargetAttachedObjects and ViewDeclarationLanguage.retargetMethodExpressions
   * [MYFACES-2325] - Add Composite Renderer class
* [MYFACES-2331] - Implement Composite Component Attributes ELResolver (jsf 2.0 spec section 5.6.2.2) and add implicit object "cc" and "component" * [MYFACES-2362] - Move default validator registration from UIInput.validateValue to ComponentTagHandlerDelegate

Bug

   * [MYFACES-2083] - FacesContext contains several unnecessary methods
   * [MYFACES-2131] - Import to internal Sun class
* [MYFACES-2146] - Bug in UIViewRoot causes Exception in popComponentFromEL() * [MYFACES-2147] - NoSuchMethodException when instantiating SystemEvent objects * [MYFACES-2287] - getting the myfaces 1.2 simple example app running on 2.0 impl
   * [MYFACES-2296] - Annotation scanning bugs
* [MYFACES-2357] - currency validation does not fall through to the default JVM local when a default locale is not specified in faces-config
   * [MYFACES-2358] - System event system not working
   * [MYFACES-2359] - ComponentSystemEvents are not globally dispatched
   * [MYFACES-2360] - Facelets JSTL escapeXML function not escaping '>'
   * [MYFACES-2381] - Broken link: "Core JSF-2.0"
   * [MYFACES-2384] - @FacesBehavior not handled correctly
* [MYFACES-2386] - Refactor Bean Validation "constants" to package-private class * [MYFACES-2387] - component state not being restored when ValueChangeListener is attached
   * [MYFACES-2390] - h:graphic image doesn't handle library attribue
* [MYFACES-2391] - classpath resources not checking for valid version pattern * [MYFACES-2393] - graphicImage tag does not handle resource EL expressions properly * [MYFACES-2394] - ResourceDependency annotations not being handled properly if target attribute is set * [MYFACES-2397] - f:ajax attributes execute and render should take space delimited clientIds * [MYFACES-2398] - no spaces in html-output of f:ajax with render and execute attributes with more than one target
   * [MYFACES-2402] - Fix conditional navigation
* [MYFACES-2404] - JspViewDeclarationLanguageStrategy is always the default strategy, so it should always return true on handles() method
   * [MYFACES-2405] - f:ajax renderer not handling multiple IDs properly
   * [MYFACES-2406] - Create a view with viewId is null should be possible
* [MYFACES-2408] - UIComponent.subscribeToEvent and unsubscribeToEvent should throw NullPointerException when eventClass or componentListener is null * [MYFACES-2415] - EnumConverter should only conver to String valid enum values
   * [MYFACES-2416] - h:outputLabel does not handle escape property

Improvement

* [MYFACES-1910] - Add resetValue() to EditableValueHolder interface (this is a JSF 2.0 related issue)
   * [MYFACES-2010] - Implement JSF 2.0 - Comment in the class
   * [MYFACES-2036] - Comment on javax.faces.application.FacesMessage Class
   * [MYFACES-2235] - ProjectStage extension
* [MYFACES-2354] - update javax.faces.component classes which utilize the context classloader to handle java2 security
   * [MYFACES-2389] - clean up the UIComponentBase.setParent()

New Feature

* [MYFACES-2133] - The implementation of ResourceHandler must be thread-safe
   * [MYFACES-2140] - Add annotation processing logic
* [MYFACES-2162] - Default RenderKitId should be HTML_BASIC when using annotations
   * [MYFACES-2173] - JSF 2.0 AJAX library
   * [MYFACES-2372] - h:commandButton should render UIParameter children

Task

   * [MYFACES-1911] - Implement JSF 2.0 logic at TODO #1
   * [MYFACES-1912] - Implement JSF 2.0 logic at TODO #2
   * [MYFACES-1913] - Implement JSF 2.0 logic at TODO #3
   * [MYFACES-1914] - Implement JSF 2.0 logic at TODO #4
   * [MYFACES-1915] - Implement JSF 2.0 logic at TODO #5
   * [MYFACES-1916] - Implement JSF 2.0 logic at TODO #6
   * [MYFACES-1917] - Implement JSF 2.0 logic at TODO #7
   * [MYFACES-1918] - Implement JSF 2.0 logic at TODO #8
   * [MYFACES-1919] - Implement JSF 2.0 logic at TODO #9
   * [MYFACES-1920] - Implement JSF 2.0 logic at TODO #10
   * [MYFACES-1921] - Implement JSF 2.0 logic at TODO #16
   * [MYFACES-1922] - Implement JSF 2.0 logic at TODO #17
   * [MYFACES-1923] - Implement JSF 2.0 logic at TODO #11
   * [MYFACES-1924] - Implement JSF 2.0 logic at TODO #18
   * [MYFACES-1925] - Implement JSF 2.0 logic at TODO #19
   * [MYFACES-1926] - Implement JSF 2.0 logic at TODO #20
   * [MYFACES-1927] - Implement JSF 2.0 logic at TODO #21
   * [MYFACES-1928] - Implement JSF 2.0 logic at TODO #22
   * [MYFACES-1929] - Implement JSF 2.0 logic at TODO #23
   * [MYFACES-1930] - Implement JSF 2.0 logic at TODO #22
   * [MYFACES-1931] - Implement JSF 2.0 logic at TODO #35
   * [MYFACES-1932] - Implement JSF 2.0 logic at TODO #24
   * [MYFACES-1933] - Implement JSF 2.0 logic at TODO #24
   * [MYFACES-1934] - Implement JSF 2.0 logic at TODO #25
   * [MYFACES-1935] - Implement JSF 2.0 logic at TODO #34
   * [MYFACES-1936] - Implement JSF 2.0 logic at TODO #26
   * [MYFACES-1938] - Implement JSF 2.0 logic at TODO #28
   * [MYFACES-1939] - Implement JSF 2.0 logic at TODO #33
   * [MYFACES-1940] - Implement JSF 2.0 logic at TODO #29
   * [MYFACES-1941] - Implement JSF 2.0 logic at TODO #30
   * [MYFACES-1942] - Implement JSF 2.0 logic at TODO #32
   * [MYFACES-1943] - Implement JSF 2.0 logic at TODO #12
   * [MYFACES-1944] - Implement JSF 2.0 logic at TODO #13
   * [MYFACES-1945] - Implement JSF 2.0 logic at TODO #14
   * [MYFACES-1946] - Implement JSF 2.0 logic at TODO #31
   * [MYFACES-1947] - Implement JSF 2.0 logic at TODO #15
   * [MYFACES-1948] - Implement JSF 2.0 logic at TODO #27
* [MYFACES-1950] - Implement JSF 2.0 - ExternalContext is missing some methods
   * [MYFACES-1951] - Update UIInput.validate()
   * [MYFACES-1958] - Implement AfterAddToParentEvent
   * [MYFACES-1959] - Add missing javax.faces.event Classes & Interfaces
   * [MYFACES-1968] - Implement JSF 2.0 logic at TODO #35
   * [MYFACES-1969] - Implement JSF 2.0 logic at TODO #36
   * [MYFACES-1970] - Implement JSF 2.0 logic at TODO #37
   * [MYFACES-1971] - Implement JSF 2.0 logic at TODO #38
   * [MYFACES-1972] - Implement JSF 2.0 logic at TODO #39
   * [MYFACES-1973] - Implement JSF 2.0 logic at TODO #40
* [MYFACES-1974] - Apply Java 5 specific features to the code, mainly generics and enhanced for * [MYFACES-1977] - add to FacesServlet.service call to ResourceHandler and update digester code * [MYFACES-1978] - Remove org.apache.myfaces.portlet from JSF 2.0 branch, because it has no use anymore
   * [MYFACES-1980] - Implement JSF 2.0 logic at TODO #41
   * [MYFACES-1983] - Implement JSF 2.0 logic at TODO #42
   * [MYFACES-1984] - Implement JSF 2.0 logic at TODO #43
   * [MYFACES-1985] - Implement JSF 2.0 logic at TODO #44
   * [MYFACES-1986] - Implement JSF 2.0 logic at TODO #45
   * [MYFACES-1987] - Implement JSF 2.0 logic at TODO #46
   * [MYFACES-1998] - Implement JSF 2.0 logic at TODO #57
   * [MYFACES-2003] - Implement JSF 2.0 logic at TODO #58
* [MYFACES-2014] - Implement ResponseStateManager.getViewState(FacesContext, Object) and update state saving field on client when ajax response is processed
   * [MYFACES-2015] - Implements AJAX lifecycle on UIViewRoot
* [MYFACES-2018] - Implement @ResourceDependency support for setConverter and addValidator
   * [MYFACES-2019] - Implement iterator() on DataModel
   * [MYFACES-2020] - Implement changes to RenderKit
   * [MYFACES-2021] - Add EDR2 part of error handling to FacesServlet
   * [MYFACES-2022] - Add setSubmitted(false) in UIForm.saveState
* [MYFACES-2032] - Implement javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE config param
   * [MYFACES-2040] - Implement tag c:catch
   * [MYFACES-2041] - Implement tag c:choose
   * [MYFACES-2042] - Implement tag c:forEach
   * [MYFACES-2043] - Implement tag c:if
   * [MYFACES-2044] - Implement tag c:otherwise
   * [MYFACES-2045] - Implement tag c:set
   * [MYFACES-2046] - Implement tag c:when
   * [MYFACES-2047] - Implement tag composite:actionSource
   * [MYFACES-2048] - Implement tag composite:attribute
   * [MYFACES-2049] - Implement tag composite:editableValueHolder
   * [MYFACES-2050] - Implement tag composite:facet
   * [MYFACES-2051] - Implement tag composite:implementation
   * [MYFACES-2052] - Implement tag composite:insertChildren
   * [MYFACES-2053] - Implement tag composite:insertFacet
   * [MYFACES-2054] - Implement tag composite:interface
   * [MYFACES-2055] - Implement tag composite:valueHolder
   * [MYFACES-2056] - Implement tag fn:contains()
   * [MYFACES-2057] - Implement tag fn:containsIgnoreCase()
   * [MYFACES-2058] - Implement tag fn:endsWith()
   * [MYFACES-2059] - Implement tag fn:escapeXml()
   * [MYFACES-2060] - Implement tag fn:indexOf()
   * [MYFACES-2061] - Implement tag fn:join()
   * [MYFACES-2062] - Implement tag fn:length()
   * [MYFACES-2063] - Implement tag fn:replace()
   * [MYFACES-2064] - Implement tag fn:split()
   * [MYFACES-2065] - Implement tag fn:startsWith()
   * [MYFACES-2066] - Implement tag fn:substring()
   * [MYFACES-2067] - Implement tag fn:substringAfter()
   * [MYFACES-2068] - Implement tag fn:substringBefore()
   * [MYFACES-2069] - Implement tag fn:toLowerCase()
   * [MYFACES-2070] - Implement tag fn:toUpperCase()
   * [MYFACES-2071] - Implement tag fn:trim()
   * [MYFACES-2072] - Implement tag ui:component
   * [MYFACES-2073] - Implement tag ui:composition
   * [MYFACES-2074] - Implement tag ui:debug
   * [MYFACES-2075] - Implement tag ui:decorate
   * [MYFACES-2076] - Implement tag ui:define
   * [MYFACES-2077] - Implement tag ui:fragment
   * [MYFACES-2078] - Implement tag ui:include
   * [MYFACES-2079] - Implement tag ui:insert
   * [MYFACES-2080] - Implement tag ui:param
   * [MYFACES-2081] - Implement tag ui:repeat
   * [MYFACES-2085] - Add ApplicationWrapper class
   * [MYFACES-2086] - Add DiscoveryHandler class
   * [MYFACES-2088] - Add ExceptionHandler class
   * [MYFACES-2093] - Add ExceptionEvent class
   * [MYFACES-2096] - Make DataModel types generic
   * [MYFACES-2098] - Add RegexValidator class
* [MYFACES-2101] - Javadoc update for method Object getFactory(String factoryName) of FactoryFinder class * [MYFACES-2102] - Implement JSF 2.0 logic for UIComponent createComponent(FacesContext context,Resource componentResource) TODO #60 * [MYFACES-2105] - Implement JSF 2.0 logic for UIComponent createComponent(final String componentType) * [MYFACES-2106] - add Exception handler factory to FactoryFinder and update getFactory method
   * [MYFACES-2108] - implement ExceptionHandler contract on myfaces-impl
   * [MYFACES-2123] - Add javax.faces.webapp.pdl.facelets.* API classes
   * [MYFACES-2125] - Add UIComponent.doTreeTraversal method
   * [MYFACES-2136] - UISelectMany
* [MYFACES-2151] - Make test work using shale test (changes in jsf 2.0 make it fail)
   * [MYFACES-2163] - Add RequiredValidator
* [MYFACES-2166] - Some Resources contains ValueExpressions that must be evaluated
   * [MYFACES-2171] - Add Config Ordering feature
* [MYFACES-2178] - Implement IMPL - method addResponseHeader of ExternalContext * [MYFACES-2179] - Implement IMPL - method getRequestContentLength of ExternalContext * [MYFACES-2180] - Implement IMPL - method getResponseBufferSize of ExternalContext * [MYFACES-2181] - Implement IMPL - method getResponseOutputWriter of ExternalContext * [MYFACES-2182] - Implement IMPL - method isResponseCommitted of ExternalContext
   * [MYFACES-2184] - Implement IMPL - all TODO methods of ExternalContext
* [MYFACES-2187] - Implement encodeBookmarkableURL and encodeRedirectURL in ExternalContext
   * [MYFACES-2189] - Implement ApplicationImpl TODO's for Behavior
   * [MYFACES-2197] - ExceptionQueuedEventContext todos
   * [MYFACES-2198] - remaining FacesContext/FacesContextImpl TODOs.
   * [MYFACES-2205] - Update UIViewRoot to latest spec draft
   * [MYFACES-2215] - Handle RenderKit TODOs for JSF 2.0
   * [MYFACES-2219] - ViewHandler TODOs for JSF 2.0
* [MYFACES-2220] - FacesConfigurator should scan application config resources(files on META-INF/) ending with .faces-config.xml * [MYFACES-2222] - ViewHandler.DEFAULT_SUFFIX could contain several suffixes * [MYFACES-2225] - Implement PostAddToViewEvent and PreRemoveFromViewEvent thrown conditions * [MYFACES-2226] - Add support for remaining 2.0 faces-config.xml elements * [MYFACES-2227] - Update ResponseWriter/ResponseWriterWrapper to latest spec * [MYFACES-2228] - Add h:head, h:body, h:outputScript and h:outputStylesheet renderers
   * [MYFACES-2229] - update viewid calculation to new algorithm
   * [MYFACES-2230] - FaceletViewDeclarationLanguage TODOs
   * [MYFACES-2231] - Handle the TODOs for JSPViewDeclarationLanguage
   * [MYFACES-2254] - Finish ExceptionHandler support
   * [MYFACES-2255] - Create UIOutcomeTarget API class
   * [MYFACES-2258] - Add support for <if> navigation
   * [MYFACES-2259] - Implement Partial State Saving feature
   * [MYFACES-2262] - implement outcomtarget renderers
   * [MYFACES-2263] - Create Composite component EL resolver
   * [MYFACES-2264] - Behavior registration
   * [MYFACES-2266] - Implement Flash object and EL resolver
   * [MYFACES-2267] - handle TODOs for UIComponentBase
   * [MYFACES-2268] - Add support for registering client behavior renderers
   * [MYFACES-2270] - Add FacesContext param to Application.publishEvent
   * [MYFACES-2271] - Call FacesMessage.rendered on message renderers
* [MYFACES-2272] - Apply changes related to UIInput.validateValue and UIInput.VALIDATE_EMPTY_FIELDS_PARAM_NAME
   * [MYFACES-2273] - ClientBehaviorRenderer/ClientbehaviorBase TODOs
* [MYFACES-2274] - Implement UIMessage.isRedisplay and UIMessages.isRedisplay * [MYFACES-2275] - UIMessages.getFor (Filter messages of a selected component) * [MYFACES-2276] - Update renderers that receive UIParameter to deal with "disable" param. * [MYFACES-2277] - UISelectItem.isNoSelectionOption (deal with it on UISelectOne.validateValue and UISelectMany.validateValue) * [MYFACES-2278] - Render columns with th instead td, according to HtmlColumn.isRowHeader
   * [MYFACES-2279] - TODOs for javax.faces.application.NavigationCase
* [MYFACES-2280] - ValidatorException should support collections of messages.
   * [MYFACES-2281] - Implement ViewListeners-Events api on UIViewRoot
* [MYFACES-2282] - h:dataTable and h:panelGrid should implement bodyrows behavior (tbody encapsulation) * [MYFACES-2283] - Apply selected/unselected css class to h:selectManyCheckbox * [MYFACES-2284] - Allow h:outputLink "fragment" property to append text to url after '#'
   * [MYFACES-2285] - Add ExternalContextFactory Implementation
   * [MYFACES-2286] - javax.faces.view.facelets TODOs
* [MYFACES-2291] - Components implementing ClientBehaviorHolder should override getEventNames() and getDefaultEventName() * [MYFACES-2292] - update NavigationHandlerImpl to extend ConfigurableNavigationHandler * [MYFACES-2293] - ui:composition, ui:define and ui:insert component tag handlers does not work as expected
   * [MYFACES-2294] - Sync API with final 2.0 spec
   * [MYFACES-2297] - Add TagHandlerDelegateFactory implementation
* [MYFACES-2298] - Apply algorithm described on javax.faces.view.facelets.ComponentHandler in implementation * [MYFACES-2299] - Add AttachedObjectHandler implementation when it is necessary * [MYFACES-2300] - binding property on facelets tag handlers should be retrieved from javax.faces.view.facelets.DelegatingMetaTagHandler
   * [MYFACES-2302] - Get simple 2.0 app working
* [MYFACES-2304] - Annotate facelets stuff adding @JSFFaceletTag and @JSFFaceletAttribute to myfaces-builder-plugin
   * [MYFACES-2307] - Generate HtmlHead and HtmlBody
   * [MYFACES-2309] - Add new attributes to f:selectItems
   * [MYFACES-2310] - Implement Composite Component feature
   * [MYFACES-2322] - Implement <f:metadata> tag handler
   * [MYFACES-2327] - Move facelets test code to myfaces
   * [MYFACES-2330] - Get "basic-ajax" 2.0 sample app working
* [MYFACES-2337] - Implement UniqueIdVendor.createUniqueId method and review all related code to UniqueIdVendor
   * [MYFACES-2340] - Get "basic-ezcomp" 2.0 sample working
   * [MYFACES-2341] - facelet tag lib parser includes <behavior> section
   * [MYFACES-2345] - Add View Parameters feature
   * [MYFACES-2349] - h:commandButton allows type="button" on jsf 2.0
* [MYFACES-2364] - PostRestoreStateEvent should be called from DefaultRestoreViewSupport.processComponentBinding * [MYFACES-2365] - DefaultRestoreViewSupport.calculateViewId should not call ViewHandler.deriveViewId, it should be called later from ViewHandler.createView and ViewHandler.restoreView * [MYFACES-2366] - RestoreViewExecutor should check also if the server is showing an error page when check for postback * [MYFACES-2367] - FacesContext.isProcessingEvents should be called from Application.publishEvent * [MYFACES-2375] - <managed-bean-scope> could also be an EL expression, to allow easy implementation of new scopes
   * [MYFACES-2376] - h:outputScript should force type="text/javascript"
   * [MYFACES-2378] - Use java util logging on 2.0.x branch
   * [MYFACES-2379] - Create site for core 2.0.x
   * [MYFACES-2399] - ManagedBeanResolver does not handle view scope
   * [MYFACES-2403] - Myfaces core 2.0 uses jdk 6, but it should be jdk 5
* [MYFACES-2407] - _ComponentChildrenList does not implement all List methods
   * [MYFACES-2411] - Update api to match latest signature
* [MYFACES-2413] - @ResourceDependency annotations should be scanned when Application.createConverter(String) and Application.createValidator(String) is called * [MYFACES-2414] - ResourceHandlerImpl should scan first with locale prefix and then without it * [MYFACES-2419] - NavigationHandler does not deal with no outcome & no action & no if case * [MYFACES-2422] - Change package name to org.apache.myfaces.test in myfaces-test project * [MYFACES-2424] - c namespace changed to http://java.sun.com/jsp/jstl/core

regards

Leonardo Uribe

Reply via email to