Skip to content
Commits on Source (3)
**I'm submitting a ...**
<!--- What kind of an issue is this? Put an `x` in all the boxes that apply: -->
- [ ] bug report
- [ ] feature request
**Describe the issue**
A clear and concise description of what the issue is.
**Java Version**
**OS Version**
**PostgreSQL Version**
**To Reproduce**
Steps to reproduce the behaviour:
**Expected behaviour**
A clear and concise description of what you expected to happen.
And what actually happens
**Logs**
If possible PostgreSQL logs surrounding the occurrence of the issue
Additionally logs from the driver can be obtained adding
```java
loggerLevel=TRACE&loggerFile=pgjdbc-trace.log
```
to the connection string
### All Submissions:
* [ ] Have you followed the guidelines in our [Contributing](CONTRIBUTING.md) document?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change?
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
### New Feature Submissions:
1. [ ] Does your submission pass tests?
2. [ ] Does mvn checkstyle:check pass ?
### Changes to Existing Features:
* [ ] Does this break existing behaviour? If so please explain.
* [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
* [ ] Have you written new tests for your core changes, as applicable?
* [ ] Have you successfully run tests with your changes locally?
\ No newline at end of file
......@@ -22,16 +22,7 @@ set_conf_property "ssl_cert_file" "server.crt"
set_conf_property "ssl_key_file" "server.key"
set_conf_property "ssl_ca_file" "root.crt"
enable_ssl_property "testsinglecertfactory"
enable_ssl_property "sslhostnossl9"
enable_ssl_property "sslhostgh9"
enable_ssl_property "sslhostbh9"
enable_ssl_property "sslhostsslgh9"
enable_ssl_property "sslhostsslbh9"
enable_ssl_property "sslhostsslcertgh9"
enable_ssl_property "sslhostsslcertbh9"
enable_ssl_property "sslcertgh9"
enable_ssl_property "sslcertbh9"
enable_ssl_property "enable_ssl_tests"
PG_DATA_DIR="/etc/postgresql/${PG_VERSION}/main/"
sudo cp certdir/server/pg_hba.conf "/etc/postgresql/${PG_VERSION}/main/pg_hba.conf"
......
......@@ -10,6 +10,19 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
### Fixed
## [42.2.5] (2018-08-27)
### Changed
- `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
### Added
- Support for `sslmode=allow/prefer/require` [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
### Fixed
- Security: added server hostname verification for non-default SSL factories in `sslmode=verify-full` (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
- Updated documentation on SSL configuration [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857)
- Updated Japanese translations [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275)
- IndexOutOfBounds on prepared multistatement with insert values [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a)
## [42.2.4] (2018-07-14)
### Changed
- PreparedStatement.setNull(int parameterIndex, int t, String typeName) no longer ignores the typeName
......@@ -21,7 +34,7 @@ argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160)
## [42.2.3] (2018-07-12)
### Known issues
- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as minute
- SQL_TSI_YEAR is treated as hour, SQL_TSI_WEEK is treated as hour, SQL_TSI_MINUTE is treated as second
### Changed
- Reduce the severity of the error log messages when an exception is re-thrown. The error will be
......@@ -172,4 +185,5 @@ thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc
[42.2.2]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.1...REL42.2.2
[42.2.3]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.2...REL42.2.3
[42.2.4]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.3...REL42.2.4
[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...HEAD
[42.2.5]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.4...REL42.2.5
[Unreleased]: https://github.com/pgjdbc/pgjdbc/compare/REL42.2.5...HEAD
......@@ -5,11 +5,11 @@ Thank you so much for wanting to contribute to **PostgreSQL JDBC Driver**!
The purpose of the *Guidelines for Contributing* is to create a collaboration baseline.
**Do NOT** blindly obey these guidelines, use them (after understanding) where they make sense.
You must know that the PgJDBC driver support Java versions **6**, **7** and **8** mostly the
Oracle and OpenJDK implementations; and PostgreSQL server versions from **8.2** and higher.
Currently the PgJDBC driver supports the Oracle and OpenJDK Java implementations of
versions **6**, **7**, **8** and **9**; and PostgreSQL server versions from **8.2** and higher.
Some PostgreSQL forks *might* work but are not officially supported, we cheer the vendors of forks
that want to improve this driver sending us pull requests that are not disruptive to the
Some PostgreSQL forks *might* work but are not officially supported, we support vendors of forks
that want to improve this driver by sending us pull requests that are not disruptive to the
community ecosystem of PostgreSQL.
## Issues
......@@ -18,7 +18,7 @@ Issues are a great way to keep track of tasks, enhancements, and bugs for the Pg
### How to submit a bug report
If you found a bug in the PgJDBC driver please use an issue to report it, try to be concise
If you find a bug in the PgJDBC driver please use an issue to report it, try to be concise
and detailed in your report, please ensure to specify at least the following:
* Use a concise subject.
......@@ -31,17 +31,18 @@ and detailed in your report, please ensure to specify at least the following:
* A pull request with failing JUnit test case is most preferred, although it's OK to paste
the test case into the issue description.
You can consider a bug: some behavior that worked before and now it does not; a violation of the
You can consider a bug: some behaviour that worked before and now it does not; a violation of the
JDBC spec in any form, unless it's stated otherwise as an extension.
It's hard, but possible, to introduce some breaking changes to the driver every major version update,
so, please read carefully the changelog and test thoroughly for any potential problem with your app.
In the unlikely event that a breaking change is introduced in the driver we will update the major version.
We will document this change but please read carefully the changelog and test thoroughly for any potential problems with your app.
What is not acceptable is to introduce breaking changes in the minor or patch update of the driver,
if you found a regression in a minor o patch update, please fill an issue.
If you find a regression in a minor patch update, please report an issue.
Not every bug report needs to be of code, some can be documentation erratum that can be improved as
well, the website source code along with the documentation is under **docs**, your are welcome to
report issues and send pull request too.
Bug reports are not isolated only to code, errors in documentation as well as the website source
code located in the **docs** directory also qualify. You are welcome to report issues and send a
pull request on these as well. [skip ci] can be added to the commit message to prevent Travis-CI from building a
pull request that only changes the documentation.
For enhancements request keep reading the *Ideas, enhancements and new features* seccion.
......@@ -56,7 +57,7 @@ might have, how practical it is to implement, what implications it would
have for standards compliance and security, etc. Include a detailed use-case
description.
Few of the PgJDBC developers have much spare time, so it's unlikely that your
Few of the PgJDBC developers have spare time, so it's unlikely that your
idea will be picked up and implemented for you. The best way to make sure a
desired feature or improvement happens is to implement it yourself. The PgJDBC
sources are reasonably clear and they're pure Java, so it's sometimes easier
......@@ -121,9 +122,10 @@ artifacts you should use `mvn`.
After running the build , and build a .jar file (Java ARchive)
depending on the version of java and which release you have the jar will be named
postgresql-<major>.<minor>.<release>.jre<N>.jar. Where major,minor are the PostgreSQL major,minor
version numbers. release is the jdbc release number. N is the version of the JDBC API which
corresponds to the version of Java used to compile the driver.
postgresql-<major>.<minor>.<patch>.[jre<N>].jar. We use Semantic versioning; as such
major, minor, patch refer to the level of change introduced. For Java 6, and Java 7
jre<N> will be appended after the patch level. N corresponds to the version of Java,
roughly correlated to the JDBC version number.
The target directory will contain the driver jar.
If you need source code, documentation and runtime dependencies use `mvn package -P release-artifacts`.
......@@ -168,11 +170,20 @@ Here's sample configuration for macOS:
</toolchain>
</toolchains>
```
## Checkstyle
We enforce a style using checkstyle, Travis CI will fail if there are checkstyle errors.
It is recommended you run
mvn checkstyle:check
before creating your pull request
## Updating translations
From time to time, the translation packages will need to be updated as part of the build process.
However, this is atypical, and is generally only done when needed such as by a project committer before a major release.
However, this is atypical, and is generally only done when needed; such as by a project committer before a major release.
This process adds additional compile time and generally should not be executed for every build.
Updating translations can be accomplished with the following command:
......
......@@ -23,36 +23,36 @@ Most people do not need to compile PgJDBC. You can download the precompiled driv
### Maven Central
You can search on The Central Repository with GroupId and ArtifactId [![Maven Search](https://img.shields.io/badge/org.postgresql-postgresql-yellow.svg)][mvn-search] for:
[![Java 8](https://img.shields.io/badge/Java_8-42.2.3-blue.svg)][mvn-jre8]
[![Java 8](https://img.shields.io/badge/Java_8-42.2.4-blue.svg)][mvn-jre8]
```xml
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.3</version>
<version>42.2.4</version>
</dependency>
```
[![Java 7](https://img.shields.io/badge/Java_7-42.2.3.jre7-blue.svg)][mvn-jre7]
[![Java 7](https://img.shields.io/badge/Java_7-42.2.4.jre7-blue.svg)][mvn-jre7]
```xml
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.3.jre7</version>
<version>42.2.4.jre7</version>
</dependency>
```
[![Java 6](https://img.shields.io/badge/Java_6-42.2.3.jre6-blue.svg)][mvn-jre6]
[![Java 6](https://img.shields.io/badge/Java_6-42.2.4.jre6-blue.svg)][mvn-jre6]
```xml
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.3.jre6</version>
<version>42.2.4.jre6</version>
</dependency>
```
[mvn-search]: http://search.maven.org/#search%7Cgav%7C1%7Cg%3A%22org.postgresql%22%20AND%20a%3A%22postgresql%22 "Search on Maven Central"
[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre6|bundle
[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3.jre7|bundle
[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.3|bundle
[mvn-jre6]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre6|bundle
[mvn-jre7]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4.jre7|bundle
[mvn-jre8]: http://search.maven.org/#artifactdetails|org.postgresql|postgresql|42.2.4|bundle
#### Development snapshots
Snapshot builds (builds from `master` branch) are also deployed to Maven Central, so you can test current development version (test some bugfix) using:
......@@ -60,9 +60,9 @@ Snapshot builds (builds from `master` branch) are also deployed to Maven Central
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.4-SNAPSHOT</version> <!-- Java 8 -->
<version>42.2.4.jre7-SNAPSHOT</version> <!-- Java 7 -->
<version>42.2.4.jre6-SNAPSHOT</version> <!-- Java 6 -->
<version>42.2.5-SNAPSHOT</version> <!-- Java 8 -->
<version>42.2.5.jre7-SNAPSHOT</version> <!-- Java 7 -->
<version>42.2.5.jre6-SNAPSHOT</version> <!-- Java 6 -->
</dependency>
```
......@@ -111,7 +111,7 @@ In addition to the standard connection parameters the driver supports a number o
| password | String | null | The database user's password. |
| ssl | Boolean | false | Control use of SSL (true value causes SSL to be required) |
| sslfactory | String | null | Provide a SSLSocketFactory class when using SSL. |
| sslfactoryarg | String | null | Argument forwarded to constructor of SSLSocketFactory class. |
| sslfactoryarg (deprecated) | String | null | Argument forwarded to constructor of SSLSocketFactory class. |
| sslmode | String | null | Parameter governing the use of SSL. |
| sslcert | String | null | The location of the client's SSL certificate |
| sslkey | String | null | The location of the client's PKCS#8 SSL key |
......@@ -144,7 +144,7 @@ In addition to the standard connection parameters the driver supports a number o
| hostRecheckSeconds | Integer | 10 | Specifies period (seconds) after which the host status is checked again in case it has changed |
| loadBalanceHosts | Boolean | false | If disabled hosts are connected in the given order. If enabled hosts are chosen randomly from the set of suitable candidates |
| socketFactory | String | null | Specify a socket factory for socket creation |
| socketFactoryArg | String | null | Argument forwarded to constructor of SocketFactory class. |
| socketFactoryArg (deprecated) | String | null | Argument forwarded to constructor of SocketFactory class. |
| autosave | String | never | Specifies what the driver should do if a query fails, possible values: always, never, conservative |
| preferQueryMode | String | extended | Specifies which mode is used to execute queries to database, possible values: extended, extendedForPrepared, extendedCacheEverything, simple |
| reWriteBatchedInserts | Boolean | false | Enable optimization to rewrite and collapse compatible INSERT statements that are batched. |
......
......@@ -19,3 +19,4 @@ preparethreshold=5
loggerLevel=OFF
loggerFile=target/pgjdbc-tests.log
protocolVersion=0
sslpassword=sslpwd
To run the SSL tests, the following properties are used:
certdir: directory where the certificates and keys are store
* certdir: directory where the certificates and keys are store
* enable_ssl_tests: enables SSL tests
ssl<TYPE><gh|bh><8|9>: a connection string to the appropriate database
TYPE is the TYPE or METHOD field from pg_hba.conf that is: host, hostnossl,
hostssl and the special types hostsslcert, that corresponds
to a hostssl type with clientcert=1 and cert that corresponds
to a hostssl type with cert authentication. 'gh' means, the server certificate
matches the hostname (good hostname), 'bh' means it is not (bad
hostname). It can be simulated with a single database, if two names
can be used i.e. localhost and 127.0.0.1. ssloff points to a database,
where ssl is off. The last number is the server major version
In order to configure PostgreSQL for SSL tests, the following changes should be applied:
For each connection, the following files should be placed into certdir:
goodclient.crt, badclient.crt, goodclient.pk8, badclient.pk8, goodroot.crt, badroot.crt
optionally prefixed by the value of ssl<TYPE><gh|bh>prefix property, if
different files are necessary for different connect strings.
* Copy server/server.crt, server/server.key, and server/root.crt to $PGDATA directory
* In $PGDATA directory: chmod 0600 server.crt server.key root.crt
* Set ssl=on in postgresql.conf
* Set ssl_cert_file=server.crt in postgresql.conf
* Set ssl_key_file=server.key in postgresql.conf
* Set ssl_ca_file=root.crt in postgresql.conf
* Add databases for SSL tests. Note: sslinfo extension is used in tests to tell if connection is using SSL or not
for db in hostssldb hostnossldb certdb hostsslcertdb; do
createdb $db
psql $db -c "create extension sslinfo"
done
* Add test databases to pg_hba.conf. If you do not overwrite the pg_hba.conf then remember to comment out all lines
starting with "host all".
* Uncomment enable_ssl_tests=true in ssltests.properties
* The username for connecting to postgres as specified in build.local.properties tests has to be "test".
This directory contains example certificates generated by the following
commands:
......@@ -38,20 +42,3 @@ cd server
openssl req -x509 -newkey rsa:1024 -nodes -days 3650 -keyout server.key -out server.crt
cp server.crt ../goodroot.crt
#Common name is localhost, no password
The subdirectory server contains what should be copied to the PGDATA directory.
If you do not overwrite the pg_hba.conf then remember to comment out all lines
starting with "host all".
For the tests the sslinfo module must be installed into every database.
The ssl=on must be set in postgresql.conf
The following command creates the databases and installs the sslinfo module.
for db in hostssldb hostnossldb certdb hostsslcertdb; do
createdb $db
psql $db -c "create extension sslinfo"
done
The username for connecting to postgres as specified in build.local.properties tests has to be "test".
......@@ -8,6 +8,7 @@
"Chen Huajun" : "https://github.com/ChenHuajun",
"Christian Kotzbauer" : "https://github.com/code-chris",
"Christian Ullrich" : "https://github.com/chrullrich",
"Christoph Berg" : "https://github.com/ChristophBerg",
"Christopher Deckers" : "https://github.com/Chrriis",
"Daniel Gustafsson" : "https://github.com/danielgustafsson",
"Daniel Migowski" : "https://github.com/dmigowski",
......@@ -28,7 +29,9 @@
"Joe Kutner" : "https://github.com/jkutner",
"Jordan Lewis" : "https://github.com/jordanlewis",
"Jorge Solorzano" : "https://github.com/jorsol",
"Kazuhiro Sera" : "https://github.com/seratch",
"KimBisgaardDmi" : "https://github.com/KimBisgaardDmi",
"Kyotaro Horiguchi" : "https://github.com/horiguti",
"Laurenz Albe" : "https://github.com/laurenz",
"Magnus" : "https://github.com/magJ",
"Magnus Hagander" : "https://github.com/mhagander",
......
libpgjava (42.2.5-1) unstable; urgency=medium
* New upstream security release: added server hostname verification for
non-default SSL factories in `sslmode=verify-full` (CVE-2018-10936)
https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e
-- Christoph Berg <myon@debian.org> Mon, 27 Aug 2018 21:20:17 +0200
libpgjava (42.2.4-2) unstable; urgency=medium
* Ignore javadoc warnings, they are for unused files anyway. (Closes: #906377)
......
......@@ -39,7 +39,7 @@ Dave Cramer (4):
Jacques Fuentes (1):
* Make replication docs use PREFER_QUERY_MODE [PR 761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070)
* Make replication docs use PREFER\_QUERY\_MODE [PR 761](https://github.com/pgjdbc/pgjdbc/pull/761) [bd0497de](https://github.com/pgjdbc/pgjdbc/commit/bd0497dee741e92de1cc3eeabb58a82608ed6070)
James (1):
......
......@@ -57,7 +57,7 @@ Vladimir Sitnikov (7):
* fix: use server-prepared statements for batch inserts when prepareThreshold>0 [abc3d9d7](https://github.com/pgjdbc/pgjdbc/commit/abc3d9d7f34a001322fbbe53f25d5e77a33a667f)
* fix: better parsing for returning keyword [PR 824](https://github.com/pgjdbc/pgjdbc/pull/824) [201daf1d](https://github.com/pgjdbc/pgjdbc/commit/201daf1dc916bbc35e2bbec961aebfd1b1e30bfc)
* docs: build index, changelog pages from _posts/... to reduce release overhead [d6fe07d7](https://github.com/pgjdbc/pgjdbc/commit/d6fe07d7bb613d7b8fb06ace64b9b37d3f23bbfe)
* chore: make ./release_notes.sh create docs/_posts/$DATE_YMD-$VERS-release.md file [e00d4571](https://github.com/pgjdbc/pgjdbc/commit/e00d4571bb6ca24c8f93956b59fd1c9a14131394)
* chore: make ./release\_notes.sh create docs/\_posts/$DATE\_YMD-$VERS-release.md file [e00d4571](https://github.com/pgjdbc/pgjdbc/commit/e00d4571bb6ca24c8f93956b59fd1c9a14131394)
* docs: add 42.1.2 release notes [6f127a61](https://github.com/pgjdbc/pgjdbc/commit/6f127a61eed5317133ea80f0a06f9441b170a17a)
<a name="contributors_{{ page.version }}"></a>
......
......@@ -165,7 +165,7 @@ Vladimir Sitnikov (23):
* fix: prevent statement hang in case close() called when query is in progress [PR 1022](https://github.com/pgjdbc/pgjdbc/pull/1022) [04c5dbb](https://github.com/pgjdbc/pgjdbc/commit/04c5dbb5058008a8ddad0194156af9819595c315)
* fix: synchronize Statement#result field access to make #close() more thread-safe [4139248](https://github.com/pgjdbc/pgjdbc/commit/41392481d5f2c7f89d783a535ade2d3afb565654)
* fix: avoid reflective access to TimeZone.defaultTimeZone in Java 9+ [PR 1002](https://github.com/pgjdbc/pgjdbc/pull/1002) [fd0eeee](https://github.com/pgjdbc/pgjdbc/commit/fd0eeee8f123b1355b523425a1e11fdd59b057a5)
* fix: throw TOO_MANY_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0)
* fix: throw TOO\_MANY\_RESULTS (0100E) instead of "PgResultSet: tuples must be non-null" [0d31d46](https://github.com/pgjdbc/pgjdbc/commit/0d31d46adff4e9772db843195e1638531bc703e0)
* fix: "Received resultset tuples, but no field structure for them" when bind failure happens on 5th execution of a statement [PR 811](https://github.com/pgjdbc/pgjdbc/pull/811) [082d009](https://github.com/pgjdbc/pgjdbc/commit/082d00941ad5f8abf44a0785a6f086c106b3c746)
* tests: correct assertion to use proper column [63918eb](https://github.com/pgjdbc/pgjdbc/commit/63918eb9b1211e0115c8b55401e22c7a3f37e534)
* fix: add type parameter so code is Java 6/7 compatible [1361c52](https://github.com/pgjdbc/pgjdbc/commit/1361c5208d6afc5d54e4df1053c48cdb31df9038)
......
......@@ -6,6 +6,8 @@ categories:
version: 42.2.3
---
**Notable changes**
### Known issues
- SQL\_TSI\_YEAR is treated as hour, SQL\_TSI\_WEEK is treated as hour, SQL\_TSI\_MINUTE is treated as second (fixed in 42.2.4)
### Changed
- Reduce the severity of the error log messages when an exception is re-thrown. The error will be thrown to caller to be dealt with so no need to log at this verbosity by pgjdbc [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187)
......@@ -58,7 +60,7 @@ Jorge Solorzano (6):
* fix: error on Travis build head [PR 1186](https://github.com/pgjdbc/pgjdbc/pull/1186) [354d2857](https://github.com/pgjdbc/pgjdbc/commit/354d2857664559636a4d3b18568cb69adc47f349)
* test: add coverage for extendedCacheEverything [PR 1062](https://github.com/pgjdbc/pgjdbc/pull/1062) [f4d503c2](https://github.com/pgjdbc/pgjdbc/commit/f4d503c2ef449e8c2db0c23c27aedb09af30df62)
* Update after_n_builds to 10 [PR 1193](https://github.com/pgjdbc/pgjdbc/pull/1193) [2f9fed45](https://github.com/pgjdbc/pgjdbc/commit/2f9fed45104b56d7e2b2802359a04321755266a6)
* Update after\_n\_builds to 10 [PR 1193](https://github.com/pgjdbc/pgjdbc/pull/1193) [2f9fed45](https://github.com/pgjdbc/pgjdbc/commit/2f9fed45104b56d7e2b2802359a04321755266a6)
* test: drop OpenJ9 CI tests [PR 1196](https://github.com/pgjdbc/pgjdbc/pull/1196) [9b6506df](https://github.com/pgjdbc/pgjdbc/commit/9b6506dfa1076ad27a16de8fc3e85bc23f1a5b97)
* fix: logger should be generally quiet [PR 1187](https://github.com/pgjdbc/pgjdbc/pull/1187) [30f06e14](https://github.com/pgjdbc/pgjdbc/commit/30f06e1411373d72ab59debc352ddf746f6812da)
* docs: improve CONTRIBUTING.md [PR 951](https://github.com/pgjdbc/pgjdbc/pull/951) [38c8845e](https://github.com/pgjdbc/pgjdbc/commit/38c8845e645cabce89e7610d1d5e735cc30543b1)
......
......@@ -12,8 +12,8 @@ version: 42.2.4
argument if it is not null [PR 1160](https://github.com/pgjdbc/pgjdbc/pull/1160)
### Fixed
- Fix treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250)
- Map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f)
- Fix treatment of SQL\_TSI\_YEAR, SQL\_TSI\_WEEK, SQL\_TSI\_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250)
- Map integrity constraint violation to XA\_RBINTEGRITY instead of XAER\_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f)
<!--more-->
......@@ -32,7 +32,7 @@ Dave Cramer (3):
Jan Van den Bergh (1):
* fix: map integrity constraint violation to XA_RBINTEGRITY instead of XAER_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f)
* fix: map integrity constraint violation to XA\_RBINTEGRITY instead of XAER\_RMFAIL [PR 1175](https://github.com/pgjdbc/pgjdbc/pull/1175) [f2d1352c](https://github.com/pgjdbc/pgjdbc/commit/f2d1352c2b3ea98492beb6127cd6d95039a0b92f)
Pavel Raiskup (1):
......@@ -41,7 +41,7 @@ Pavel Raiskup (1):
Vladimir Sitnikov (2):
* docs: fix broken commit link in 42.2.3 changelog [776e1717](https://github.com/pgjdbc/pgjdbc/commit/776e1717cfe34219dba2f04e2a808d8ca867a860)
* fix: treatment of SQL_TSI_YEAR, SQL_TSI_WEEK, SQL_TSI_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) [4668f43f](https://github.com/pgjdbc/pgjdbc/commit/4668f43fa11fabce9d12d8c9ade73b9426061284)
* fix: treatment of SQL\_TSI\_YEAR, SQL\_TSI\_WEEK, SQL\_TSI\_MINUTE [PR 1250](https://github.com/pgjdbc/pgjdbc/pull/1250) [4668f43f](https://github.com/pgjdbc/pgjdbc/commit/4668f43fa11fabce9d12d8c9ade73b9426061284)
<a name="contributors_{{ page.version }}"></a>
### Contributors to this release
......
---
title: PostgreSQL JDBC Driver 42.2.5 Released
date: 2018-08-27 18:21:38 +0300
categories:
- new_release
version: 42.2.5
---
**Notable changes**
### Changed
- `ssl=true` implies `sslmode=verify-full`, that is it requires valid server certificate [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
### Added
- Support for `sslmode=allow/prefer/require` [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
### Fixed
- Security: added server hostname verification for non-default SSL factories in `sslmode=verify-full` (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
- Updated documentation on SSL configuration [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857)
- Updated Japanese translations [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275)
- IndexOutOfBounds on prepared multistatement with insert values [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a)
<!--more-->
**Commits by author**
Christoph Berg (1):
* chore: remove editor backup files [PR 1255](https://github.com/pgjdbc/pgjdbc/pull/1255) [b1b1afb8](https://github.com/pgjdbc/pgjdbc/commit/b1b1afb829fae06bcefce443e66d823f4f92fed5)
Dave Cramer (4):
* Update Contributing.md [1f8ac406](https://github.com/pgjdbc/pgjdbc/commit/1f8ac4063b1fd04ccc05616e3533d68be9912333)
* Add issue templates [PR 1263](https://github.com/pgjdbc/pgjdbc/pull/1263) [c66bf710](https://github.com/pgjdbc/pgjdbc/commit/c66bf7108dd36f50aacebfd4f09e383aed02424b)
* move issue template and pull request template into github specific di… [PR 1283](https://github.com/pgjdbc/pgjdbc/pull/1283) [b5c19af6](https://github.com/pgjdbc/pgjdbc/commit/b5c19af627c8650410495ad8e3f2ee85e687e3c1)
* docs: improve documentation on SSL [fa032732](https://github.com/pgjdbc/pgjdbc/commit/fa032732acfe51c6e663ee646dd5c1beaa1af857)
Kazuhiro Sera (1):
* docs: fix typos detected by github.com/client9/misspell [PR 1287](https://github.com/pgjdbc/pgjdbc/pull/1287) [9534e9ca](https://github.com/pgjdbc/pgjdbc/commit/9534e9ca0e1840445ad5f4eee75bc1e2ac102dde)
Kyotaro Horiguchi (1):
* fix: Japanese translation [PR 1275](https://github.com/pgjdbc/pgjdbc/pull/1275) [993a3beb](https://github.com/pgjdbc/pgjdbc/commit/993a3beba10aed73418340b14f2d3420c8984de5)
Sehrope Sarkuni (1):
* fix: Correct typo in CopyManager comment [PR 1285](https://github.com/pgjdbc/pgjdbc/pull/1285) [203a106d](https://github.com/pgjdbc/pgjdbc/commit/203a106ddc9eb0d94cc94838f4fb0924e37f441a)
Vladimir Sitnikov (12):
* reflect 42.2.4 release in readme.md [b99cea0d](https://github.com/pgjdbc/pgjdbc/commit/b99cea0de0e67f0c641c77bcbff8d2889a441290)
* doc: add SQL_TSI to the known issues for 42.2.3 [ci-skip] [2da319a0](https://github.com/pgjdbc/pgjdbc/commit/2da319a07d47015467bd3ace029827f67f4778bc)
* docs: escape underscores in changelog otherwise it produces italic [b1507f84](https://github.com/pgjdbc/pgjdbc/commit/b1507f849b732012d5312c79a62dad24fd6a7261)
* docs: typo in 42.2.3 changelog "minute->second" [5898cdf1](https://github.com/pgjdbc/pgjdbc/commit/5898cdf1e314f2db7889456fb1ad6822021bd543)
* refactor: remove unused PgPreparedStatement.adjustIndex [PR 1253](https://github.com/pgjdbc/pgjdbc/pull/1253) [178eecc9](https://github.com/pgjdbc/pgjdbc/commit/178eecc90643b36c8c5cd423ff311b26733384f2)
* test: run testShortQueryTimeout in PG_VERSION=HEAD Travis job only [PR 1270](https://github.com/pgjdbc/pgjdbc/pull/1270) [ecd412e4](https://github.com/pgjdbc/pgjdbc/commit/ecd412e4164bbfcccd96f778c874dd4f40330354)
* fix: remove POT-Creation-Date from generated .po and .pot files [PR 1269](https://github.com/pgjdbc/pgjdbc/pull/1269) [450a496b](https://github.com/pgjdbc/pgjdbc/commit/450a496be8b14e14fa0821413ed532c49275dc9e)
* fix: use UTF-8 encoding in generated translation/messages_*.java files [2cbe7b35](https://github.com/pgjdbc/pgjdbc/commit/2cbe7b354543e2ae526c3d9a422949acd0a375b6)
* fix: typo in "One ore more ClientInfo failed" error message [ci skip] [21e126f4](https://github.com/pgjdbc/pgjdbc/commit/21e126f451df667627c1cc3a0acfb3c38be45ffa)
* fix: IndexOutOfBounds on prepared multistatement with insert values [PR 1289](https://github.com/pgjdbc/pgjdbc/pull/1289) [c2885dd0](https://github.com/pgjdbc/pgjdbc/commit/c2885dd0cfc793f81e5dd3ed2300bb32476eb14a)
* security: implement SSL hostname verification for non-default (LibPQFactory) SSL factories (CVE-2018-10936) [cdeeaca4](https://github.com/pgjdbc/pgjdbc/commit/cdeeaca47dc3bc6f727c79a582c9e4123099526e)
* Update changelog for 42.2.5 [237a89bf](https://github.com/pgjdbc/pgjdbc/commit/237a89bf3058a16a3de37b8c92d2a4d850c6c056)
<a name="contributors_{{ page.version }}"></a>
### Contributors to this release
We thank the following people for their contributions to this release.
[Christoph Berg](https://github.com/ChristophBerg)
[Dave Cramer](davec@postgresintl.com)
[Kazuhiro Sera](https://github.com/seratch)
[Kyotaro Horiguchi](https://github.com/horiguti)
[Sehrope Sarkuni](https://github.com/sehrope)
[Vladimir Sitnikov](https://github.com/vlsi)
......@@ -74,7 +74,7 @@ nav: ../
<p>
This mailing list is for people interested in carefully monitoring
the development process. The mailing list was active until the code
base was transfered to GitHub in late 2012. Every commit to this earlier
base was transferred to GitHub in late 2012. Every commit to this earlier
CVS repository sent out an email with the log message and links to diffs.
So the archive of this list, <a href="http://lists.pgfoundry.org/mailman/listinfo/jdbc-commits" target="_blank">pgfoundry site</a>,
holds the history of activity with the driver prior to 2013.
......
......@@ -27,7 +27,7 @@ nav: ../
The website is produced with <a href="http://jekyllrb.com" target="_blank">Jekyll</a>.
It allows you to build a reasonably good looking website that is
easy to maintain and modular in nature. Templates are used from the _layout
and _includes directories which are then used in conjuction with content that
and _includes directories which are then used in conjunction with content that
is created with <a href="http://daringfireball.net/projects/markdown/" target="_blank">Markdown</a>,
<a href="http://textile.sitemonks.com/" target="_blank">Textile</a>, or
just standard HTML for input. Using Markdown or Textile allows the content
......
......@@ -15,7 +15,7 @@ The driver supports the nesting and the mixing of escaped functions and escaped
values. The appendix C of the JDBC specification describes the functions.
Some functions in the following tables are translated but not reported as supported
because they are duplicating or changing ther order of the arguments. While this
because they are duplicating or changing their order of the arguments. While this
is harmless for literal values or columns, it will cause problems when using
prepared statements. For example "`{fn right(?,?)}`" will be translated to "`substring(? from (length(?)+1-?))`".
As you can see the translated SQL requires more parameters than before the
......
/* PostgreSQL.org Documentation Style */
@import url("global.css");
@import url("table.css");
@import url("text.css");
body {
font-size: 76%;
}
div.NAVHEADER table {
margin-left: 0;
}
/* Container Definitions */
#docContainerWrap {
text-align: center; /* Win IE5 */
}
#docContainer {
margin: 0 auto;
width: 90%;
padding-bottom: 2em;
display: block;
text-align: left; /* Win IE5 */
}
#docHeader {
background-image: url("../img/docs/bg_hdr.png");
height: 83px;
margin: 0px;
padding: 0px;
display: block;
}
#docHeaderLogo {
position: relative;
width: 206px;
height: 83px;
border: 0px;
padding: 0px;
margin: 0 0 0 20px;
}
#docHeaderLogo img {
border: 0px;
}
#docNavSearchContainer {
padding-bottom: 2px;
}
#docNav, #docVersions {
position: relative;
text-align: left;
margin-left: 10px;
margin-top: 5px;
color: #666;
font-size: 0.95em;
}
#docSearch {
position: relative;
text-align: right;
padding: 0;
margin: 0;
color: #666;
}
#docTextSize {
text-align: right;
white-space: nowrap;
margin-top: 7px;
font-size: 0.95em;
}
#docSearch form {
position: relative;
top: 5px;
right: 0;
margin: 0; /* need for IE 5.5 OSX */
text-align: right; /* need for IE 5.5 OSX */
white-space: nowrap; /* for Opera */
}
#docSearch form label {
color: #666;
font-size: 0.95em;
}
#docSearch form input {
font-size: 0.95em;
}
#docSearch form #submit {
font-size: 0.95em;
background: #7A7A7A;
color: #fff;
border: 1px solid #7A7A7A;
padding: 1px 4px;
}
#docSearch form #q {
width: 170px;
font-size: 0.95em;
border: 1px solid #7A7A7A;
background: #E1E1E1;
color: #000000;
padding: 2px;
}
.frmDocSearch {
padding: 0;
margin: 0;
display: inline;
}
.inpDocSearch {
padding: 0;
margin: 0;
color: #000;
}
#docContent {
position: relative;
margin-left: 10px;
margin-right: 10px;
margin-top: 40px;
}
#docFooter {
position: relative;
font-size: 0.9em;
color: #666;
line-height: 1.3em;
margin-left: 10px;
margin-right: 10px;
}
#docComments {
margin-top: 10px;
}
#docClear {
clear: both;
margin: 0;
padding: 0;
}
/* Heading Definitions */
h1, h2, h3 {
font-weight: bold;
margin-top: 2ex;
}
h1 {
font-size: 1.4em;
}
h2 {
font-size: 1.2em !important;
}
h3 {
font-size: 1.1em;
}
h1 a:hover {
color: #EC5800;
text-decoration: none;
}
h2 a:hover,
h3 a:hover,
h4 a:hover {
color: #666666;
text-decoration: none;
}
/* Text Styles */
div.SECT2 {
margin-top: 4ex;
}
div.SECT3 {
margin-top: 3ex;
margin-left: 3ex;
}
.txtCurrentLocation {
font-weight: bold;
}
p, ol, ul, li {
line-height: 1.5em;
}
.txtCommentsWrap {
border: 2px solid #F5F5F5;
width: 100%;
}
.txtCommentsContent {
background: #F5F5F5;
padding: 3px;
}
.txtCommentsPoster {
float: left;
}
.txtCommentsDate {
float: right;
}
.txtCommentsComment {
padding: 3px;
}
#docContainer p code,
#docContainer dt code,
#docContainer pre code,
#docContainer pre tt,
#docContainer pre pre,
#docContainer tt tt,
#docContainer tt code,
#docContainer tt pre {
font-size: 1.5em;
}
pre.LITERALLAYOUT,
.SCREEN,
.SYNOPSIS,
.PROGRAMLISTING,
.REFSYNOPSISDIV p,
table.CAUTION,
table.WARNING,
blockquote.NOTE,
blockquote.TIP,
table.CALSTABLE {
-moz-box-shadow: 3px 3px 5px #DFDFDF;
-webkit-box-shadow: 3px 3px 5px #DFDFDF;
-khtml-box-shadow: 3px 3px 5px #DFDFDF;
-o-box-shadow: 3px 3px 5px #DFDFDF;
box-shadow: 3px 3px 5px #DFDFDF;
}
pre.LITERALLAYOUT,
.SCREEN,
.SYNOPSIS,
.PROGRAMLISTING,
.REFSYNOPSISDIV p,
table.CAUTION,
table.WARNING,
blockquote.NOTE,
blockquote.TIP {
color: black;
border-width: 1px;
border-style: solid;
padding: 2ex;
margin: 2ex 0 2ex 2ex;
overflow: auto;
-moz-border-radius: 8px;
-webkit-border-radius: 8px;
-khtml-border-radius: 8px;
border-radius: 8px;
}
pre.LITERALLAYOUT,
pre.SYNOPSIS,
pre.PROGRAMLISTING,
.REFSYNOPSISDIV p,
.SCREEN {
border-color: #CFCFCF;
background-color: #F7F7F7;
}
blockquote.NOTE,
blockquote.TIP {
border-color: #DBDBCC;
background-color: #EEEEDD;
padding: 14px;
width: 572px;
}
blockquote.NOTE,
blockquote.TIP,
table.CAUTION,
table.WARNING {
margin: 4ex auto;
}
blockquote.NOTE p,
blockquote.TIP p {
margin: 0;
}
blockquote.NOTE pre,
blockquote.NOTE code,
blockquote.TIP pre,
blockquote.TIP code {
margin-left: 0;
margin-right: 0;
-moz-box-shadow: none;
-webkit-box-shadow: none;
-khtml-box-shadow: none;
-o-box-shadow: none;
box-shadow: none;
}
.emphasis,
.c2 {
font-weight: bold;
}
.REPLACEABLE {
font-style: italic;
}
/* Table Styles */
table {
margin-left: 2ex;
}
table.CALSTABLE td,
table.CALSTABLE th,
table.CAUTION td,
table.CAUTION th,
table.WARNING td,
table.WARNING th {
border-style: solid;
}
table.CALSTABLE,
table.CAUTION,
table.WARNING {
border-spacing: 0;
border-collapse: collapse;
}
table.CALSTABLE
{
margin: 2ex 0 2ex 2ex;
background-color: #E0ECEF;
border: 2px solid #A7C6DF;
}
table.CALSTABLE tr:hover td
{
background-color: #EFEFEF;
}
table.CALSTABLE td {
background-color: #FFF;
}
table.CALSTABLE td,
table.CALSTABLE th {
border: 1px solid #A7C6DF;
padding: 0.5ex 0.5ex;
}
table.CAUTION,
table.WARNING {
border-collapse: separate;
display: block;
padding: 0;
max-width: 600px;
}
table.CAUTION {
background-color: #F5F5DC;
border-color: #DEDFA7;
}
table.WARNING {
background-color: #FFD7D7;
border-color: #DF421E;
}
table.CAUTION td,
table.CAUTION th,
table.WARNING td,
table.WARNING th {
border-width: 0;
padding-left: 2ex;
padding-right: 2ex;
}
table.CAUTION td,
table.CAUTION th {
border-color: #F3E4D5
}
table.WARNING td,
table.WARNING th {
border-color: #FFD7D7;
}
td.c1,
td.c2,
td.c3,
td.c4,
td.c5,
td.c6 {
font-size: 1.1em;
font-weight: bold;
border-bottom: 0px solid #FFEFEF;
padding: 1ex 2ex 0;
}
/* Link Styles */
#docNav a {
font-weight: bold;
}
a:link,
a:visited,
a:active,
a:hover {
text-decoration: underline;
}
a:link,
a:active {
color:#0066A2;
}
a:visited {
color:#004E66;
}
a:hover {
color:#000000;
}
#docFooter a:link,
#docFooter a:visited,
#docFooter a:active {
color:#666;
}
#docContainer code.FUNCTION tt {
font-size: 1em;
}