R2DBC 0.9 goes GA
Dear community,
It is my pleasure to announce the general availability of R2DBC 0.9.0.RELEASE
from Maven Central!
This revision of the R2DBC specification has been in the works for roughly two years and ships numerous enhancements to the SPI and specification:
- Extensible Transaction Definitions.
- Improved Bind-Parameter Declaration
- Consumption of OUT Parameters by introducing
OutParameters
.Row
andOutParameters
now share the common superinterfaceReadable
. - Introduction of the
Result.map(Function<Readable, T>)
method. - Introduction of the
Result.Segment
API type hierarchy andResult.filter(Predicate<Segment>)
andResult.flatMap(Function<Segment, Publisher<T>>)
methods to consume arbitrary statement results. - Lifecycle support by introducing the
Lifecycle
interface. - Removal of generic type of
ConnectionFactoryOptions.getValue(Option)
andgetRequiredValue(…)
. - Deprecate
RowMetadata.getColumnNames()
and introduceRowMetadata.contains(String)
to simplify constraints and usage around column presence checks. - Support for Lock Wait and Statement Timeouts through
Connection.setLockWaitTimeout(Duration)
andConnection.setStatementTimeout(Duration)
methods.
In order to make the specification consumable, R2DBC implementors can now pick up the specification and ship releases of their drivers.
Looking forward, we expect a release train release (r2dbc-bom
code name Borca-GA) in early February 2022. Until then, try out RC-level releases of R2DBC drivers and learn about the new and noteworthy:
A few resources with details about this release:
- Javadoc
- R2DBC Specification
- R2DBC SPI 0.9 M1 Blog Post explaining Extensible Transaction Definitions and Improved Bind-Parameter Declaration
- R2DBC SPI 0.9 M2 Blog Post explaining OUT-Parameters and the Result Segment API
Release artifacts
Beyond this release, we prepare ourselves for the R2DBC 1.0 GA release in Q1/Q2 2022. Stay tuned.