<?xml version="1.0"?> | |
<!-- | |
Licensed to the Apache Software Foundation (ASF) under one or more | |
contributor license agreements. See the NOTICE file distributed with | |
this work for additional information regarding copyright ownership. | |
The ASF licenses this file to You under the Apache License, Version 2.0 | |
(the "License"); you may not use this file except in compliance with | |
the License. You may obtain a copy of the License at | |
http://www.apache.org/licenses/LICENSE-2.0 | |
Unless required by applicable law or agreed to in writing, software | |
distributed under the License is distributed on an "AS IS" BASIS, | |
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
See the License for the specific language governing permissions and | |
limitations under the License. | |
--> | |
<!-- | |
This file is used by the maven-changes-plugin to generate the release notes. | |
Useful ways of finding items to add to this file are: | |
1. Add items when you fix a bug or add a feature (this makes the | |
release process easy :-). | |
2. Do a bugzilla search for tickets closed since the previous release. | |
3. Use the report generated by the maven-changelog-plugin to see all | |
SVN commits. Set the project.properties' maven.changelog.range | |
property to the number of days since the last release. | |
To generate the release notes from this file: | |
mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] | |
then tweak the formatting if necessary | |
and commit | |
The <action> type attribute can be add,update,fix,remove. | |
--> | |
<document xmlns="http://maven.apache.org/changes/1.0.0" | |
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | |
xsi:schemaLocation="http://maven.apache.org/changes/1.0.0 http://maven.apache.org/xsd/changes-1.0.0.xsd"> | |
<properties> | |
<title>Apache Commons DBCP Release Notes</title> | |
</properties> | |
<!-- NOTE: | |
The description below is specially formatted so as to improve the layout of the generated release notes: | |
The parsing process removes all line feeds, replacing them with a single space. | |
The Velocity template in src/changes has been enhanced to replace pairs of adjacent spaces | |
with a new-line in the release notes. (These spaces are ignored when displaying HTML). | |
If the output is not quite correct, check for invisible trailing spaces! | |
N.B. The release notes template groups actions by type, and only extracts data for the current release. | |
The changes report outputs actions in the order they appear in this file. | |
To regenerate the release notes: | |
mvn changes:announcement-generate -Prelease-notes [-Dchanges.version=nnn] | |
Defining changes.version allows one to create the RN without first removing the SNAPSHOT suffix. | |
EvictionTimer | |
--> | |
<body> | |
<release version="2.12.1" date="YYYY-MM-DD" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- FIX --> | |
<!-- ADD --> | |
<!-- UPDATE --> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-parent from 66 to 69 #360, #371.</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump commons-logging:commons-logging from 1.3.0 to 1.3.1 #368.</action> | |
</release> | |
<release version="2.12.0" date="2024-02-29" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- FIX --> | |
<action type="fix" issue="DBCP-590" dev="psteitz" due-to=" Réda Housni Alaoui">BasicDataSource#setAbandonedUsageTracking has no effect.</action> | |
<action type="fix" issue="DBCP-596" dev="ggregory" due-to="Aapo Haapanen, Gary Gregory">PoolingConnection.toString() causes StackOverflowError.</action> | |
<action type="fix" dev="ggregory" due-to="Gary Gregory, Rémy Maucherat">PooledConnectionImpl.destroyObject(PStmtKey, PooledObject) can throw NullPointerException #312.</action> | |
<action type="fix" dev="ggregory" due-to="Gary Gregory, Rémy Maucherat">PoolingConnection.destroyObject(PStmtKey, PooledObject) can throw NullPointerException #312.</action> | |
<action type="fix" issue="DBCP-477" dev="ggregory" due-to="Mubasher Usman, Gary Gregory">Fix examples in src/main/java/org/apache/commons/dbcp2/package-info.java.</action> | |
<!-- ADD --> | |
<action type="add" dev="ggregory" due-to="Gary Gregory">Add property project.build.outputTimestamp for build reproducibility.</action> | |
<action type="add" dev="ggregory" due-to="Heewon Lee">Add null guards in DelegatingDatabaseMetaData constructor #352.</action> | |
<action type="add" issue="DBCP-473" dev="ggregory" due-to="Steve Cohen, Gary Gregory">Data source bean creation failed due to mismatched return type of setter and getter for connectionInitSqls in BasicDataSource: Add BasicDataSource.setConnectionInitSqls(List).</action> | |
<!-- UPDATE --> | |
<action type="update" dev="psteitz" due-to="cortlepp-intershop">Use ReentrantLock in PoolableConnection.close, #591</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-lang3 from 3.13.0 to 3.14.0.</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 64 to 66.</action> | |
<action type="update" dev="ggregory" due-to="Dependabot">Bump org.slf4j:slf4j-simple from 2.0.9 to 2.0.12 #349.</action> | |
</release> | |
<release version="2.11.0" date="2023-10-23" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- FIX --> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Update call sites of deprecated APIs from Apache Commons Pool.</action> | |
<!-- ADD --> | |
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Add DataSourceMXBean.getUserName() and deprecate getUsername().</action> | |
<!-- UPDATE --> | |
<action type="update" dev="ggregory" due-to="Gary Gregory, Dependabot">Bump h2 from 2.2.220 to 2.2.224, #308.</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump commons-parent from 60 to 64.</action> | |
<action type="update" dev="ggregory" due-to="Dependabot">Bump org.slf4j:slf4j-simple from 2.0.7 to 2.0.9 #301.</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump org.apache.commons:commons-pool2 from 2.11.1 to 2.12.0.</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory">Bump jakarta.transaction:jakarta.transaction-api from 1.3.1 to 1.3.3.</action> | |
<action type="update" dev="pkarwasz" due-to="Piotr P. Karwasz">Bump commons-logging:commons-logging from 1.2 to 1.3.0.</action> | |
</release> | |
<release version="2.10.0" date="2023-08-28" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- FIX --> | |
<action dev="ggregory" type="fix" due-to="newnewcoder, Gary Gregory"> | |
Fix StackOverflowError in PoolableConnection.isDisconnectionSqlException #123. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
PerUserPoolDataSourceFactory.getNewInstance(Reference) parsed defaultMaxWaitMillis as an int instead of a long. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Reimplement time tracking in AbandonedTrace with an Instant instead of a long. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Migrate away from deprecated APIs in Apache Commons Pool. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix possible NullPointerException in BasicDataSourceFactory.validatePropertyNames(). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Fix possible NullPointerException in BasicDataSourceFactory.getObjectInstance(). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Kurtcebe Eroglu, Gary Gregory, Phil Steitz" issue="DBCP-585"> | |
Connection level JMX queries result in concurrent access to connection objects, causing errors #179. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
UserPassKey should be Serializable. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
LifetimeExceededException should extend SQLException. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Replace Exception with SQLException in some method signatures (preserves binary compatibility, not source). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Don't leak Connections when PoolableConnectionFactory.makeObject() fails to create a JMX ObjectName. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SpotBugs, Gary Gregory"> | |
Performance: No need for map lookups if we traverse map entries instead of keys. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SpotBugs, Gary Gregory"> | |
Performance: Refactor to use a static inner class in DataSourceXAConnectionFactory. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SpotBugs, Gary Gregory"> | |
Reuse pattern of throwing XAException instead of NullPointerException in LocalXAConnectionFactory.LocalXAResource. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SpotBugs, Gary Gregory"> | |
SpotBugs: An overridable method is called from constructors in PoolableCallableStatement. | |
</action> | |
<action dev="ggregory" type="fix" due-to="SpotBugs, Gary Gregory"> | |
SpotBugs: An overridable method is called from constructors in PoolablePreparedStatement. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Wrong property name logged in ConnectionFactoryFactory.createConnectionFactory(BasicDataSource, Driver). | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Throw SQLException instead of NullPointerException when the connection is already closed. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
CPDSConnectionFactory.makeObject() does not need to wrap and rethrow SQLException. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
PoolingDataSource.close() now always throws SQLException. | |
</action> | |
<action dev="ggregory" type="fix" due-to="step-security-bot, Gary Gregory"> | |
[StepSecurity] ci: Harden GitHub Actions #282. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Martin Wiesner"> | |
Fixes typos, missing or misplaced characters, and grammar issues #299. | |
</action> | |
<!-- ADD --> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and use AbandonedTrace#setLastUsed(Instant). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
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. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add PMD check to default Maven goal. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add Utils.getDisconnectionSqlCodes() and Utils.DISCONNECTION_SQL_CODES. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Make BasicDataSource.getConnectionPool() public. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add github/codeql-action. | |
</action> | |
<!-- UPDATE --> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump actions/cache from 2.1.6 to 3.0.8 #147, #176. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump actions/checkout from 2.3.4 to 3.0.2 #139, #143, #173. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump actions/setup-java from 2 to 3.6.0 #229. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump actions/upload-artifact from 3.1.0 to 3.1.1 #231. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump checkstyle from 8.44 to 9.3 #121, #130, #149, #158, #190. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump maven-checkstyle-plugin from 3.1.2 to 3.2.0 #210. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Bump commons-pool2 2.10.0 to 2.11.1. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump junit-jupiter from 5.8.0-M1 to 5.9.1 #125, #136, #157, #203, #218. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump spotbugs-maven-plugin from 4.3.0 to 4.7.3.0 #140, #154, #161, #178, #192, #200, #204, #213, #234. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump spotbugs from 4.3.0 to 4.7.3 #124, #133, #151, #164, #177, #189, #214, #230. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
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. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump maven-javadoc-plugin from 3.3.0 to 3.4.1 #131, #184. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump maven-pmd-plugin from 3.14.0 to 3.19.0 #132, #172, #195. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump pmd from 6.44.0 to 6.52.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump narayana-jta from 5.12.0.Final to 5.12.7.Final #134, #156, #163, #185, #197. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump japicmp-maven-plugin from 0.15.3 to 0.17.1 #137, #166, #174, #211, #238. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
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. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump jboss-logging from 3.4.2.Final to 3.4.3.Final #162. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump slf4j-simple from 1.7.30 to 1.7.36 #169. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump commons-parent from 52 to 60 #180, #219, #254, #278. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump JaCoCo from 0.8.7 to 0.8.8. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump maven-surefire-plugin 2.22.2 to 3.0.0-M7. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Bump apache-rat-plugin 0.13 to 0.14. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump commons-lang3 from 3.12 to 3.13.0. | |
</action> | |
</release> | |
<release version="2.9.0" date="2021-07-30" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- ADD --> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse Constants.KEY_USER and Constants.KEY_PASSWORD. | |
</action> | |
<action dev="ggregory" type="add" due-to="Frank Gasdorf, Gary Gregory"> | |
Add and reuse DataSourceMXBean. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse DriverAdapterCPDS.{get|set}DurationBetweenEvictionRuns(), deprecate {get|set}TimeBetweenEvictionRunsMillis(long). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse DriverAdapterCPDS.{get|set}MinEvictableIdleDuration(), deprecate {get|set}MinEvictableIdleTimeMillis(int). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse CPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse KeyedCPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse KeyedCPDSConnectionFactory.setMaxConnLifetime(Duration), deprecate setMaxConnLifetimeMillis(long). | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add and reuse InstanceKeyDataSource.{get|set}DefaultMaxWait(Duration), deprecate {get|set}DefaultMaxWaitMillis(long). | |
</action> | |
<!-- FIXES --> | |
<action dev="ggregory" type="fix" issue="DBCP-569" due-to="Florent Guillaume"> | |
Fix test random failure on TestSynchronizationOrder.testInterposedSynchronization, #84. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-568" due-to="Florent Guillaume"> | |
ManagedConnection must clear its cached state after transaction completes, #75. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Arturo Bernal"> | |
Minor Improvements #78. | |
</action> | |
<action issue="DBCP-567" dev="ggregory" type="fix" due-to="Phil Steitz, Gary Gregory, Phil Steitz, Romain Manni-Bucau"> | |
Use abort rather than close to clean up abandoned connections. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory, DaGeRe"> | |
Performance Enhancement: Call toArray with Zero Array Size #20. | |
</action> | |
<action issue="DBCP-562" dev="ggregory" type="fix" due-to="Frank Gasdorf, Gary Gregory"> | |
Avoid exposing password via JMX #38. | |
</action> | |
<action issue="DBCP-575" dev="ggregory" type="fix" due-to="Arturo Bernal"> | |
Remove redundant initializers #98. | |
</action> | |
<action issue="DBCP-577" dev="ggregory" type="fix" due-to="Arturo Bernal"> | |
Simplify test assertions #100, #113. | |
</action> | |
<action issue="DBCP-573" dev="ggregory" type="fix" due-to="Réda Housni Alaoui, Gary Gregory"> | |
DataSource implementations do not implement Wrapper interface correctly #93. | |
</action> | |
<action dev="ggregory" type="fix"> | |
Replace FindBugs with SpotBugs. | |
</action> | |
<action dev="ggregory" type="fix"> | |
DataSourceConnectionFactory.getUserPassword() may expose internal representation by returning DataSourceConnectionFactory.userPassword. | |
</action> | |
<action dev="ggregory" type="fix"> | |
DataSourceXAConnectionFactory.getUserPassword() may expose internal representation by returning DataSourceXAConnectionFactory.userPassword. | |
</action> | |
<action dev="ggregory" type="fix"> | |
DriverAdapterCPDS.getPasswordCharArray() may expose internal representation by returning DriverAdapterCPDS.userPassword. | |
</action> | |
<action dev="ggregory" type="fix"> | |
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. | |
</action> | |
<action dev="ggregory" type="fix"> | |
org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory.setPassword(char[]) may expose internal representation by storing an externally mutable object into DataSourceXAConnectionFactory.userPassword. | |
</action> | |
<action dev="ggregory" type="fix"> | |
org.apache.commons.dbcp2.PStmtKey.getColumnIndexes() may expose internal representation by returning PStmtKey.columnIndexes. | |
</action> | |
<action dev="ggregory" type="fix"> | |
org.apache.commons.dbcp2.PStmtKey.getColumnNames() may expose internal representation by returning PStmtKey.columnNames. | |
</action> | |
<action issue="DBCP-578" dev="ggregory" type="fix" due-to="Arturo Bernal"> | |
Use Collections.synchronizedList() Instead Of Vector #101. | |
</action> | |
<action issue="DBCP-576" dev="ggregory" type="fix" due-to="Arturo Bernal"> | |
Simplify and inline variables #99. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Update PoolKey#toString() to avoid revealing a user name is here. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
Internal package private UserPassKey class stores its user name as a char[] as it already does the password. | |
</action> | |
<action issue="DBCP-579" dev="ggregory" type="fix" due-to="Shaktisinh Jhala, Gary Gregory"> | |
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. | |
</action> | |
<action dev="ggregory" type="fix" due-to="Gary Gregory"> | |
BasicDataSource should test for the presence of a security manager dynamically, not once on initialization. | |
</action> | |
<!-- UPDATES --> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump mockito-core from 3.5.11 to 3.11.2 #66, #72, #77, #85, #91, #105, #110, #116. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump actions/checkout from v2.3.2 to v2.3.4 #65, #74. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump actions/cache from v2 to v2.1.6 #90, #108. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump commons-pool2 from 2.8.1 to 2.9.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump actions/setup-java from v1.4.2 to v2 #69. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump japicmp-maven-plugin from 0.14.3 to 0.15.2 #71, #82. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Bump maven-pmd-plugin from 3.13.0 to 3.14.0 #76. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory"> | |
Bump japicmp-maven-plugin from 0.14.4 to 0.15.3, #83. | |
</action> | |
<action dev="ggregory" type="update" due-to="John Patrick"> | |
Bump Hamcrest 1.3 -> 2.2 #70. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump maven-checkstyle-plugin from 3.1.1 to 3.1.2 #88. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump junit-jupiter from 5.7.0 to 5.8.0-M1, #89, #106. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump narayana-jta from 5.10.6.Final to 5.12.0.Final #103, #111. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump maven-javadoc-plugin from 3.2.0 to 3.3.0 #107. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump commons.jacoco.version 0.8.6 -> 0.8.7. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump jboss-logging from 3.4.1.Final to 3.4.2.Final #109. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump org.jboss:jboss-transaction-spi from 7.6.0.Final to 7.6.1.Final. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump commons-pool2 from 2.9.0 to 2.10.0. | |
</action> | |
<action type="update" dev="ggregory" due-to="Gary Gregory"> | |
Bump checkstyle to 8.44. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump spotbugs from 4.2.3 to 4.3.0 #117. | |
</action> | |
<action type="update" dev="ggregory" due-to="Dependabot"> | |
Bump spotbugs-maven-plugin from 4.2.3 to 4.3.0 #118. | |
</action> | |
</release> | |
<release version="2.8.0" date="2020-09-21" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- add --> | |
<action dev="ggregory" type="add" issue="DBCP-564" due-to="Florent Guillaume"> | |
Fix BasicManagedDataSource leak of connections opened after transaction is rollback-only #39. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-566" due-to="Robert Paschek, Gary Gregory, Phil Steitz"> | |
Add clearStatementPoolOnReturn #42. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-559" due-to="Phil Steitz"> | |
Add start, restart methods to BasicDataSource. #50. | |
</action> | |
<!-- fix --> | |
<action dev="ggregory" type="fix" issue="DBCP-555" due-to="Gary Gregory"> | |
NPE when creating a SQLExceptionList with a null list. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-558" due-to="louislatreille"> | |
Fix DelegatingConnection readOnly and autoCommit caching mechanism #35. | |
</action> | |
<action dev="markt" type="fix" due-to="Sebastian Haas"> | |
Fix regression introduced by unreleased code clean-up #63. | |
</action> | |
<action dev="ggregory" type="update" due-to="DoiMasayuki, Alexander Norz, Gary Gregory"> | |
Update to PR#36 - PrepareStatement and prepareCall methods are extracted #37. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Do not display credentials in DriverAdapterCPDS.toString(). | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Do not display credentials in DelegatingConnection.toString(). | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Do not display credentials in DriverConnectionFactory.toString(). | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Do not display credentials in PoolKey.toString(). | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Do not display credentials in UserPassKey.toString(). | |
</action> | |
<!-- UPDATES --> | |
<action dev="ggregory" type="update" issue="DBCP-650" due-to="Gary Gregory, Dependabot"> | |
Update Apache Commons Pool from 2.7.0 to 2.8.1, #48. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from H2 1.4.199 to 1.4.200. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot"> | |
Update tests from Mockito 3.0.0 to 3.5.11 #47, #60, #64. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from jboss-logging 3.4.0.Final to 3.4.1.Final. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from narayana-jta 5.9.5.Final to 5.10.6.Final, #61. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from junit-jupiter 5.5.1 to 5.7.0 #62. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.slf4j:slf4j-simple 1.7.26 to 1.7.30. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update build from com.github.siom79.japicmp:japicmp-maven-plugin 0.13.1 to 0.14.3. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update build from maven-javadoc-plugin 3.1.1 to 3.2.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update build from maven-pmd-plugin 3.12.0 to 3.13.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update org.apache.commons:commons-parent from 48 to 51. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update jacoco-maven-plugin from 0.8.4 to 0.8.6. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update maven-checkstyle-plugin from 3.0.0 to 3.1.1. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Update actions/checkout from v1 to v2.3.2, #44, #51. | |
</action> | |
<action dev="ggregory" type="update" due-to="Dependabot"> | |
Update actions/setup-java from v1.4.0 to v1.4.2 #58. | |
</action> | |
</release> | |
<release version="2.7.0" date="2019-07-31" description="This is a minor release, including bug fixes and enhancements."> | |
<!-- add --> | |
<action dev="jleroux" type="add" issue="DBCP-539" due-to="Jacques Le Roux"> | |
ManagedDataSource#close() should declare used exceptions. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-547" due-to="leechoongyon, Gary Gregory"> | |
Add a ConnectionFactory class name setting for BasicDataSource.createConnectionFactory() #33. | |
</action> | |
<action dev="ggregory" type="add" due-to="Gary Gregory"> | |
Add missing Javadocs. | |
</action> | |
<!-- fix --> | |
<action dev="ggregory" type="fix" issue="DBCP-538" due-to="Ragnar Haugan, Gary Gregory"> | |
Wrong JMX base name derived in BasicDataSource#updateJmxName. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-546" due-to="Sergey Chupov"> | |
Avoid NPE when calling DriverAdapterCPDS.toString(). | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-550" due-to="Gary Gregory"> | |
java.util.IllegalFormatException while building a message for a SQLFeatureNotSupportedException in Jdbc41Bridge.getObject(ResultSet,String,Class). | |
</action> | |
<action dev="ggregory" type="fix" due-to="LichKing-lee"> | |
Fix Javadoc link in README.md #21. | |
</action> | |
<!-- update --> | |
<action dev="ggregory" type="update" issue="DBCP-540" due-to="emopers"> | |
Close ObjectOutputStream before calling toByteArray() on underlying ByteArrayOutputStream #28. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-541" due-to="Allon Murienik"> | |
Upgrade to JUnit Jupiter #19. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-542" due-to="Zheng Feng, Gary Gregory"> | |
Fix tests on Java 11. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-543" due-to="Gary Gregory"> | |
Update Apache Commons Pool from 2.6.1 to 2.6.2. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-529" due-to="Yuri"> | |
Add 'jmxName' property to web configuration parameters listing. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-548" due-to="Gary Gregory"> | |
Update Apache Commons Pool from 2.6.2 to 2.7.0. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-549" due-to="Gary Gregory"> | |
Make org.apache.commons.dbcp2.AbandonedTrace.removeTrace(AbandonedTrace) null-safe. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-551" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.DelegatingStatement.close() should try to close ALL of its result sets even when an exception occurs. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-552" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.DelegatingConnection.passivate() should close ALL of its resources even when an exception occurs. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-553" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.PoolablePreparedStatement.passivate() should close ALL of its resources even when an exception occurs. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-554" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.PoolableCallableStatement.passivate() should close ALL of its resources even when an exception occurs. | |
</action> | |
<!-- update, no Jira --> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from H2 1.4.198 to 1.4.199. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from com.h2database:h2 1.4.197 to 1.4.199. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.jboss.narayana.jta:narayana-jta 5.9.2.Final to 5.9.5.Final. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.jboss.logging:jboss-logging 3.3.2.Final to 3.4.0.Final. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.mockito:mockito-core 2.24.0 to 2.28.2. | |
</action> | |
<action dev="ggregory" type="update" due-to="Gary Gregory"> | |
Update tests from org.mockito:mockito-core 2.28.2 to 3.0.0. | |
</action> | |
</release> | |
<release version="2.6.0" date="2019-02-14" description="This is a minor release, including bug fixes and enhancements."> | |
<action dev="chtompki" type="add" issue="DBCP-534" due-to="Peter Wicks"> | |
Allow for manual connection eviction. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-514" due-to="Tom Jenkinson, Gary Gregory"> | |
Allow DBCP to register with a TransactionSynchronizationRegistry for XA cases. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-517" due-to="Gary Gregory"> | |
Make defensive copies of char[] passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-515" due-to="Tom Jenkinson, Gary Gregory"> | |
Do not try to register synchronization when the transaction is no longer active. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-516" due-to="Tom Jenkinson, Gary Gregory"> | |
Do not double returnObject back to the pool if there is a transaction context with a shared connection. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-518" due-to="Gary Gregory"> | |
Allow DBCP to work with old Java 6/JDBC drivers without throwing AbstractMethodError. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-519" due-to="Gary Gregory"> | |
Add some toString() methods for debugging (never printing passwords.) | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-520" due-to="Zheng Feng"> | |
BasicManagedDataSource needs to pass the TSR with creating DataSourceXAConnectionFactory. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-527" due-to="Gary Gregory"> | |
Add getters to some classes. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-528" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.DriverManagerConnectionFactory should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-537" due-to="Gary Gregory"> | |
Update Apache Commons Pool from 2.6.0 to 2.6.1. | |
</action> | |
</release> | |
<release version="2.5.0" date="2018-07-15" description="This is a minor release, including bug fixes and enhancements."> | |
<action dev="ggregory" type="update" issue="DBCP-505" due-to="Gary Gregory"> | |
Update Java requirement from version 7 to 8. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-506" due-to="Gary Gregory"> | |
Support JDBC 4.2. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-479" due-to="Guillaume Husta, Gary Gregory"> | |
Support default schema in configuration. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-427" due-to="Vladimir Konkov, Phil Steitz, Gary Gregory"> | |
Examines 'SQLException's thrown by underlying connections or statements for fatal (disconnection) errors. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-507" due-to="Vladimir Konkov, Phil Steitz, Gary Gregory"> | |
Change default for fail-fast connections from false to true. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-508" due-to="Gary Gregory"> | |
Prepared statement keys should take a Connection's schema into account. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-504" due-to="Bruno P. Kinoshita"> | |
Increase test coverage. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-510" due-to="Gary Gregory"> | |
Update Apache Commons Pool from 2.5.0 to 2.6.0. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-512" due-to="Gary Gregory"> | |
Avoid exceptions when closing a connection in mutli-threaded use case. | |
</action> | |
</release> | |
<release version="2.4.0" date="2018-06-12" description="This is a minor release, including bug fixes and enhancements."> | |
<action dev="ggregory" type="fix" issue="DBCP-484" due-to="Emanuel Freitas"> | |
Connection leak during XATransaction in high load. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-492" due-to="Gary Gregory"> | |
Drop Ant build. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-491" due-to="Zheng Feng, Gary Gregory"> | |
Ensure DBCP ConnectionListener can deal with transaction managers which invoke rollback in a separate thread. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-494" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.PStmtKey should make copies of given arrays in constructors. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-495" due-to="Gary Gregory"> | |
Remove duplicate code in org.apache.commons.dbcp2.cpdsadapter.PStmtKeyCPDS. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-496" due-to="Gary Gregory"> | |
Add support for pooling CallableStatements to the org.apache.commons.dbcp2.cpdsadapter package. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-497" due-to="Gary Gregory"> | |
Deprecate use of PStmtKeyCPDS in favor of PStmtKey. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-498" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.DataSourceConnectionFactory should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-499" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.managed.DataSourceXAConnectionFactory should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-500" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-501" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.datasources.CPDSConnectionFactory should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-502" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.datasources internals should use a char[] instead of a String to store passwords. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-503" due-to="Gary Gregory"> | |
org.apache.commons.dbcp2.datasources.InstanceKeyDataSourceFactory.closeAll() does not close all. | |
</action> | |
</release> | |
<release version="2.3.0" date="2018-05-12" description="This is a minor release, including bug fixes and enhancements."> | |
<action dev="pschumacher" type="fix" issue="DBCP-476" due-to="Gary Evesson, Richard Cordova"> | |
AbandonedTrace.getTrace() contains race condition. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-482" due-to="Dennis Lloyd, Gary Gregory"> | |
Avoid javax.management.InstanceNotFoundException on shutdown when a bean is not registered. Closes #9. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-483" due-to="Gary Gregory"> | |
Make constant public: org.apache.commons.dbcp2.PoolingDriver.URL_PREFIX. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-486" due-to="Gary Gregory"> | |
DriverAdapterCPDS.setUser(), setPassword(), and getPooledConnection() with null arguments throw NullPointerExceptions when connection properties are set. | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-487" due-to="Gary Gregory"> | |
Add API org.apache.commons.dbcp2.datasources.PerUserPoolDataSource.clear(). | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-488" due-to="Gary Gregory"> | |
NPE for org.apache.commons.dbcp2.cpdsadapter.DriverAdapterCPDS.setConnectionProperties(null). | |
</action> | |
<action dev="ggregory" type="update" issue="DBCP-490" due-to="Gary Gregory"> | |
The method org.apache.commons.dbcp2.PoolingDriver.getConnectionPool(String) does not tell you which pool name is not registered when it throws an exception. | |
</action> | |
</release> | |
<release version="2.2.0" date="2017-12-27" description="This is a minor release, including bug fixes and enhancements."> | |
<action dev="ggregory" type="fix" issue="DBCP-481" due-to="Gary Gregory"> | |
Update Apache Commons Pool from 2.4.2 to 2.5.0. | |
</action> | |
<action dev="mattsicker" type="fix" issue="DBCP-454" due-to="Philipp Marx, Matt Sicker"> | |
OSGi declarations contain multiple import headers for javax.transaction. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-478" due-to="nicola mele"> | |
Wrong parameter name in site documentation for BasicDataSource Configuration Parameters. | |
</action> | |
<action dev="psteitz" type="fix" issue="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. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-446" due-to="Gary Gregory, feng yang, Euclides M, Phil Steitz"> | |
NullPointerException thrown when calling ManagedConnection.isClosed(). | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-444"> | |
InvalidateConnection can result in closed connection returned by getConnection. | |
</action> | |
<action dev="ggregory" type="fix" issue="DBCP-449" due-to="Grzegorz D."> | |
Complete the fix for DBCP-418, enabling PoolableConnection class to load in environments | |
(such as GAE) where the JMX ManagementFactory is not available. | |
</action> | |
<action dev="ggregory" type="add" issue="DBCP-451"> | |
Add constructor DriverManagerConnectionFactory(String). | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-455" due-to="Kyohei Nakamura"> | |
Ensure that the cacheState setting is used when statement pooling is | |
disabled. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-453" due-to="Philipp Marx"> | |
Ensure that setSoftMinEvictableIdleTimeMillis is used when working with | |
BasicDataSource. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-456" due-to="Kyohei Nakamura"> | |
Correct the name of the configuration attribute | |
softMinEvictableIdleTimeMillis. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-472"> | |
Avoid potential infinite loops when checking if an SQLException is fatal | |
for a connection or not. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-468"> | |
Expand the fail-fast for fatal connection errors feature to include | |
managed connections. | |
</action> | |
<action dev="markt" type="fix" issue="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. | |
</action> | |
<action dev="markt" type="add" issue="DBCP-462" due-to="Keiichi Fujino"> | |
Refactoring to prepare for a future patch to enable pooling of all | |
prepared and callable statements in PoolingConnection. | |
</action> | |
<action dev="markt" type="fix" issue="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(). | |
</action> | |
<action dev="markt" type="add" issue="DBCP-458" due-to="Adrian Tarau"> | |
Make it simpler to extend BasicDataSource to allow sub-classes to | |
provide custom GenericObjectPool implementations. | |
</action> | |
<action dev="markt" type="fix" issue="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. | |
</action> | |
<action dev="markt" type="add" issue="DBCP-474" due-to="Keiichi Fujino"> | |
Enable pooling of all prepared and callable statements | |
inPoolingConnection. | |
</action> | |
</release> | |
<release version="2.1.1" date="6 Aug 2015" description= | |
"This is a patch release, including bug fixes only."> | |
<action dev="psteitz" type="update"> | |
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. | |
</action> | |
<action issue="DBCP-441" dev="psteitz" type="fix"> | |
Added BasicDataSource abandonedUsageTracking property missing from BasicDataSourceFactory. | |
</action> | |
<action issue="DBCP-442" dev="psteitz" type="fix"> | |
SharedPoolDataSource getConnection fails when testOnBorrow is set with | |
a null validation query. | |
</action> | |
<action issue="DBCP-438" dev="psteitz" type="fix" due-to="Raihan Kibria"> | |
Nested connections in a transaction (local) throws null pointer. | |
</action> | |
<action issue="DBCP-437" dev="psteitz" type="fix"> | |
BasicDataSource does not set disconnectionSql properties on its PoolableConnectionFactory. | |
</action> | |
</release> | |
<release version="2.1" date="23 Feb 2015" description= | |
"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. | |
"> | |
<action issue="DBCP-420" dev="sebb" type="fix"> | |
InstanceKeyDataSource discards native SQLException when given password does not match | |
password used to create the connection. | |
</action> | |
<action issue="DBCP-422" dev="ggregory" type="update"> | |
Update Apache Commons Logging to 1.2 from 1.1.3. | |
</action> | |
<action dev="markt" type="fix"> | |
Correct some Javadoc references to Apache Commons Pool 2 classes that | |
have changed names since Pool 1.x. | |
</action> | |
<action dev="markt" type="fix"> | |
Do not ignore the configured custom eviction policy when creating a | |
BasicDataSource. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-426" due-to="Kasper Sørensen"> | |
Added invalidateConnection method to BasicDataSource. | |
</action> | |
<action issue="DBCP-428" dev="psteitz" type="fix" due-to="Vladimir Konkov"> | |
Unsuccessful Connection enlistment in XA Transaction ignored by TransactionContext. | |
</action> | |
<action issue="DBCP-424" dev="psteitz" type="update"> | |
Made expired connection logging configurable in BasicDataSource. Setting | |
logExpiredConnections to false suppresses expired connection log messages. | |
</action> | |
<action issue="DBCP-423" dev="psteitz" type="update"> | |
Made Datasources implement AutoCloseable. | |
</action> | |
<action issue="DBCP-427" dev="psteitz" type="add" due-to="Vladimir Konkov"> | |
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). | |
</action> | |
<action issue="DBCP-432" dev="psteitz" type="fix"> | |
Changed BasicDataSource createDataSource method to ensure that initialization | |
completes before clients get reference to newly created instances. | |
</action> | |
<action issue="DBCP-433" dev="psteitz" type="fix" due-to="Vladimir Konkov"> | |
Fixed connection leak when SQLException is thrown while enlisting an XA | |
transaction. | |
</action> | |
<action issue="DBCP-434" dev="psteitz" type="fix"> | |
Setting jmxName to null should suppress JMX registration of connection | |
and statement pools. | |
</action> | |
<action dev="psteitz" type="update"> | |
Eliminated synchronization in BasicDataSource getNumActive, getNumIdle methods. | |
</action> | |
<action issue="DBCP-435" type="update" due-to="Denixx Baykin"> | |
Added property name verification to BasicDataSourceFactory. References including | |
obsolete or unrecognized properties now generate log messages. | |
</action> | |
</release> | |
<release version="2.0.1" date="24 May 2014" description="This is a bug fix release."> | |
<action dev="markt" type="fix"> | |
Small performance improvements when returning connections to the pool. | |
</action> | |
<action issue="DBCP-414" dev="markt" type="fix" due-to="Pasi Eronen"> | |
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. | |
</action> | |
<action issue="DBCP-412" dev="psteitz" type="update"> | |
Added check in PoolingDataSource constructor to ensure that the connection factory | |
and pool are properly linked. | |
</action> | |
<action issue="DBCP-417" dev="psteitz" type="fix"> | |
Fixed connection leak when managed connections are closed during transactions. | |
</action> | |
<action issue="DBCP-418" dev="psteitz" type="fix"> | |
Enable PoolableConnection class to load without JMX. | |
</action> | |
</release> | |
<release version="2.0" date="3 March 2014" description= | |
"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. | |
"> | |
<action issue="DBCP-411" dev="sebb" type="fix"> | |
BasicManagedDataSource - unregister from JMX on close(). | |
</action> | |
<action issue="DBCP-154" dev="markt" type="fix"> | |
Log validation failures of poolable connections. | |
</action> | |
<action issue="DBCP-403" dev="sebb" type="fix"> | |
DelegatingStatement.close() fails with NPE if statement is null | |
</action> | |
<action issue="DBCP-322" dev="sebb" type="fix"> | |
CPDSConnectionFactory.validateObject(Object) ignores Throwable. | |
</action> | |
<action dev="markt" type="add"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-300" type="fix"> | |
Removed unnecessary synchronisation in BasicDataSource#createDataSource. | |
</action> | |
<action dev="markt" type="update"> | |
The Java package name has been changed from org.apache.commons.dbcp to | |
org.apache.commons.dbcp2. | |
</action> | |
<action dev="markt" type="update"> | |
Update to Commons Pool 2 (based on java.util.concurrent) to provide | |
pooling functionality. | |
</action> | |
<action dev="markt" type="update"> | |
Updated source code for Java 1.6 (added @Override & @Deprecated | |
annotations). | |
</action> | |
<action dev="markt" type="update"> | |
Removed JOCL support. | |
</action> | |
<action dev="markt" issue="DBCP-143" type="update"> | |
Remove deprecated SQLNestedException. | |
</action> | |
<action dev="markt" issue="DBCP-384" type="fix"> | |
Fix threading issues with accessToUnderlyingConnectionAllowed attribute | |
of PoolingDriver which is used to support unit testing. | |
</action> | |
<action dev="markt" issue="DBCP-292" type="add"> | |
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). | |
</action> | |
<action dev="markt" issue="DBCP-376" type="fix" due-to="Dave Oxley"> | |
Fix thread safety issues in the SharedPoolDataSource and the | |
PerUserPoolDataSource. | |
</action> | |
<action dev="markt" issue="DBCP-382" type="fix" due-to="Stefan Rempfer"> | |
Allow accessToUnderlyingConnectionAllowed to be configured when | |
configuration takes place via JNDI in a JavaEE container. | |
</action> | |
<action dev="markt" issue="DBCP-369" type="fix" due-to="Michael Pradel"> | |
Fix threading issue when using multiple instances of the | |
SharedPoolDataSource concurrently. | |
</action> | |
<action dev="markt" issue="DBCP-391" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-404" type="fix"> | |
Make all mutable fields private. | |
</action> | |
<action dev="markt" issue="DBCP-364" type="fix"> | |
Return BasicDataSource rather than DataSource from | |
BasicDataSourceFactory so a cast is not required to use BasicDataSource | |
specific methods. | |
</action> | |
<action dev="markt" issue="DBCP-358" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-368" type="add"> | |
Expose the new Pool 2 property evictionPolicyClassName to enable more | |
sophisticated eviction strategies to be used. | |
</action> | |
<action dev="markt" issue="DBCP-406" type="add" due-to="Steeve Beroard"> | |
Add support for pooling PreparedStatements that use auto-generated keys. | |
</action> | |
<action dev="markt" issue="DBCP-180" type="fix"> | |
Enable JDBC resources that are no longer referenced by client code to be | |
eligible for garbage collection. | |
</action> | |
<action dev="markt" issue="DBCP-177" type="add"> | |
Enable DBCP to work with a SecurityManager such that only DBCP needs to | |
be granted the necessary permissions to communicate with the database. | |
</action> | |
<action dev="markt" issue="DBCP-410" type="fix" due-to="Andreas Sturmlechner"> | |
Correct path to Javadoc overview in build.xml. | |
</action> | |
<action dev="markt" issue="DBCP-234" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-219" type="add"> | |
Register pooled connections with JMX so that they may be forcibly closed | |
via JMX if required. | |
</action> | |
<action dev="markt" issue="DBCP-373" type="add"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-351" type="add"> | |
Provide an option to control if autoCommit is always set to true when a | |
connection is returned to the connection pool. | |
</action> | |
<action dev="markt" issue="DBCP-399" type="add"> | |
Provide an option to control if rollback is called when a connection is | |
returned to the poll with autoCommit disabled. | |
</action> | |
<action dev="markt" issue="DBCP-340" type="add"> | |
Provide an option to set the default query timeout. | |
</action> | |
<action dev="markt" type="fix"> | |
Connection.isValid() should not throw an SQLException if the connection | |
is closed. | |
</action> | |
<action dev="markt" issue="DBCP-357" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-249" type="add"> | |
Add support for validation testing database connections on creation. | |
</action> | |
</release> | |
<release version="1.5.1" date="not yet released" description="TBD"> | |
<action dev="markt" issue="DBCP-400" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-405" type="fix"> | |
Avoid multiple calls to Connection.getAutoCommit() in | |
PoolableConnectionFactory.passivateObject() as it could be an expensive | |
call. | |
</action> | |
<action dev="markt" issue="DBCP-392" type="fix"> | |
Use one line per statement for methods with multiple statements rather | |
than using a single line. | |
</action> | |
<action dev="markt" issue="DBCP-396" type="fix"> | |
Expose all of the AbandonedConfig properties through a BasicDataSource. | |
</action> | |
<action dev="markt" issue="DBCP-380" type="fix" due-to="Balazs Zsoldos"> | |
Correct implementation of DelegatingConnection.isWrapperFor() so it | |
works correctly with older JDBC drivers. | |
</action> | |
<action dev="markt" issue="DBCP-347" type="fix" due-to="Robert Poskrobek"> | |
Correct implementation of DelegatingStatement.isWrapperFor(). Also fix | |
DelegatingDatabaseMetaData.isWrapperFor() and | |
DelegatingResultSet.isWrapperFor() that had the same problem. | |
</action> | |
<action dev="markt" issue="DBCP-341" type="fix" due-to="Ioannis Canellos"> | |
LocalXAConnectionFactory does not properly check if Xid is equal to | |
currentXid when resuming which may result in an XAException. | |
</action> | |
<action dev="markt" issue="DBCP-355" type="fix" due-to="Florent Guillaume"> | |
Ensure that the XAConnection is closed when the associated Connection is | |
closed. | |
</action> | |
<action dev="markt" issue="DBCP-398" type="fix"> | |
Clarify Jaavdoc for isClosed() method of PoolableConnection. | |
</action> | |
<action dev="markt" issue="DBCP-383" type="fix"> | |
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. | |
</action> | |
<action dev="markt" issue="DBCP-372" type="fix"> | |
Using batchUpdate() should not invalidate the PreparedStatement when it | |
is returned to the pool. | |
</action> | |
<action dev="markt" issue="DBCP-309" type="fix"> | |
Improve documentation for JNDI example using BasicDataSource. | |
</action> | |
</release> | |
<release version="1.4.1" date="not yet released" description="TBD"> | |
<action dev="psteitz" issue="DBCP-334" type="update" due-to="Alberto Mozzone"> | |
Exposed GenericObjectPool's softMinEvictableIdleTimeMillis property for | |
configuration and use by BasicDataSource. | |
</action> | |
<action dev="psteitz" issue="DBCP-337" type="fix" due-to="Rob Gansevles"> | |
Made equals reflexive in DelegatingStatement (and subclasses), DelegatingMetaData, | |
DelegatingResultSet and PoolingDriver#PoolGuardConnectionWrapper. | |
</action> | |
<action dev="psteitz" issue="DBCP-342" type="fix" due-to="Byungchol Kim"> | |
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. | |
</action> | |
<action dev="psteitz" issue="DBCP-330" type="fix"> | |
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. | |
</action> | |
<action dev="psteitz" issue="DBCP-343" type="fix"> | |
Modified execute methods of Statement objects to ensure that whenever | |
a statement is used, the lastUsed property of its parent connection is | |
updated. | |
</action> | |
<action dev="markt" issue="DBCP-333" type="fix"> | |
Correctly implemented the option to configure the class loader used to load | |
the JDBC driver. | |
</action> | |
<action dev="psteitz" issue="DBCP-346" type="update" due-to="Ken Tatsushita"> | |
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. | |
</action> | |
<action dev="psteitz" issue="DBCP-344" type="fix" due-to="Jeremy Whiting"> | |
Test transitive dependencies brought in by geronimo-transaction created | |
version conflicts (commons logging and junit). These have been explicitly | |
excluded in the POM. | |
</action> | |
<action dev="psteitz" issue="DBCP-348" type="fix" due-to="Eiji Takahashi"> | |
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. | |
</action> | |
</release> | |
<release version="1.4" date="2010-02-14" description="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 "> | |
<action dev="psteitz" type="fix" issue="DBCP-320"> | |
Eliminated poolKeys cache from PerUserPoolDataSource. | |
</action> | |
<action dev="sebb" type="fix" issue="DBCP-321"> | |
Eliminated userKeys LRUMap cache from SharedPoolDataSource. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-319" due-to="Sebastian Bazley"> | |
Made private fields final where possible. | |
</action> | |
<action dev="sebb" type="fix" issue="DBCP-318" due-to="Sebastian Bazley"> | |
PerUserPoolDataSource.getPooledConnectionAndInfo multi-threading bug. | |
</action> | |
<action dev="sebb" type="fix" issue="DBCP-315" due-to="Sebastian Bazley"> | |
Remove throws clause from method that does not throw an exception. | |
</action> | |
<action dev="sebb" type="fix" issue="DBCP-313" due-to="Sebastian Bazley"> | |
Remove code that catches and ignores Exceptions when calling | |
PooledConnection.removeConnectionEventListener(ConnectionEventListener) | |
as the method does not throw any Exceptions. | |
</action> | |
<action dev="sebb" type="fix" issue="DBCP-316" due-to="Sebastian Bazley"> | |
Remove impossible null check. | |
</action> | |
<action dev="sebb" type="update" issue="DBCP-314" due-to="Sebastian Bazley"> | |
Renamed variables with duplicate names in different scopes. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-312" due-to="Glen Mazza"> | |
Clarified javadoc for BasicDataSource close() method. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-204" due-to="Wei Chen"> | |
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. | |
</action> | |
<action dev="markt" type="update" issue="DBCP-305" due-to="Christopher Schultz"> | |
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. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-303" due-to="Dave Oxley"> | |
Ensure Statement.getGeneratedKeys() works correctly with the CPDS | |
adapter. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-302" due-to="Sebastian Bazley"> | |
Removed incorrectly advertised ClassNotFoundException from | |
JOCLContentHandler.ConstructorDetails.createObject(). | |
</action> | |
<action dev="markt" type="update" issue="DBCP-203" due-to="Mark Grand"> | |
Make the class loader used to load the JDBC driver configurable for the | |
BasicDatasource. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-8"> | |
Handle user password changes for InstanceKeyDataSources. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-289" due-to="Marc Kannegießer"> | |
Made XADataSource configurable in BasicManagedDataSource. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-294" due-to="Philippe Mouawad"> | |
Added PoolableManagedConnection and PoolableManagedConnectionFactory so that | |
pooled managed connections can unregister themselves from transaction registries, | |
avoiding resource leaks. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-276"> | |
Added connectionProperties property to DriverAdapterCPDS. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-226"> | |
Added a validationQueryTimeout configuration parameter to BasicDataSource | |
allowing the user to specify a timeout value (in seconds) for connection | |
validation queries. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-175" due-to="Jiri Melichna and Jerome Lacoste"> | |
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. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-212"> | |
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. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-242"> | |
Reverted DelegatingConnection close to 1.2.2 version to ensure | |
open statements are closed before the underlying connection is closed. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-235"> | |
Refactor DelegatingConnection and ManagedConnection enable overridden | |
equals() and hashcode() to work correctly. | |
</action> | |
<action dev="markt" type="update" issue="DBCP-265"> | |
Add a DelegatingDatabaseMetaData to track ResultSets returned from | |
DatabaseMetaData objects. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-215"> | |
Modified BasicDataSourceFactory to complete initialization of the pool | |
by creating initialSize connections rather than leaving this to lazy | |
initialization when the pool is used. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-253"> | |
Eliminated masked _stmt field in descendents of DelegatingStatement. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-191" due-to="Michael Heuer and J. David Beutel" > | |
Modified DBCP sources to support compilation under JDK 1.4-1.6 | |
using Ant flags to do conditional compilation. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-272"> | |
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. | |
</action> | |
<action dev="markt" type="fix" issue="DBCP-4"> | |
Eliminated direct System.out calls in AbandonedTrace. | |
</action> | |
<action dev="niallp" type="fix" issue="DBCP-264"> | |
Modified DelegatingStatement close to clear open batches. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-255"> | |
Eliminated unused private "parent" field in AbandonedTrace. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-273" due-to="Mark Lin"> | |
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. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-271" due-to="Sebastian Bazley"> | |
Made private instance fields of AbandonedTrace volatile (parent, | |
createdBy, lastUsed, createdTime) or final (trace). | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-270" due-to="Filip Hanik"> | |
Narrowed synchronization in AbandonedTrace to resolve an Evictor deadlock. | |
</action> | |
<action dev="bayard" type="fix" issue="DBCP-218"> | |
Corrected Javadoc to state that getLoginTimeout and setLoginTimeout are | |
NOT supported by BasicDataSource. | |
</action> | |
<action dev="bayard" type="update" issue="DBCP-211"> | |
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+. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-228" due-to="Dain Sundstrom"> | |
Added support for pooling managed connections. | |
</action> | |
<action dev="psteitz" type="add" issue="DBCP-230" due-to="Dain Sundstrom"> | |
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. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-233" due-to="Dain Sundstrom"> | |
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. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-11" due-to="Dain Sundstrom"> | |
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(). | |
</action> | |
<action dev="dain" type="update" issue="DBCP-143"> | |
SQLNestedException has been deprecated and will be replaced in DBCP 2.0 with | |
SQLException and standard Java exception chaining. | |
</action> | |
<action dev="dain" type="fix" issue="DBCP-221"> | |
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. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-241"> | |
Eliminated potential sources of NullPointerExceptions in | |
PoolingConnection. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-216" due-to="Marcos Sanz"> | |
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. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-245" due-to="Michael Drechsel"> | |
Fixed error in SharedPoolDataSource causing incorrect passwords to be | |
stored under certain conditions. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-237" due-to="Oliver Matz"> | |
Added exception handler to ensure that PooledConnections are not | |
orphaned when an exception occurs in setUpDefaults or clearWarnings in | |
InstanceKeyDataSource.getConnection. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-252" due-to="FindBugs"> | |
Made getPool synchronized in PoolableConnectionFactory. | |
Fixes inconsistent synchronization accessing _pool. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-252" due-to="FindBugs"> | |
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. | |
</action> | |
</release> | |
<release version="1.3" date="2010-02-14" description="Compatability release for JDBC 3. | |
See version 1.4 description and change log."> | |
<action type="update"> | |
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. | |
</action> | |
</release> | |
<release version="1.2.2" date="2007-04-04" | |
description="This is a maintenance release containing bug fixes | |
and enhancements. All API changes are binary compatible with version 1.2.1."> | |
<action dev="dirkv " type="add"> | |
Add a <i>JNDI How To</i> to the User Guide. | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-108" due-to="Maxwell Grender-Jones"> | |
DriverManagerConnectionFactory: blank user name and password handling. | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-113" due-to="Rohan Lenard"> | |
Broken behaviour for BasicDataSource.setMaxActive(0). | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-36" due-to="Jonathan Whitall"> | |
BasicDataSource does not work with getConnection(String, String). | |
</action> | |
<action dev="dirkv " type="update" issue="DBCP-164" due-to="Todd Carmichael"> | |
Enhancements to prepared statement in DriverAdapterCPDS. | |
</action> | |
<action dev="yoavs" type="update" issue="DBCP-186" due-to="Ralf Hauser"> | |
Better messages and docs for LoginTimeout UnsupportedOperationException. | |
</action> | |
<action dev="yoavs" type="fix" issue="DBCP-50" due-to="Nicky Nicolson"> | |
Error in JOCL snippet in org.apache.commons.dbcp package javadoc. | |
</action> | |
<action dev="yoavs" type="update" issue="DBCP-165" due-to="QM"> | |
Added toString() methods to DelegatingPreparedStatement and DelegatingStatement | |
</action> | |
<action dev="yoavs" type="fix"> | |
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). | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-20" due-to="Chris Nappin"> | |
Per-user pooling with Oracle driver and default isolation settings. | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-9" due-to="Adrian Baker"> | |
Error in JOCL document in javadoc. | |
</action> | |
<action dev="sullis" type="update"> | |
Added toString() method to DelegatingConnection. | |
</action> | |
<action dev="dirkv " type="update" issue="DBCP-181" due-to="Meikel Bisping"> | |
Add DriverManager.invalidateConnection(). | |
</action> | |
<action dev="dirkv " type="fix" issue="DBCP-184" due-to="Meikel Bisping"> | |
Improved Exception nesting in ConnectionPool. | |
</action> | |
<action dev="dennisl" type="fix" issue="DBCP-144" due-to="Sebb"> | |
Fix broken website links for examples. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-28" | |
due-to="Huw Lewis, James Ring"> | |
Modified PoolableConnection close method to invalidate instance | |
when invoked on an already closed connection. | |
</action> | |
<action dev="joehni" type="fix" issue="DBCP-81"> | |
Inserted null checks to avoid NPE in close operations. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-105" | |
due-to="Sandy McArthur, Thomas Fischer"> | |
Changed getReference method in InstanceKeyDataSource to return a | |
concrete factory and added implementations of getReference in concrete | |
subclasses. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-39" due-to="Jindrich Vimr"> | |
Inserted null check in close method of SharedPoolDataSource to avoid | |
NPE when invoked on non-initialized pool. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-71" due-to="Douglas Squirrel"> | |
Document fact that true values for testOnBorrow, testOnReturn, testWhileIdle | |
only have effect when validationQuery is set to a non-null string. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-102"> | |
Modified activateObject in PoolableConnection to test connection | |
properties before resetting to defaults. | |
</action> | |
<action dev="sandymac" type="fix" issue="DBCP-188"> | |
Corrected maxActive documentation in configuration.html. | |
</action> | |
<action dev="psteitz" type="update"> | |
Upgraded dependency to Pool 1.3. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-187" due-to="Ralf Hauser"> | |
Added connection info to SQLException messages when closed connections | |
(resp stmts) are accessed in DelegatingConnection, DelegatingStatement. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-41" due-to="Anton Tagunov"> | |
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. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-100"> | |
Made userKeys an instance variable (i.e., not static) | |
in SharedPoolDataSource. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-198"> | |
Changed implementation of equals in | |
PoolingDataSource.PoolGuardConnectionWrapper | |
to ensure it is reflexive, even when wrapped connections are not | |
DelegatingConnections. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-116" due-to="Thomas Fischer"> | |
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. | |
</action> | |
<action dev="psteitz" type="update" issue="DBCP-68"> | |
Removed dependency on Commons Collections by adding collections | |
2.1 sources for LRUMap and SequencedHashMap with package scope to | |
datasources package. | |
</action> | |
<action dev="psteitz" type="fix" issue="DBCP-65"> | |
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. | |
</action> | |
</release> | |
<release version="1.2.1" date="2004-06-12" description="Maintenance Release to restore JDK 1.3 compatibility"> | |
<action type="fix"> | |
See <a href="release-notes-1.2.1.html">DBCP 1.2.1 Release Notes</a> for details. | |
</action> | |
</release> | |
<release version="1.2" date="2004-06-07"> | |
<action type="update"> | |
See <a href="release-notes-1.2.html">DBCP 1.2 Release Notes</a> for details. | |
</action> | |
</release> | |
<release version="1.1" date="2003-10-20"> | |
<action type="update"> | |
See <a href="release-notes-1.1.html">DBCP 1.1 Release Notes</a> for details. | |
</action> | |
</release> | |
<release version="1.0" date="2002-08-12" description="Initial Release"> | |
<action type="add"> | |
Initial Release | |
</action> | |
</release> | |
</body> | |
</document> |