> For the complete documentation index, see [llms.txt](https://mariadb.com/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://mariadb.com/docs/release-notes/connectors/java/changelogs/4.0/4.0.0.md).

# Connector/J 4.0.0 Changelog

MariaDB Connector/J 4.0.0 is a Stable (GA) release of MariaDB Connector/J 4.0, released on 2026-10-21

<a href="https://mariadb.com/downloads/connectors/connectors-data-access/java8-connector" class="button primary">Download</a> <a href="/docs/release-notes/connectors/java/4.0/4.0.0.md" class="button secondary">Release Notes</a> <a href="/docs/release-notes/connectors/java/changelogs/4.0/4.0.0.md" class="button secondary">Changelog</a> <a href="/docs/connectors/mariadb-connector-j/about-mariadb-connector-j.md" class="button secondary">Connector/J Overview</a>

**Release date:** 21 Oct 2026

For the highlights of this release, see the [release notes](/docs/release-notes/connectors/java/4.0/4.0.0.md).

The revision number links will take you to the revision's page on GitHub. On [GitHub](https://github.com/MariaDB/mariadb-connector-j) you can view more details of the revision and view diffs of the code modified in that revision.

* [Revision #429f3c8c2](https://github.com/mariadb-corporation/mariadb-connector-j/commit/429f3c8c2) - Merge branch 'develop'
* [Revision #87ac51410](https://github.com/mariadb-corporation/mariadb-connector-j/commit/87ac51410) - bump 4.0.0 version
* [Revision #85d4407f9](https://github.com/mariadb-corporation/mariadb-connector-j/commit/85d4407f9) - \[misc] test stability improvement
* [Revision #39c575c89](https://github.com/mariadb-corporation/mariadb-connector-j/commit/39c575c89) - \[misc] correcting javadoc
* [Revision #9fe800bf7](https://github.com/mariadb-corporation/mariadb-connector-j/commit/9fe800bf7) - \[misc] Infer analyses the sources as Java 17
* [Revision #aaf71e4eb](https://github.com/mariadb-corporation/mariadb-connector-j/commit/aaf71e4eb) - \[misc] test stability improvement
* [Revision #874537d33](https://github.com/mariadb-corporation/mariadb-connector-j/commit/874537d33) - \[misc] java warning correction
* [Revision #18182f0f4](https://github.com/mariadb-corporation/mariadb-connector-j/commit/18182f0f4) - \[[CONJ-1386](https://jira.mariadb.org/browse/CONJ-1386)] Support sslMode=allow
* [Revision #7f47930c5](https://github.com/mariadb-corporation/mariadb-connector-j/commit/7f47930c5) - \[misc] test correction
* [Revision #c39490db4](https://github.com/mariadb-corporation/mariadb-connector-j/commit/c39490db4) - \[[CONJ-1361](https://jira.mariadb.org/browse/CONJ-1361)] Remove the last Java 8 and 11 remnants
* [Revision #6013b5579](https://github.com/mariadb-corporation/mariadb-connector-j/commit/6013b5579) - \[[CONJ-1384](https://jira.mariadb.org/browse/CONJ-1384)] AWS-IAM plugin as a standalone artifact, with STS role assumption and the RDS root certificates
* [Revision #657bab7d8](https://github.com/mariadb-corporation/mariadb-connector-j/commit/657bab7d8) - \[[CONJ-1360](https://jira.mariadb.org/browse/CONJ-1360)] AWS-IAM plugin checks for the rds artifact it needs, not for auth
* [Revision #5b974c5af](https://github.com/mariadb-corporation/mariadb-connector-j/commit/5b974c5af) - \[[CONJ-1372](https://jira.mariadb.org/browse/CONJ-1372)] caching\_sha2\_password full authentication fails over a Unix socket when SSL is disabled
* [Revision #67b13aeda](https://github.com/mariadb-corporation/mariadb-connector-j/commit/67b13aeda) - \[misc] Reader buffers the socket stream itself
* [Revision #dabcdf5ac](https://github.com/mariadb-corporation/mariadb-connector-j/commit/dabcdf5ac) - \[misc] Keep the writer buffer grown across commands of a steady workload
* [Revision #5a371cbe4](https://github.com/mariadb-corporation/mariadb-connector-j/commit/5a371cbe4) - \[[CONJ-1368](https://jira.mariadb.org/browse/CONJ-1368)] Test the built jar, refresh GraalVM metadata and the native-image matrix
* [Revision #cae2916a7](https://github.com/mariadb-corporation/mariadb-connector-j/commit/cae2916a7) - \[misc] Function calls can be executed more than once
* [Revision #ca3f09d21](https://github.com/mariadb-corporation/mariadb-connector-j/commit/ca3f09d21) - \[misc] ensure parameter number correspond when pipelining
* [Revision #1c763dd68](https://github.com/mariadb-corporation/mariadb-connector-j/commit/1c763dd68) - \[misc] update major version test check
* [Revision #17bc01ede](https://github.com/mariadb-corporation/mariadb-connector-j/commit/17bc01ede) - \[misc] correct getMoreResults call when no query has executed
* [Revision #d0552ac72](https://github.com/mariadb-corporation/mariadb-connector-j/commit/d0552ac72) - \[[CONJ-1306](https://jira.mariadb.org/browse/CONJ-1306)] PreparedStatement.executeQuery disallow DML statements by default
* [Revision #44abed669](https://github.com/mariadb-corporation/mariadb-connector-j/commit/44abed669) - \[misc] set to 4.0.0 SNAPSHOT version
* [Revision #fce56125f](https://github.com/mariadb-corporation/mariadb-connector-j/commit/fce56125f) - \[misc] test addition
* [Revision #e81c3c7ab](https://github.com/mariadb-corporation/mariadb-connector-j/commit/e81c3c7ab) - \[misc] Set the SBOM creation timestamp when Maven's Reproducible Builds default removes it
* [Revision #d494efba1](https://github.com/mariadb-corporation/mariadb-connector-j/commit/d494efba1) - \[[CONJ-1381](https://jira.mariadb.org/browse/CONJ-1381)] Bound server-declared lengths by the packet before reading from them
* [Revision #96221b84f](https://github.com/mariadb-corporation/mariadb-connector-j/commit/96221b84f) - \[misc] test coverage addition
* [Revision #ed4871fa2](https://github.com/mariadb-corporation/mariadb-connector-j/commit/ed4871fa2) - \[misc] rely on protocol capability only
* [Revision #bab46fc9b](https://github.com/mariadb-corporation/mariadb-connector-j/commit/bab46fc9b) - \[[CONJ-1379](https://jira.mariadb.org/browse/CONJ-1379)] Set an explicit session tracking list and guard character\_set\_results like character\_set\_client
* [Revision #70a2ace32](https://github.com/mariadb-corporation/mariadb-connector-j/commit/70a2ace32) - \[[CONJ-1378](https://jira.mariadb.org/browse/CONJ-1378)] Try every IP address a hostname resolves to when opening the socket
* [Revision #7fce8c8df](https://github.com/mariadb-corporation/mariadb-connector-j/commit/7fce8c8df) - Revert "Merge pull request #196 from dreamlike-ocean/master"
* [Revision #a8d25a76d](https://github.com/mariadb-corporation/mariadb-connector-j/commit/a8d25a76d) - Merge pull request #196 from dreamlike-ocean/master
* [Revision #19c78c7bd](https://github.com/mariadb-corporation/mariadb-connector-j/commit/19c78c7bd) - \[misc] remove disableSessionTracking hidden option
* [Revision #f96ff5826](https://github.com/mariadb-corporation/mariadb-connector-j/commit/f96ff5826) - \[[CONJ-1377](https://jira.mariadb.org/browse/CONJ-1377)] Faster client-side query parsing in ClientParser and NativeSql
* [Revision #5abb415e6](https://github.com/mariadb-corporation/mariadb-connector-j/commit/5abb415e6) - \[[CONJ-1375](https://jira.mariadb.org/browse/CONJ-1375)] Cache codec resolution for getObject(index, Class) and setObject
* [Revision #99e54045f](https://github.com/mariadb-corporation/mariadb-connector-j/commit/99e54045f) - \[misc] encode LocalDateTime and LocalDate without DateTimeFormater for better performance
* [Revision #49fabafd7](https://github.com/mariadb-corporation/mariadb-connector-j/commit/49fabafd7) - \[[CONJ-1369](https://jira.mariadb.org/browse/CONJ-1369)] use readNBytes, ranged Arrays.equals and ServiceLoader.stream in remaining code paths
* [Revision #08ab2468c](https://github.com/mariadb-corporation/mariadb-connector-j/commit/08ab2468c) - \[[CONJ-1369](https://jira.mariadb.org/browse/CONJ-1369)] replace String.format and manual byte/char loops on data paths
* [Revision #f8c3d20d4](https://github.com/mariadb-corporation/mariadb-connector-j/commit/f8c3d20d4) - \[[CONJ-1369](https://jira.mariadb.org/browse/CONJ-1369)] use readNBytes, ranged Arrays.equals and ServiceLoader.stream in remaining code paths
* [Revision #93cfb8aa8](https://github.com/mariadb-corporation/mariadb-connector-j/commit/93cfb8aa8) - \[[CONJ-1321](https://jira.mariadb.org/browse/CONJ-1321)] disable ssl in benchmark
* [Revision #c63fa58b3](https://github.com/mariadb-corporation/mariadb-connector-j/commit/c63fa58b3) - \[[CONJ-1321](https://jira.mariadb.org/browse/CONJ-1321)] enable TLS by default
* [Revision #a6130089d](https://github.com/mariadb-corporation/mariadb-connector-j/commit/a6130089d) - \[[CONJ-1374](https://jira.mariadb.org/browse/CONJ-1374)] Redirect URL password partially logged when containing '@'
* [Revision #38628bef2](https://github.com/mariadb-corporation/mariadb-connector-j/commit/38628bef2) - \[misc] inline unnecessary code
* [Revision #539a7e446](https://github.com/mariadb-corporation/mariadb-connector-j/commit/539a7e446) - \[[CONJ-1220](https://jira.mariadb.org/browse/CONJ-1220)] permit use of Unix domain on Windows (tunnels)
* [Revision #9e8bc8940](https://github.com/mariadb-corporation/mariadb-connector-j/commit/9e8bc8940) - \[[CONJ-1373](https://jira.mariadb.org/browse/CONJ-1373)] Performance: use the JDK UTF-8 encoder for long strings in Writer.writeString / writeStringEscaped, and stop escaping double quotes
* [Revision #ba05e087d](https://github.com/mariadb-corporation/mariadb-connector-j/commit/ba05e087d) - \[[CONJ-1365](https://jira.mariadb.org/browse/CONJ-1365)] VarHandle little-endian access in packet buffers
* [Revision #bf976a3a2](https://github.com/mariadb-corporation/mariadb-connector-j/commit/bf976a3a2) - \[[CONJ-1262](https://jira.mariadb.org/browse/CONJ-1262)] change default value of option cachedCodecs to true
* [Revision #928b2cdea](https://github.com/mariadb-corporation/mariadb-connector-j/commit/928b2cdea) - \[[CONJ-1363](https://jira.mariadb.org/browse/CONJ-1363)] rely on native TLS 1.3 and modern JSSE for the TLS-by-default work
* [Revision #48281e7b3](https://github.com/mariadb-corporation/mariadb-connector-j/commit/48281e7b3) - \[[CONJ-1347](https://jira.mariadb.org/browse/CONJ-1347)] setSavepoint() throw when in auto-commit mode
* [Revision #b32cf14ba](https://github.com/mariadb-corporation/mariadb-connector-j/commit/b32cf14ba) - \[[CONJ-1308](https://jira.mariadb.org/browse/CONJ-1308)] support MariaDB 12.3 XML data type
* [Revision #9363dd182](https://github.com/mariadb-corporation/mariadb-connector-j/commit/9363dd182) - \[misc] add deferCertificateValidation for indicating in order ro disable fingerprint identify validation
* [Revision #36d0b599f](https://github.com/mariadb-corporation/mariadb-connector-j/commit/36d0b599f) - \[[CONJ-651](https://jira.mariadb.org/browse/CONJ-651)] Stream LOB columns from the socket instead of loading them in memory
* [Revision #3315a9290](https://github.com/mariadb-corporation/mariadb-connector-j/commit/3315a9290) - \[[CONJ-1364](https://jira.mariadb.org/browse/CONJ-1364)] Records for value holders, ServerVersionUtility merged into Version
* [Revision #ee7b1d96e](https://github.com/mariadb-corporation/mariadb-connector-j/commit/ee7b1d96e) - \[[CONJ-1364](https://jira.mariadb.org/browse/CONJ-1364)] Simplify code: Java 16 pattern matching and JDK API replacements
* [Revision #3de351e1c](https://github.com/mariadb-corporation/mariadb-connector-j/commit/3de351e1c) - \[[CONJ-1367](https://jira.mariadb.org/browse/CONJ-1367)] Virtual threads: no carrier pinning in driver locks
* [Revision #8a4fdd4e3](https://github.com/mariadb-corporation/mariadb-connector-j/commit/8a4fdd4e3) - \[[CONJ-1371](https://jira.mariadb.org/browse/CONJ-1371)] Remove useReadAheadInput and ReadAheadBufferedStream
* [Revision #9f4f49067](https://github.com/mariadb-corporation/mariadb-connector-j/commit/9f4f49067) - \[[CONJ-1369](https://jira.mariadb.org/browse/CONJ-1369)] performance improvement for new java implementation
* [Revision #f35f5dcdc](https://github.com/mariadb-corporation/mariadb-connector-j/commit/f35f5dcdc) - \[[CONJ-1370](https://jira.mariadb.org/browse/CONJ-1370)] Remove the JNA dependency, use JDK unix domain socket support
* [Revision #2915412b9](https://github.com/mariadb-corporation/mariadb-connector-j/commit/2915412b9) - \[[CONJ-1362](https://jira.mariadb.org/browse/CONJ-1362)] make Java 17 the minimum runtime and build with --release 17
* [Revision #a08a8e803](https://github.com/mariadb-corporation/mariadb-connector-j/commit/a08a8e803) - \[misc] Close TLS connections through the SSLSocket and let the server close first
* [Revision #12425ad93](https://github.com/mariadb-corporation/mariadb-connector-j/commit/12425ad93) - \[[CONJ-1354](https://jira.mariadb.org/browse/CONJ-1354)] Replace JGSS implementation to use native GSS-API where available
* [Revision #b48be20fb](https://github.com/mariadb-corporation/mariadb-connector-j/commit/b48be20fb) - bump 3.6.0-SNAPSHOT version
* [Revision #db933f98b](https://github.com/mariadb-corporation/mariadb-connector-j/commit/db933f98b) - \[misc] CI stability improvement
* [Revision #e250a8abe](https://github.com/mariadb-corporation/mariadb-connector-j/commit/e250a8abe) - \[misc] CI: stable check names for the branch ruleset, no fail-fast, YEAR(2) removed in MariaDB 13.0
* [Revision #7a88e9d60](https://github.com/mariadb-corporation/mariadb-connector-j/commit/7a88e9d60) - \[misc] fix raw type and redundant cast warnings in tests
* [Revision #01456d41c](https://github.com/mariadb-corporation/mariadb-connector-j/commit/01456d41c) - \[misc] update java from adopt to remurin
* [Revision #7e8e267b6](https://github.com/mariadb-corporation/mariadb-connector-j/commit/7e8e267b6) - \[misc] improving CI test stability
* [Revision #5d6e7b2f5](https://github.com/mariadb-corporation/mariadb-connector-j/commit/5d6e7b2f5) - fix remote socket check error
* [Revision #3fcbe84c5](https://github.com/mariadb-corporation/mariadb-connector-j/commit/3fcbe84c5) - Socket connections now try all possible IP addresses, not just the first one

<sub>*This page is: Copyright © 2026 MariaDB. All rights reserved.*</sub>

{% @marketo/form formid="4316" formId="4316" %}
