Skip to content

Latest commit

 

History

History
332 lines (209 loc) · 11.7 KB

CHANGELOG.md

File metadata and controls

332 lines (209 loc) · 11.7 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.

We originally added ### For developers sections in order to separate changes for end-users and developers. All other sections are for end-users.

Changed

  • (Breaking Change) Remove TimedStream from foreign-service (#250

  • Bump up Minimum Support Rust Version (MSRV) to 1.65 (#262)

v0.18.1 - 2022-10-07

For developers

  • Fix publish job in automated release (#248

Changed

  • Bump Minimum Support Rust Version (MSRV) to 1.63 (#241)

v0.18.0 - 2022-09-21

For developers

[v0.17.2] - 2022-08-03

Fixed

  • GenericWorker almost always got asleep after running a window task (#235)

v0.17.1 - 2022-07-13

Fixed

  • High CPU usage before issuing any SQL through SpringPipeline::command() (#232)

v0.17.0 - 2022-07-13

Added

  • worker.sleep_msec_no_row config value (#229)

Fixed

  • Changed the default sleep length from 10ms to 100ms for when a source / a generic worker does not receive any row (#229)

v0.16.1 - 2022-07-13

Fixed

  • High CPU usage even when no rows are coming from source (#225)

Added

  • in_memory example (#225)

v0.16.0 - 2022-07-05

Added

  • HTTP1_CLIENT sink writer (#224)

v0.15.0 - 2022-06-29

Added

  • SpringSourceRowBuilder to make SpringSourceRows from native values (not from JSON), enabling rows with BLOB columns, for example (#218)

v0.14.0 - 2022-06-24

Changed

  • Bump up MSRV from 1.56.1 to 1.57.0 (#203)
  • Name changed: SpringRow -> SpringSinkRow (#210)

Added

  • In-memory queue source reader and SpringPipeline::push() API (#208)
  • SpringSourceRow and its constructor SpringSourceRow::from_json()(#214)

Fixed

  • Fix examples/in_vehicle_pipeline.rs to run again (#205)
  • Fix examples fleaky (#207)

For developers

  • add release.yml for automate release process (#215)
    • currently: any updates DISABLED, we need more test for use in release process.

Changed

  • Migrate dependencies chrono -> time (#194)
  • Bump up MSRV from 1.56.0 to 1.56.1 (#199)

Added

  • Implicit ptime column (processing time) for streams without ROWTIME keyword (event time) (#195)
  • BLOB type (#187)
  • UNSIGNED INTEGER type (#201)
  • CAN source reader, which feeds SocketCAN frames into a stream with can_id UNSIGNED INTEGER NOT NULL, can_data BLOB NOT NULL columns (#170)

Changed

  • add crate springql (#193)
    • re-export springql-core API from springql

For developpers

  • Add deny lint option for rustdoc::broken_intra_doc_links (#185)
  • Refactor : Hide detail module structure (#177)
    • Make private to internal modules
    • When publishing members outside the module, we recommend re-export(pub use) rather than pub(crate)
  • Refactor : refactor test for web-console (#200)
    • relates security advisory RUSTSEC-2020-0071
      • remove test-web-console-mock crate and dependent simple-server
    • add stub_web_console feature flag : for development and test only

Changed

  • Remove spring_config_default() (#182)
    • You may use SpringConfig::default() instead

Fixed

  • Fixed some broken links in rustdoc (#183)

Changed

  • re organize public API (#169)
    • public mod api and hide high_level_rs
      • high level APIs are exported from springql_core::api
    • remove low level API
    • rename SpringPipelineHL to SpringPipeline
    • rename SpringRowHL to SpringRow

For Developers

  • CI : add ignore for known deadlink (#175)
  • Temporally turn off the security advisory RUSTSEC-2020-0071 (#174)
  • Refactor : introduce wrapping to chrono types ([#172)

Added

  • docs: add code example to crate document(#156)

For Developers

  • Refactor : crate/module document move to pure Markdown (#136)
  • add cargo-make task for runs actionlint

Added

  • Non-blocking pop feature from in-memory queues both in high-level and low-level APIs (#134).
    • High-level: SpringPipelineHL::pop_non_blocking()
    • Low-level: spring_pop_non_blocking()
  • Warning doc comments to SpringPipelineHL::pop() and spring_pop() to prevent being used with threads (#134).

Added

  • Create multiple pumps from a source stream (splitting pipeline from a source stream) (#133).

Fixed

  • Aggregation without GROUP BY clause (#129).
  • Panic on multiple GROUP BY elements (#129).
  • Fields order in SELECT was ignored in aggregation query (#128).

Added

  • Low-level APIs (#121).
    • spring_column_bool
    • spring_column_f32
    • spring_column_i16
    • spring_column_i64

Added

  • SpringPipelineHL::pop() to get SpringRowHL from an in-memory queue (#119).
  • SpringRowHL::get_not_null_by_index() to get a column value from SpringRowHL (#119).
  • Made public (#119):
    • SpringTimestamp
    • SpringEventDuration
    • SpringValue trait

Fixed

  • Made DDL strongly-consistent among internal worker threads (#108)

Removed

  • remove Serialize, Deserialize from most of (private) strct/enums (#90)

Fixed

  • Potential panic soon after a task graph has been changed by DDL (#86)

Changed

  • Change task threads default number to 1 to keep in-order processing (#81)

Fixed

  • Use parking_lot::RwLock instead of std::sync::RwLock (#64): for the same reason as the fix in v0.3.2.

Fixed

  • Purger waited for task executors too long in Linux platforms (#62).

Added

  • SpringConfig::from_toml() to construct a configuration in runtime from a TOML file (Rust interface).

Changed

  • spring_open() and SpringPipelineHL::new() are changed to take SpringConfig's reference instead of owned value.

Added

  • Features to comply memory upper limit presented in the paper "Memory Efficient and Flexible Stream Processor for In-Vehicle Computers and IoT Devises".
  • Window JOIN (LEFT OUTER).
  • Window aggregation with grouping.
  • Types:
    • FLOAT
    • BOOLEAN
  • Out-of-order event-time processing.
  • Windows:
    • Time-based fixed-window
    • Time-based sliding-window
  • Rust high-level APIs.

v0.1.1 - 2021-12-07

Changed

  • Changed sleep time

v0.1.0 - 2021-12-07

Added

  • Initial release