Release Notes for MariaDB Connector/R2DBC 1.2.0

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 (R2DBC-93)

    • 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

      • <a java timezone> : 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:

      r2dbc:mariadb://user:pwd@localhost:3306/db?timezone=+5:00
      
      r2dbc:mariadb://user:pwd@localhost:3306/db?timezone=auto
      
      r2dbc:mariadb://user:pwd@localhost:3306/db?timezone=America/New_York
      
    • The recommended setting for timezone is auto.

  • Add support for connection redirection (R2DBC-66)

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

      {mariadb/mysql}://[<user>[:<password>]@]<host>[:<port>]/
      
    • 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:

      set @@global.redirect_url="mariadb://somehost:3306/"
      
    • 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) (R2DBC-92)

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

  • Compatibility with mariadb 11.1.1 (R2DBC-87)

  • Java 8 compatibility regression (R2DBC-88)

  • Ensure respecting server collation (R2DBC-91)

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