Changes

Release History

VersionDateDescription
4.0-M12011-06-23 
2.4-M12004-08-14Milestone release including Pipeline and PipelineData objects
PRE 2.4 Older Changes Logs

Release 4.0-M1 - 2011-06-23

TypeChangesBy
updateUpdated dependency on commons-collections to 3.2.1tv
updateUpdated dependency on commons-configuration to 1.6tv
updateUpdated dependency on commons-lang to 2.5tv
updateUpdated dependency on commons-email to 1.2tv
updateMove to Java-5 generics.tv
updateMove to Java-5 generics.ludwig
fixTurbineURI was using the deprecated encode methods of URLEncoder. Fixes TRB-80. Thanks to Georg Kallidis.tv
removeRemove remains of old parser management: ParserUtilstv
fixRunData.getContentType() was returning an empty string when it shouldn'ttv
updateMerged changes of the 2.3-branch into the trunk.tv
updateMerged JSON-RPC-Service of the 2.3-branch into the trunk.tv
updateMerged UIService of the 2.3-branch into the trunk.tv
updateMerged TorqueSecurityService of the 2.3-branch (temporarily) into the trunk.tv
updateReplaced the XSLT-Service with its Fulcrum counterpart.tv
removeRemoved the XMLRPC-Service. There is a more current alternative implementation available in the Fulcrum repository.tv
updateAdjusted the IntakeTool to use IntakeServiceFacade instead of Intaketv
updateMade TurbineException extend JDK-1.4-Exception instead of commons-lang NestableException.tv
updateMoved the initialization of the pipeline so that all services are initialized first and can be used in the pipeline.tv
updateAdded a getLoader() method to the AssemblerBrokerService to allow dynamic loaders. Loaders are expected to be provided by the module factories.tv
updateMoved the different loader caches into the AssemblerBrokerService and centralized several loader features. The loaders do no longer extend Hashtable.tv
updateRemoved 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.tv
updatePorted the class cache for JavaBaseFactory from Turbine 2.3tv
updateUse the transparent service lookup in all service lookupstv
updateInitialize the locale of RunData, the ParameterParser and the CookieParser from the HttpServletRequest. Make RunData.setLocale propagate the locale setting to the parsers.tv
updateMake sure that Turbine uses the ParserService to get correctly initialized parser objects. Fixes TRB-39.tv
fixAdded missing format() methods to LocalizationTool.seade
fixA FileItem in a ParameterParser added to TurbineURI or TemplateURI was resulting in a NPE. Fixes TRB-8. Thanks to Gunther Olesch.seade
fixTurbineURI was mishandling the empty String. Fixes TRB-16. Thanks to Jürgen Hoffmann.seade
updateUpdated jar dependency: javamail to 1.3.3seade
updateThe avalon-framework-4.3 allows to create an Avalon logger based on a commons logger.sgoeschl
fixBrowserDetector was throwing a NPE for recent versions of Opera - this has been fixed.seade
updateSetting all members of BaseServiceBroker to private as it should be.sgoeschl
updateRemoved 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.sgoeschl
updateImplementing transparent service lookup using TurbineServiceProviderssgoeschl
updateThe AvalonComponentService does not use the deprecated Component interface and ComponentException.sgoeschl
updateRestructured the dependency section to distinguish between ECM and YAAFI dependencies.sgoeschl
updateUse the Fulcrum components from Fulcrum 3.0.0sgoeschl
addAdded YAAFI Avalon service container and the corresponding TurbineYaafiComponentService.sgoeschl
fixRemoved remaining Merlin artifactssgoeschl
fixHandle non US-ASCII encoding with multipart/form-data mimetype better. Thanks to Leandro Rodrigo Saad Cruz.epugh
removeRemove Merlin service. When the replacement for Merlin (Metro) is released, then add back in support.epugh
updateUse RELEASED versions of Fulcrum components!epugh
removeRemove old security services based on couple Torque.epugh
removeRemove dependencies on Stratum and Torque. Torque is now completely optional for Turbine. Stratum has been replaced by the AvalonComponentService.epugh
updateThe velocity page formatting macros have been updated to generate xhtml compatible html.seade

Release 2.4-M1 - 2004-08-14

TypeChangesBy
updateUpdate 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.epugh
updateRefactored how Turbine sets up it's ServerData object. Removed the use of RunData from the process.epugh
updateRemoved dependency on deprecated Log4jFactory in favor of Log4jLogger.
addReplaced existing Maven plugin with Hennings' META: Maven Environment for Turbine Applications plugin.
updateUpdated 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.epugh
addBackported 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.epugh
updateMaven 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.epugh
removeRemoved deprecated Turbine Security methods.
addAdded to website documentation the Maven Plugin for Turbine. Now has goals to help with inplace development of Turbine apps.
updateUpgraded to commons-pool-1.1
addA means of initializing Velocity action modules has been added.
addAdded first cut of the MerlinComponentService which uses the Avalon Merlin container. Merlin has many many features to help with dealing with components. Thanks to Peter Courcoux.epugh
updateThe cache, crypto, localization, intake, factory, and mimetype services have now been deprecated in favor of the Fulcrum versions as well.epugh
updateTurbine security now uses the Fulcrum crypto component.epugh
updateThe intake service within Turbine has been deprecated in favor of the Fulcrum Intake service. The intake pull tool has been updated to reflect this.epugh
updateThe localization service within Turbine has been deprecated in favor of the Fulcrum Localization service. The localization pull tool has been updated to reflect this.epugh
fixFixed problem in Intake with the "remove" method in IntakeTool that is triggered by a "removeAll".
fixWhen 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.
fixIntake 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.
fixHttpUtils.httpDateFormat had the year set as 'yyyyy', should be 'yyyy' therefore setting expiry dates failed.
fixdoXXX 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.epugh
fixThe 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.
fixActions triggered from html input elements with type="button" are now processed correctly (the trailing ".x" and ".y" are removed from the event names).
fixIntake 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).
fixIntake 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).
fixIntake 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).
fixFixed the intake DateString flexible rule so that it applies to the format rules and not just to the default locale format.
fixDateFormatter now allows for a differnet date format to be provided via tool.dateTool.format in TurbineResources.properties.
fixDirectResponseLayout 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.

Release PRE 2.4

TypeChangesBy
?Please see