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.
-
(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
- Fix publish job in automated release (#248
- Bump Minimum Support Rust Version (MSRV) to 1.63 (#241)
v0.18.0 - 2022-09-21
- 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_row
config 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_memory
example (#225)
v0.16.0 - 2022-07-05
HTTP1_CLIENT
sink writer (#224)
v0.15.0 - 2022-06-29
SpringSourceRowBuilder
to makeSpringSourceRow
s 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) SpringSourceRow
and its constructorSpringSourceRow::from_json()
(#214)
- add
release.yml
for 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
ptime
column (processing time) for streams withoutROWTIME
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)
- add crate
springql
(#193)- re-export
springql-core
API 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_console
feature 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
api
and hidehigh_level_rs
- high level APIs are exported from
springql_core::api
- high level APIs are exported from
- remove low level API
- rename
SpringPipelineHL
toSpringPipeline
- rename
SpringRowHL
toSpringRow
- public mod
- CI : add ignore for known deadlink (#175)
- Temporally turn off the security advisory RUSTSEC-2020-0071 (#174)
- Refactor : introduce wrapping to
chrono
types ([#172)
- docs: add code example to crate document(#156)
- Refactor : crate/module document move to pure Markdown (#136)
- add
cargo-make
task 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_bool
spring_column_f32
spring_column_i16
spring_column_i64
SpringPipelineHL::pop()
to getSpringRowHL
from an in-memory queue (#119).SpringRowHL::get_not_null_by_index()
to get a column value fromSpringRowHL
(#119).- Made public (#119):
SpringTimestamp
SpringEventDuration
SpringValue
trait
- Made DDL strongly-consistent among internal worker threads (#108)
- remove
Serialize, Deserialize
from 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