The Apache Turbine team is pleased to announce the turbine-4.0-M1 release! Apache Turbine is a servlet based framework that allows experienced Java developers to quickly build secure web applications. Parts of Turbine can also be used independently of the web portion of Turbine as well. In other words, we strive to make portions of Turbine easily available for use in other applications.
Apache Turbine is a long time citizen of the Apache Software Foundation, the first commits date back to 2000 and 2001. The project has influenced quite a number of other projects such as Apache DB Torque, Apache Maven and a number of Apache Commons components. This milestone release is made for verification of the newly integrated Fulcrum services and to gather experience (and documentation) on how to migrate a 2.3.3 installation to the new architecture. It is not meant for production use. We hope to get lots of feedback from you to release a stable version of Turbine later this year. Note that this version requires JDK 1.6+ to run. Changes in this version include: New features: o Added YAAFI Avalon service container and the corresponding TurbineYaafiComponentService. Fixed Bugs: o TurbineURI was using the deprecated encode methods of URLEncoder. Issue: TRB-80. Thanks to Georg Kallidis. o RunData.getContentType() was returning an empty string when it shouldn't o Added missing format() methods to LocalizationTool. o A FileItem in a ParameterParser added to TurbineURI or TemplateURI was resulting in a NPE. Issue: TRB-8. Thanks to Gunther Olesch. o TurbineURI was mishandling the empty String. Issue: TRB-16. Thanks to Jürgen Hoffmann. o BrowserDetector was throwing a NPE for recent versions of Opera - this has been fixed. o Removed remaining Merlin artifacts o Handle non US-ASCII encoding with multipart/form-data mimetype better. Thanks to Leandro Rodrigo Saad Cruz. Changes: o Updated dependency on commons-collections to 3.2.1 o Updated dependency on commons-configuration to 1.6 o Updated dependency on commons-lang to 2.5 o Updated dependency on commons-email to 1.2 o Move to Java-5 generics. o Merged changes of the 2.3-branch into the trunk. o Merged JSON-RPC-Service of the 2.3-branch into the trunk. o Merged UIService of the 2.3-branch into the trunk. o Merged TorqueSecurityService of the 2.3-branch (temporarily) into the trunk. o Replaced the XSLT-Service with its Fulcrum counterpart. o Adjusted the IntakeTool to use IntakeServiceFacade instead of Intake o Made TurbineException extend JDK-1.4-Exception instead of commons-lang NestableException. o Moved the initialization of the pipeline so that all services are initialized first and can be used in the pipeline. o Added a getLoader() method to the AssemblerBrokerService to allow dynamic loaders. Loaders are expected to be provided by the module factories. o Moved the different loader caches into the AssemblerBrokerService and centralized several loader features. The loaders do no longer extend Hashtable. o 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. o Ported the class cache for JavaBaseFactory from Turbine 2.3 o Use the transparent service lookup in all service lookups o Initialize the locale of RunData, the ParameterParser and the CookieParser from the HttpServletRequest. Make RunData.setLocale propagate the locale setting to the parsers. o Make sure that Turbine uses the ParserService to get correctly initialized parser objects. Issue: TRB-39. o Updated jar dependency: javamail to 1.3.3 o The avalon-framework-4.3 allows to create an Avalon logger based on a commons logger. o Setting all members of BaseServiceBroker to private as it should be. o 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. o Implementing transparent service lookup using TurbineServiceProviders o The AvalonComponentService does not use the deprecated Component interface and ComponentException. o Restructured the dependency section to distinguish between ECM and YAAFI dependencies. o Use the Fulcrum components from Fulcrum 3.0.0 o Use RELEASED versions of Fulcrum components! o The velocity page formatting macros have been updated to generate xhtml compatible html. Removed: o Remove remains of old parser management: ParserUtils o Removed the XMLRPC-Service. There is a more current alternative implementation available in the Fulcrum repository. o Remove Merlin service. When the replacement for Merlin (Metro) is released, then add back in support. o Remove old security services based on coupled Torque. o Remove dependencies on Stratum and Torque. Torque is now completely optional for Turbine. Stratum has been replaced by the AvalonComponentService. Have fun! -The Apache Turbine team --------------------------------------------------------------------- To unsubscribe, e-mail: announce-unsubscr...@apache.org For additional commands, e-mail: announce-h...@apache.org