Skip to content

Latest commit

 

History

History
293 lines (228 loc) · 9.78 KB

CHANGELOG.md

File metadata and controls

293 lines (228 loc) · 9.78 KB

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

Unreleased - ReleaseDate

Added

  • derive: support serde::skip_deserializing (#83).

0.11.6 - 2023-09-27

Fixed

  • client: accept HTTPs urls if tls feature is enabled (#58).

0.11.5 - 2023-06-12

Changed

  • inserter: start new insert only when the first row is provided (#68, #70).

0.11.4 - 2023-05-14

Added

  • query: Query::fetch_optional().

Changed

  • query: increase performance up to 40%.

0.11.3 - 2023-02-19

Added

  • client: support HTTPS (#54).

Changed

  • query: improve throughput (~8%).

Fixed

  • cursor: handle errors sent at the end of a response (#56).

0.11.2 - 2023-01-03

Added

  • insert: with_timeouts to manage timeouts.
  • inserter: with_timeouts and set_timeouts to manage timeouts.

Changed

  • insert: improve throughput (~30%).
  • inserter: set a default value of max_entries to 500_000.

0.11.1 - 2022-11-25

Added

  • ipv4: serde::ipv4 for ser/de the IPv4 type to/from Ipv4Addr. Note that IPv6 requires no annotations.
  • time: serde::time::datetime(64) for ser/de the time::OffsetDateTime type to/from DateTime and DateTime64.
  • time: serde::time::date(32) for ser/de the time::Date type to/from Date and Date32.
  • serde: add ::option variants to support Option<_>.

Changed

  • uuid: move to the serde submodule.

0.11.0 - 2022-11-10

Added

  • compression: implement Lz4/Lz4Hc compression modes for INSERTs (#39).
  • insert: the wa-37420 feature to avoid ClickHouse#37420.
  • inserter: new method Inserter::time_left().
  • uuid: the uuid feature and a corresponding module to ser/de uuid::Uuid (#26).

Changed

  • BREAKING decompression: HTTP compression (gzip, zlib and brotli) isn't available anymore, only Lz4.
  • inserter: skip timer ticks if INSERT is too long (#20).

0.10.0 - 2022-01-18

Added

  • client: Client::with_http_client to use custom hyper::Client, e.g. for https (#27).

Changed

  • watch: run WATCH queries with max_execution_time=0.
  • bind: implement Bind for all Serialize instances (#33).

Fixed

  • Implement Primitive for f64 (#31).

0.9.3 - 2021-12-21

Added

  • Implement Primitive for f64 and f32 (#29).

Fixed

  • Reset quantities on errors to support reusing Inserter after errors (#30).

0.9.2 - 2021-11-01

Changed

  • HTTP Keep-alive timeout is restricted to 2s explicitly.

Fixed

  • watch: make a cursor cancellation safe.

0.9.1 - 2021-10-25

Added

  • mock: add record_ddl handler to test DDL queries.
  • mock: add watch and watch_only_events handlers to test WATCH queries.

0.9.0 - 2021-10-25

Fixed

  • query: support borrowed long strings (#22).
  • query: read the whole response of DDL queries.

Changed

  • BREAKING: watch: require the watch feature.
  • BREAKING: watch: only struct rows are allowed because JSON requires names.
  • query: queries with invalid URLs fail with Error::InvalidParams.
  • watch: use JSONEachRowWithProgress because of ClickHouse#22996 (#23).

0.8.1 - 2021-08-26

Fixed

  • Support ? inside bound arguments (#18).
  • Use the POST method if a query is bigger than 8KiB (#19).

0.8.0 - 2021-07-28

Fixed

  • RowBinarySerializer::is_human_readable() returns false.

0.7.2 - 2021-05-07

Added

  • Watch::refresh() to specify REFRESH clause.

Fixed

  • derive(Row): handle raw identifiers.

0.7.1 - 2021-06-29

Fixed

  • Get rid of "socket is not connected" errors.

Changed

  • Set TCP keepalive to 60 seconds.

0.7.0 - 2021-05-31

Changed

  • Replace reflection::Reflection with clickhouse::Row. It's enough to implement Row for top-level structs only.

Added

  • #[derive(Row)]

0.6.8 - 2021-05-28

Fixed

  • docs: enable the doc_cfg feature.

0.6.7 - 2021-05-28

Fixed

  • docs: show features on docs.rs.
  • Now test-util implies hyper/server.

0.6.6 - 2021-05-28

Added

  • test module (available with the test-util feature).
  • #[must_use] for Query, Watch, Insert and Inserter.

0.6.5 - 2021-05-24

Added

  • &String values binding to SQL queries.

0.6.4 - 2021-05-14

Fixed

  • Depend explicitly on tokio/macros.

0.6.3 - 2021-05-11

Added

  • Support for bool values storage (#9).
  • arrays' binding to SQL queries — useful at IN operators, etc (#9).
  • String values binding to SQL queries (#9).
  • Query::fetch_all()
  • sql::Identifier

Changed

  • Expose query::Bind (#11).
  • Deprecate Compression::encoding().

0.6.2 - 2021-04-12

Fixed

  • watch: bind fileds of the type param.

0.6.1 - 2021-04-09

Fixed

  • compression: decompress error messages (#7).

0.6.0 - 2021-03-24

Changed

  • Use tokio v1, hyper v0.14, bytes v1.

0.5.1 - 2020-11-22

Added

  • decompression: lz4.

0.5.0 - 2020-11-19

Added

  • decompression: gzip, zlib and brotli.

0.4.0 - 2020-11-17

Added

  • Query::fetch_one(), Watch::fetch_one().
  • Query::fetch() as a replacement for Query::rows().
  • Watch::fetch() as a replacement for Watch::rows().
  • Watch::only_events().fetch() as a replacement for Watch::events().

Changed

  • Error is StdError + Send + Sync + 'static now.

0.3.0 - 2020-10-28

Added

  • Expose cursors (query::RowCursor, watch::{RowCursor, EventCursor}).

0.2.0 - 2020-10-14

Added

  • Client::inserter() for infinite inserting into tables.
  • Client::watch() for LIVE VIEW related queries.

Changed

  • Renamed Query::fetch() to Query::rows().
  • Use GET requests for SELECT statements.

0.1.0 - 2020-10-14

Added

  • Support basic types.
  • Client::insert() for inserting into tables.
  • Client::query() for selecting from tables and DDL statements.