Releases: lf-edge/ekuiper
v2.3.0-beta.2
What's Changed
- fix: remove gu plugin sink ack by @Yisaer in #3820
- test: fix random ut failure by @ngjaying in #3821
- feat(schema): schema message id multiple levels by @ngjaying in #3822
- fix(schema): compatible with path schema id by @ngjaying in #3823
- feat(schema): allow any type by @ngjaying in #3824
- fix(schema): merger schemaId parse by @ngjaying in #3825
Full Changelog: v2.3.0-beta.1...v2.3.0-beta.2
v2.3.0-beta.1
What's Changed
- fix(schema): remove wildcard when having schema by @ngjaying in #3754
- feat: support median function by @Yisaer in #3755
- feat: refactor sliding window by @Yisaer in #3744
- feat: support acc function condition by @Yisaer in #3749
- feat(slice): add slice mode by @ngjaying in #3756
- fix: fix lag default value by @Yisaer in #3758
- feat: support state window by @Yisaer in #3757
- fix(http): transport setting by @ngjaying in #3759
- fix(planner): donot share conn src by @ngjaying in #3765
- feat: portable plugin install in data dir by @Yisaer in #3773
- fix(planner): strict share conn by @ngjaying in #3781
- fix(edgex): tags field access by @ngjaying in #3782
- build(deps): bump oauth2 by @dependabot[bot] in #3789
- feat: support patch/put rule tags by @Yisaer in #3790
- fix: fix init plugin/sink meta by @Yisaer in #3791
- fix: validate window version by @Yisaer in #3793
- fix(window): state window logic by @ngjaying in #3794
- fix: graceful stop rule timeout by @Yisaer in #3792
- fix(kv): prepare ts query by @odaysec in #3767
- fix(checkpoint): gob register map[string]time.time by @ngjaying in #3795
- docs: file hook docs by @Yisaer in #3796
- fix(rule): upsert closed rule start failed by @ngjaying in #3799
- feat(contract): support EoF message by @ngjaying in #3800
- feat(source): support eof msg by @ngjaying in #3801
- refactor(schema): modularize schema by @ngjaying in #3802
- feat(schema): support zip by @ngjaying in #3805
- fix: fix roll done error handle by @Yisaer in #3806
- feat: support eval aggfunc in where condition by @Yisaer in #3803
- feat(mod): support register schema to format by @ngjaying in #3809
- fix: support sql source timestamp scan by @Yisaer in #3811
- feat(converter): support json writer by @ngjaying in #3812
- feat: support httppull state by @Yisaer in #3804
- feat(rest): API to get stream/rule runtime schema by @ngjaying in #3816
- fix: merge bugfixes by @ngjaying in #3817
- feat(rule): support temp rule by @ngjaying in #3818
- chore: merge slice mode updates by @ngjaying in #3819
New Contributors
- @odaysec made their first contribution in #3767
Full Changelog: v2.2.0-beta.1...v2.3.0-beta.1
v2.2.1
What's Changed
- fix(planner): donot share conn src by @ngjaying in #3766
- chore: update base image go ver by @ngjaying in #3772
- chore: update go and dep version by @ngjaying in #3771
- fix(planner): strict share conn by @ngjaying in #3778
- feat(plugin): install in data dir (#3773) by @ngjaying in #3779
- fix(edgex): tags field access by @ngjaying in #3783
- fix(mqtt): shared conn as subtopo by @ngjaying in #3788
- feat: port to 2.2 by @Yisaer in #3797
Full Changelog: v2.2.0...v2.2.1
v2.1.5
v2.2.0
Highlights
SQL
-
Invisible Field Support: Added support for invisible fields in SQL queries, allowing for more flexible data manipulation without altering the output structure.
-
Median Function: A new
median()
aggregate function is now available for statistical analysis. -
Conditional Accumulate Function: Accumulate functions now support
START
andSTOP
conditions for more fine-grained control over calculations. -
Advanced Sliding Windows: Sliding windows with delayed triggering time now support sending data at both the trigger time and delay trigger time of the window, enabling more instant result for this scenario.
Streaming Runtime
-
Streaming Batch Processing: Enhanced capabilities for handling batches of streaming data.
-
Writer Format Support: Broader support for various data formats in writers.
-
EOF Rule Enhancement: The EOF (End of File) rule now triggers a close action.
IO
-
TDengine V3 Sink: Introduced a new sink for TDengine V3, enabling seamless integration.
-
REST Sink Form Data Support: The REST sink now supports sending data as
form-data
including sending as file. -
MQTT
cleanSession
: The MQTT source and sink now support configuring thecleanSession
property for persistent sessions. -
Exclude Fields in Sink: Sinks now support an
excludeFields
property to easily remove specific fields from the output. -
Configurable Sink Compressor: The sink compressor now allows property settings, with initial support for Zstd.
-
Sink Cache Refactor: The sink cache mechanism has been refactored for improved performance and reliability.
Operations
-
Rule Versioning: Rules now have versions, allowing for better tracking and management of changes.
-
Rule Tags: Rules can now be tagged, allowing for better organization, filtering, and management.
-
Rule Upsert: The rule update API now functions as an "upsert," creating the rule if it doesn't exist or updating it if it does.
-
Rule Duration: Rules can now be configured to run for a specific duration and then automatically stop.
-
pprof Switch: A switch has been added to enable or disable the pprof profiling tool for performance diagnostics.
-
Default Certificate and Encryption Configuration: Simplified configuration for default SSL/TLS certificates and encryption.
-
Batch API Requests: A new batch endpoint allows for sending multiple API requests in a single call, improving efficiency.
Breaking Changes
-
lag
FunctionignoreNull
Default: TheignoreNull
parameter in thelag
function now defaults totrue
. Please review your rules that use this function to ensure they behave as expected. -
Rule Update API is Now Upsert: The rule update API has been changed to an upsert operation. This means that if you attempt to update a rule that does not exist, it will be created instead of returning an error.
What's Changed
- feat(ver): update base image to go 1.24.1 by @ngjaying in #3611
- fix(planner): sql sink should handle fields by @ngjaying in #3612
- feat(ver): update to go 1.24.1 by @ngjaying in #3613
- build(deps): Bump golang.org/x/net by @dependabot in #3614
- fix(topo): nil exception by @ngjaying in #3615
- feat(planner): rule option check by @Yisaer in #3617
- feat: update kfk client by @Yisaer in #3619
- feat: revise metrcis panel by @Yisaer in #3620
- feat: add cfg log by @Yisaer in #3622
- fix: disable plugin stdout/stderr buffer by @Yisaer in #3630
- feat(template): add snowflake id by @ngjaying in #3623
- feat(io): rest support formdata by @ngjaying in #3625
- feat(compressor): support compress options by @ngjaying in #3626
- feat(func): lag ignoreNull defaults to true by @ngjaying in #3627
- fix(perf): performance bugfixes by @ngjaying in #3628
- fix(conf): load connection env wrong type by @Yisaer in #3631
- build(deps): Bump golang-jwt by @dependabot in #3632
- feat(op): support streaming batch by @ngjaying in #3629
- build(deps): Bump go-redis by @dependabot in #3635
- feat: add TDEngine v3 sink(#2054) by @Dream95 in #3543
- feat: add kafka source metrics by @Yisaer in #3624
- feat(conf): add pprof switch and conf by @ngjaying in #3633
- feat(rule): eof rule trigger turn to false by @ngjaying in #3634
- feat: add tdengine 3 ci by @Yisaer in #3638
- docs: recent new features by @ngjaying in #3639
- docs(fix): format problem by @ngjaying in #3640
- chore(ci): update pynng to fix setup by @ngjaying in #3642
- feat: support connection metrics by @Yisaer in #3637
- fix(rule): manual stop state by @ngjaying in #3641
- fix(converter): get writer name ignore case by @ngjaying in #3643
- feat(rule): rule upsert & init rule migration by @ngjaying in #3644
- feat: remove xml converter by @Yisaer in #3645
- feat(planner): send sink schema for converter by @ngjaying in #3648
- fix: fix get_keyed_state by @Yisaer in #3649
- fix: copy props before consume props by @Yisaer in #3652
- chore(ci): update codecov by @ngjaying in #3656
- docs: add disableBufferFullDiscard doc by @Yisaer in #3657
- fix: check kafka batch config by @Yisaer in #3651
- fix: merge bugfixes by @ngjaying in #3658
- fix(portable): fix plugin error status by @Yisaer in #3661
- feat: use open root check upload file by @Yisaer in #3646
- feat(sql): support invisible fields by @ngjaying in #3659
- fix(ci): base image revert to bullseye by @ngjaying in #3662
- fix(ci): revert pip upload by @ngjaying in #3669
- build(deps): Bump ClickHouse by @dependabot in #3666
- docs: update kafka source doc by @Yisaer in #3663
- fix(topo): subtopo ref count error when update by @ngjaying in #3670
- fix: sql stmt only prepared once by @Yisaer in #3672
- build(deps): Bump golang.org/x/net by @dependabot in #3674
- fix(file): mon write sig & ignore empty file by @ngjaying in #3678
- feat(server): handle more exit sig by @ngjaying in #3676
- feat(conf): default cert and encryption conf by @ngjaying in #3677
- test: use dynamic path by @ngjaying in #3680
- fix(planner): ignore invisible field in schema by @ngjaying in #3684
- fix(kafka): fix incorrect properties structure by @onlylin in #3686
- fix(topo): subtopo store nil problem by @ngjaying in #3690
- fix(portable): source hot reload by @ngjaying in #3691
- refactor(server): do not catch fatal sigs by @ngjaying in #3692
- fix: improve incremnetal tumbling window perf by @Yisaer in #3693
- feat: support patorl duration rule by @Yisaer in #3702
- feat(rule): support patrol duration rule #2 by @ngjaying in #3704
- fix: fix upload api by @Yisaer in #3707
- feat(metrics): support rule cpu usage counter by @Rookiecom in #3708
- fix: fix inc window metrics by @Yisaer in #3681
- feat: add rule cpu metrics panel by @Yisaer in #3710
- fix(build): docker pynng install by @ngjaying in #3713
- fix(connection): read from conf (#3706) by @ngjaying in #3714
- fix(rule): eof set topo to nil for noneof rule by @ngjaying in #3717
- fix(topo): broadcast multi output clone problem by @ngjaying in #3715
- fix(topo): subtopo should always detach rule by @ngjaying in #3716
- fix(topo): register lag state type by @ngjaying in https:...
v2.2.0-beta.1
What's Changed
- fix: update kafka source/sink connection status by @Yisaer in #3731
- fix: revise filesource offset by @Yisaer in #3732
- fix: pad fraction when parse time by @Yisaer in #3735
- feat: add predicate pushdown test by @Yisaer in #3740
- refactor(perf): json decode by @Yisaer in #3741
- fix: fix duration rule stop by @Yisaer in #3743
- feat: support optiomize control by @Yisaer in #3738
- feat: support list rule tags by @Yisaer in #3747
- feat: support client session by @Yisaer in #3746
- fix(rule): use time.Sub when patrol rule by @Yisaer in #3751
- feat: merge changes by @ngjaying in #3752
- feat: cp sending twice trigger by @Yisaer in #3753
Full Changelog: v2.2.0-alpha.5...v2.2.0-beta.1
v2.2.0-alpha.5
Features
What's Changed
- build(deps): gosnowflake from 1.11.1 to 1.13.3 by @dependabot in #3722
- ci: translate issue from Chinese to English by @Rory-Z in #3726
- fix(io): revise websocket connection by @Yisaer in #3728
- fix: add websocket json and datasource setting by @Yisaer in #3729
Full Changelog: v2.2.0-alpha.4...v2.2.0-alpha.5
v2.2.0-alpha.4
Features
- feat: support patorl duration rule by @Yisaer in #3702
- feat(rule): support patrol duration rule #2 by @ngjaying in #3704
- feat(metrics): support rule cpu usage counter by @Rookiecom in #3708
- feat: add rule cpu metrics panel by @Yisaer in #3710
What's Changed
- fix(planner): ignore invisible field in schema by @ngjaying in #3684
- fix(kafka): fix incorrect properties structure by @onlylin in #3686
- fix(topo): subtopo store nil problem by @ngjaying in #3690
- fix(portable): source hot reload by @ngjaying in #3691
- refactor(server): do not catch fatal sigs by @ngjaying in #3692
- fix: improve incremnetal tumbling window perf by @Yisaer in #3693
- fix: fix upload api by @Yisaer in #3707
- fix: fix inc window metrics by @Yisaer in #3681
- fix(build): docker pynng install by @ngjaying in #3713
- fix(connection): read from conf (#3706) by @ngjaying in #3714
- fix(rule): eof set topo to nil for noneof rule by @ngjaying in #3717
- fix(topo): broadcast multi output clone problem by @ngjaying in #3715
- fix(topo): subtopo should always detach rule by @ngjaying in #3716
- fix(topo): register lag state type by @ngjaying in #3719
New Contributors
Full Changelog: v2.2.0-alpha.3...v2.2.0-alpha.4
v2.1.4
v2.1.4-beta.1
What's Changed
- fix(build): pynng install for arm64 by @ngjaying in #3698
- fix(connection): read from conf by @ngjaying in #3706
Full Changelog: v2.1.3...v2.1.4-beta.1