Dear community,

It is my pleasure to announce that, after ten milestones and RCs and almost two years of development overall, R2DBC is now generally available as 0.8.0.RELEASE from Maven Central!

This brand-new generation of a specification for database access on the Java platform enables reactive programming arrangements to leverage non-blocking access with SQL databases. R2DBC comes with a Java 8 baseline and requires Reactive Streams. It enables interchange of drivers while providing a vendor-neutral SPI for easier consumption of various drivers.

Amongst other features, the specification contains the following highlighted features:

  • Driver SPI and TCK (Technology Compatibility Kit)
  • Integration with BLOB and CLOB types
  • Plain and Parameterized Statements („Prepared Statements“)
  • Batch operations
  • Categorized Exceptions
  • ServiceLoader-based Driver Discovery
  • Connection URL scheme

A few resources with details about this release:

R2DBC ships as release train Arabba-RELEASE with the following modules:

We recommend version management by using R2DBC BOM as individual modules follow their own version number schedule.

Release artifacts

If you use Maven, you can add the following lines to your pom.xml:

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>io.r2dbc</groupId>
      <artifactId>r2dbc-bom</artifactId>
      <version>Arabba-RELEASE</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-postgresql</artifactId>
  </dependency>

  <dependency>
    <groupId>io.r2dbc</groupId>
    <artifactId>r2dbc-pool</artifactId>
  </dependency>
</dependencies>

Next Steps

R2DBC 0.8 is the first release of the open standard. We’re expecting maintenance releases shipping minor revisions of the specification and drivers over the course of the next months. We’re looking towards a 0.9 revision of R2DBC: Stored procedures, extensions to transaction definitions, and a specification for database events are only a few topics planned for the next iteration. Join the community to get involved and to follow development closely.

Cheers,

Mark