You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2022/05/31 20:32:56 UTC
[commons-dbcp] branch master updated: Bump actions/cache from 3.0.2 to 3.0.3
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-dbcp.git
The following commit(s) were added to refs/heads/master by this push:
new e21b52aa Bump actions/cache from 3.0.2 to 3.0.3
e21b52aa is described below
commit e21b52aa3ce16881b5ae8a81360875a16b6f8090
Author: Gary Gregory <ga...@gmail.com>
AuthorDate: Tue May 31 16:32:51 2022 -0400
Bump actions/cache from 3.0.2 to 3.0.3
---
.github/workflows/maven.yml | 94 +-
src/changes/changes.xml | 2844 +++++++++++++++++++++----------------------
2 files changed, 1469 insertions(+), 1469 deletions(-)
diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
index 2169c2de..24151bdd 100644
--- a/.github/workflows/maven.yml
+++ b/.github/workflows/maven.yml
@@ -1,47 +1,47 @@
-# 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.
-
-name: Java CI
-
-on: [push, pull_request]
-
-jobs:
- build:
-
- runs-on: ubuntu-latest
- continue-on-error: ${{ matrix.experimental }}
- strategy:
- matrix:
- java: [ 8, 11, 17 ]
- experimental: [false]
-# include:
-# - java: 18-ea
-# experimental: true
-
- steps:
- - uses: actions/checkout@v3
- - uses: actions/cache@v3.0.2
- with:
- path: ~/.m2/repository
- key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
- restore-keys: |
- ${{ runner.os }}-maven-
- - name: Set up JDK ${{ matrix.java }}
- uses: actions/setup-java@v3
- with:
- distribution: 'temurin'
- java-version: ${{ matrix.java }}
- - name: Build with Maven
- run: mvn -V --file pom.xml --no-transfer-progress
+# 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.
+
+name: Java CI
+
+on: [push, pull_request]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+ continue-on-error: ${{ matrix.experimental }}
+ strategy:
+ matrix:
+ java: [ 8, 11, 17 ]
+ experimental: [false]
+# include:
+# - java: 18-ea
+# experimental: true
+
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/cache@v3.0.3
+ with:
+ path: ~/.m2/repository
+ key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
+ restore-keys: |
+ ${{ runner.os }}-maven-
+ - name: Set up JDK ${{ matrix.java }}
+ uses: actions/setup-java@v3
+ with:
+ distribution: 'temurin'
+ java-version: ${{ matrix.java }}
+ - name: Build with Maven
+ run: mvn -V --file pom.xml --no-transfer-progress
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9b664b20..061d95cf 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -1,1422 +1,1422 @@
-<?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>
- <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.10.0" date="2021-MM-DD" 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>
- <!-- ADDS -->
- <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 github/codeql-action.
- </action>
- <!-- UPDATES -->
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump actions/checkout from 2.3.4 to 3 #139, #143, #173.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
- Bump actions/cache from 2.1.6 to 3.0.2 #147, #176.
- </action>
- <action dev="ggregory" type="update" due-to="Gary Gregory">
- Bump actions/setup-java from 2 to 3.
- </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="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.8.2 #125, #136, #157.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump spotbugs from 4.3.0 to 4.7.0 #124, #133, #151, #164, #177, #189.
- </action>
- <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
- Bump org.mockito:mockito-core 3.11.2 -> 4.5.1, #128, #138, #152, #175, #188.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump maven-javadoc-plugin from 3.3.0 to 3.4.0 #131, #184.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump maven-pmd-plugin from 3.14.0 to 3.16.0 #132, #172.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump narayana-jta from 5.12.0.Final to 5.12.6.Final #134, #156, #163, #185.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump japicmp-maven-plugin from 0.15.3 to 0.15.7 #137, #166, #174.
- </action>
- <action dev="ggregory" type="update" due-to="Dependabot">
- Bump spotbugs-maven-plugin from 4.3.0 to 4.6.0.0 #140, #154, #161, #178.
- </action>
- <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
- Bump h2 from 1.4.200 to 2.0.212 #153, #183.
- 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">
- Bump commons-parent from 52 to 53 #180.
- </action>
- </release>
- <release version="2.9.0" date="2021-07-30" description="This is a minor release, including bug fixes and enhancements.">
- <!-- ADDS -->
- <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 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>
+<?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>
+ <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.10.0" date="2021-MM-DD" 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>
+ <!-- ADDS -->
+ <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 github/codeql-action.
+ </action>
+ <!-- UPDATES -->
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump actions/checkout from 2.3.4 to 3 #139, #143, #173.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot, Gary Gregory">
+ Bump actions/cache from 2.1.6 to 3.0.3 #147, #176.
+ </action>
+ <action dev="ggregory" type="update" due-to="Gary Gregory">
+ Bump actions/setup-java from 2 to 3.
+ </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="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.8.2 #125, #136, #157.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump spotbugs from 4.3.0 to 4.7.0 #124, #133, #151, #164, #177, #189.
+ </action>
+ <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+ Bump org.mockito:mockito-core 3.11.2 -> 4.5.1, #128, #138, #152, #175, #188.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump maven-javadoc-plugin from 3.3.0 to 3.4.0 #131, #184.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump maven-pmd-plugin from 3.14.0 to 3.16.0 #132, #172.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump narayana-jta from 5.12.0.Final to 5.12.6.Final #134, #156, #163, #185.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump japicmp-maven-plugin from 0.15.3 to 0.15.7 #137, #166, #174.
+ </action>
+ <action dev="ggregory" type="update" due-to="Dependabot">
+ Bump spotbugs-maven-plugin from 4.3.0 to 4.6.0.0 #140, #154, #161, #178.
+ </action>
+ <action dev="ggregory" type="update" due-to="Gary Gregory, Dependabot">
+ Bump h2 from 1.4.200 to 2.0.212 #153, #183.
+ 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">
+ Bump commons-parent from 52 to 53 #180.
+ </action>
+ </release>
+ <release version="2.9.0" date="2021-07-30" description="This is a minor release, including bug fixes and enhancements.">
+ <!-- ADDS -->
+ <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 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>