We are pleased to announce the turbine-2 2.3.3-RC1 release! http://turbine.apache.org/turbine/turbine-2.3.3/index.html 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. =============================================================================== Changes in this version include: New Features: o Added getBooleans() and getBooleanObjects() to the ValueParser to provide a "more orthogonal" interface. o Made ValueParser and BaseValueParser locale-aware. Note that the default locale used is always the default value of the JVM which is different from the previous behaviour where the locale used was sometimes Locale.US (for float, double and BigDecimal) and sometimes the JVM-default (for dates). o The init() method in LocalizationTool is no longer declared as final - you can now extend this class to provide alternative ways of initializing the locale. o Default ServerData values can now be specified in TurbineResources.properties. o Added an extension of LDAPUser named ActiveDirectoryUser to simplify the authentication against AD servers. Added some documentation with a configuration example. o Extended Intake to allow validators based on comparisons between fields of the same group. Two example validators are provided, for date ranges and for integer ranges. o Added JSON-RPC Service to support JavaScript to Java AJAX communications using JSON-RPC-Java. For further details see JSON-RPC Service. o Added UI Service as a replacement for the UIManager pull tool (now deprecated in favor of the backwards compatible UITool). For further details see UI Service. o Extended HtmlPageAttributes to allow generic tags in the HTML head section. o Added Thomas's variation on Siegfried's TurbineYaafiComponentService that allows Fulcrum components to be used in Turbine 2.3 in a fulcrum-yaafi container. Fixes TRB-27. Thanks to Thomas Vandahl. o Extended the LocalizationService to provide formatting facilities. o Extended Intake to care for localization and to allow user-defined field types (type "custom"). The Validator interface has been extended so custom validators must be adjusted unless they extend DefaultValidator. Fixed bugs: o Fixed a couple of NullPointerExceptions that can occur when Intake is validating multiValued fields. o Fixed a NullPointerExceptions that can occur when Intake is used to validate a primitive field. Clarified the meaning of Field.isSet() in Javadoc. o Intake was not handling empty values correctly. Fixes TRB-9. Thanks to Jürgen Hoffmann. o A FileItem in a ParameterParser added to TurbineURI or TemplateURI was resulting in a NPE. Fixes TRB-8. Thanks to Gunther Olesch. o TurbineURI was mishandling the empty String. Fixes TRB-16. Thanks to Jürgen Hoffmann. o Intake was not loading the correct Default Validators when the rules for a field are empty. Fixes TRB-14. Thanks to Jürgen Hoffmann. Changes: o Preparing for the Release of Turbine 2.3.3 o VelocityHtmlEmail now throws EmailException rather than VelocityEmailException. This has been done for compatibility with commons-email-1.1, even though commons-email-1.0 is being used for now. o Update jar dependencies: javax.activation to 1.1.1 javax.mail to 1.4.1 commons-configuration to 1.5 commons-fileupload to 1.2.1 commons-io to 1.4 commons-logging to 1.1.1 commons-lang to 2.4 commons-pool to 1.4 log4j to 1.2.15 servletapi to 2.4 o Further simplify the value assignment in Intake fields. o Use the localize features of the parser to simplify the value assignment in Intake fields. Made handling of empty values consistent over all number field types. o Important change: The BaseValueParser now consistently returns null for all get-methods that return an Object, if the parameter name does not exist. This changes the behaviour of getBigDecimal which used to return 0 in this case. 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 Set the locale of the ParameterParser and the CookieParser from the default locale of RunData. o Improved handling of null values for query parameter and path info values in TurbineURI (avoids a NPE, logs warning message). o Update to latest release of Torque. o Update to latest release of Fulcrum Yaafi. o Eliminate cryptix dependency. The cryptix library contains strong encryption algorithms causing problems using the software outside of the US (ECCN). This is a partial backport from Fulcrum so the real work was done by Siegfried Goeschl. o Make SecurityServices run with Torque 3.3. o Removed unnecessary locking in the XSLT service. Make relative includes work again. o Update jar dependencies: commons-collections to 3.2 commons-configuration to 1.4 commons-dbcp to 1.2.2 commons-digester to 1.8 commons-lang to 2.3 commons-pool to 1.3 log4j to 1.2.14 velocity to 1.5 o Deprecated the DBSecurityService and its associated classes. It has been replaced by the TorqueSecurityService. o Intake now handles the case where the mapToObject does not map to all fields in the group. Fixes TRB-9. Thanks to Jürgen Hoffmann. Removed features: o Remove the ComponentService. This has been deprecated long ago. It has been replaced by the different incarnations of AvalonComponentService. o Remove long deprecated classes. org.apache.turbine.util.SequencedHashtable org.apache.turbine.util.StringStackBuffer org.apache.turbine.util.FileUtils org.apache.turbine.util.BufferCache org.apache.turbine.util.QuickSort org.apache.turbine.util.Comparable org.apache.turbine.util.Log org.apache.turbine.util.mail.* org.apache.turbine.util.validation.* org.apache.turbine.util.upload.* org.apache.java.lang.* org.apache.java.security.* org.apache.turbine.util.db.* org.apache.turbine.services.resources.TurbineResources org.apache.turbine.services.db.* =============================================================================== Issues, bugs, and feature requests for turbine-2 should be submitted to the following issue tracking system: http://issues.apache.org/jira/browse/TRB Have fun! -The turbine-2 development team