| <?xml version="1.0" encoding="UTF-8" ?> |
| <!-- |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| --> |
| <document> |
| <properties> |
| <title>Changes</title> |
| <author email="epugh@opensourceconnections.com.com">Eric Pugh</author> |
| </properties> |
| |
| <body> |
| <release version="5.2-SNAPSHOT" date="in Git"> |
| <action type="update" dev="gk"> |
| Minor version update to Torque 5.1, Jackson to 2.14.0-rc2, docker-testcontainers to 1.17.5. |
| </action> |
| <action type="update" dev="gk"> |
| Fix java.lang.NoSuchFieldError: DEFAULT_TIME_BETWEEN_EVICTION_RUNS. This field changed from being an long to a Duration in commons-pool2 v 2.10.0 and commons-dbcp2 v2.9.0. |
| </action> |
| </release> |
| <action type="add" dev="gk"> |
| Add Annotation @TurbineTool to annotate tools for advanced usage in action methods. |
| </action> |
| <release version="5.1" date="2021-11-23"> |
| <action type="update" dev="painter"> |
| Updated dependencies: yauaa to 5.23, commons-lang3 to 3.12, jython-standalone to 2.7.2 |
| Update turbine-parent 8 (released) |
| </action> |
| <action type="update" dev="gk"> |
| Update yauaa to 5.21 ( CVE-2020-13956), junit to 4.13.1 (CVE-2020-15250) |
| </action> |
| <action type="add" dev="tv"> |
| New service URL mapper implementation: render beautified URL and map parameters back when parsed. |
| </action> |
| <action type="update" dev="tv"> |
| Add reasonable hashCode(), equals() and toString() methods to URIParam class |
| </action> |
| <action type="update" dev="gk"> |
| Update testcontainers to 1.14.3, mysql 8.0.20, |
| use dbcp2 dsfactory, add velocity 2.1 default backwards props in test props, update dependencies: commons-codec 1.15, comonsconfiguration2 2.7, commons-lang3 3.11, commons-test 1.9, torque 5.0, docker testcontainer to 1.15.0-rc2 to be able to use junit jupiter 2.7.0 |
| </action> |
| <action type="update" dev="tv"> |
| Better concurrency in TurbineRundataService |
| </action> |
| <action type="update" dev="tv"> |
| Replace charset strings with Charset objects where possible |
| </action> |
| <action type="add" dev="gk"> |
| Add Java Docker Testcontainers with minimal impact for default build in profile docker-testcontainer. |
| </action> |
| <action type="update" dev="painter"> |
| Update turbine-parent 6 and fulcrum-parser 2.0.1 |
| </action> |
| </release> |
| <release version="5.0" date="2019-05-28"> |
| <action type="update" dev="tv"> |
| Change all Assembler modules to interfaces |
| </action> |
| <action type="update" dev="tv"> |
| Replace unmaintained UADetetctor with YAUAA |
| </action> |
| <action type="update" dev="tv"> |
| Replace all commons-logging references with log4j2 |
| </action> |
| <action type="update" dev="tv"> |
| Direct Avalon logging to log4j2 |
| </action> |
| <action type="update" dev="tv"> |
| Update jython to jython-standalone 2.7.1 |
| </action> |
| <action type="update" dev="tv"> |
| Use log4j-jcl instead of redirection through slf4j |
| </action> |
| <action type="update" dev="jp"> |
| Update fulcrum component releases: |
| fulcrum-crypto 1.0.8 |
| fulcrum-factory 1.1.1 |
| fulcrum-intake 2.0.0 |
| fulcrum-localization 1.0.7 |
| fulcrum-mimetype 1.0.6 |
| fulcrum-quartz 1.1.1 |
| fulcrum-parser 2.0.0 |
| fulcrum-pool 1.0.5 |
| fulcrum-security 1.1.3 |
| fulcrum-testcontainer 1.0.8 |
| fulcrum-xslt 1.1.1 |
| fulcrum-yaafi 1.0.8 |
| </action> |
| <action type="update" dev="gk"> |
| Update from log4j to log4j2, redirect JCL to slf4j |
| </action> |
| <action type="update" dev="jp"> |
| Update commons-configuration2 to 2.4 |
| </action> |
| <action type="update" dev="jp"> |
| Update from lang to commons lang3 |
| </action> |
| <action type="add" dev="tv"> |
| Add ServiceBroker.getApplicationRoot() to allow services to get their root directory |
| </action> |
| <action type="add" dev="tv"> |
| Add Turbine.getApplicationRootAsFile() |
| </action> |
| <action type="update" dev="tv"> |
| Make PipelineData AutoCloseable and improve robustness of Turbine exception handling |
| </action> |
| <action type="update" dev="tv"> |
| Update dependency commons-configuration to 2.3 |
| </action> |
| <action type="add" dev="gk"> |
| Adding screens for plain JSON |
| </action> |
| <action type="update" dev="gk"> |
| Configuration pathes and log4j path are now all relative to base configuration file (included from). |
| </action> |
| <action type="update" dev="tv"> |
| Update dependency commons-configuration to 2.2 |
| Configuration pathes are now all relative to application root. |
| </action> |
| <action type="update" dev="tv"> |
| Update dependency commons-lang to 3.7 |
| </action> |
| <action type="update" dev="tv"> |
| Update dependencies fulcrum-parser to 2.0.0-SNAPSHOT and fulcrum-intake to |
| 2.0.0-SNAPSHOT |
| </action> |
| <action type="remove" dev="tv"> |
| Remove dependency on fulcrum-upload |
| </action> |
| <action type="remove" dev="tv"> |
| Remove dependency on commons-collections |
| </action> |
| <action type="remove" dev="tv"> |
| Remove dependency on commons-io |
| </action> |
| <action type="update" dev="tv"> |
| IMPORTANT: Update HtmlPageAttributes to deliver a default Doctype for HTML 5 |
| Add a test. |
| </action> |
| <action type="update" dev="tv"> |
| IMPORTANT: Update dependency servlet-api to 3.1.0 |
| Adjust settings and services accordingly. The Turbine servlet is now annotated |
| as @WebServlet with reasonable defaults, so a web.xml is no longer needed. |
| </action> |
| <action type="add" dev="tv"> |
| Add DefaultSetEncodingValve to concentrate handling of input and output encoding. |
| If required, add this valve at first position to your pipeline descriptor. |
| Move all charset and locale related methods to org.apache.turbine.util.LocaleUtils |
| Deprecate Turbine.getDefaultInputEncoding() |
| </action> |
| <action type="update" dev="tv"> |
| Update dependency velocity to 2.0 |
| Adjust settings and services accordingly. Examples are in CompleteTurbineResources.properties. |
| Look for [backward compatibility with Velocity 1.x] for easy migration |
| </action> |
| </release> |
| <release version="4.0.1" date="2018-02-21"> |
| <action type="update" dev="gk"> |
| Security methods replaceRole and revokeAll(Role, flag), Interface changes: SecurityService's addUser method and UserManager's createAccount, getAnonymousUser, getACL methods may now throw UnknownEntityException additionally. |
| </action> |
| <action type="update" dev="painter"> |
| input.encoding property (velocity) is set now default for locale.default.charset (both default to ISO-8859-1). |
| </action> |
| <action type="update" dev="gk"> |
| Updated dependency versions: commons-codec to 1.11, commons-beanutils to 1.9.3, mockito-core to 2.13.0. |
| </action> |
| <action type="fix" dev="gk" due-to="Jeffery Painter"> |
| Each call in Turbine managers to the user delegate with a user object parameter now gets the wrapped user (the userDelegate). |
| </action> |
| </release> |
| <release version="4.0" date="2017-11-06"> |
| <action type="update" dev="gk"> |
| OWASP vulnerability check |
| </action> |
| <action type="update" dev="gk"> |
| Decoupling from DefaultUserImpl class by introducing a user wrapper class definition, which the UserManager uses as wrapper for Fulcrum Security and a TurbineUserDelegate marker interface. |
| </action> |
| <action type="update" dev="gk"> |
| Update/Add Tests for Turbine and Fulcrum Security Service version 1.1.1 interaction / handling |
| </action> |
| <action type="update" dev="gk"> |
| Using slf4j over log4j (currently version 1.7.25) |
| </action> |
| <action type="update" dev="tv"> |
| Assembly bugfixes |
| </action> |
| <action type="update" dev="tv"> |
| Replace mockobjects with Mockito |
| </action> |
| <action type="fix" dev="tv"> |
| Fix NPE in LogoutAction: draw user from session instead of RunData. Add test. |
| </action> |
| <action type="update" dev="tv"> |
| Update BrowserDetector to support contemporary browsers. |
| </action> |
| <action type="remove" dev="tv"> |
| Remove TurbineAvalonComponentService including the long deprecated Excalibur dependency |
| </action> |
| <action type="remove" dev="tv"> |
| Remove methods in RunData referring to Jakarta ECS. |
| </action> |
| <action type="update" dev="tv"> |
| Replace xstream with JAXB when reading the pipeline descriptor. |
| </action> |
| <action type="add" dev="tv"> |
| Add annotation support for configuration values |
| </action> |
| <action type="update" dev="tv"> |
| Improve performance of AnnotationProcessor by caching annotations. Add performance test. |
| </action> |
| <action type="update" dev="tv"> |
| Replace synchronized array in TurbinePipeline with CopyOnWriteArrayList (20% faster). Add performance test. |
| </action> |
| <action type="update" dev="tv"> |
| Replace several synchronized maps with ConcurrentMaps |
| </action> |
| <action type="add" dev="tv"> |
| Add annotation processing to pull tools |
| </action> |
| <action type="remove" dev="tv"> |
| Eventually remove all static service accessors and replace them by lookups or annotations |
| </action> |
| </release> |
| <release version="4.0-M2" date="2015-12-21"> |
| <action type="update" dev="tv"> |
| Update dependencies |
| - commons-codec to 1.10 |
| - commons-collections to 3.2.2 |
| - commons-logging to 1.2 |
| - commons-beanutils to 1.9.2 |
| - jython to 2.7.0 |
| - log4j to 1.2.17 |
| </action> |
| <action type="remove" dev="tv"> |
| Remove all deprecated methods using RunData as a parameter to clean up the API |
| Further cleanup is needed. |
| </action> |
| <action type="add" dev="tv"> |
| Add QuartzSchedulerService |
| </action> |
| <action type="update" dev="tv"> |
| Update dependencies |
| - fulcrum-security to 1.1.0 |
| - fulcrum-intake to 1.2.0 |
| </action> |
| <action type="update" dev="gk"> |
| Update to Torque 4.0.0 |
| </action> |
| <action type="add" dev="tv"> |
| Add Annotation @TurbineActionEvent to annotate action methods |
| with arbitrary event names. |
| </action> |
| <action type="update" dev="tv"> |
| Update dependencies |
| - servlet-api to 2.5 (Tomcat 6.0) |
| - commons-codec to 1.8 |
| - commons-configuration to 1.9 |
| - commons-email to 1.3 |
| - fulcrum-parser to 1.0.3 |
| </action> |
| <action type="update" dev="tv"> |
| Update Turbine Parent POM to version 3 |
| </action> |
| <action type="add" dev="tv"> |
| Add Annotation @TurbineLoader to inject a loader |
| instance into objects. |
| </action> |
| <action type="update" dev="tv"> |
| Switch to Fulcrum Security API |
| </action> |
| <action type="update" dev="tv"> |
| Refactor handling of annotated fields into AnnotationProcessor. |
| </action> |
| <action type="add" dev="tv"> |
| Add Annotation @TurbineConfiguration to inject a configuration |
| instance into objects. |
| </action> |
| <action type="fix" dev="tv"> |
| Fix Velocity logging. |
| </action> |
| <action type="update" dev="gk"> |
| Reintroduce VelocityCachedLayout/Screen classes |
| </action> |
| <action type="update" dev="tv"> |
| Adjust site for Apache Turbine Parent POM version 2 |
| </action> |
| <action type="update" dev="tv"> |
| Use Apache Turbine Parent POM version 2 |
| </action> |
| <action type="add" dev="tv"> |
| Add Annotation @TurbineService to inject Turbine service instance into assemblers |
| such as screens, actions, navigations etc. and pipeline valves. |
| See VelocityActionWithServiceInjection for an example. |
| </action> |
| <action type="add" dev="tv"> |
| Add class cache for TurbineRunDataService |
| </action> |
| <action type="update" dev="tv"> |
| Remove duplicate data storage in DefaultTurbineRunData and |
| DefaultPipelineData |
| </action> |
| <action type="update" dev="tv" issue="TRB-72"> |
| Services that implement TurbineServiceProvider are inited early by default |
| </action> |
| <action type="update" dev="tv"> |
| Switch from String keys to Class keys for AssemblerBrokerService |
| </action> |
| <action type="update" dev="tv"> |
| Refine interface of PipelineData and add user and acl objects |
| to pipelineData. |
| </action> |
| <action type="fix" dev="tv"> |
| Fix possible NPE in TurbinePullService. |
| </action> |
| <action type="fix" dev="tv" issue="TRB-82"> |
| Use lastIndexOf() to get the template extension in TurbineTemplateService. |
| </action> |
| <action type="fix" dev="tv"> |
| Fix TurbineYaafiComponentService to set its applicationRoot properly. |
| </action> |
| <action type="fix" dev="tv"> |
| Fix TurbineMacros to comply with the implementation of HtmlPageattributes |
| </action> |
| <action type="update" dev="tv"> |
| Continue generification |
| </action> |
| <action type="fix" dev="ludwig"> |
| Port the handling of template encoding from Turbine 2.3.3 |
| </action> |
| </release> |
| <release version="4.0-M1" date="2011-06-23"> |
| <action type="update" dev="tv"> |
| Updated dependency on commons-collections to 3.2.1 |
| </action> |
| <action type="update" dev="tv"> |
| Updated dependency on commons-configuration to 1.6 |
| </action> |
| <action type="update" dev="tv"> |
| Updated dependency on commons-lang to 2.5 |
| </action> |
| <action type="update" dev="tv"> |
| Updated dependency on commons-email to 1.2 |
| </action> |
| <action type="update" dev="tv"> |
| Move to Java-5 generics. |
| </action> |
| <action type="update" dev="ludwig"> |
| Move to Java-5 generics. |
| </action> |
| <action type="fix" dev="tv" issue="TRB-80" due-to="Georg Kallidis"> |
| TurbineURI was using the deprecated encode methods of URLEncoder. |
| </action> |
| <action type="remove" dev="tv"> |
| Remove remains of old parser management: ParserUtils |
| </action> |
| <action type="fix" dev="tv"> |
| RunData.getContentType() was returning an empty string when it shouldn't |
| </action> |
| <action type="update" dev="tv"> |
| Merged changes of the 2.3-branch into the trunk. |
| </action> |
| <action type="update" dev="tv"> |
| Merged JSON-RPC-Service of the 2.3-branch into the trunk. |
| </action> |
| <action type="update" dev="tv"> |
| Merged UIService of the 2.3-branch into the trunk. |
| </action> |
| <action type="update" dev="tv"> |
| Merged TorqueSecurityService of the 2.3-branch (temporarily) into the trunk. |
| </action> |
| <action type="update" dev="tv"> |
| Replaced the XSLT-Service with its Fulcrum counterpart. |
| </action> |
| <action type="remove" dev="tv"> |
| Removed the XMLRPC-Service. There is a more current alternative |
| implementation available in the Fulcrum repository. |
| </action> |
| <action type="update" dev="tv"> |
| Adjusted the IntakeTool to use IntakeServiceFacade instead of Intake |
| </action> |
| <action type="update" dev="tv"> |
| Made TurbineException extend JDK-1.4-Exception instead of commons-lang |
| NestableException. |
| </action> |
| <action type="update" dev="tv"> |
| Moved the initialization of the pipeline so that all services are |
| initialized first and can be used in the pipeline. |
| </action> |
| <action type="update" dev="tv"> |
| Added a getLoader() method to the AssemblerBrokerService to allow dynamic |
| loaders. Loaders are expected to be provided by the module factories. |
| </action> |
| <action type="update" dev="tv"> |
| Moved the different loader caches into the AssemblerBrokerService and |
| centralized several loader features. The loaders do no longer extend |
| Hashtable. |
| </action> |
| <action type="update" dev="tv"> |
| Removed the references to the different module types from TurbineConstants |
| and tried to reduce the number of inter-dependencies in the module, loader |
| and broker-classes. This should lead to a transparent module configuration |
| without any hard-wired module types. |
| </action> |
| <action type="update" dev="tv"> |
| Ported the class cache for JavaBaseFactory from Turbine 2.3 |
| </action> |
| <action type="update" dev="tv"> |
| Use the transparent service lookup in all service lookups |
| </action> |
| <action type="update" dev="tv"> |
| Initialize the locale of RunData, the ParameterParser and the CookieParser |
| from the HttpServletRequest. Make RunData.setLocale propagate the locale |
| setting to the parsers. |
| </action> |
| <action type="update" dev="tv" issue="TRB-39"> |
| Make sure that Turbine uses the ParserService to get |
| correctly initialized parser objects. |
| </action> |
| <action type="fix" dev="seade"> |
| Added missing format() methods to LocalizationTool. |
| </action> |
| <action type="fix" dev="seade" issue="TRB-8" due-to="Gunther Olesch"> |
| A FileItem in a ParameterParser added to TurbineURI or TemplateURI was |
| resulting in a NPE. |
| </action> |
| <action type="fix" dev="seade" issue="TRB-16" due-to="Jürgen Hoffmann"> |
| TurbineURI was mishandling the empty String. |
| </action> |
| <action dev="seade" type="update"> |
| Updated jar dependency: javamail to 1.3.3 |
| </action> |
| <action dev="sgoeschl" type="update"> |
| The avalon-framework-4.3 allows to create an Avalon logger based on a commons logger. |
| </action> |
| <action dev="seade" type="fix"> |
| BrowserDetector was throwing a NPE for recent versions of Opera - this |
| has been fixed. |
| </action> |
| <action dev="sgoeschl" type="update"> |
| Setting all members of BaseServiceBroker to private as it should be. |
| </action> |
| <action dev="sgoeschl" type="update"> |
| Removed hack in Turbine.java forcing an early init of the AvalonComponentService. The |
| removal could potentially break existing code if the AvalonComponentService is not |
| configured to be early initialized since the requested service wouldn't be found. |
| </action> |
| <action dev="sgoeschl" type="update"> |
| Implementing transparent service lookup using TurbineServiceProviders |
| </action> |
| <action dev="sgoeschl" type="update"> |
| The AvalonComponentService does not use the deprecated Component interface and ComponentException. |
| </action> |
| <action dev="sgoeschl" type="update"> |
| Restructured the dependency section to distinguish between ECM and YAAFI dependencies. |
| </action> |
| <action dev="sgoeschl" type="update"> |
| Use the Fulcrum components from Fulcrum 3.0.0 |
| </action> |
| <action dev="sgoeschl" type="add"> |
| Added YAAFI Avalon service container and the corresponding TurbineYaafiComponentService. |
| </action> |
| <action dev="sgoeschl" type="fix"> |
| Removed remaining Merlin artifacts |
| </action> |
| <action dev="epugh" type="fix" due-to="Leandro Rodrigo Saad Cruz"> |
| Handle non US-ASCII encoding with multipart/form-data mimetype better. |
| </action> |
| <action dev="epugh" type="remove"> |
| Remove Merlin service. When the replacement for Merlin (Metro) is released, then |
| add back in support. |
| </action> |
| <action dev="epugh" type="update"> |
| Use RELEASED versions of Fulcrum components! |
| </action> |
| <action dev="epugh" type="remove"> |
| Remove old security services based on couple Torque. |
| </action> |
| <action dev="epugh" type="remove"> |
| Remove dependencies on Stratum and Torque. Torque is now completely optional for Turbine. |
| Stratum has been replaced by the AvalonComponentService. |
| </action> |
| <action dev="seade" type="update"> |
| The velocity page formatting macros have been updated to generate xhtml |
| compatible html. |
| </action> |
| </release> |
| <release version="2.4-M1" date="2004-08-14" description="Milestone release including Pipeline and PipelineData objects"> |
| <action dev="epugh" type="update"> |
| Update to Commons Configuration 1.0-RC1. TurbineConfiguration.xml files should switch |
| from <dom4j className="org.apache.commons.configuration.DOM4JConfiguration" fileName="conf/test/TurbineResources.xml"/> |
| to <xml fileName="conf/test/TurbineResources.xml"/> syntax. |
| </action> |
| <action dev="epugh" type="update"> |
| Refactored how Turbine sets up it's ServerData object. Removed the use |
| of RunData from the process. |
| </action> |
| <action dev="" type="update">Removed dependency on deprecated Log4jFactory in favor of Log4jLogger.</action> |
| <action dev="" type="add">Replaced existing Maven plugin with Hennings' META: Maven Environment for |
| Turbine Applications plugin.</action> |
| <action dev="epugh" type="update">Updated to use Stratum b5 which properly supports the upcoming 1.0 release of |
| Commons Configuration. Also removed uses of getVector which has been removed |
| from the Configuration API.</action> |
| <action dev="epugh" type="add"> Backported the Pipeline from Turbine 3 to Turbine 2.4. The pipeline allows |
| you to define via an XML file all the stages for processing a request. This |
| makes it simple to add your own custom steps to be applied to each HTTP |
| request coming into Turbine. You will need to add the pipeline.xml file. |
| Added methods to many classes to allow the use of PipelineData as an |
| alternative to RunData. Added new PipelineDataApplicationTool interface for |
| tools which use PipelineData instead of RunData.</action> |
| <action dev="epugh" type="update">Maven Plugin for Turbine moved to /extensions directory. The torque |
| codegeneration of objects for the Schedule and Security services was |
| moved to a new project /extensions/torque. This removes all the nasty |
| logic required to code generate the torque objects before hand. Should |
| help new users work with Turbine as well as allow other backend providers |
| for the Schedule and LDAP security services. The multiproject plugin is |
| now used to build Turbine.</action> |
| <action dev="" type="remove">Removed deprecated Turbine Security methods.</action> |
| <action dev="" type="add">Added to website documentation the Maven Plugin for Turbine. Now has goals to |
| help with inplace development of Turbine apps.</action> |
| <action dev="" type="update">Upgraded to commons-pool-1.1</action> |
| <action dev="" type="add">A means of initializing Velocity action modules has been added.</action> |
| <action dev="epugh" type="add" due-to="Peter Courcoux">Added first cut of the MerlinComponentService which uses the Avalon Merlin |
| container. Merlin has many many features to help with dealing with components.</action> |
| <action dev="epugh" type="update">The cache, crypto, localization, intake, factory, and mimetype services have now been deprecated in favor |
| of the Fulcrum versions as well. </action> |
| <action dev="epugh" type="update">Turbine security now uses the Fulcrum crypto component.</action> |
| <action dev="epugh" type="update">The intake service within Turbine has been deprecated in favor |
| of the Fulcrum Intake service. The intake pull tool has |
| been updated to reflect this.</action> |
| <action dev="epugh" type="update">The localization service within Turbine has been deprecated in favor |
| of the Fulcrum Localization service. The localization pull tool has |
| been updated to reflect this.</action> |
| <action dev="" type="fix">Fixed problem in Intake with the "remove" method in IntakeTool that is |
| triggered by a "removeAll".</action> |
| <action dev="" type="fix">When there is more than one instance of a group and a "removeAll" is |
| done the "remove" method is called for each of the instances of the |
| group. If a mutiply instantiated group is the last one to be removed, |
| it's parameter entries will already have been removed and "getStrings" |
| returns null, which is not being handled in the code.</action> |
| <action dev="" type="fix"> Intake now handles multiValued="true" on type="int" fields correctly. |
| The get/set methods of the underlying object need to deal with an array |
| of ints. The intake processing for other primitive types has also been |
| updated, though not tested to the same extent as int.</action> |
| <action dev="" type="fix">HttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore |
| setting expiry dates failed.</action> |
| <action dev="epugh" type="fix"> doXXX events would eat exceptions while doPerform would bubble them up. |
| Added property action.event.bubbleexception which is true by default that |
| applies to both types and either bubbles them up, or logs and sinks them.</action> |
| <action dev="" type="fix">The intake validators were fixed so that fields with required=false |
| rules no longer attempt to execute the remaining rules when no |
| input is provided. A minLength > 0 rule is no longer synonymous |
| with required=true.</action> |
| <action dev="" type="fix">Actions triggered from html input elements with type="button" are |
| now processed correctly (the trailing ".x" and ".y" are removed from |
| the event names).</action> |
| <action dev="" type="fix"> Intake was fixed so that fields with required elements with value=false |
| can later be enabled with field.setRequired(true) (i.e. you should |
| do this rather than using the deprecated required-message element).</action> |
| <action dev="" type="fix">Intake was fixed so that DateString will use the "formatn" (where n |
| >= 1) rules to parse the input and then the "format" rule to format |
| it (the "format" rule is also used to parse the date if there are no |
| "formatn" rules or they are not able to parse it). In order to |
| retrieve the correctly formatted DateString value you need to use |
| $group.foo.StringValue rather than $group.foo.Value |
| (you can do this for all values, not just DateString).</action> |
| <action dev="" type="fix">Intake now makes use of the the emptyValue attribute from the field |
| elements when mapping from the group to the object when no value has |
| been set. This makes it possible to clear values in an existing object |
| that is being overwritten with Intake data using |
| group.setProperties(obj) (or you can provide non-null values |
| in your intake.xml file). Make sure you do not inadvertently include |
| the primary key for the object in the intake group without actually |
| setting it to the appropriate value (it shouldn't be in the group |
| anyway).</action> |
| <action dev="" type="fix">Fixed the intake DateString flexible rule so that it applies to the |
| format rules and not just to the default locale format.</action> |
| <action dev="" type="fix"> DateFormatter now allows for a differnet date format to be provided |
| via tool.dateTool.format in TurbineResources.properties.</action> |
| <action dev="" type="fix">DirectResponseLayout is provided to allow direct writing to |
| ServletOutputStream when VelocityOnlyLayout is the default. To use it |
| you need to add data.declareDirectResponse(); and then |
| data.setLayout("DirectResponseLayout"); to your action class. |
| Thanks to Peter Courcoux for the code.</action> |
| </release> |
| <release version="PRE 2.4" description="Older Changes Logs"> |
| <action>Please see <a href="changes-pre24.html">Pre 2.4 Changelog</a></action> |
| </release> |
| |
| </body> |
| </document> |