Skip to content

Commit 2de239f

Browse files
authored
Generate changelog (#2431)
* Generate Changelog * add detail after author in the author section
1 parent f4d0ed6 commit 2de239f

3 files changed

Lines changed: 181 additions & 2 deletions

File tree

CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,19 @@ Notable changes since version 42.0.0, read the complete [History of Changes](htt
44
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
55

66
## [Unreleased]
7+
### Changed
8+
9+
### Added
10+
11+
### Fixed
12+
13+
[42.3.2] (2022-02-01 07:35:41 -0500)
14+
### Security
15+
- CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
16+
sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
17+
However, the driver did not verify if the class implements the expected interface before instantiating the class. This
18+
would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in [commit](https://github.com/pgjdbc/pgjdbc/commit/f4d0ed69c0b3aae8531d83d6af4c57f22312c813)
19+
720
### Changed
821
- perf: read in_hot_standby GUC on connection [PR #2334](https://github.com/pgjdbc/pgjdbc/pull/2334)
922
- test: materialized view privileges [PR #2209](https://github.com/pgjdbc/pgjdbc/pull/2209) fixes [Issue #2060](https://github.com/pgjdbc/pgjdbc/issues/2060)
@@ -25,6 +38,7 @@ remove the user and password arguments. Any locations that required those fields
2538
- perf: read in_hot_standby GUC on connection [PR #2334](https://github.com/pgjdbc/pgjdbc/pull/2334)
2639
- doc: improv doc around binary decoding of numeric data [#2331](https://github.com/pgjdbc/pgjdbc/pull/2331)
2740
- Add cert key type checking to chooseClientAlias [PR #2417](https://github.com/pgjdbc/pgjdbc/pull/2417)
41+
2842
### Added
2943
- feat: Add authenticationPluginClassName option to provide passwords at runtime
3044
Adds authenticationPluginClassName connection property that allows end users to specify a class
@@ -35,6 +49,7 @@ This includes direct usage in the GSS authentication code paths that internally
3549
This allows configuring a connection with a password that must be generated on the fly or periodically changes. [PR #2369](https://github.com/pgjdbc/pgjdbc/pull/2369) original issue [Issue #2102](https://github.com/pgjdbc/pgjdbc/issues/2102)
3650
- feat: add tcpNoDelay option [PR #2341](https://github.com/pgjdbc/pgjdbc/pull/2341) fixes [Issue #2324](https://github.com/pgjdbc/pgjdbc/issues/2324)
3751
- feat: pg_service.conf and .pgpass support (jdbc:postgresql://?service=my-service) [PR #2260](https://github.com/pgjdbc/pgjdbc/pull/2260) fixes [Issue #2278](https://github.com/pgjdbc/pgjdbc/issues/2278)
52+
3853
### Fixed
3954
- Use local TimestampUtil in PgStatement and PgResultset for thread safety [PR #2291](https://github.com/pgjdbc/pgjdbc/pull/2291)
4055
fixes [Issue #921](https://github.com/pgjdbc/pgjdbc/issues/921) synchronize modification of shared calendar
@@ -608,4 +623,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc
608623
[42.2.24]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.23...REL42.2.24
609624
[42.3.0]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.24...REL42.3.1
610625
[42.3.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.3.0...REL42.3.1
611-
[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.3.1...HEAD
626+
[42.3.1]: https://github.com/pgjdbc/pgjdbc/compare/REL42.3.1...REL42.3.2
627+
[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.3.2...HEAD

contributors.json

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,14 @@
180180
"Álvaro Hernández Tortosa" : "https://github.com/ahachete",
181181
"Árpád Magosányi" : "https://github.com/magwas",
182182
"Étienne BERSAC" : "https://github.com/bersace",
183-
"吴伟杰" : "https://github.com/TeslaCN"
183+
"吴伟杰" : "https://github.com/TeslaCN",
184+
"Andrei Paikin" : "andreypaykin@gmail.com",
185+
"JoelRabinovitch" : "joel.rabinovitch@tecsys.com",
186+
"Marek Läll" : "42849684+MarekUniq@users.noreply.github.com",
187+
"Mark Grobaker" : "5614366+mgrobaker@users.noreply.github.com",
188+
"Michał Wyrzykowski" : "w.michal1@gmail.com",
189+
"Nick Burgan" : "13688219+nmburgan@users.noreply.github.com",
190+
"Sergey Prytkov" : "shallowstack@gmail.com",
191+
"Zuzana Miklankova" : "90186537+zmiklank@users.noreply.github.com",
192+
"marcmuel" : "marcus.mueller@schwarz-infosysteme.de"
184193
}
Lines changed: 154 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,154 @@
1+
---
2+
title: PostgreSQL JDBC Driver 42.3.2 Released
3+
date: 2022-02-01 07:35:28 -0500
4+
categories:
5+
- new_release
6+
version: 42.3.2
7+
---
8+
**Notable changes**
9+
### Security
10+
- CVE-2022-21724 pgjdbc instantiates plugin instances based on class names provided via authenticationPluginClassName,
11+
sslhostnameverifier, socketFactory, sslfactory, sslpasswordcallback connection properties.
12+
However, the driver did not verify if the class implements the expected interface before instantiating the class. This
13+
would allow a malicious class to be instantiated that could execute arbitrary code from the JVM. Fixed in [commit](https://github.com/pgjdbc/pgjdbc/commit/f4d0ed69c0b3aae8531d83d6af4c57f22312c813)
14+
15+
### Changed
16+
- perf: read in_hot_standby GUC on connection [PR #2334](https://github.com/pgjdbc/pgjdbc/pull/2334)
17+
- test: materialized view privileges [PR #2209](https://github.com/pgjdbc/pgjdbc/pull/2209) fixes [Issue #2060](https://github.com/pgjdbc/pgjdbc/issues/2060)
18+
- docs: add info about convenience maven project [PR #2407](https://github.com/pgjdbc/pgjdbc/pull/2407)
19+
- docs: Document timezone reversal from POSIX to ISO [PR #2413](https://github.com/pgjdbc/pgjdbc/pull/2413)
20+
- fix: we will ask the server if it supports GSS Encryption if gssEncryption
21+
is prefer or require [PR #2396](https://github.com/pgjdbc/pgjdbc/pull/2396) remove the need to have a ticket in the cache before asking the server if gss encryptions are supported
22+
- docs: remove Java 6 and 7 references from contributing [PR #2385](https://github.com/pgjdbc/pgjdbc/pull/2385)
23+
- style: remove Java 8 / JDBC 4.2 checks [PR #2383](https://github.com/pgjdbc/pgjdbc/pull/2383) Remove all remaining checks whether the source is lower than Java 8
24+
or JDBC 4.2.
25+
- fix: throw SQLException for #getBoolean BIT(>1) [PR #2386](https://github.com/pgjdbc/pgjdbc/pull/2386) Throw SQLException instead of ClassCastException when calling
26+
CallableStatement#getBoolean(int) on BIT(>1).
27+
- style: import java.time types in more classes [PR #2382](https://github.com/pgjdbc/pgjdbc/pull/2382) Use imports for java.time types in all remaining classes.
28+
- style: import java.time types in TimestampUtils [PR #2380](https://github.com/pgjdbc/pgjdbc/pull/2380) Use imports for java.time types in TimestampUtils.
29+
- refactor: Change internal constructors to pass only connection Properties
30+
Changes internal constructors for PgConnection and related classes to only accept the connection properties object and
31+
remove the user and password arguments. Any locations that required those fields can retrieve them from the properties map.
32+
- test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+
33+
- perf: read in_hot_standby GUC on connection [PR #2334](https://github.com/pgjdbc/pgjdbc/pull/2334)
34+
- doc: improv doc around binary decoding of numeric data [#2331](https://github.com/pgjdbc/pgjdbc/pull/2331)
35+
- Add cert key type checking to chooseClientAlias [PR #2417](https://github.com/pgjdbc/pgjdbc/pull/2417)
36+
37+
### Added
38+
- feat: Add authenticationPluginClassName option to provide passwords at runtime
39+
Adds authenticationPluginClassName connection property that allows end users to specify a class
40+
that will provide the connection passwords at runtime. Users implementing that interface must
41+
ensure that each invocation of the method provides a new char[] array as the contents
42+
will be filled with zeroes by the driver after use.Call sites within the driver have been updated to use the char[] directly wherever possible.
43+
This includes direct usage in the GSS authentication code paths that internally were already converting the String password into a char[] for internal usage.
44+
This allows configuring a connection with a password that must be generated on the fly or periodically changes. [PR #2369](https://github.com/pgjdbc/pgjdbc/pull/2369) original issue [Issue #2102](https://github.com/pgjdbc/pgjdbc/issues/2102)
45+
- feat: add tcpNoDelay option [PR #2341](https://github.com/pgjdbc/pgjdbc/pull/2341) fixes [Issue #2324](https://github.com/pgjdbc/pgjdbc/issues/2324)
46+
- feat: pg_service.conf and .pgpass support (jdbc:postgresql://?service=my-service) [PR #2260](https://github.com/pgjdbc/pgjdbc/pull/2260) fixes [Issue #2278](https://github.com/pgjdbc/pgjdbc/issues/2278)
47+
48+
### Fixed
49+
- Use local TimestampUtil in PgStatement and PgResultset for thread safety [PR #2291](https://github.com/pgjdbc/pgjdbc/pull/2291)
50+
fixes [Issue #921](https://github.com/pgjdbc/pgjdbc/issues/921) synchronize modification of shared calendar
51+
- fix: PgObject isNull() was reporting the opposite fixes [Issue #2411](https://github.com/pgjdbc/pgjdbc/issues/2411) [PR #2414](https://github.com/pgjdbc/pgjdbc/pull/2414)
52+
- fix: default file name is ".pg_service.conf" on Windows (not "pg_service.conf") [PR #2398](https://github.com/pgjdbc/pgjdbc/pull/2398) fixes [Issue #2278](https://github.com/pgjdbc/pgjdbc/issues/2278)
53+
- test: Fix RefCursorFetchTest on older platforms
54+
- fix: do not close refcursor after reading if fetchsize has been set fixes [Issue #2227](https://github.com/pgjdbc/pgjdbc/issues/2227) [PR #2371](https://github.com/pgjdbc/pgjdbc/pull/2371)
55+
- fix: rework gss authentication to use the principal name to get the credentials fixes [Issue #2235](https://github.com/pgjdbc/pgjdbc/issues/2235) [PR #2352](https://github.com/pgjdbc/pgjdbc/pull/2352)
56+
- fix: return getIndexInfo metadata columns in UPPER CASE [PR #2368](https://github.com/pgjdbc/pgjdbc/pull/2368)
57+
- fix: Connection leak in ConnectionFactoryImpl#tryConnect [PR #2350](https://github.com/pgjdbc/pgjdbc/pull/2350) [Issue #2351](https://github.com/pgjdbc/pgjdbc/issues/2351)
58+
- fix: Fix For IS_AUTOGENERATED Flag [PR #2348](https://github.com/pgjdbc/pgjdbc/pull/2348)
59+
- fix: parsing service file tests for windows [PR #2347](https://github.com/pgjdbc/pgjdbc/pull/2347)
60+
- fix: The spec says that calling close() on a closed connection is a noop. [PR #2345](https://github.com/pgjdbc/pgjdbc/pull/2345) fixes [Issue #2300](https://github.com/pgjdbc/pgjdbc/issues/2300)
61+
- fix: add microsecond precision to getTimestamp() called on sql TIME(6) Currently, "when fetching a value of type TIME(6) through
62+
resultSet.getTimestamp() only ms precision is retained, the microsecond fractional digits are lost." This change will retain the microsecond
63+
precision when .getTimestamp() is called on TIME(6). [PR #2181](https://github.com/pgjdbc/pgjdbc/pull/2181) Closes [Issue #1537](https://github.com/pgjdbc/pgjdbc/issues/1537)
64+
- test: materialized view privileges [PR #2209](https://github.com/pgjdbc/pgjdbc/pull/2209) add and drop a materialized view
65+
Add to TestUtil and also to DatabaseMetaData setup and teardown fixes [Issue #2060](https://github.com/pgjdbc/pgjdbc/issues/2060)
66+
- fix: typo in connect.md [PR #2338](https://github.com/pgjdbc/pgjdbc/pull/2238) `OutOfMemoryException` => `OutOfMemoryError`
67+
- fix: use local TimestampUtil in PgStatement and PgResultset for thread
68+
safety TimestampUtil is not thread safe. It raises exceptions when multiple threads use ResultSets of one connection. [PR #2291](https://github.com/pgjdbc/pgjdbc/pull/2291)
69+
fixes [Issue #921](https://github.com/pgjdbc/pgjdbc/issues/921)
70+
If PgStatement and PgResultSet use their own TimestampUtil no synchronize is needed.
71+
- fix: typo in CONTRIBUTING.md [PR #2332](https://github.com/pgjdbc/pgjdbc/pull/2332) seccion => section
72+
73+
<!--more-->
74+
75+
**Commits by author**
76+
77+
Andrei Paikin (1):
78+
minor: fix checkstyle violations for empty lines in enum [PR 2426](https://github.com/pgjdbc/pgjdbc/pull/2426)
79+
80+
Brett Okken (1):
81+
doc: improv doc around binary decoding of numeric data [PR 2331](https://github.com/pgjdbc/pgjdbc/pull/2331)
82+
83+
Dave Cramer (21):
84+
move comment to appropriate place and add explanation [PR 2336](https://github.com/pgjdbc/pgjdbc/pull/2336)
85+
bump version in readme and gradle.properties [PR 2335](https://github.com/pgjdbc/pgjdbc/pull/2335)
86+
add entries for latest changes [PR 2339](https://github.com/pgjdbc/pgjdbc/pull/2339)
87+
Ms goodman time gettimestamp micros [PR 2181](https://github.com/pgjdbc/pgjdbc/pull/2181)
88+
add TCP No Delay option fixes Issue [PR 2324](https://github.com/pgjdbc/pgjdbc/pull/2324) (#2341)
89+
fix Issue [PR 2300](https://github.com/pgjdbc/pgjdbc/pull/2300). The spec says that calling close() on a closed connection is a noop. (#2345)
90+
fix: parsing service file tests for windows [PR 2347](https://github.com/pgjdbc/pgjdbc/pull/2347)
91+
fix: return getIndexInfo metadata columns in UPPER CASE [PR 2368](https://github.com/pgjdbc/pgjdbc/pull/2368)
92+
fix: rework gss authentication to use the principal name to get the credentials fixes Issue [PR 2235](https://github.com/pgjdbc/pgjdbc/pull/2235) (#2352)
93+
Removed unsafe package and native kerberos ticket check [PR 2363](https://github.com/pgjdbc/pgjdbc/pull/2363)
94+
log4jmessage [PR 2370](https://github.com/pgjdbc/pgjdbc/pull/2370)
95+
Put back GSSCallbackHandler. Avoid using forbidden api [PR 2373](https://github.com/pgjdbc/pgjdbc/pull/2373)
96+
fix: do not close refcursor after reading if fetchsize has been set fixes ISSUE [PR 2227](https://github.com/pgjdbc/pgjdbc/pull/2227) (#2371)
97+
perf: add read(b,o,l) to BlobInputStream [PR 2376](https://github.com/pgjdbc/pgjdbc/pull/2376)
98+
change the default directory returned on windows to APPDATA/postgresql since that is what we end up using anyway [PR 2402](https://github.com/pgjdbc/pgjdbc/pull/2402)
99+
fix: we will ask the server if it supports GSS Encryption if gssEncryption is prefer or require [PR 2396](https://github.com/pgjdbc/pgjdbc/pull/2396)
100+
docs: Document timezone reversal from POSIX to ISO [PR 2413](https://github.com/pgjdbc/pgjdbc/pull/2413)
101+
fix: PgObject isNull() was reporting the opposite fixes Issue [PR 2411](https://github.com/pgjdbc/pgjdbc/pull/2411) (#2414)
102+
remove skipjre6 and skipjre7 [PR 2415](https://github.com/pgjdbc/pgjdbc/pull/2415)
103+
Revert "perf: add read(b,o,l) to BlobInputStream [PR 2376](https://github.com/pgjdbc/pgjdbc/pull/2376)" (#2422)
104+
Changelog42.3.2 [PR 2418](https://github.com/pgjdbc/pgjdbc/pull/2418)
105+
106+
JoelRabinovitch (1):
107+
fixForIsAutoGenerated Fix For IS_AUTOGENERATED Flag [PR 2348](https://github.com/pgjdbc/pgjdbc/pull/2348)
108+
109+
Marek Läll (2):
110+
Issue 2278 ; jdbc:postgresql://?service= ; pg_service.conf ; .pgpass [PR 2282](https://github.com/pgjdbc/pgjdbc/pull/2282)
111+
fix: default file name is ".pg_service.conf" on Windows (not "pg_service.conf") [PR 2398](https://github.com/pgjdbc/pgjdbc/pull/2398)
112+
113+
Mark Grobaker (1):
114+
test: materialized view privileges [PR 2209](https://github.com/pgjdbc/pgjdbc/pull/2209)
115+
116+
Michał Wyrzykowski (1):
117+
fix: Connection leak in ConnectionFactoryImpl#tryConnect [PR 2350](https://github.com/pgjdbc/pgjdbc/pull/2350) (#2351)
118+
119+
Nick Burgan (1):
120+
Add cert key type checking to chooseClientAlias [PR 2417](https://github.com/pgjdbc/pgjdbc/pull/2417)
121+
122+
Philippe Marschall (6):
123+
style: fix typos in pgobject javadoc [PR 2379](https://github.com/pgjdbc/pgjdbc/pull/2379)
124+
style: import java.time types in TimestampUtils [PR 2380](https://github.com/pgjdbc/pgjdbc/pull/2380)
125+
style: import java.time types in more classes [PR 2382](https://github.com/pgjdbc/pgjdbc/pull/2382)
126+
fix: throw SQLException for #getBoolean BIT(>1) [PR 2386](https://github.com/pgjdbc/pgjdbc/pull/2386)
127+
style: remove Java 8 / JDBC 4.2 checks [PR 2383](https://github.com/pgjdbc/pgjdbc/pull/2383)
128+
docs: remove Java 6 and 7 references from contributing [PR 2385](https://github.com/pgjdbc/pgjdbc/pull/2385)
129+
130+
Sehrope Sarkuni (9):
131+
feat: Change AuthenticationPlugin interface to use char[] rather than String [PR 2420](https://github.com/pgjdbc/pgjdbc/pull/2420)
132+
test: Disable no-arg callable statement tests in simple query mode [PR 2419](https://github.com/pgjdbc/pgjdbc/pull/2419)
133+
test: Remove extra catch-fail in RefCursorFetchTest [PR 2391](https://github.com/pgjdbc/pgjdbc/pull/2391)
134+
test: Fix RefCursorFetchTest on older platforms [PR 2391](https://github.com/pgjdbc/pgjdbc/pull/2391)
135+
feat: Add authenticationPluginClassName option to provide passwords at runtime [PR 2369](https://github.com/pgjdbc/pgjdbc/pull/2369)
136+
test: Add TestUtil.assumeHaveMinimumServerVersion(...) helper [PR 2369](https://github.com/pgjdbc/pgjdbc/pull/2369)
137+
refactor: Change internal constructors to pass only connection Properties [PR 2369](https://github.com/pgjdbc/pgjdbc/pull/2369)
138+
refactor: Use multi-catch for exceptions in ConnectionFactoryImpl [PR 2369](https://github.com/pgjdbc/pgjdbc/pull/2369)
139+
test: Fix DatabaseMetadataTest to perform mview tests only on 9.3+ [PR 2340](https://github.com/pgjdbc/pgjdbc/pull/2340)
140+
141+
Sergey Nuyanzin (4):
142+
[typo] typo in CONTRIBUTING.md [PR 2332](https://github.com/pgjdbc/pgjdbc/pull/2332)
143+
[typo] in connect.md [PR 2338](https://github.com/pgjdbc/pgjdbc/pull/2338)
144+
Misprint in messages_ru.java [PR 2358](https://github.com/pgjdbc/pgjdbc/pull/2358)
145+
146+
Sergey Prytkov (1):
147+
perf: read in_hot_standby GUC on connection [PR 2334](https://github.com/pgjdbc/pgjdbc/pull/2334)
148+
149+
Zuzana Miklankova (1):
150+
docs: add info about convenience maven project [PR 2407](https://github.com/pgjdbc/pgjdbc/pull/2407)
151+
152+
marcmuel (1):
153+
fix: use local TimestampUtil in PgStatement and PgResultset for thread safety [PR 2291](https://github.com/pgjdbc/pgjdbc/pull/2291)
154+

0 commit comments

Comments
 (0)