Apache Commons DBCP Release Notes
Release History
Version |
Date |
Description |
2.13.0 |
2024-11-23 |
This is a minor release, including bug fixes and enhancements. |
2.12.0 |
2024-02-29 |
This is a minor release, including bug fixes and enhancements. |
2.11.0 |
2023-10-23 |
This is a minor release, including bug fixes and enhancements. |
2.10.0 |
2023-08-28 |
This is a minor release, including bug fixes and enhancements. |
2.9.0 |
2021-07-30 |
This is a minor release, including bug fixes and enhancements. |
2.8.0 |
2020-09-21 |
This is a minor release, including bug fixes and enhancements. |
2.7.0 |
2019-07-31 |
This is a minor release, including bug fixes and enhancements. |
2.6.0 |
2019-02-14 |
This is a minor release, including bug fixes and enhancements. |
2.5.0 |
2018-07-15 |
This is a minor release, including bug fixes and enhancements. |
2.4.0 |
2018-06-12 |
This is a minor release, including bug fixes and enhancements. |
2.3.0 |
2018-05-12 |
This is a minor release, including bug fixes and enhancements. |
2.2.0 |
2017-12-27 |
This is a minor release, including bug fixes and enhancements. |
2.1.1 |
6 Aug 2015 |
This is a patch release, including bug fixes only. |
2.1 |
23 Feb 2015 |
This is minor release, including bug fixes and enhancements. Note that one of the enhancements (DBCP-423) is to implement AutoCloseable in BasicDataSource, PoolingDataSource and the InstanceKeyDataSource implementations. |
2.0.1 |
24 May 2014 |
This is a bug fix release. |
2.0 |
3 March 2014 |
This release includes new features as well as bug fixes and enhancements. Version 2.0.x supports JDBC 4.1, so requires Java 7. The Java package name has been changed from 'org.apache.commons.dbcp' to 'org.apache.commons.dbcp2'. Also the Maven groupId is now 'org.apache.commons' and the artifactId is 'commons-dbcp2' These changes are necessary because the API is not strictly binary compatible with the 1.x releases. To convert from the earlier releases, update the package name in imports, update the dependencies and recompile. There may be a few other changes to be made. Applications running under Java 7 should use DBCP 2.0.x. Java 6 users should use DBCP 1.4.x which supports JDBC 4. Java 1.4 and Java 5 users should use DBCP 1.3.x which supports JDBC 3. |
1.5.1 |
not yet released |
TBD |
1.4.1 |
not yet released |
TBD |
1.4 |
2010-02-14 |
This release includes new features as well as bug fixes and enhancements. Some bug fixes change semantics (e.g. connection close is now idempotent). The 1.3 and 1.4 releases of DBCP are built from the same sources. Version 1.4 supports JDBC 4, so requires JDK 1.6. Applications running under JDK 1.4-1.5 must use DBCP 1.3. Applications running under JDK 1.6 should use DBCP 1.4. Other than support for the added methods in JDBC 4, there is nothing new or different in DBCP 1.4 vs. DBCP 1.3. The list of changes below since 1.2.2 applies to both the 1.3 and 1.4 release. Other than the one issue related to adding JDBC 4 support (DBCP-191), all bug fixes or new features are included in both DBCP 1.3 and 1.4 |
1.3 |
2010-02-14 |
Compatability release for JDBC 3. See version 1.4 description and change log. |
1.2.2 |
2007-04-04 |
This is a maintenance release containing bug fixes and enhancements. All API changes are binary compatible with version 1.2.1. |
1.2.1 |
2004-06-12 |
Maintenance Release to restore JDK 1.3 compatibility |
1.2 |
2004-06-07 |
|
1.1 |
2003-10-20 |
|
1.0 |
2002-08-12 |
Initial Release |
Release 2.13.0 – 2024-11-23
Type |
Changes |
By |
|
Avoid object creation when invoking isDisconnectionSqlException #422. Thanks to Johno Crawford. |
ggregory |
|
PoolableConnectionFactory.destroyObject() method behaves incorrectly on ABANDONED connection, issue with unhandled AbstractMethodError. DelegatingConnection.abort(Executor) should delegate to Jdbc41Bridge. Fixes DBCP-599. Thanks to denixx baykin, Phil Steitz, Gary Gregory. |
ggregory |
|
DelegatingConnection.setSchema(String) should delegate to Jdbc41Bridge. Thanks to Gary Gregory. |
ggregory |
|
Fix possible NullPointerException in PoolingConnection.close(). Thanks to Gary Gregory. |
ggregory |
|
PerUserPoolDataSource.registerPool() incorrectly replacing a CPDSConnectionFactory into managers map before throwing an IllegalStateException. Thanks to Gary Gregory. |
ggregory |
|
Fix PMD UnnecessaryFullyQualifiedName in AbandonedTrace. Thanks to Gary Gregory. |
ggregory |
|
Fix PMD UnnecessaryFullyQualifiedName in PoolableCallableStatement. Thanks to Gary Gregory. |
ggregory |
|
Fix PMD UnnecessaryFullyQualifiedName in PoolablePreparedStatement. Thanks to Gary Gregory. |
ggregory |
|
Fix PMD UnnecessaryFullyQualifiedName in Utils. Thanks to Gary Gregory. |
ggregory |
|
Fix PMD UnnecessaryFullyQualifiedName in LocalXAConnectionFactory. Thanks to Gary Gregory. |
ggregory |
|
Fix SpotBugs MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT in PerUserPoolDataSource. Thanks to Gary Gregory. |
ggregory |
|
Fix SpotBugs MC_OVERRIDABLE_METHOD_CALL_IN_READ_OBJECT in SharedPoolDataSource. Thanks to Gary Gregory. |
ggregory |
|
Add support for ignoring non-fatal SQL state codes #421. Thanks to Johno Crawford, Gary Gregory. |
ggregory |
|
Add @FunctionalInterface to SwallowedExceptionListener. Thanks to Johno Crawford, Gary Gregory. |
ggregory |
|
Add missing Javadoc comments and descriptions. Thanks to Gary Gregory. |
ggregory |
|
Add tests, raise the bar for JaCoCo checks. Thanks to Gary Gregory. |
ggregory |
|
Bump org.apache.commons:commons-parent from 66 to 78 #360, #371, #395, #420, #426, #436, #441, #449. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-logging:commons-logging from 1.3.0 to 1.3.4 #368, #399, #423. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump org.apache.commons:commons-lang3 from 3.14.0 to 3.17.0 #404, #412, #427. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump org.hamcrest:hamcrest from 2.2 to 3.0 #410. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump org.slf4j:slf4j-simple from 2.0.13 to 2.0.16 #413, #418. Thanks to Gary Gregory, Dependabot. |
ggregory |
Release 2.12.0 – 2024-02-29
Type |
Changes |
By |
|
BasicDataSource#setAbandonedUsageTracking has no effect. Fixes DBCP-590. Thanks to Réda Housni Alaoui. |
psteitz |
|
PoolingConnection.toString() causes StackOverflowError. Fixes DBCP-596. Thanks to Aapo Haapanen, Gary Gregory. |
ggregory |
|
PooledConnectionImpl.destroyObject(PStmtKey, PooledObject) can throw NullPointerException #312. Thanks to Gary Gregory, Rémy Maucherat. |
ggregory |
|
PoolingConnection.destroyObject(PStmtKey, PooledObject) can throw NullPointerException #312. Thanks to Gary Gregory, Rémy Maucherat. |
ggregory |
|
Fix examples in src/main/java/org/apache/commons/dbcp2/package-info.java. Fixes DBCP-477. Thanks to Mubasher Usman, Gary Gregory. |
ggregory |
|
Add property project.build.outputTimestamp for build reproducibility. Thanks to Gary Gregory. |
ggregory |
|
Add null guards in DelegatingDatabaseMetaData constructor #352. Thanks to Heewon Lee. |
ggregory |
|
Data source bean creation failed due to mismatched return type of setter and getter for connectionInitSqls in BasicDataSource: Add BasicDataSource.setConnectionInitSqls(List). Fixes DBCP-473. Thanks to Steve Cohen, Gary Gregory. |
ggregory |
|
Use ReentrantLock in PoolableConnection.close, #591 Thanks to cortlepp-intershop. |
psteitz |
|
Bump commons-lang3 from 3.13.0 to 3.14.0. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-parent from 64 to 66. Thanks to Gary Gregory. |
ggregory |
|
Bump org.slf4j:slf4j-simple from 2.0.9 to 2.0.12 #349. Thanks to Dependabot. |
ggregory |
Release 2.11.0 – 2023-10-23
Type |
Changes |
By |
|
Update call sites of deprecated APIs from Apache Commons Pool. Thanks to Gary Gregory. |
ggregory |
|
Add DataSourceMXBean.getUserName() and deprecate getUsername(). Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump h2 from 2.2.220 to 2.2.224, #308. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump commons-parent from 60 to 64. Thanks to Gary Gregory. |
ggregory |
|
Bump org.slf4j:slf4j-simple from 2.0.7 to 2.0.9 #301. Thanks to Dependabot. |
ggregory |
|
Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0. Thanks to Gary Gregory. |
ggregory |
|
Bump jakarta.transaction:jakarta.transaction-api from 1.3.1 to 1.3.3. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-logging:commons-logging from 1.2 to 1.3.0. Thanks to Piotr P. Karwasz. |
pkarwasz |
Release 2.10.0 – 2023-08-28
Type |
Changes |
By |
|
Fix StackOverflowError in PoolableConnection.isDisconnectionSqlException #123. Thanks to newnewcoder, Gary Gregory. |
ggregory |
|
PerUserPoolDataSourceFactory.getNewInstance(Reference) parsed defaultMaxWaitMillis as an int instead of a long. Thanks to Gary Gregory. |
ggregory |
|
Reimplement time tracking in AbandonedTrace with an Instant instead of a long. Thanks to Gary Gregory. |
ggregory |
|
Migrate away from deprecated APIs in Apache Commons Pool. Thanks to Gary Gregory. |
ggregory |
|
Fix possible NullPointerException in BasicDataSourceFactory.validatePropertyNames(). Thanks to Gary Gregory. |
ggregory |
|
Fix possible NullPointerException in BasicDataSourceFactory.getObjectInstance(). Thanks to Gary Gregory. |
ggregory |
|
Connection level JMX queries result in concurrent access to connection objects, causing errors #179. Fixes DBCP-585. Thanks to Kurtcebe Eroglu, Gary Gregory, Phil Steitz. |
ggregory |
|
UserPassKey should be Serializable. Thanks to Gary Gregory. |
ggregory |
|
LifetimeExceededException should extend SQLException. Thanks to Gary Gregory. |
ggregory |
|
Replace Exception with SQLException in some method signatures (preserves binary compatibility, not source). Thanks to Gary Gregory. |
ggregory |
|
Don't leak Connections when PoolableConnectionFactory.makeObject() fails to create a JMX ObjectName. Thanks to Gary Gregory. |
ggregory |
|
Performance: No need for map lookups if we traverse map entries instead of keys. Thanks to SpotBugs, Gary Gregory. |
ggregory |
|
Performance: Refactor to use a static inner class in DataSourceXAConnectionFactory. Thanks to SpotBugs, Gary Gregory. |
ggregory |
|
Reuse pattern of throwing XAException instead of NullPointerException in LocalXAConnectionFactory.LocalXAResource. Thanks to SpotBugs, Gary Gregory. |
ggregory |
|
SpotBugs: An overridable method is called from constructors in PoolableCallableStatement. Thanks to SpotBugs, Gary Gregory. |
ggregory |
|
SpotBugs: An overridable method is called from constructors in PoolablePreparedStatement. Thanks to SpotBugs, Gary Gregory. |
ggregory |
|
Wrong property name logged in ConnectionFactoryFactory.createConnectionFactory(BasicDataSource, Driver). Thanks to Gary Gregory. |
ggregory |
|
Throw SQLException instead of NullPointerException when the connection is already closed. Thanks to Gary Gregory. |
ggregory |
|
CPDSConnectionFactory.makeObject() does not need to wrap and rethrow SQLException. Thanks to Gary Gregory. |
ggregory |
|
PoolingDataSource.close() now always throws SQLException. Thanks to Gary Gregory. |
ggregory |
|
[StepSecurity] ci: Harden GitHub Actions #282. Thanks to step-security-bot, Gary Gregory. |
ggregory |
|
Fixes typos, missing or misplaced characters, and grammar issues #299. Thanks to Martin Wiesner. |
ggregory |
|
Add and use AbandonedTrace#setLastUsed(Instant). Thanks to Gary Gregory. |
ggregory |
|
Add and use Duration versions of now deprecated APIs that use ints and longs.
Internally track durations with Duration objects instead of ints and longs.
See the JApiCmp report for the complete list. Thanks to Gary Gregory. |
ggregory |
|
Add PMD check to default Maven goal. Thanks to Gary Gregory. |
ggregory |
|
Add Utils.getDisconnectionSqlCodes() and Utils.DISCONNECTION_SQL_CODES. Thanks to Gary Gregory. |
ggregory |
|
Make BasicDataSource.getConnectionPool() public. Thanks to Gary Gregory. |
ggregory |
|
Add github/codeql-action. Thanks to Gary Gregory. |
ggregory |
|
Bump actions/cache from 2.1.6 to 3.0.8 #147, #176. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump actions/checkout from 2.3.4 to 3.0.2 #139, #143, #173. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump actions/setup-java from 2 to 3.6.0 #229. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump actions/upload-artifact from 3.1.0 to 3.1.1 #231. Thanks to Dependabot. |
ggregory |
|
Bump checkstyle from 8.44 to 9.3 #121, #130, #149, #158, #190. Thanks to Dependabot. |
ggregory |
|
Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #210. Thanks to Dependabot. |
ggregory |
|
Bump commons-pool2 2.10.0 to 2.11.1. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump junit-jupiter from 5.8.0-M1 to 5.9.1 #125, #136, #157, #203, #218. Thanks to Dependabot. |
ggregory |
|
Bump spotbugs-maven-plugin from 4.3.0 to 4.7.3.0 #140, #154, #161, #178, #192, #200, #204, #213, #234. Thanks to Dependabot. |
ggregory |
|
Bump spotbugs from 4.3.0 to 4.7.3 #124, #133, #151, #164, #177, #189, #214, #230. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump org.mockito:mockito-core from 3.11.2 to 4.11.0, #128, #138, #152, #175, #188. #193, #208, #215, #232, #235, #246, #252. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump maven-javadoc-plugin from 3.3.0 to 3.4.1 #131, #184. Thanks to Dependabot. |
ggregory |
|
Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #132, #172, #195. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump pmd from 6.44.0 to 6.52.0. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump narayana-jta from 5.12.0.Final to 5.12.7.Final #134, #156, #163, #185, #197. Thanks to Dependabot. |
ggregory |
|
Bump japicmp-maven-plugin from 0.15.3 to 0.17.1 #137, #166, #174, #211, #238. Thanks to Dependabot. |
ggregory |
|
Bump h2 from 1.4.200 to 2.2.220 #153, #183, #196, #287.
Update SQL for migration from H2 1.4.200 to 2.0.204 where "KEY" and "VALUE" are now reserved keywords. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Bump jboss-logging from 3.4.2.Final to 3.4.3.Final #162. Thanks to Dependabot. |
ggregory |
|
Bump slf4j-simple from 1.7.30 to 1.7.36 #169. Thanks to Dependabot. |
ggregory |
|
Bump commons-parent from 52 to 60 #180, #219, #254, #278. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump JaCoCo from 0.8.7 to 0.8.8. Thanks to Gary Gregory. |
ggregory |
|
Bump maven-surefire-plugin 2.22.2 to 3.0.0-M7. Thanks to Gary Gregory. |
ggregory |
|
Bump apache-rat-plugin 0.13 to 0.14. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-lang3 from 3.12 to 3.13.0. Thanks to Gary Gregory. |
ggregory |
Release 2.9.0 – 2021-07-30
Type |
Changes |
By |
|
Add and reuse Constants.KEY_USER and Constants.KEY_PASSWORD. Thanks to Gary Gregory. |
ggregory |
|
Add and reuse DataSourceMXBean. Thanks to Frank Gasdorf, Gary Gregory. |
ggregory |
|
Add and reuse DriverAdapterCPDS.{get|set}DurationBetweenEvictionRuns(), deprecate {get|set}TimeBetweenEvictionRunsMillis(long). Thanks to Gary Gregory. |
ggregory |
|
Add and reuse DriverAdapterCPDS.{get|set}MinEvictableIdleDuration(), deprecate {get|set}MinEvictableIdleTimeMillis(int). Thanks to Gary Gregory. |
ggregory |
|
Add and reuse CPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). Thanks to Gary Gregory. |
ggregory |
|
Add and reuse KeyedCPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). Thanks to Gary Gregory. |
ggregory |
|
Add and reuse KeyedCPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). Thanks to Gary Gregory. |
ggregory |
|
Add and reuse InstanceKeyDataSource.{get|set}DefaultMaxWait(Duration), deprecate {get|set}DefaultMaxWaitMillis(long). Thanks to Gary Gregory. |
ggregory |
|
Fix test random failure on TestSynchronizationOrder.testInterposedSynchronization, #84. Fixes DBCP-569. Thanks to Florent Guillaume. |
ggregory |
|
ManagedConnection must clear its cached state after transaction completes, #75. Fixes DBCP-568. Thanks to Florent Guillaume. |
ggregory |
|
Minor Improvements #78. Thanks to Arturo Bernal. |
ggregory |
|
Use abort rather than close to clean up abandoned connections. Fixes DBCP-567. Thanks to Phil Steitz, Gary Gregory, Phil Steitz, Romain Manni-Bucau. |
ggregory |
|
Performance Enhancement: Call toArray with Zero Array Size #20. Thanks to Gary Gregory, DaGeRe. |
ggregory |
|
Avoid exposing password via JMX #38. Fixes DBCP-562. Thanks to Frank Gasdorf, Gary Gregory. |
ggregory |
|
Remove redundant initializers #98. Fixes DBCP-575. Thanks to Arturo Bernal. |
ggregory |
|
Simplify test assertions #100, #113. Fixes DBCP-577. Thanks to Arturo Bernal. |
ggregory |
|
DataSource implementations do not implement Wrapper interface correctly #93. Fixes DBCP-573. Thanks to Réda Housni Alaoui, Gary Gregory. |
ggregory |
|
Replace FindBugs with SpotBugs. |
ggregory |
|
DataSourceConnectionFactory.getUserPassword() may expose internal representation by returning DataSourceConnectionFactory.userPassword. |
ggregory |
|
DataSourceXAConnectionFactory.getUserPassword() may expose internal representation by returning DataSourceXAConnectionFactory.userPassword. |
ggregory |
|
DriverAdapterCPDS.getPasswordCharArray() may expose internal representation by returning DriverAdapterCPDS.userPassword. |
ggregory |
|
new org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory(TransactionManager, XADataSource, String, char[], TransactionSynchronizationRegistry) may expose internal representation by storing an externally mutable object into DataSourceXAConnectionFactory.userPassword. |
ggregory |
|
org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory.setPassword(char[]) may expose internal representation by storing an externally mutable object into DataSourceXAConnectionFactory.userPassword. |
ggregory |
|
org.apache.commons.dbcp2.PStmtKey.getColumnIndexes() may expose internal representation by returning PStmtKey.columnIndexes. |
ggregory |
|
org.apache.commons.dbcp2.PStmtKey.getColumnNames() may expose internal representation by returning PStmtKey.columnNames. |
ggregory |
|
Use Collections.synchronizedList() Instead Of Vector #101. Fixes DBCP-578. Thanks to Arturo Bernal. |
ggregory |
|
Simplify and inline variables #99. Fixes DBCP-576. Thanks to Arturo Bernal. |
ggregory |
|
Update PoolKey#toString() to avoid revealing a user name is here. Thanks to Gary Gregory. |
ggregory |
|
Internal package private UserPassKey class stores its user name as a char[] as it already does the password. Thanks to Gary Gregory. |
ggregory |
|
Performance of DelegatingConnection.prepareStatement(String) regressed enormously in 2.8.0 compared to 1.4.
DelegatingConnection should also cache connection schema string to avoid calling the Connection#getSchema() for each key creation.
DelegatingConnection should also cache connection catalog string to avoid calling the Connection#getCatalog() for each key creation. Fixes DBCP-579. Thanks to Shaktisinh Jhala, Gary Gregory. |
ggregory |
|
BasicDataSource should test for the presence of a security manager dynamically, not once on initialization. Thanks to Gary Gregory. |
ggregory |
|
Bump mockito-core from 3.5.11 to 3.11.2 #66, #72, #77, #85, #91, #105, #110, #116. Thanks to Dependabot. |
ggregory |
|
Bump actions/checkout from v2.3.2 to v2.3.4 #65, #74. Thanks to Dependabot. |
ggregory |
|
Bump actions/cache from v2 to v2.1.6 #90, #108. Thanks to Dependabot. |
ggregory |
|
Bump commons-pool2 from 2.8.1 to 2.9.0. Thanks to Gary Gregory. |
ggregory |
|
Bump actions/setup-java from v1.4.2 to v2 #69. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump japicmp-maven-plugin from 0.14.3 to 0.15.2 #71, #82. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #76. Thanks to Dependabot. |
ggregory |
|
Bump japicmp-maven-plugin from 0.14.4 to 0.15.3, #83. Thanks to Dependabot, Gary Gregory. |
ggregory |
|
Bump Hamcrest 1.3 -> 2.2 #70. Thanks to John Patrick. |
ggregory |
|
Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #88. Thanks to Gary Gregory. |
ggregory |
|
Bump junit-jupiter from 5.7.0 to 5.8.0-M1, #89, #106. Thanks to Gary Gregory. |
ggregory |
|
Bump narayana-jta from 5.10.6.Final to 5.12.0.Final #103, #111. Thanks to Dependabot. |
ggregory |
|
Bump maven-javadoc-plugin from 3.2.0 to 3.3.0 #107. Thanks to Dependabot. |
ggregory |
|
Bump commons.jacoco.version 0.8.6 -> 0.8.7. Thanks to Gary Gregory. |
ggregory |
|
Bump jboss-logging from 3.4.1.Final to 3.4.2.Final #109. Thanks to Dependabot. |
ggregory |
|
Bump org.jboss:jboss-transaction-spi from 7.6.0.Final to 7.6.1.Final. Thanks to Gary Gregory. |
ggregory |
|
Bump commons-pool2 from 2.9.0 to 2.10.0. Thanks to Gary Gregory. |
ggregory |
|
Bump checkstyle to 8.44. Thanks to Gary Gregory. |
ggregory |
|
Bump spotbugs from 4.2.3 to 4.3.0 #117. Thanks to Dependabot. |
ggregory |
|
Bump spotbugs-maven-plugin from 4.2.3 to 4.3.0 #118. Thanks to Dependabot. |
ggregory |
Release 2.8.0 – 2020-09-21
Type |
Changes |
By |
|
Fix BasicManagedDataSource leak of connections opened after transaction is rollback-only #39. Fixes DBCP-564. Thanks to Florent Guillaume. |
ggregory |
|
Add clearStatementPoolOnReturn #42. Fixes DBCP-566. Thanks to Robert Paschek, Gary Gregory, Phil Steitz. |
ggregory |
|
Add start, restart methods to BasicDataSource. #50. Fixes DBCP-559. Thanks to Phil Steitz. |
ggregory |
|
NPE when creating a SQLExceptionList with a null list. Fixes DBCP-555. Thanks to Gary Gregory. |
ggregory |
|
Fix DelegatingConnection readOnly and autoCommit caching mechanism #35. Fixes DBCP-558. Thanks to louislatreille. |
ggregory |
|
Fix regression introduced by unreleased code clean-up #63. Thanks to Sebastian Haas. |
markt |
|
Update to PR#36 - PrepareStatement and prepareCall methods are extracted #37. Thanks to DoiMasayuki, Alexander Norz, Gary Gregory. |
ggregory |
|
Do not display credentials in DriverAdapterCPDS.toString(). Thanks to Gary Gregory. |
ggregory |
|
Do not display credentials in DelegatingConnection.toString(). Thanks to Gary Gregory. |
ggregory |
|
Do not display credentials in DriverConnectionFactory.toString(). Thanks to Gary Gregory. |
ggregory |
|
Do not display credentials in PoolKey.toString(). Thanks to Gary Gregory. |
ggregory |
|
Do not display credentials in UserPassKey.toString(). Thanks to Gary Gregory. |
ggregory |
|
Update Apache Commons Pool from 2.7.0 to 2.8.1, #48. Fixes DBCP-650. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Update tests from H2 1.4.199 to 1.4.200. Thanks to Gary Gregory. |
ggregory |
|
Update tests from Mockito 3.0.0 to 3.5.11 #47, #60, #64. Thanks to Gary Gregory, Dependabot. |
ggregory |
|
Update tests from jboss-logging 3.4.0.Final to 3.4.1.Final. Thanks to Gary Gregory. |
ggregory |
|
Update tests from narayana-jta 5.9.5.Final to 5.10.6.Final, #61. Thanks to Gary Gregory. |
ggregory |
|
Update tests from junit-jupiter 5.5.1 to 5.7.0 #62. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.slf4j:slf4j-simple 1.7.26 to 1.7.30. Thanks to Gary Gregory. |
ggregory |
|
Update build from com.github.siom79.japicmp:japicmp-maven-plugin 0.13.1 to 0.14.3. Thanks to Gary Gregory. |
ggregory |
|
Update build from maven-javadoc-plugin 3.1.1 to 3.2.0. Thanks to Gary Gregory. |
ggregory |
|
Update build from maven-pmd-plugin 3.12.0 to 3.13.0. Thanks to Gary Gregory. |
ggregory |
|
Update org.apache.commons:commons-parent from 48 to 51. Thanks to Gary Gregory. |
ggregory |
|
Update jacoco-maven-plugin from 0.8.4 to 0.8.6. Thanks to Gary Gregory. |
ggregory |
|
Update maven-checkstyle-plugin from 3.0.0 to 3.1.1. Thanks to Gary Gregory. |
ggregory |
|
Update actions/checkout from v1 to v2.3.2, #44, #51. Thanks to Dependabot. |
ggregory |
|
Update actions/setup-java from v1.4.0 to v1.4.2 #58. Thanks to Dependabot. |
ggregory |
Release 2.7.0 – 2019-07-31
Type |
Changes |
By |
|
ManagedDataSource#close() should declare used exceptions. Fixes DBCP-539. Thanks to Jacques Le Roux. |
jleroux |
|
Add a ConnectionFactory class name setting for BasicDataSource.createConnectionFactory() #33. Fixes DBCP-547. Thanks to leechoongyon, Gary Gregory. |
ggregory |
|
Add missing Javadocs. Thanks to Gary Gregory. |
ggregory |
|
Wrong JMX base name derived in BasicDataSource#updateJmxName. Fixes DBCP-538. Thanks to Ragnar Haugan, Gary Gregory. |
ggregory |
|
Avoid NPE when calling DriverAdapterCPDS.toString(). Fixes DBCP-546. Thanks to Sergey Chupov. |
ggregory |
|
java.util.IllegalFormatException while building a message for a SQLFeatureNotSupportedException in Jdbc41Bridge.getObject(ResultSet,String,Class). Fixes DBCP-550. Thanks to Gary Gregory. |
ggregory |
|
Fix Javadoc link in README.md #21. Thanks to LichKing-lee. |
ggregory |
|
Close ObjectOutputStream before calling toByteArray() on underlying ByteArrayOutputStream #28. Fixes DBCP-540. Thanks to emopers. |
ggregory |
|
Upgrade to JUnit Jupiter #19. Fixes DBCP-541. Thanks to Allon Murienik. |
ggregory |
|
Fix tests on Java 11. Fixes DBCP-542. Thanks to Zheng Feng, Gary Gregory. |
ggregory |
|
Update Apache Commons Pool from 2.6.1 to 2.6.2. Fixes DBCP-543. Thanks to Gary Gregory. |
ggregory |
|
Add 'jmxName' property to web configuration parameters listing. Fixes DBCP-529. Thanks to Yuri. |
ggregory |
|
Update Apache Commons Pool from 2.6.2 to 2.7.0. Fixes DBCP-548. Thanks to Gary Gregory. |
ggregory |
|
Make org.apache.commons.dbcp2.AbandonedTrace.removeTrace(AbandonedTrace) null-safe. Fixes DBCP-549. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.DelegatingStatement.close() should try to close ALL of its result sets even when an exception occurs. Fixes DBCP-551. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.DelegatingConnection.passivate() should close ALL of its resources even when an exception occurs. Fixes DBCP-552. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.PoolablePreparedStatement.passivate() should close ALL of its resources even when an exception occurs. Fixes DBCP-553. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.PoolableCallableStatement.passivate() should close ALL of its resources even when an exception occurs. Fixes DBCP-554. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. Thanks to Gary Gregory. |
ggregory |
|
Update tests from H2 1.4.198 to 1.4.199. Thanks to Gary Gregory. |
ggregory |
|
Update tests from com.h2database:h2 1.4.197 to 1.4.199. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.jboss.narayana.jta:narayana-jta 5.9.2.Final to 5.9.5.Final. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.jboss.logging:jboss-logging 3.3.2.Final to 3.4.0.Final. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.mockito:mockito-core 2.24.0 to 2.28.2. Thanks to Gary Gregory. |
ggregory |
|
Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. Thanks to Gary Gregory. |
ggregory |
Release 2.6.0 – 2019-02-14
Type |
Changes |
By |
|
Allow for manual connection eviction. Fixes DBCP-534. Thanks to Peter Wicks. |
chtompki |
|
Allow DBCP to register with a TransactionSynchronizationRegistry for XA cases. Fixes DBCP-514. Thanks to Tom Jenkinson, Gary Gregory. |
ggregory |
|
Make defensive copies of char[] passwords. Fixes DBCP-517. Thanks to Gary Gregory. |
ggregory |
|
Do not try to register synchronization when the transaction is no longer active. Fixes DBCP-515. Thanks to Tom Jenkinson, Gary Gregory. |
ggregory |
|
Do not double returnObject back to the pool if there is a transaction context with a shared connection. Fixes DBCP-516. Thanks to Tom Jenkinson, Gary Gregory. |
ggregory |
|
Allow DBCP to work with old Java 6/JDBC drivers without throwing AbstractMethodError. Fixes DBCP-518. Thanks to Gary Gregory. |
ggregory |
|
Add some toString() methods for debugging (never printing passwords.). Fixes DBCP-519. Thanks to Gary Gregory. |
ggregory |
|
BasicManagedDataSource needs to pass the TSR with creating DataSourceXAConnectionFactory. Fixes DBCP-520. Thanks to Zheng Feng. |
ggregory |
|
Add getters to some classes. Fixes DBCP-527. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.DriverManagerConnectionFactory should use a char[] instead of a String to store passwords. Fixes DBCP-528. Thanks to Gary Gregory. |
ggregory |
|
Update Apache Commons Pool from 2.6.0 to 2.6.1. Fixes DBCP-537. Thanks to Gary Gregory. |
ggregory |
Release 2.5.0 – 2018-07-15
Type |
Changes |
By |
|
Update Java requirement from version 7 to 8. Fixes DBCP-505. Thanks to Gary Gregory. |
ggregory |
|
Support JDBC 4.2. Fixes DBCP-506. Thanks to Gary Gregory. |
ggregory |
|
Support default schema in configuration. Fixes DBCP-479. Thanks to Guillaume Husta, Gary Gregory. |
ggregory |
|
Examines 'SQLException's thrown by underlying connections or statements for fatal (disconnection) errors. Fixes DBCP-427. Thanks to Vladimir Konkov, Phil Steitz, Gary Gregory. |
ggregory |
|
Change default for fail-fast connections from false to true. Fixes DBCP-507. Thanks to Vladimir Konkov, Phil Steitz, Gary Gregory. |
ggregory |
|
Prepared statement keys should take a Connection's schema into account. Fixes DBCP-508. Thanks to Gary Gregory. |
ggregory |
|
Increase test coverage. Fixes DBCP-504. Thanks to Bruno P. Kinoshita. |
ggregory |
|
Update Apache Commons Pool from 2.5.0 to 2.6.0. Fixes DBCP-510. Thanks to Gary Gregory. |
ggregory |
|
Avoid exceptions when closing a connection in mutli-threaded use case. Fixes DBCP-512. Thanks to Gary Gregory. |
ggregory |
Release 2.4.0 – 2018-06-12
Type |
Changes |
By |
|
Connection leak during XATransaction in high load. Fixes DBCP-484. Thanks to Emanuel Freitas. |
ggregory |
|
Drop Ant build. Fixes DBCP-492. Thanks to Gary Gregory. |
ggregory |
|
Ensure DBCP ConnectionListener can deal with transaction managers which invoke rollback in a separate thread. Fixes DBCP-491. Thanks to Zheng Feng, Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.PStmtKey should make copies of given arrays in constructors. Fixes DBCP-494. Thanks to Gary Gregory. |
ggregory |
|
Remove duplicate code in org.apache.commons.dbcp2.cpdsadapter.PStmtKeyCPDS. Fixes DBCP-495. Thanks to Gary Gregory. |
ggregory |
|
Add support for pooling CallableStatements to the org.apache.commons.dbcp2.cpdsadapter package. Fixes DBCP-496. Thanks to Gary Gregory. |
ggregory |
|
Deprecate use of PStmtKeyCPDS in favor of PStmtKey. Fixes DBCP-497. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.DataSourceConnectionFactory should use a char[] instead of a String to store passwords. Fixes DBCP-498. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory should use a char[] instead of a String to store passwords. Fixes DBCP-499. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS should use a char[] instead of a String to store passwords. Fixes DBCP-500. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.datasources.CPDSConnectionFactory should use a char[] instead of a String to store passwords. Fixes DBCP-501. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.datasources internals should use a char[] instead of a String to store passwords. Fixes DBCP-502. Thanks to Gary Gregory. |
ggregory |
|
org.apache.commons.dbcp2.datasources.InstanceKeyDataSourceFactory.closeAll() does not close all. Fixes DBCP-503. Thanks to Gary Gregory. |
ggregory |
Release 2.3.0 – 2018-05-12
Type |
Changes |
By |
|
AbandonedTrace.getTrace() contains race condition. Fixes DBCP-476. Thanks to Gary Evesson, Richard Cordova. |
pschumacher |
|
Avoid javax.management.InstanceNotFoundException on shutdown when a bean is not registered. Closes #9. Fixes DBCP-482. Thanks to Dennis Lloyd, Gary Gregory. |
ggregory |
|
Make constant public: org.apache.commons.dbcp2.PoolingDriver.URL_PREFIX. Fixes DBCP-483. Thanks to Gary Gregory. |
ggregory |
|
DriverAdapterCPDS.setUser(), setPassword(), and getPooledConnection() with null arguments throw NullPointerExceptions when connection properties are set. Fixes DBCP-486. Thanks to Gary Gregory. |
ggregory |
|
Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear(). Fixes DBCP-487. Thanks to Gary Gregory. |
ggregory |
|
NPE for org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.setConnectionProperties(null). Fixes DBCP-488. Thanks to Gary Gregory. |
ggregory |
|
The method org.apache.commons.dbcp2.PoolingDriver.getConnectionPool(String) does not tell you which pool name is not registered when it throws an exception. Fixes DBCP-490. Thanks to Gary Gregory. |
ggregory |
Release 2.2.0 – 2017-12-27
Type |
Changes |
By |
|
Update Apache Commons Pool from 2.4.2 to 2.5.0. Fixes DBCP-481. Thanks to Gary Gregory. |
ggregory |
|
OSGi declarations contain multiple import headers for javax.transaction. Fixes DBCP-454. Thanks to Philipp Marx, Matt Sicker. |
mattsicker |
|
Wrong parameter name in site documentation for BasicDataSource Configuration Parameters. Fixes DBCP-478. Thanks to nicola mele. |
ggregory |
|
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. Fixes DBCP-452. |
psteitz |
|
NullPointerException thrown when calling ManagedConnection.isClosed(). Fixes DBCP-446. Thanks to Gary Gregory, feng yang, Euclides M, Phil Steitz. |
ggregory |
|
InvalidateConnection can result in closed connection returned by getConnection. Fixes DBCP-444. |
psteitz |
|
Complete the fix for DBCP-418, enabling PoolableConnection class to load in environments
(such as GAE) where the JMX ManagementFactory is not available. Fixes DBCP-449. Thanks to Grzegorz D.. |
ggregory |
|
Add constructor DriverManagerConnectionFactory(String). Fixes DBCP-451. |
ggregory |
|
Ensure that the cacheState setting is used when statement pooling is
disabled. Fixes DBCP-455. Thanks to Kyohei Nakamura. |
markt |
|
Ensure that setSoftMinEvictableIdleTimeMillis is used when working with
BasicDataSource. Fixes DBCP-453. Thanks to Philipp Marx. |
markt |
|
Correct the name of the configuration attribute
softMinEvictableIdleTimeMillis. Fixes DBCP-456. Thanks to Kyohei Nakamura. |
markt |
|
Avoid potential infinite loops when checking if an SQLException is fatal
for a connection or not. Fixes DBCP-472. |
markt |
|
Expand the fail-fast for fatal connection errors feature to include
managed connections. Fixes DBCP-468. |
markt |
|
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. Fixes DBCP-463. |
markt |
|
Refactoring to prepare for a future patch to enable pooling of all
prepared and callable statements in PoolingConnection. Fixes DBCP-462. Thanks to Keiichi Fujino. |
markt |
|
Ensure that a thread's interrupt status is visible to the caller if the
thread is interrupted during a call to
PoolingDataSource.getConnection(). Fixes DBCP-459. |
markt |
|
Make it simpler to extend BasicDataSource to allow sub-classes to
provide custom GenericObjectPool implementations. Fixes DBCP-458. Thanks to Adrian Tarau. |
markt |
|
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. Fixes DBCP-457. |
markt |
|
Enable pooling of all prepared and callable statements
inPoolingConnection. Fixes DBCP-474. Thanks to Keiichi Fujino. |
markt |
Release 2.1.1 – 6 Aug 2015
Type |
Changes |
By |
|
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. |
psteitz |
|
Added BasicDataSource abandonedUsageTracking property missing from BasicDataSourceFactory. Fixes DBCP-441. |
psteitz |
|
SharedPoolDataSource getConnection fails when testOnBorrow is set with
a null validation query. Fixes DBCP-442. |
psteitz |
|
Nested connections in a transaction (local) throws null pointer. Fixes DBCP-438. Thanks to Raihan Kibria. |
psteitz |
|
BasicDataSource does not set disconnectionSql properties on its PoolableConnectionFactory. Fixes DBCP-437. |
psteitz |
Release 2.1 – 23 Feb 2015
Type |
Changes |
By |
|
InstanceKeyDataSource discards native SQLException when given password does not match
password used to create the connection. Fixes DBCP-420. |
sebb |
|
Update Apache Commons Logging to 1.2 from 1.1.3. Fixes DBCP-422. |
ggregory |
|
Correct some Javadoc references to Apache Commons Pool 2 classes that
have changed names since Pool 1.x. |
markt |
|
Do not ignore the configured custom eviction policy when creating a
BasicDataSource. |
markt |
|
Added invalidateConnection method to BasicDataSource. Fixes DBCP-426. Thanks to Kasper Sørensen. |
psteitz |
|
Unsuccessful Connection enlistment in XA Transaction ignored by TransactionContext. Fixes DBCP-428. Thanks to Vladimir Konkov. |
psteitz |
|
Made expired connection logging configurable in BasicDataSource. Setting
logExpiredConnections to false suppresses expired connection log messages. Fixes DBCP-424. |
psteitz |
|
Made Datasources implement AutoCloseable. Fixes DBCP-423. |
psteitz |
|
Added fastFailValidation property to PoolableConnection, configurable in
BasicDataSource. When set to true, connections that have previously thrown
fatal disconnection errors will fail validation immediately (no driver calls). Fixes DBCP-427. Thanks to Vladimir Konkov. |
psteitz |
|
Changed BasicDataSource createDataSource method to ensure that initialization
completes before clients get reference to newly created instances. Fixes DBCP-432. |
psteitz |
|
Fixed connection leak when SQLException is thrown while enlisting an XA
transaction. Fixes DBCP-433. Thanks to Vladimir Konkov. |
psteitz |
|
Setting jmxName to null should suppress JMX registration of connection
and statement pools. Fixes DBCP-434. |
psteitz |
|
Eliminated synchronization in BasicDataSource getNumActive, getNumIdle methods. |
psteitz |
|
Added property name verification to BasicDataSourceFactory. References including
obsolete or unrecognized properties now generate log messages. Fixes DBCP-435. Thanks to Denixx Baykin. |
|
Release 2.0.1 – 24 May 2014
Type |
Changes |
By |
|
Small performance improvements when returning connections to the pool. |
markt |
|
Fixed DelegatingStatement close to ensure closed statements do not retain references
to pooled prepared statements. Due to finalization code added in 2.0, this was causing
pooled prepared statements to be closed by GC while in use by clients. Fixes DBCP-414. Thanks to Pasi Eronen. |
markt |
|
Added check in PoolingDataSource constructor to ensure that the connection factory
and pool are properly linked. Fixes DBCP-412. |
psteitz |
|
Fixed connection leak when managed connections are closed during transactions. Fixes DBCP-417. |
psteitz |
|
Enable PoolableConnection class to load without JMX. Fixes DBCP-418. |
psteitz |
Release 2.0 – 3 March 2014
Type |
Changes |
By |
|
BasicManagedDataSource - unregister from JMX on close(). Fixes DBCP-411. |
sebb |
|
Log validation failures of poolable connections. Fixes DBCP-154. |
markt |
|
DelegatingStatement.close() fails with NPE if statement is null. Fixes DBCP-403. |
sebb |
|
CPDSConnectionFactory.validateObject(Object) ignores Throwable. Fixes DBCP-322. |
sebb |
|
Provide a new option (cacheState) to cache current values of autoCommit
and readOnly so database queries are not required for every call to the
associated getters. This option is enabled by default. |
markt |
|
Removed unnecessary synchronisation in BasicDataSource#createDataSource. Fixes DBCP-300. |
markt |
|
The Java package name has been changed from org.apache.commons.dbcp to
org.apache.commons.dbcp2. |
markt |
|
Update to Commons Pool 2 (based on java.util.concurrent) to provide
pooling functionality. |
markt |
|
Updated source code for Java 1.6 (added @Override & @Deprecated
annotations). |
markt |
|
Removed JOCL support. |
markt |
|
Remove deprecated SQLNestedException. Fixes DBCP-143. |
markt |
|
Fix threading issues with accessToUnderlyingConnectionAllowed attribute
of PoolingDriver which is used to support unit testing. Fixes DBCP-384. |
markt |
|
BasicDataSource instances are now exposed via JMX. All the configuration
properties are available as is the connection pool and the statement
pools (if statement pooling is enabled). Fixes DBCP-292. |
markt |
|
Fix thread safety issues in the SharedPoolDataSource and the
PerUserPoolDataSource. Fixes DBCP-376. Thanks to Dave Oxley. |
markt |
|
Allow accessToUnderlyingConnectionAllowed to be configured when
configuration takes place via JNDI in a JavaEE container. Fixes DBCP-382. Thanks to Stefan Rempfer. |
markt |
|
Fix threading issue when using multiple instances of the
SharedPoolDataSource concurrently. Fixes DBCP-369. Thanks to Michael Pradel. |
markt |
|
Ensure that the close state of a pooled connection and the underlying
connection is consistent when the underlying connection is closed as a
result of an error condition. Fixes DBCP-391. |
markt |
|
Make all mutable fields private. Fixes DBCP-404. |
markt |
|
Return BasicDataSource rather than DataSource from
BasicDataSourceFactory so a cast is not required to use BasicDataSource
specific methods. Fixes DBCP-364. |
markt |
|
The equals() implementations of the DelegatingXxx classes are now
symmetric. There are some important API changes underlying this fix.
Firstly, two DelegatingXxx instances are no longer considered equal if
they have the same innermost delegate. Secondly, a DelegatingXxx
instance is not considered equal to its innermost delegate. The
getInnermostDelegateInternal() method has been made public (but remains
part of the internal API) to allow classes extending this implementation
to access the innermost delegate when required. Fixes DBCP-358. |
markt |
|
Expose the new Pool 2 property evictionPolicyClassName to enable more
sophisticated eviction strategies to be used. Fixes DBCP-368. |
markt |
|
Add support for pooling PreparedStatements that use auto-generated keys. Fixes DBCP-406. Thanks to Steeve Beroard. |
markt |
|
Enable JDBC resources that are no longer referenced by client code to be
eligible for garbage collection. Fixes DBCP-180. |
markt |
|
Enable DBCP to work with a SecurityManager such that only DBCP needs to
be granted the necessary permissions to communicate with the database. Fixes DBCP-177. |
markt |
|
Correct path to Javadoc overview in build.xml. Fixes DBCP-410. Thanks to Andreas Sturmlechner. |
markt |
|
The default values for readOnly, autoCommit and transactionIsolation are
now taken from the JDBC driver. No calls to setReadOnly(),
setAutoCommit() or setTransactionIsolation() will be made for a newly
borrowed connection unless a default is explicitly configured and the
connection is currently using a different setting. Fixes DBCP-234. |
markt |
|
Register pooled connections with JMX so that they may be forcibly closed
via JMX if required. Fixes DBCP-219. |
markt |
|
Modify SharedPoolDataSource and PerUserPoolDataSource to expose all of
the configuration properties of the underlying connection pool(s). This
represents a significant refactoring of these classes and a number of
property names have changed as a result. Fixes DBCP-373. |
markt |
|
Provide an option to control if autoCommit is always set to true when a
connection is returned to the connection pool. Fixes DBCP-351. |
markt |
|
Provide an option to control if rollback is called when a connection is
returned to the poll with autoCommit disabled. Fixes DBCP-399. |
markt |
|
Provide an option to set the default query timeout. Fixes DBCP-340. |
markt |
|
Connection.isValid() should not throw an SQLException if the connection
is closed. |
markt |
|
Use Connection.isValid() to validate connections unless a validation
query is explicitly configured. Note that this means it is no longer
necessary for a validation query to be specified in order for validation
to take place. When testing with Oracle, this resulted in database
validation being approximately 7 times faster. Fixes DBCP-357. |
markt |
|
Add support for validation testing database connections on creation. Fixes DBCP-249. |
markt |
Release 1.5.1 – not yet released
Type |
Changes |
By |
|
Correct the documentation for the maxOpenPreparedStatements parameter
and review the use of the phrase non-positive throughout the
documentation and javadoc, replacing it with negative where that is the
correct definition to use. Fixes DBCP-400. |
markt |
|
Avoid multiple calls to Connection.getAutoCommit() in
PoolableConnectionFactory.passivateObject() as it could be an expensive
call. Fixes DBCP-405. |
markt |
|
Use one line per statement for methods with multiple statements rather
than using a single line. Fixes DBCP-392. |
markt |
|
Expose all of the AbandonedConfig properties through a BasicDataSource. Fixes DBCP-396. |
markt |
|
Correct implementation of DelegatingConnection.isWrapperFor() so it
works correctly with older JDBC drivers. Fixes DBCP-380. Thanks to Balazs Zsoldos. |
markt |
|
Correct implementation of DelegatingStatement.isWrapperFor(). Also fix
DelegatingDatabaseMetaData.isWrapperFor() and
DelegatingResultSet.isWrapperFor() that had the same problem. Fixes DBCP-347. Thanks to Robert Poskrobek. |
markt |
|
LocalXAConnectionFactory does not properly check if Xid is equal to
currentXid when resuming which may result in an XAException. Fixes DBCP-341. Thanks to Ioannis Canellos. |
markt |
|
Ensure that the XAConnection is closed when the associated Connection is
closed. Fixes DBCP-355. Thanks to Florent Guillaume. |
markt |
|
Clarify Jaavdoc for isClosed() method of PoolableConnection. Fixes DBCP-398. |
markt |
|
Avoid NullPointerException and throw an XAException if an attempt is
made to commit the current transaction for a connection when no
transaction has been started. Fixes DBCP-383. |
markt |
|
Using batchUpdate() should not invalidate the PreparedStatement when it
is returned to the pool. Fixes DBCP-372. |
markt |
|
Improve documentation for JNDI example using BasicDataSource. Fixes DBCP-309. |
markt |
Release 1.4.1 – not yet released
Type |
Changes |
By |
|
Exposed GenericObjectPool's softMinEvictableIdleTimeMillis property for
configuration and use by BasicDataSource. Fixes DBCP-334. Thanks to Alberto Mozzone. |
psteitz |
|
Made equals reflexive in DelegatingStatement (and subclasses), DelegatingMetaData,
DelegatingResultSet and PoolingDriver#PoolGuardConnectionWrapper. Fixes DBCP-337. Thanks to Rob Gansevles. |
psteitz |
|
Modified createDataSource method in BasicDataSource to ensure that GenericObjectPool
Evictor tasks are not started and orphaned when BasicDataSource encounters errors on
initialization. Prior to this fix, when minIdle and timeBetweenEvictionRunsMillis
are both positive, Evictors orphaned by failed initialization can continue to
generate database connection requests. This issue is duplicated by DBCP-339
and DBCP-93. Fixes DBCP-342. Thanks to Byungchol Kim. |
psteitz |
|
Changed DelegatingDatabaseMetaData to no longer add itself to the AbandonedTrace
of its parent connection. This was causing excessive memory consumption and was
not necessary, as resultsets created by DelegatingDatabaseMetaData instances are
attached to the parent connection's trace on creation. Also fixes DBCP-352. Fixes DBCP-330. |
psteitz |
|
Modified execute methods of Statement objects to ensure that whenever
a statement is used, the lastUsed property of its parent connection is
updated. Fixes DBCP-343. |
psteitz |
|
Correctly implemented the option to configure the class loader used to load
the JDBC driver. Fixes DBCP-333. |
markt |
|
LIFO configuration option has been added to BasicDataSource. When set
to true (the default), the pool acts as a LIFO queue; setting to false
causes connections to enter and exit to pool in FIFO order. Fixes DBCP-346. Thanks to Ken Tatsushita. |
psteitz |
|
Test transitive dependencies brought in by geronimo-transaction created
version conflicts (commons logging and junit). These have been explicitly
excluded in the POM. Fixes DBCP-344. Thanks to Jeremy Whiting. |
psteitz |
|
BasicDataSourceFactory incorrectly used "initConnectSqls" in versions
1.3 and 1.4 of DBCP as the property name for connectionInitSqls.
Online docs for 1.3/1/4 have been updated to reflect this inconsistency.
The BasicDataSourceFactory property name has been changed to "connectInitSqls"
to match the online docs and the BasicDataSource property name. Fixes DBCP-348. Thanks to Eiji Takahashi. |
psteitz |
Release 1.4 – 2010-02-14
Type |
Changes |
By |
|
Eliminated poolKeys cache from PerUserPoolDataSource. Fixes DBCP-320. |
psteitz |
|
Eliminated userKeys LRUMap cache from SharedPoolDataSource. Fixes DBCP-321. |
sebb |
|
Made private fields final where possible. Fixes DBCP-319. Thanks to Sebastian Bazley. |
psteitz |
|
PerUserPoolDataSource.getPooledConnectionAndInfo multi-threading bug. Fixes DBCP-318. Thanks to Sebastian Bazley. |
sebb |
|
Remove throws clause from method that does not throw an exception. Fixes DBCP-315. Thanks to Sebastian Bazley. |
sebb |
|
Remove code that catches and ignores Exceptions when calling
PooledConnection.removeConnectionEventListener(ConnectionEventListener)
as the method does not throw any Exceptions. Fixes DBCP-313. Thanks to Sebastian Bazley. |
sebb |
|
Remove impossible null check. Fixes DBCP-316. Thanks to Sebastian Bazley. |
sebb |
|
Renamed variables with duplicate names in different scopes. Fixes DBCP-314. Thanks to Sebastian Bazley. |
sebb |
|
Clarified javadoc for BasicDataSource close() method. Fixes DBCP-312. Thanks to Glen Mazza. |
psteitz |
|
Made PoolingConnection pool CallableStatements. When BasicDataSource's
poolPreparedStatements property is true, CallableStatements are now
pooled along with PreparedStatements. The maxOpenPreparedStatements
property limits the combined number of Callable and Prepared statements
that can be in use at a given time. Fixes DBCP-204. Thanks to Wei Chen. |
psteitz |
|
Use an API specific exception for logging abandoned objects to make
scanning the logs for these exceptions simpler and to provide a better
message that includes the creation time of the abandoned object. Fixes DBCP-305. Thanks to Christopher Schultz. |
markt |
|
Ensure Statement.getGeneratedKeys() works correctly with the CPDS
adapter. Fixes DBCP-303. Thanks to Dave Oxley. |
markt |
|
Removed incorrectly advertised ClassNotFoundException from
JOCLContentHandler.ConstructorDetails.createObject(). Fixes DBCP-302. Thanks to Sebastian Bazley. |
psteitz |
|
Make the class loader used to load the JDBC driver configurable for the
BasicDatasource. Fixes DBCP-203. Thanks to Mark Grand. |
markt |
|
Handle user password changes for InstanceKeyDataSources. Fixes DBCP-8. |
markt |
|
Made XADataSource configurable in BasicManagedDataSource. Fixes DBCP-289. Thanks to Marc Kannegießer. |
psteitz |
|
Added PoolableManagedConnection and PoolableManagedConnectionFactory so that
pooled managed connections can unregister themselves from transaction registries,
avoiding resource leaks. Fixes DBCP-294. Thanks to Philippe Mouawad. |
psteitz |
|
Added connectionProperties property to DriverAdapterCPDS. Fixes DBCP-276. |
psteitz |
|
Added a validationQueryTimeout configuration parameter to BasicDataSource
allowing the user to specify a timeout value (in seconds) for connection
validation queries. Fixes DBCP-226. |
psteitz |
|
Added a connectionInitSqls configuration parameter to BasicDataSource
allowing the user to specify a collection of SQL statements to execute
one time when a physical database connection is first opened. Fixes DBCP-175. Thanks to Jiri Melichna and Jerome Lacoste. |
psteitz |
|
PoolableConnectionFactory.makeObject() is no longer synchronized. This
provides improved response times when load spikes at the cost of a
faster rise in database server load. This change was made as a partial
fix for DBCP-212. The synchronization changes in Commons Pool 1.5 complete
the fix for this issue. Fixes DBCP-212. |
markt |
|
Reverted DelegatingConnection close to 1.2.2 version to ensure
open statements are closed before the underlying connection is closed. Fixes DBCP-242. |
psteitz |
|
Refactor DelegatingConnection and ManagedConnection enable overridden
equals() and hashcode() to work correctly. Fixes DBCP-235. |
markt |
|
Add a DelegatingDatabaseMetaData to track ResultSets returned from
DatabaseMetaData objects. Fixes DBCP-265. |
markt |
|
Modified BasicDataSourceFactory to complete initialization of the pool
by creating initialSize connections rather than leaving this to lazy
initialization when the pool is used. Fixes DBCP-215. |
markt |
|
Eliminated masked _stmt field in descendents of DelegatingStatement. Fixes DBCP-253. |
markt |
|
Modified DBCP sources to support compilation under JDK 1.4-1.6
using Ant flags to do conditional compilation. Fixes DBCP-191. Thanks to Michael Heuer and J. David Beutel. |
markt |
|
Added a static initializer to BasicDatasource that calls
DriverManager.getDrivers() to force initialization before we ever do
anything that might use Class.forName() to load (and register) a JDBC
driver. Fixes DBCP-272. |
markt |
|
Eliminated direct System.out calls in AbandonedTrace. Fixes DBCP-4. |
markt |
|
Modified DelegatingStatement close to clear open batches. Fixes DBCP-264. |
niallp |
|
Eliminated unused private "parent" field in AbandonedTrace. Fixes DBCP-255. |
psteitz |
|
Fixed errors handling boolean-valued Reference properties in
InstanceKeyObjectFactory, DriverAdapterCPDS that were causing
testOnBorrow and poolPreparedStatements properties to be incorrectly
set when creating objects from javax.naming.Reference instances. Fixes DBCP-273. Thanks to Mark Lin. |
psteitz |
|
Made private instance fields of AbandonedTrace volatile (parent,
createdBy, lastUsed, createdTime) or final (trace). Fixes DBCP-271. Thanks to Sebastian Bazley. |
psteitz |
|
Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock. Fixes DBCP-270. Thanks to Filip Hanik. |
psteitz |
|
Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are
NOT supported by BasicDataSource. Fixes DBCP-218. |
bayard |
|
Added Maven 2 pom.xml. Removed a block of code from TestJOCLed that set
the Xerces parser manually. This was to support early JDKs. The 1.3
version of DBCP requires JDK 1.4+. Fixes DBCP-211. |
bayard |
|
Added support for pooling managed connections. Fixes DBCP-228. Thanks to Dain Sundstrom. |
psteitz |
|
Added BasicManagedDataSource, extending BasicDataSource.
Also improved extensibility of BasicDataSource by encapsulating
methods to create object pool, connection factory and datasource
instance previously embedded in createDataSource. Fixes DBCP-230. Thanks to Dain Sundstrom. |
psteitz |
|
Changed behavior to allow Connection, Statement, PreparedStatement,
CallableStatement and ResultSet to be closed multiple times. The first
time close is called the resource is closed and any subsequent calls
have no effect. This behavior is required as per the Javadocs for these
classes. Also added tests for closing all types multiple times and
updated any tests that incorrectly assert that a resource can not be
closed more then once. Fixes DBCP-3, DBCP-5, DBCP-23 and DBCP-134. Fixes DBCP-233. Thanks to Dain Sundstrom. |
psteitz |
|
Modified PoolingDataSource, PoolingDriver and DelegatingStatement to
assure that all returned Statements, PreparedStatements,
CallableStatements and ResultSets are wrapped with a delegating object,
which already properly handle the back pointers for Connection and
Statement. Also added tests to assure that the *same* object used
to create the statement or result set is returned from either
getConnection() or getStatement(). Fixes DBCP-11. Thanks to Dain Sundstrom. |
psteitz |
|
SQLNestedException has been deprecated and will be replaced in DBCP 2.0 with
SQLException and standard Java exception chaining. Fixes DBCP-143. |
dain |
|
BasicDataSource.close() now permanently marks the data source as closed,
and no new connections can be obtained from the data source. At close all
idle connections are destroyed and the method returns. As the remaining
active connections are closed, they are destroyed. Fixes DBCP-221. |
dain |
|
Eliminated potential sources of NullPointerExceptions in
PoolingConnection. Fixes DBCP-241. |
psteitz |
|
Improved error recovery and listener cleanup in
KeyedCPDSConnectionFactory. Substituted calls to destroyObject with
_pool.invalidateObject on error to ensure pool active count is
decremented on error events. Ensured that events from closed or invalid
connections are ignored and listeners are cleaned up. Fixes DBCP-216. Thanks to Marcos Sanz. |
psteitz |
|
Fixed error in SharedPoolDataSource causing incorrect passwords to be
stored under certain conditions. Fixes DBCP-245. Thanks to Michael Drechsel. |
psteitz |
|
Added exception handler to ensure that PooledConnections are not
orphaned when an exception occurs in setUpDefaults or clearWarnings in
InstanceKeyDataSource.getConnection. Fixes DBCP-237. Thanks to Oliver Matz. |
psteitz |
|
Made getPool synchronized in PoolableConnectionFactory.
Fixes inconsistent synchronization accessing _pool. Fixes DBCP-252. Thanks to FindBugs. |
psteitz |
|
Fixed inconsistent synchronization on _rollbackAfterValidation,
_validationQuery and _pool in CPDSConnectionFactory and
KeyedCPDSConnectionFactory by making the first two volatile and making
both getter and setter for _pool synchronized. Fixes DBCP-252. Thanks to FindBugs. |
psteitz |
Release 1.3 – 2010-02-14
Type |
Changes |
By |
|
See <a href="changes-report.html#a1.4">DBCP 1.4 Changes </a> for details. Version
1.3 is identical to 1.4, other than JDBC 4 methods being filtered out of the DBCP 1.3 sources. Changes
Since 1.2.2 are the same for 1.3 and 1.4. |
|
Release 1.2.2 – 2007-04-04
Type |
Changes |
By |
|
Add a <i>JNDI How To</i> to the User Guide. |
dirkv |
|
DriverManagerConnectionFactory: blank user name and password handling. Fixes DBCP-108. Thanks to Maxwell Grender-Jones. |
dirkv |
|
Broken behaviour for BasicDataSource.setMaxActive(0). Fixes DBCP-113. Thanks to Rohan Lenard. |
dirkv |
|
BasicDataSource does not work with getConnection(String, String). Fixes DBCP-36. Thanks to Jonathan Whitall. |
dirkv |
|
Enhancements to prepared statement in DriverAdapterCPDS. Fixes DBCP-164. Thanks to Todd Carmichael. |
dirkv |
|
Better messages and docs for LoginTimeout UnsupportedOperationException. Fixes DBCP-186. Thanks to Ralf Hauser. |
yoavs |
|
Error in JOCL snippet in org.apache.commons.dbcp package javadoc. Fixes DBCP-50. Thanks to Nicky Nicolson. |
yoavs |
|
Added toString() methods to DelegatingPreparedStatement and DelegatingStatement. Fixes DBCP-165. Thanks to QM. |
yoavs |
|
Changes to make DBCP compile on JDK 1.5 by adding source="1.4" to compiler
arguments (there are compiler errors in JDK 5.0 without this source switch
that cannot be fixed without JDK 5.0-specific syntax). |
yoavs |
|
Per-user pooling with Oracle driver and default isolation settings. Fixes DBCP-20. Thanks to Chris Nappin. |
dirkv |
|
Error in JOCL document in javadoc. Fixes DBCP-9. Thanks to Adrian Baker. |
dirkv |
|
Added toString() method to DelegatingConnection. |
sullis |
|
Add DriverManager.invalidateConnection(). Fixes DBCP-181. Thanks to Meikel Bisping. |
dirkv |
|
Improved Exception nesting in ConnectionPool. Fixes DBCP-184. Thanks to Meikel Bisping. |
dirkv |
|
Fix broken website links for examples. Fixes DBCP-144. Thanks to Sebb. |
dennisl |
|
Modified PoolableConnection close method to invalidate instance
when invoked on an already closed connection. Fixes DBCP-28. Thanks to Huw Lewis, James Ring. |
psteitz |
|
Inserted null checks to avoid NPE in close operations. Fixes DBCP-81. |
joehni |
|
Changed getReference method in InstanceKeyDataSource to return a
concrete factory and added implementations of getReference in concrete
subclasses. Fixes DBCP-105. Thanks to Sandy McArthur, Thomas Fischer. |
psteitz |
|
Inserted null check in close method of SharedPoolDataSource to avoid
NPE when invoked on non-initialized pool. Fixes DBCP-39. Thanks to Jindrich Vimr. |
psteitz |
|
Document fact that true values for testOnBorrow, testOnReturn, testWhileIdle
only have effect when validationQuery is set to a non-null string. Fixes DBCP-71. Thanks to Douglas Squirrel. |
psteitz |
|
Modified activateObject in PoolableConnection to test connection
properties before resetting to defaults. Fixes DBCP-102. |
psteitz |
|
Corrected maxActive documentation in configuration.html. Fixes DBCP-188. |
sandymac |
|
Upgraded dependency to Pool 1.3. |
psteitz |
|
Added connection info to SQLException messages when closed connections
(resp stmts) are accessed in DelegatingConnection, DelegatingStatement. Fixes DBCP-187. Thanks to Ralf Hauser. |
psteitz |
|
Fixed errors in pool parameter documentation and made
0 value for _maxPreparedStatements in DriverAdapterCPDS behave
like a negative value, to be consistent with documentation
and pool behavior. Fixes DBCP-41. Thanks to Anton Tagunov. |
psteitz |
|
Made userKeys an instance variable (i.e., not static)
in SharedPoolDataSource. Fixes DBCP-100. |
psteitz |
|
Changed implementation of equals in
PoolingDataSource.PoolGuardConnectionWrapper
to ensure it is reflexive, even when wrapped connections are not
DelegatingConnections. Fixes DBCP-198. |
psteitz |
|
Added rollbackAfterValidation property and code to issue a rollback on a
connection after validation when this property is set to true to eliminate
Oracle driver exceptions. Default property value is false. Fixes DBCP-116. Thanks to Thomas Fischer. |
psteitz |
|
Removed dependency on Commons Collections by adding collections
2.1 sources for LRUMap and SequencedHashMap with package scope to
datasources package. Fixes DBCP-68. |
psteitz |
|
Removed synchronization from prepareStatement methods in
PoolingConnection. Synchronization in these methods was causing
deadlocks. No resources other than the prepared statement pool are
accessed by these methods, and the pool methods are synchronized.
Also fixes DBCP-202. Fixes DBCP-65. |
psteitz |
Release 1.2.1 – 2004-06-12
Type |
Changes |
By |
|
See <a href="release-notes-1.2.1.html">DBCP 1.2.1 Release Notes</a> for details. |
|
Release 1.2 – 2004-06-07
Type |
Changes |
By |
|
See <a href="release-notes-1.2.html">DBCP 1.2 Release Notes</a> for details. |
|
Release 1.1 – 2003-10-20
Type |
Changes |
By |
|
See <a href="release-notes-1.1.html">DBCP 1.1 Release Notes</a> for details. |
|
Release 1.0 – 2002-08-12
Type |
Changes |
By |
|
Initial Release |
|
|