
              Apache Commons DbUtils
                     Version 1.8
                    RELEASE NOTES

The Apache Commons DbUtils team is pleased to announce the release of Apache Commons DbUtils 1.8

The Apache Commons DbUtils package is a set of Java utility classes for easing JDBC development.

New features and bug fixes.

Changes in this version include:

New features:
o PR/9:         Add @Column annotation to hint the field name instead of dissecting the get method name. Thanks to rewerma.
o DBUTILS-136:  CaseInsensitiveHashMap cannot be accessed by subclasses of BasicRowProcessor; add org.apache.commons.dbutils.BasicRowProcessor.createCaseInsensitiveHashMap(int). Thanks to Matthew Hall, Gary Gregory. 

Fixed Bugs:
o DBUTILS-131:  Speedup query calls without parameters; Use PreparedStatement only when parameters are present. Thanks to yairlenga. 
o           Always copy Date, Time, Timestamp on get and set in SqlNullCheckedResultSet. 
o DBUTILS-138:  org.apache.commons.dbutils.QueryRunner.query(Connection, boolean, String, ResultSetHandler<T>, Object...) Exception in closing statement leave connections open. Thanks to Stefano Lissa, Gary Gregory. 
o DBUTILS-139:  Update Java requirement from version 6 to 7. Thanks to Gary Gregory. 

Changes:
o DBUTILS-135:  BeanProcessor is not thread safe since [DBUTILS-124]. Thanks to hdevalke. 
o DBUTILS-137:  Inefficient allocation of Maps in org.apache.commons.dbutils.BasicRowProcessor.toMap(ResultSet). Thanks to Gary Gregory. 
o           clirr, checkstyle, and spotbugs configured as part of default build. Thanks to thecarlhall. 


For complete information on Apache Commons DbUtils, including instructions on how to submit bug reports,
patches, or suggestions for improvement, see the Apache Apache Commons DbUtils website:

https://commons.apache.org/proper/commons-dbutils/


