All pages
Powered by GitBook
1 of 13

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Connector/R2DBC 1.3.0 Release Notes

Overview

MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

MariaDB Connector/R2DBC 1.3.0 was released on 2024-10-24. This release is of GA (generally available) maturity. It is compatible with MariaDB Connector/R2DBC 1.2 and is the maintenance path for version 1.2. This release is compatible with R2DBC 1.0.0 specification.

Notable Changes

  • Support of the PARSEC Authentication Plugin which is provided starting with MariaDB Server 11.6. See the for more details ()

    • This requires Java 15+ (to use Java native ed25519 Algorithm implementation). For previous versions of Java, this will require adding BouncyCastle as a dependency.

Resources

Report Issues
  • Source code

  • R2DBC-106
    Download

    Connector/R2DBC 1.2.2 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.2.2 was released on 2024-09-13. This release is of GA (generally available) maturity. It is compatible with MariaDB Connector/R2DBC 1.1 and is the maintenance path for version 1.1. This release is compatible with R2DBC 1.0.0 specification.

    Notable Changes

    • To support the R2DBC 0.9.1 specification (used by Spring Boot 2.7) the maven artifact org.mariadb:r2dbc-mariadb-SPEC-0.9.1 has been added ()

      • The artifact will be maintained until enterprise support ends for Spring boot 2.7

    • A new option, skipPostCommands, permits disabling initial connection settings, and indicating that commands after connections must be skipped. This allows avoiding unnecessary commands on connection creation and, when using RDS proxy to not have session pinning. ()

    Issues Fixed

    When using connection redirection, error "Connection is closed. Cannot send anything" might be returned. ()

    Resources

    This option has to be used with care, because the connector expects the server to have:

    • Connection exchanges to be UTF8(mb3/mb4)

    • Autocommit set to true

    • Transaction isolation defaulting to REPEATABLE-READ

  • This option can only be enabled if the server's global options correspond to these defaults.

  • Report Issues
  • Source code

  • R2DBC-103
    R2DBC-105
    R2DBC-104
    Download
    Documentation

    Connector/R2DBC All Releases

    A list of all MariaDB Connector/R2DBC releases

    1.3

    Release
    Release Date
    Release Status

    1.3.0

    2024-10-24

    Stable (GA)

    1.2

    Release
    Release Date
    Release Status

    1.1

    Release
    Release Date
    Release Status

    1.0

    Release
    Release Date
    Release Status

    1.2.2

    2024-09-13

    Stable (GA)

    1.2.1

    2024-06-24

    Stable (GA)

    1.2.0

    2024-02-23

    Stable (GA)

    1.1.4

    2023-03-27

    Stable (GA)

    1.1.3

    2022-12-23

    Stable (GA)

    1.1.2

    2021-09-27

    Stable (GA)

    1.0.3

    2021-09-27

    Stable (GA)

    1.0.2

    2021-07-19

    Stable (GA)

    1.0.1

    2021-03-11

    Stable (GA)

    1.0.0

    2020-12-11

    Stable (GA)

    Connector/R2DBC 1.0.3 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.0.3 was released on 2021-09-27. This release is of General Availability (GA) maturity. This release implements the R2DBC 0.8.5. specifications.

    Issues Fixed

    • MariadbResult.getRowsUpdated() method fails with ClassCastException for commands with result-set. ()

    • Netty buffer leaks when not consuming results. ()

    Resources

    Connector/R2DBC 1.0.0 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.0.0 was released on 2020-12-11. It is the first generally available (GA) release of MariaDB Connector/R2DBC. This release is compatible with R2DBC 0.8.3 specification.

    Notable Changes

    • MariaDB Connector/R2DBC now supports R2DBC specification version 0.8.3.

    Issues Fixed

    • Connector releases row before client use. ()

    • Row buffer reading position is sometimes incorrect.

    • Retained buffer is not released. ()

    • Batching on statement use parameters is not added. ()

    Resources

    Connector/R2DBC 1.1.2 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.0.3 was released on 2021-09-27. This release is of General Availability (GA) maturity. This release implements the specifications.

    Report Issues
  • Source code

  • R2DBC-26
    R2DBC-40
    Download
    Documentation
    Report Issues
  • Source code

  • R2DBC-14
    R2DBC-12
    R2DBC-11
    Download
    Documentation
    Issues Fixed
    • MariadbResult.getRowsUpdated() method fails with ClassCastException for commands with result-set. (R2DBC-26)

    • Netty buffer leaks when not consuming results. (R2DBC-40)

    Resources

    • Download

    • Documentation

    R2DBC 0.8.5.

    Connector/R2DBC 1.1.3 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.1.3 was released on 2022-12-23. This release is of GA (generally available) maturity. This release is compatible with R2DBC 1.0.0 specification.

    Notable Changes

    • To support the R2DBC 1.0.0 specification, the following implementation has been added or changed:

      • Result.getRowsUpdated() now returns Mono. Prior to this release, Result.getRowsUpdated() returned Mono.

    • The default Netty hostname verifier is now used. Prior to this release, a custom hostname verifier was used. ()

    • Add SSL Tunnel mode:

    Issues Fixed

    • When subscriber cancellation occurs before the response ends, the connection might stall. ()

    • When a query returns a multi-row resultset, an IllegalReferenceCountException exception occurs in the TextRowDecoder.setPosition() call. ()

    • SSL host name verification does not properly close the socket when verification fails. An error is returned for SSL host name, and the connector fails with a socket close error. ()

    • When a connection error occurs, the connection is not always properly closed. (

    • During failover, the redo buffer is not released before it is garbage collected. ()

    Resources

  • New sslMode option tunnel (or TUNNEL) enables use of a preexisting SSL tunnel. (R2DBC-69)

  • New option sslContextBuilderCustomizer supports customizing SSL Context Builder. (R2DBC-69)

  • )
  • Pipelining PREPARE + EXECUTE can result in a buffer leak when PREPARE fails. (R2DBC-73)

  • When a socket unexpectedly closes, parameters that are transformed as Byte Buffer may not be released. This causes the following error when setting the Netty error to the maximum. (R2DBC-72)

  • Report Issues
  • Source code

  • R2DBC-74
    R2DBC-68
    R2DBC-65
    R2DBC-70
    R2DBC-75
    Download
    Documentation
    R2DBC-71
    Report Issues
    Source code
    LEAK: ByteBuf.release() was not called before it's garbage-collected.

    Connector/R2DBC 1.0.1 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.0.1 was released on 2021-03-11. This release is compatible with R2DBC 0.8.4 specification.

    Notable Changes

    • MariaDB Connector/R2DBC now supports R2DBC specification version 0.8.4.

    Issues Fixed

    • Ensure autocommit initial state. ()

    • New option autocommit that defaults to true

    • Transaction in query flux might not be persisted. ()

    • Data with size bigger than 16Mb correction. ()

    Resources

    Connector/R2DBC

    Release Notes for the R2DBC Connector

    Report Issues
  • Source code

  • R2DBC-16
    R2DBC-17
    R2DBC-19
    Download
    Documentation

    Connector/R2DBC 1.0.2 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.0.2 was released on 2021-07-19. This release is compatible with R2DBC 0.8.5 specification.

    Notable Changes

    • Columns of type Bit(1) and TINYINT(1) are by default converted to Boolean when getting value without type (new option tinyInt1isBit reverts this behavior). ()

    Issues Fixed

    • Statement :: add not needed after the last binding, as stated in the specification ()

    • Errors like too many connections are not handled correctly on socket creation ()

    • Some options are not parsed when using a connection string. ()

    • Mutual authentication not done when using <<code>>sslMode=TRUST<. (

    Resources

    Connector/R2DBC 1.2.1 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.2.1 was released on 2024-06-24. This release is of GA (generally available) maturity. It is compatible with MariaDB Connector/R2DBC 1.1 and is the maintenance path for version 1.1. This release is compatible with R2DBC 1.0.0 specification.

    Notable Changes

    • Adding missing UUID Object support ()

    Issues Fixed

    • NPE if No HaMode provided ()

    • Correcting possible bug connecting if project contain a project.properties file ()

    • No encoding set for ByteBuffer parameter ()

    • Wrong default return type for MySQL JSON fields ()

    Resources

    )
  • Connection fails to be created when using Native Password plugin after authentication switch. (R2DBC-30)

  • A negative duration value can result in storing wrong data. (R2DBC-31)

  • Report Issues
  • Source code

  • R2DBC-24
    R2DBC-25
    R2DBC-26
    R2DBC-27
    Download
    Documentation
    R2DBC-28

    Avoid netty unneeded dependencies (R2DBC-102)

    Report Issues
  • Source code

  • R2DBC-96
    R2DBC-97
    R2DBC-98
    R2DBC-99
    R2DBC-101
    Download
    Documentation

    Connector/R2DBC 1.2.0 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.2.0 was released on 2024-02-23. This release is of GA (generally available) maturity. It is compatible with MariaDB Connector/R2DBC 1.1 and will therefore also be the maintenance path for version 1.1. This release is compatible with R2DBC 1.0.0 specification.

    Notable Changes

    • New timezone option ()

      • The new timezone option can have 3 types of values:

        • disabled (default) : connector doesn't change timezone

        • auto : connector will set timezone connection variable to java default timezone

    r2dbc:mariadb://user:pwd@localhost:3306/db?timezone=+5:00r2dbc:mariadb://user:pwd@localhost:3306/db?timezone=autor2dbc:mariadb://user:pwd@localhost:3306/db?timezone=America/New_York

    • The recommended setting for timezone is auto.

    • Add support for connection redirection ()

      • With MariaDB Community Server 11.3.1 a new global variable redirect_url value has been added, supported format:

    • When set, all existing connections will be redirected to the designated URL values when appropriate. A connection will only be redirected when no transaction is active.

    • Example for enabling the redirection:

    • The redirection feature is enabled by default. It can be disabled by setting the new option permitRedirect to FALSE, which will result in ignoring the redirection URL.

    Issues Fixed

    • Properly end connection (in place of RST TCP packet) ()

    • Failover High availability mode r2dbc:mariadb:[sequential|loadbalancing]:... wrongly parsed ()

    • Compatibility with ()

    • Java 8 compatibility regression ()

    Resources

    Connector/R2DBC 1.1.4 Release Notes

    Overview

    MariaDB Connector/R2DBC is a non-blocking interface between Java applications and MariaDB Server. MariaDB Connector/R2DBC enables the development of Java 8+ applications for MariaDB database products.

    MariaDB Connector/R2DBC 1.1.4 was released on 2023-03-27. This release is of GA (generally available) maturity. This release is compatible with R2DBC 1.0.0 specification.

    Notable Changes

    • When MariaDB Connector/R2DBC 1.1.4 connects to a pre-existing TLS tunnel, host verification can be disabled. ()

      • The behavior can be configured using the , which defaults to false.

      • When the sslMode connection parameter is set to , host verification can be disabled by setting sslTunnelDisableHostVerification to true.

      • For example:

    • When the is enabled, prepared statements can use the text protocol. ()

      • To use the text protocol in this scenario, prefix the query string with /text/ when creating the prepared statement.

      • For example, to use the text protocol with the native R2DBC API:

      • Or to use the text protocol with Spring Data:

    • MariaDB Connector/R2DBC 1.1.4 adds support for decoding TIMESTAMP and DATE "zero" date values ('0000-00-00') from MariaDB Xpand. ()

      • In previous releases, when the connector received a "zero" date value from Xpand, the value could not be decoded and the following error would be raised:

    Issues Fixed

    • When the is enabled, MEDIUMINT values are not properly decoded. ()

      • In Connector/R2DBC 1.1.2 and 1.1.3, when the binary protocol is used, the last byte of a MEDIUMINT value is not read from a result-set, so remaining values from the same row are read incorrectly.

    • When the Statement.returnGeneratedValues() method is called when connected to a version of MariaDB Server prior to 10.5, an error is raised. ()

    • MariaDB Connector/R2DBC's internal statement parser improperly classifies user-defined variables in SELECT statements as named statement parameters. ()

      • In previous releases, the @amount token in the query below would be classified as a named statement parameter, instead of a user-defined variable.

    • Since a statement parameter does not exist with that name, the following error would be raised:

    • Starting with this release, the internal statement parser can distinguish between user-defined variables and named statement parameters.

    • When a ConnectionFactory is used to construct a connection string from a ConnectionFactoryOptions instance, the restrictedAuth, rsaPublicKey, cachingRsaPublicKey, and allowPublicKeyRetrieval connection parameters are not properly parsed. ()

    • When a server does not advertise the CLIENT_SESSION_TRACK capability (such as old versions of MariaDB Server, MySQL, and MariaDB Xpand), the MariadbConnection.getTransactionIsolationLevel() and MariadbConnection.setTransactionIsolationLevel(IsolationLevel isolationLevel) methods do not properly get or set the transaction isolation level. ()

    Resources

    : connector will set connection variable to the specified timezone. Compared to auto, this avoids having some additional exchange with the server at connection creation

  • Examples:

  • Ensure respecting server collation (R2DBC-91)

  • Session tracking wrong implementation when multiple system variable changes (R2DBC-94)

  • Report Issues
  • Source code

  • R2DBC-93
    R2DBC-66
    R2DBC-92
    R2DBC-86
    mariadb 11.1.1
    R2DBC-87
    R2DBC-88
    Download
    Documentation
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data

    In previous releases, the following error would be raised:

    Report Issues
  • Source code

  • R2DBC-80
    R2DBC-85
    R2DBC-83
    R2DBC-76
    R2DBC-77
    R2DBC-79
    R2DBC-81
    R2DBC-82
    Download
    Documentation
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    {mariadb/mysql}://[<user>[:<password>]@]<host>[:<port>]/
    SET @@global.redirect_url="mariadb://somehost:3306/"
    try {
         // Configure the Connection
         MariadbConnectionConfiguration conf = MariadbConnectionConfiguration.builder()
                 .host("192.0.2.1")
                 .port(8880) // tunnel port
                 .username("db_user")
                 .password("db_user_password")
                 .database("test")
                 .sslMode(SslMode.TUNNEL)
                 .sslContextBuilderCustomizer(
                         sslContextBuilder -> sslContextBuilder
                                 .protocols("TLSv1.3")
                                 .keyManager(new File("/path/to/client/cert"), new File("/path/to/client/key")))
                 .sslTunnelDisableHostVerification(true)
                 .build();
    
         // Instantiate a Connection Factory
         MariadbConnectionFactory connFactory = new MariadbConnectionFactory(conf);
    
         MariadbConnection connection = connFactory.create().block();
         connection.close().block();
    
     } catch (java.lang.IllegalArgumentException e) {
         System.err.println("Issue encountered while getting connection");
         e.printStackTrace();
     }
    connection
         .createStatement("/*text*/ call some_proc(?)")
         .bind(0, "connr2dbc_user@example.edu")
         .execute()
         .flatMap(...);
    @Query("/*text*/ call some_proc(:emailparam)")
    List<User> findUsersWithEmailAddress(@Param("emailparam") String emailParam);
    wrong month 0
    Cannot invoke "Object.getClass()" because "obj" is null
    SELECT @amount := 10;
    java.lang.IllegalStateException: Parameter at position 0 is not set.
    Documentation
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    Install MariaDB Connector/R2DBC
    Install MariaDB Connector/R2DBC with Spring Data
    sslTunnelDisableHostVerification Connection Parameter
    SslMode.TUNNEL
    useServerPrepStmts connection parameter
    useServerPrepStmts connection parameter
    PARSEC Authentication Plugin documentation

    This page is licensed: CC BY-SA / Gnu FDL

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.

    This page is: Copyright © 2025 MariaDB. All rights reserved.