Releases: lf-edge/ekuiper
1.8.0-alpha.1
What's Changed
- Wasm plugin initial support by @erfenjiao
- Rule failure auto restart strategy by @ngjaying
- Doc fixes by @ngjaying in #1489
Full Changelog: 1.7.0...1.8.0-alpha.1
eKuiper 1.7.1 release
eKuiper 1.7.1 is a maintainance version that fixes several issues and add some properties to stabilize the product.
For EdgeX, it supports nats message bus by default. For time window function, will always triggered by time even no events incoming.
For docker images, the tag 1.7.1
is set to alpine
image and previous development docker image is set to 1.7.1-dev
. It also includes fixing for connectionSelector regression problem and other bugs fixes.
Fixes
- refactor(redis): switch all redis inference to goredis by @ngjaying in #1469
- fix(op): analytic functions dependency by @ngjaying in #1471
- fix(connection): share connection do not take effect by @superrxan in #1476
- fix(window): time window should always triggered by time by @ngjaying in #1475
- fix(test): sort the keys to make result consistent by @ngjaying in #1477
- fix(rest): fix restapi plugins/sources/prebuild and plugins/sources/{name} conflict issue by @superrxan in #1478
- fix(config): do not overwirte sink yaml config by environment by @superrxan in #1479
- build(docker): change default image to alpine by @Rory-Z in #1481
Features
- feat(edgex): support default edgex docker compose permission setting by @ngjaying in #1461
- fea(plugin): add arm64 labelImage plugin by @superrxan in #1459
- fea(edgex): support edgex nats message bus by @superrxan in #1474
Docs
- doc(lookup): lookup table tutorial by @ngjaying in #1480
- fix(doc): typo for window filter by @ngjaying in #1472
- doc: schemas and uploads folder are moved from etc to data by @ngjaying in #1468
- fix(docs): update docs docker image by @superrxan in #1482
Full Changelog: 1.7.0...1.7.1
eKuiper 1.7.0 release
Overview
eKuiper 1.7.0 continue to improve the expressiveness of the rules by providing lookup table, updatable sink, more SQL syntax and functions. We also enrich the sources/sinks and adapt them to the new runtimes. Moreover, we improve the usability by refactoring the connection configure APIs to unify the configuration of source/sink and do connection testing when editing the configurations. We have made the etc folder readonly so that it is easier to deploy eKuiper by Kubernetes. At the same time, ruleset can import/export now and provision at startup to help migration of eKuiper instance. Please check the full change list below.
Features
SQL & Runtime
- Lookup table runtime and API by @ngjaying
- Updatable sink runtime by @ngjaying
- Support partition for analytic functions by @ngjaying in #1432
- Add latest function by @ngjaying in #1434
- SQL support wildcard with other selects by @ngjaying in #1436
Source/Sink
- Httppush source by @ngjaying in #1386
- Influx V2 sink by @elpsyr in #1396
- Add support for edgex source application/cbor format by @superrxan in #1397
- Add memory, redis and SQL lookup source by @ngjaying
- Make memory, redis and SQL sink updatable by @ngjaying
- Move redis sink to built-in by @ngjaying
Operation
- API to import and export stream/rule set by @ngjaying in #1438
- Provision ruleset at first startup by @ngjaying in #1439
- Support sink config by resource id by @superrxan in #1442
Improvements
- Move plugin meta data out of etc folder by @superrxan in #1392
- Make etc files readonly for API by @superrxan in #1427
- Graph API updates by @ngjaying in #1393
- Refactor portable plugin test by @ngjaying in #1408
- Refactor: move from io/ioutil to io and os packages by @Juneezee in #1412
- Refactor planner to run analytic functions at the beginning by @ngjaying in #1430
- Fix function/operator meta data by @superrxan in #1437
- Allow to use the same port for REST and prometheus by @ngjaying in #1448
Fixes
- Fix sink cache problems by @ngjaying in #1384
- Influx sink to check whether dataTemplate is an empty field by @elpsyr in #1394
- Fix sink image plugin config error by @superrxan in #1398
- Fix message map to avoid concurrent read/write by @ngjaying in #1407
- Fix show plugin fail in standard build tag by @ngjaying in #1453
- Do not recover rule that has error by @superrxan in #1454
Docs
- Edgex Source doc fix by @ngjaying in #1383
- Monitor with prometheus by @ngjaying in #1387
- Tutorial to use python plugin by @ngjaying in #1400
- Fix docs search by @Swilder-M in #1431
- Doc for lookup table and updatable sink by @ngjaying in #1428
- Add quick start for k8s tool by @ngjaying in #1444
- Fix and add example of environment variables by @MonicaisHer in #1447
- Add assets cdn by @Swilder-M in #1446
New Contributors
Full Changelog: 1.6.1...1.7.0
eKuiper 1.6.3 release
Overview
eKuiper 1.6.3 is a fixpack which contains one fix.
Fixes
- Fix possible concurrent map read/write crash problem for long running rule with alias
eKuiper 1.6.2 release
Overview
eKuiper 1.6.2 is a maintainance version that fixes several issues and add some properties to stabilize the product.
Most importantly, fix the concurrent read/write of message map to avoid crash. Secondly, avoid print warning log when native plugin not found in native manager. Lastly, update the docs for edgex/prometheus/python plugin use case
Fixes
- fix(doc): edgex source doc fix by @ngjaying in #1383
- Fix sink cache problems by @ngjaying in #1384
- doc(op): monitor with prometheus by @ngjaying in #1387
- fix(plugin): fix sink image plugin config error by @superrxan in #1398
- doc(plugin): tutorial to use python plugin by @ngjaying in #1400
- fix(sql): should not change message map to avoid concurrent read/write by @ngjaying in #1407
- test(portable): refactor portable plugin test by @ngjaying in #1408
- opt(buffer): Optimize dynamic buffer and add unit test by @ngjaying in #1416
- fix(portable): need to close process when deleting plugin by @ngjaying in #1414
- [fix(bug): Remove warnings in native plugin manager by @superrxan in https://github.com//pull/1418
Full Changelog: 1.6.1...1.6.2
eKuiper 1.6.1 release
Overview
eKuiper 1.6.1 is a maintainance version that fixes several issues and add some properties to stabilize the product.
Most importantly, fix the instability connection issue with neuron, now neuron do not need to start before eKuiper.
For eKuiper cannot run directly in old linux distribution(ubuntu-18.04 centos-7) because of glibc compatibility issue,
now build eKuiper using old glibc. For the prebuilt native plugins, now they can run in alpine docker images. For documents, provide
protobuf tutorial, upload management api and correct outdated message.
Fixes
- Fix connecting to NanoMQ issue and use MQTT 3.1.1(4) when connect to MQTT broker by default @ngjaying
- Fix the invalid sink conf @ngjaying
- Use async connection with neuron @ngjaying
- Avoid chunked encoding for rest response @superrxan
- Add lock to toMap @ngjaying
- Remove strict check for plugin download @superrxan
- Fix restart may fail because the previous detach has not done issue @ngjaying
- Cache the Symbols when eKuiper starts up and plugins register @superrxan
- Fix the prebuilt plugins can not run on official build eKuiper binary issue @superrxan
- Fix the official build eKuiper binary can not run on lower linux distribution issue @superrxan
Feature
- Add alpine base build image and build alpine prebuilt plugins with it
- Connection exception management
Docs
- Provide protobuf tutorial
- Provide upload management api document
- Correct broken address reference
- Update go version to 1.18 in readme.md
New Contributors
- @sixhj made their first contribution in #1350
- @guowei-gong made their first contribution in #1363
- @MonicaisHer made their first contribution in #1375
Full Changelog: 1.6.0...1.6.1
eKuiper 1.6.0 release
Overview
eKuiper 1.6.0 provides graph API as an alternative way to create rule in addition to SQL. It is friendly as the backend for a drag and drop UI and also more expressive then SQL. Beside this, we also highlight on enhancing SQL by adding more expressions and functions; on enhancing external connection by supporting protobuf format and enhancing various source/sink.
New Features
- Schema registry for protobuf by @ngjaying (#1271)
- Support protobuf as source/sink data format by @ngjaying (#1274)
- Config file upload REST api by @ngjaying (#1302)
- Support SQL in expression by @ngjaying (#1303)
- Rule graph API by @ngjaying (#1317)
- Lag function by @superrxan (#1321)
- SQL between expression by @ngjaying (#1327)
- SQL like expression by @ngjaying (#1327)
- SQL sink and TDEngine sink to support writing array data by @superrxan (#1331)
Improvements
- Helm chart: change ekuiper deployment type from stateful set to deployment by @brianbinbin (#1318)
- Rework sink cache and resend mechanism by @ngjaying (#1304)
- Time window align to nature time by @ngjaying (#1323)
- Unify rule status response to alwasy return JSON by @superrxan (#1335)
- Upgrade Go vesion to 1.18 by @ngjaying (#1337)
- Fix order by alias bug by @superrxan (#1299)
- Validate the native plugin in register time by @superrxan (#1301)
- EdgeX and MQTT source: do not exit the rule when disconnected by @superrxan (#1334)
Fixes
- Fix memory leak problem when starting rules multiple times by @ngjaying (#1309)
- Fix default array properties is null in the meta APIs by @superrxan (#1311)
- Filter must not apply on table before join align in planner by @ngjaying (#1316)
Docs
- Add Rule grap API description
- Add protobuf scheme upload description
- Add sink cache mechanism description
- Add SQL lag function description
- Add SQL IN/BETWEEN/LIKE clause description
Incompatible changes
During rework of sink cache mechanism, we delete some properties from etc/kuiper.yaml
and sink properties. Please update your rules which are dependant of these properties and try to migrate to the new properties.
Remove from etc/kuiper.yaml
: cacheThreshold, cacheTriggerCount, disableCache
Remove from sink properties: retryInterval, retryCount, cacheLength, cacheSaveInterval
New Contributors
- @brianbinbin made their first contribution in #1318
Full Changelog: 1.5.1...1.6.0
eKuiper 1.5.1 release
Overview
eKuiper 1.5.1 is a maintainance version that fixes several issues and add some properties to stabilize the product.
Most importantly, fix the instability connection issue with neuron. In order to reformat the output, add datatemplate
functionality for edgex and memory sink. For the mqtt connection, clear the session flag on server side. For documents, provide
documents for neuron integration and correct outdated message.
Fixes
- Fix connection lost prblem for neuron source when restarting the rule
- Fix the rule can not be deleted issue if the rule syntax become invalid because of funtion updated by plugins
- Let eKuiper home path in same place for dev docker images
- Fix CORS issue for authorization header in restful api
- Fix window_start() and window_end() can not use as parameters issue
Feature
- Add datatemplate support for edgex and memory sink
- Clear the mqtt session flag in server side when ekuiper have mqtt source or sink
Docs
- Provide a tutorial for neuron integration
eKuiper 1.5.0 release
Overview
eKuiper 1.5.0 enriches the functions and sources/sinks to extend the capability of computing and connecting. We also take a lot of efforts to improve the stability. Finally, we launch the community website https://ekuiper.org and host the brand-new doc there.
Breaking Changes
- Mqtt source
servers
property rename toserver
and allow only one server instead of an array. When starting docker image, usingdocker run -p 9081:9081 -d --name kuiper -e MQTT_SOURCE__DEFAULT__SERVER="tcp://broker.emqx.io:1883" lfedge/ekuiper:$tag
Features
- A series of functions to detect changes and deduplicate in a universal and flexible way. Checkout the examples.
- Build selective features to customize your eKuiper binary and to save disk and memory.
- Provide neuron source/sink to consume data from neuron and control neuron.
- Handle errors including panic in rule execution to avoid affecting other rules.
- Generic SQL pull source to pull data from various databases periodically.
- Generic SQL sink to write data to various databases.
- Data communication inside rules, shared sources or memory source/sink are now running in non-blocking mode to separate workloads between rules.
- Add function object_construct to grouping the select result.
- Separate context method to parse template and jsonpath so that sink plugins can leverage them for dynamic property parsing.
- Tdengine sink plugin to support sTable.
Fixes
- CLI query result now can show in multiple rows.
- Rule which does not specify option will have options like buffer size.
- Avoid message dropping in memory sink/source pair.
- Fix portable source plugin hang problem if receive timeout.
- Fix python plugin error is not shown for json dump error.
- Fix state mixing problem when invoking the same function multiple times in the same SQL clause.
Build
- Bring back Armv7 binary build
- Upgrade to go 1.17
- Sync doc to eKuiper.org
Docs
eKuiper 1.4.4 release
Overview
eKuiper 1.4.4 is a maintain version that fixes several issues.
Fixes
- Fix edgex source can not subscribe same topics for multiple rules when using share connection problem.
- Fix portable source plugin receive message hang problem .
- Fix tdengine plugin crash problem.
- Let eKuiper home path in same place for all docker images