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.
v1.0.0-a1 - 2022-08-22
v0.17.2 - 2022-08-19
v0.17.2 - 2022-08-03
- GenericWorker almost always got asleep after running a window task (#235)
v0.17.1 - 2022-07-13
- High CPU usage before issuing any SQL through
SpringPipeline::command()(#232)
v0.17.0 - 2022-07-13
worker.sleep_msec_no_rowconfig value (#229)
- 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
- High CPU usage even when no rows are coming from source (#225)
in_memoryexample (#225)
v0.16.0 - 2022-07-05
HTTP1_CLIENTsink writer (#224)
v0.15.0 - 2022-06-29
SpringSourceRowBuilderto makeSpringSourceRows from native values (not from JSON), enabling rows with BLOB columns, for example (#218)
v0.14.0 - 2022-06-24
- In-memory queue source reader and
SpringPipeline::push()API (#208) SpringSourceRowand its constructorSpringSourceRow::from_json()(#214)
- add
release.ymlfor automate release process (#215)- currently: any updates DISABLED, we need more test for use in release process.
- Migrate dependencies
chrono->time(#194)- SpringTimestamp::from_str can accept more strictly
- subsecond part must 9 digits
- relates security advisory RUSTSEC-2020-0071
- SpringTimestamp::from_str can accept more strictly
- Bump up MSRV from 1.56.0 to 1.56.1 (#199)
- Implicit
ptimecolumn (processing time) for streams withoutROWTIMEkeyword (event time) (#195) BLOBtype (#187)UNSIGNED INTEGERtype (#201)- CAN source reader, which feeds SocketCAN frames into a stream with
can_id UNSIGNED INTEGER NOT NULL, can_data BLOB NOT NULLcolumns (#170)
- add crate
springql(#193)- re-export
springql-coreAPI fromspringql
- re-export
- 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 thanpub(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_consolefeature flag : for development and test only
- relates security advisory RUSTSEC-2020-0071
- Remove
spring_config_default()(#182)- You may use
SpringConfig::default()instead
- You may use
- Fixed some broken links in rustdoc (#183)
- re organize public API (#169)
- public mod
apiand hidehigh_level_rs- high level APIs are exported from
springql_core_release_test::api
- high level APIs are exported from
- remove low level API
- rename
SpringPipelineHLtoSpringPipeline - rename
SpringRowHLtoSpringRow
- public mod
- CI : add ignore for known deadlink (#175)
- Temporally turn off the security advisory RUSTSEC-2020-0071 (#174)
- Refactor : introduce wrapping to
chronotypes ([#172)
- docs: add code example to crate document(#156)
- Refactor : crate/module document move to pure Markdown (#136)
- add
cargo-maketask for runs actionlint
- 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()
- High-level:
- Warning doc comments to
SpringPipelineHL::pop()andspring_pop()to prevent being used with threads (#134).
- Create multiple pumps from a source stream (splitting pipeline from a source stream) (#133).
- Aggregation without GROUP BY clause (#129).
- Panic on multiple GROUP BY elements (#129).
- Fields order in SELECT was ignored in aggregation query (#128).
- Low-level APIs (#121).
spring_column_boolspring_column_f32spring_column_i16spring_column_i64
SpringPipelineHL::pop()to getSpringRowHLfrom an in-memory queue (#119).SpringRowHL::get_not_null_by_index()to get a column value fromSpringRowHL(#119).- Made public (#119):
SpringTimestampSpringEventDurationSpringValuetrait
- Made DDL strongly-consistent among internal worker threads (#108)
- remove
Serialize, Deserializefrom most of (private) strct/enums (#90)
- Potential panic soon after a task graph has been changed by DDL (#86)
- Change task threads default number to 1 to keep in-order processing (#81)
- Use parking_lot::RwLock instead of std::sync::RwLock (#64): for the same reason as the fix in v0.3.2.
- Purger waited for task executors too long in Linux platforms (#62).
SpringConfig::from_toml()to construct a configuration in runtime from a TOML file (Rust interface).
spring_open()andSpringPipelineHL::new()are changed to takeSpringConfig's reference instead of owned value.
- 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 sleep time
v0.1.0 - 2021-12-07
- Initial release