              Apache Apache Commons DBCP
                 Version 2.4.0
                 RELEASE NOTES

The Apache Commons DBCP team is pleased to announce the release of Apache Apache Commons DBCP 2.4.0-SNAPSHOT.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:


Fixed Bugs:
o DBCP-484:  Connection leak during XATransaction in high load. Thanks to Emanuel Freitas.
o DBCP-496:  Add support for pooling CallableStatements to the org.apache.commons.dbcp2.cpdsadapter package. Thanks to Gary Gregory.

Changes:
o DBCP-492:  Drop Ant build. Thanks to Gary Gregory.
o DBCP-491:  Ensure DBCP ConnectionListener can deal with transaction managers which invoke rollback in a separate thread. Thanks to Zheng Feng, Gary Gregory.
o DBCP-494:  org.apache.commons.dbcp2.PStmtKey should make copies of given arrays in constructors. Thanks to Gary Gregory.
o DBCP-495:  Remove duplicate code in org.apache.commons.dbcp2.cpdsadapter.PStmtKeyCPDS. Thanks to Gary Gregory.
o DBCP-497:  Deprecate use of PStmtKeyCPDS in favor of PStmtKey. Thanks to Gary Gregory.
o DBCP-498:  org.apache.commons.dbcp2.DataSourceConnectionFactory should use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-499:  org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory should use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-500:  org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS should use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-501:  org.apache.commons.dbcp2.datasources.CPDSConnectionFactory should use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-502:  org.apache.commons.dbcp2.datasources internals should use a char[] instead of a String to store passwords. Thanks to Gary Gregory.
o DBCP-503:  org.apache.commons.dbcp2.datasources.InstanceKeyDataSourceFactory.closeAll() does not close all. Thanks to Gary Gregory.


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

http://commons.apache.org/dbcp/


-----------------------------------------------------------------------------

              Apache Apache Commons DBCP
                  Version 2.3.0
                  RELEASE NOTES

The Apache Commons DBCP team is pleased to announce the release of Apache Apache Commons DBCP 2.3.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:

Fixed Bugs:
o DBCP-476:  AbandonedTrace.getTrace() contains race condition Thanks to Gary Evesson, Richard Cordova.
o DBCP-482:  Avoid javax.management.InstanceNotFoundException on shutdown when a bean is not registered. Thanks to Dennis Lloyd, Gary Gregory.

Changes:
o DBCP-483:  Make constant public: org.apache.commons.dbcp2.PoolingDriver.URL_PREFIX. Thanks to Gary Gregory.
o DBCP-486:  DriverAdapterCPDS.setUser(), setPassword(), and getPooledConnection() with null arguments throw NullPointerExceptions when connection properties are set. Thanks to Gary Gregory.
o DBCP-487:  Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear(). Thanks to Gary Gregory.
o DBCP-488:  NPE for org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.setConnectionProperties(null). Thanks to Gary Gregory.
o DBCP-490:  The method org.apache.commons.dbcp2.PoolingDriver.getConnectionPool(String) does not tell you which pool name is not registered when it throws an exception. Thanks to Gary Gregory.


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

http://commons.apache.org/dbcp/

-----------------------------------------------------------------------------

              Apache Apache Commons DBCP
                  Version 2.2.0
                  RELEASE NOTES

The Apache Commons DBCP team is pleased to announce the release of Apache Apache Commons DBCP 2.2.0.

Apache Commons DBCP software implements Database Connection Pooling.

This is a minor release, including bug fixes and enhancements.

Changes in this version include:

New features:
o DBCP-451:  Add constructor DriverManagerConnectionFactory(String).
o DBCP-462:  Refactoring to prepare for a future patch to enable pooling of all
             prepared and callable statements in PoolingConnection. Thanks to Keiichi Fujino.
o DBCP-458:  Make it simpler to extend BasicDataSource to allow sub-classes to
             provide custom GenericObjectPool implementations. Thanks to Adrian Tarau.
o DBCP-474:  Enable pooling of all prepared and callable statements
             inPoolingConnection. Thanks to Keiichi Fujino.

Fixed Bugs:
o DBCP-481:  Update Apache Commons Pool from 2.4.2 to 2.5.0. Thanks to Gary Gregory.
o DBCP-454:  OSGi declarations contain multiple import headers for javax.transaction. Thanks to Philipp Marx, Matt Sicker.
o DBCP-478:  Wrong parameter name in site documentation for BasicDataSource Configuration Parameters. Thanks to nicola mele.
o DBCP-452:  Add jmxName to properties set by BasicDataSourceFactory.  This
             enables container-managed pools created from JNDI Resource
             definitions to enable JMX by supplying a valid root JMX name.
o DBCP-446:  NullPointerException thrown when calling ManagedConnection.isClosed(). Thanks to Gary Gregory, feng yang, Euclides M, Phil Steitz.
o DBCP-444:  InvalidateConnection can result in closed connection returned by getConnection.
o DBCP-449:  Complete the fix for DBCP-418, enabling PoolableConnection class to load in environments
             (such as GAE) where the JMX ManagementFactory is not available. Thanks to Grzegorz D..
o DBCP-455:  Ensure that the cacheState setting is used when statement pooling is
             disabled. Thanks to Kyohei Nakamura.
o DBCP-453:  Ensure that setSoftMinEvictableIdleTimeMillis is used when working with
             BasicDataSource. Thanks to Philipp Marx.
o DBCP-456:  Correct the name of the configuration attribute
             softMinEvictableIdleTimeMillis. Thanks to Kyohei Nakamura.
o DBCP-472:  Avoid potential infinite loops when checking if an SQLException is fatal
             for a connection or not.
o DBCP-468:  Expand the fail-fast for fatal connection errors feature to include
             managed connections.
o DBCP-463:  Correct a typo in the method name
             PoolableConnectionFactory#setMaxOpenPreparedStatements. The old method
             remains but is deprecated so not to break clients currently using the
             incorrect name.
o DBCP-459:  Ensure that a thread's interrupt status is visible to the caller if the
             thread is interrupted during a call to
             PoolingDataSource.getConnection().
o DBCP-457:  When using a BasicDataSource, pass changes related to the handling of
             abandoned connections to the underlying pool so that the pool
             configuration may be updated dynamically.



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

http://commons.apache.org/dbcp/

-----------------------------------------------------------------------------

              Apache Apache Commons DBCP
                  Version 2.1.1
                  RELEASE NOTES

The Apache Commons DBCP team is pleased to announce the release of Apache Apache Commons DBCP 2.1.1.

Apache Commons DBCP software implements Database Connection Pooling.

This is a patch release, including bug fixes only.

Changes in this version include:

Fixed Bugs:
o DBCP-441:  Added BasicDataSource abandonedUsageTracking property missing from BasicDataSourceFactory.
o DBCP-442:  SharedPoolDataSource getConnection fails when testOnBorrow is set with
             a null validation query.
o DBCP-438:  Nested connections in a transaction (local) throws null pointer. Thanks to Raihan Kibria.
o DBCP-437:  BasicDataSource does not set disconnectionSql properties on its PoolableConnectionFactory.

Changes:
o            Updated pool version to 2.4.2.  The fix for POOL-300 may cause DBCP
             users to see more reports of abandoned connections (if removal and logging
             are configured).  Prior to the fix for POOL-300, the PrintWriter used to log
             abandoned connection stack traces was not being flushed on each log event.


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

http://commons.apache.org/dbcp/
