Skip to content

5.0.0

Latest
Compare
Choose a tag to compare
@amunra amunra released this 07 Jul 15:00
· 1 commit to main since this release
924bc39

Overview

This release adds a new protocol version that brings support for N-dimensional arrays and faster serialization of doubles.

It stabilizes the features first introduced with version 5.0.0-rc1.

Features

  • You can now ingest the ARRAY datatype when connected to QuestDB 9.0.0 or newer. It uses a new protocol_version=2.
  • This new protocol version is auto-negotiated when using HTTP and needs to be enabled manually for ILP/TCP.
  • The new protocol version also serializes doubles (f64) as binary for better performance.
  • Updated to the latest snapshot of the https://www.ccadb.org/ root TLS certificates by updating the webpki-roots dependency.
  • Internally, we've upgraded to the latest ureq Rust library version 3 to perform HTTP requests.

Bug Fixes

  • Fixed a Windows ILP/TCP bug where some rows could be lost when the client shuts down the connection.

Breaking Changes

  • Previously, you could peek into the serialized state of a Buffer object and it would expose a UTF-8 string.
    Since protocol version 2 is now binary, the exposed data is now binary for protocol version 2
    while it remains UTF-8 for protocol version 1. The C, C++ and Rust APIs have been changed to return a view into the buffered bytes.

Rust

There are also a few Rust-specific changes.

  • Added optional integration with the ndarray crate via ndarray feature flag.
  • Added support for the aws-lc cryptographic backend for TLS and TCP auth. You can select it via feature flags. The AWS-LC backend is mutually exclusive with the Ring backend.
  • You can now also check if a buffer is ready to be sent via the .check_can_flush() method (Thank you @ischeinkman).
  • You can now selectively disable compiling support for ILP/TCP via feature flags.
  • Thus, the ilp-over-http feature flag is removed: Use the sync-sender-tcp or sync-sender-http (or both) feature flags as needed.

Full Changelog: 4.0.5...5.0.0