Skip to content

Latest commit

 

History

History
223 lines (140 loc) · 9.12 KB

CHANGELOG.md

File metadata and controls

223 lines (140 loc) · 9.12 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.

[0.7.2] - 2024-02-14

Fixed

  • Fixed incorrect timestamp when using nanosecond precision with chrono (#134)

[0.7.1] - 2023-09-08

Added

  • Eq and PartialEq for our error type (#127)

Fixed

  • Not sending authentication token in requests to Influxdb V2 (#128)

[0.7.0] - 2023-07-03

Changed

  • Opt-in Line-Protocol for Compatibility Mode (#123)
  • Use cargo doc2readme instead of cargo readme (#125)

[0.6.0] - 2023-03-04

Changed

  • Unsigned integers are no longer treated as signed integers (#113)

Added

  • Support for token auth (#118)

[0.5.2] - 2022-02-04

Changed

  • disable default features of chrono

[0.5.1] - 2021-12-23

Changed

  • Debug implementation on Client now redacts passwords (#106)
  • Client and Query builder functions are now annotated with #[must_use] (#107)

[0.5.0] - 2021-11-04

Added

  • Reqwest client for Tokio 1.0 support
  • New client constructor with_http_client (@nshaaban-cPacket in #94)

Changed

  • default client is the new reqwest client
  • deprecate <dyn Query>::raw_read_query in favour of ReadQuery::new
  • Client::query now accepts both owned and borrowed queries as argument

0.4.0 - 2021-03-08

Fixed

  • Fix deserialization of Series in case of no values (@JEnoch in #75)

Added

  • implement #[influxdb(tag)] and #[influxdb(ignore)] (@blasrodri in #81)

    #[tag] is now #[influxdb(tag)] and fields can be ignored with #[influxdb(ignore)]

  • Batch write support (@sunng87 in #87)

    Build a query containing mutliple rows to be inserted

    let q0 = Timestamp::Hours(11)
        .into_query("weather")
        .add_field("temperature", 82)
        .add_tag("location", "us-midwest");
    
    let q1 = Timestamp::Hours(12)
        .into_query("weather")
        .add_field("temperature", 65)
        .add_tag("location", "us-midwest");
    
    let query = vec![q0, q1].build();
    

Changed

  • Assertion should consider case-insensitive keywords (@rcastill in #83)

    #[tag] is now #[influxdb(tag)] and fields can be ignored with #[influxdb(ignore)]

  • Add h1-client-rustls feature (@JEnoch in #88)

    Switch between multiple http backends as described in the README.md

0.3.0 - 2020-11-15

Changed

  • Internal request connection pooling (@Robert-Steiner in #73)

    Previously visible Client fields are now private. If you were using them before, please reference them from the creation of the Client.

  • Support async-std (@JEnoch in #72)

    The default backend is still Tokio, but if you're keen on switching, other backends are exposed as Cargo features

0.2.0 - 2020-10-25

Added

  • Allow GROUP BY queries by providing deserialize_next_tagged to deserialize the group fields (@SafariMonkey in #69)
  • Added Default for series in InfluxDb Response (@SafariMonkey in #67)
  • WriteQuery and ReadQuery now derive Debug and Clone (@jaredwolff in #63)

Changed

  • Replaced failure crate with thiserror crate (@msrd0 in #70)

  • Deserialize series are now deserialized using field names not field order (@SafariMonkey in #62)

  • Due to InfluxDb inconsistencies between versions and ambiguities, Timestamp::Now has been removed. Please calculate the current timestamp since the epoch yourself and use the other available Timestamp values like so:

    use influxdb::{Timestamp};
    use std::time::{SystemTime, UNIX_EPOCH};
    let start = SystemTime::now();
    let since_the_epoch = start
      .duration_since(UNIX_EPOCH)
      .expect("Time went backwards")
      .as_millis();
    let query = Timestamp::Milliseconds(since_the_epoch)
        .into_query("weather")
        .add_field("temperature", 82);
    

Fixed

  • Fixed quotation marks of tag values and escaping of field values (@Robert-Steiner in #68)
  • Fixed improper quoting on tag values when the value was text (@sparky8251 in #64)

0.1.0 - 2020-03-17

This adds #[derive(InfluxDbWriteable)] for Structs, fixes escaping for the line-protocol and improves timestamp handling.

Added

  • #[derive(InfluxDbWriteable)] for deriving struct writing (@msrd0)

Changed

  • Change type of timestamp-variants to u128 (@mario-kr)

Fixed

  • Use rfc3339 as default timestamp precision (@zjhmale)

[0.0.6] - 2020-02-07

Changed

  • Rewrite to async / await. Rust 1.39 is now the minimum required Rust version.

0.0.5 - 2019-08-16

This release removes the prefix InfluxDb of most types in this library and reexports the types under the influxdb:: path. In most cases, you can directly use the types now: e.g. influxdb::Client vs influxdb::client::InfluxDbClient.

Added

  • Switch to cargo-readme for README generation (@senden9)
  • Contributing Guidelines, Code of Conduct and Issue Templates

Changed

  • Removed dependency itertools (@mvucenovic)
  • Replace internal representation in query of Any by an enum (@pcpthm)
  • Remove InfluxDb in type names
  • Replace ToString with Into

Fixed

  • Fix Crates.io detecting license incorrectly (@mimetypes)
  • Don't commit Cargo.lock (@msrd0)
  • Fix and Enforce Clippy Lints (@msrd0)

0.0.4 - 2019-08-16

Added

  • Possibility to authenticate against a InfluxDb instance (@valkum)

0.0.3 - 2019-07-14

Added

  • Possibility to run multiple queries in one. See the Integration Tests in tests/integration_tests.rs for examples.
  • Ability to specify Timestamp for write queries

Changed

  • You now have to borrow a query when passing it to the query method

0.0.2 - 2019-07-23

Changed

  • URLEncode Query before sending it to InfluxDB, which caused some empty returns (#5)
  • Improved Test Coverage: There's now even more tests verifying correctness of the crate (#5)
  • It's no longer necessary to supply a wildcard generic when working with serde*integration: client.json_query::<Weather>(query) instead of client.json_query::<Weather, *>(query)