Skip to content

Releases: lf-edge/ekuiper

eKuiper 1.2.1 version

25 Jun 05:49
Compare
Choose a tag to compare

Overview

eKuiper 1.2.1 supports EdgeX Ireland and adapts to EdgeX V2 API. This brings some breaking changes. Especially, the commonly used meta Device has now renamed to DeviceName, rules that refer to the meta must be updated with the new name. Additionally, EdgeX binary readings are now supported to read into eKuiper stream. And Kuiper byte data can also be sinked to EdgeX binary reading.

Since the project has joined LF Edge and renamed to eKuiper, we also update the documentations to adopt the new name.

Features

  • EdgeXSource and EdgeXSink support EdgeX V2 API
  • EdgeXSource and EdgeXSink support EdgeX binary readings

Fixes

  • Fix parse error for subtraction operator in some condition
  • Allow short-circuit for logical operation
  • Fix the join calculation problem when joined streams have multiple tuples
  • Fix sink meta API problem when a rule has multiple sinks
  • Build
    • Refactor plugins and tools to submodules
  • Error Message Fixes
    • Refine error messages for get rules API
    • Do not print nil error when closing rule normally
  • Documentation fixes
    • Rename Kuiper to eKuiper
    • Fix incorrect port in CLI/REST examples
    • Fix incorrect translation in the Chinese version windows doc

Thanks

  • @ccb1900 provides a fix for the documentation

Kuiper 1.2.1 beta.1 version

11 Jun 06:55
Compare
Choose a tag to compare
Pre-release

Overview

Kuiper 1.2.1 beta.1 added the support of binary reading and fix some problems of the support of Edgex v2 message. It is a pre-release for integration test.

Features & fixes

  • Support binary reading of Edgex v2 message
  • Update to the latest Edgex v2 modules

Kuiper 1.2.0 version

27 May 01:37
Compare
Choose a tag to compare

Overview

Kuiper 1.2.0 added external function to map existing REST, gRPC or msgpackrpc services into user defined functions by configuration. It is an easy to use extension method to complement plugin. It is more recommened than plugin extension for all scenarios except performance critical scenario. External function can be defined in a batch by a json file and one or multiple schema files (only support protobuf format now). It is possible to hot reload by CLI or REST API. Addionally, http options are supported in the proto schema to better define the REST services.

A new type of source table was added in this release. It works as a snapshot at the current time point for the source. Users can use it as a lookup dictionary or referenced state by joining it with a stream.

We also added a new SQL expression: case expression to evaluates a list of conditions and returns one of multiple possible result expressions. Several enhanements were also added to the built-in functions. And the wildcard is now supported as the parameter of user defined functions. Finally, we fixed several issues for both the product and document.

Features & fixes

  • Support external function to invoke exiting services in SQL by configuration only
    • Implement external function configuration parsing and execution of REST services, gRPC services and msgpackrpc services
    • Support protobuf as the schema type, support google http api options in the protobuf to better define the REST services
  • Support table type to represent the current state of the stream
    • Support table type, statements and management CLI/REST API
    • Add file source which is typically used as a static table
    • Allow to use existing source type as a continuous table
  • Support case expression
  • Support * as parameter of custom functions
  • Support string parameter for json functions
  • Allow bigint, float and string as the parameter of format_time function
  • Rename "reengine_field" to "kuiper_field" for non-specified fields
  • Build
    • Fix a permission problem when injecting configuration through mouted volumes by Docker
    • Add check for markdown directory
    • Add check for deb/rpm
    • Update tdengine version
  • Fixes
    • Avoid printing password in logs
    • Let meta fields ignore cases
    • Fix problems when joining without stream name in the field ref
    • Fix alias for same field names in multiple stream problem
    • Fix access subfolder failure problem in absolute mode
    • Fix stream describe problem for multi-level embedded structs
  • Documentation fixes
    • Fix some broken links
    • Fix several typos
    • Update json expression doc

Thanks

  • @jrtitus provides several fixes for the documentation
  • @tmactao provides a fix for the documentation

Kuiper 1.2.1 beta version

26 May 09:55
Compare
Choose a tag to compare
Pre-release

Overview

Kuiper 1.2.1 beta added the support of Edgex v2 message. It is a pre-release for integration test.

Features & fixes

  • Support Edgex v2 message

Kuiper 1.1.2 version

03 Mar 06:29
af7e6cf
Compare
Choose a tag to compare

Overview

Kuiper 1.1.2 added a sample plugin LabelImage to demonstrate the integration with machine learning framework TensorFlow Lite. Additionally, function plugin was enhanced to support defining multiple functions in one plugin to organize functions in category and reduce the complexity to create functions. To build the extended plugins, the build tag --trimpath is now required in order to improve the compatibility. We also support more built in functions like geohash related functions and cardinality , support more expressions like negative array index and support more rule properties like sendError. Finally, we fix several issues for both the product and document.

Features & fixes

  • Integration with TensorFlowLite
  • Plugin enhancements
    • Support multiple functions in one function plugin
    • Support to get Kuiper root path in context ctx.GetRootPath()
    • Refactor image functions to one plugin
    • Add GeoHash plugin to support several geo hash functions
  • Build
    • Add --trimpath build option for kuiperd build. Since this release, this property is required to build extended plugins
    • Run process/container as kuiper user to avoid security risk
  • Support negative array index such as array[:-1]
  • Add built in function cardinality(array) to get the length of array
  • Add rule property sendError to specify if runtime errors will send to the sink
  • Fixes
    • Fix stop rule memory clean up problem
    • Restore httpPull dataSource support
    • Fixed describe stream issue for bytea type
    • Fixed arbitrary session window error at the first input
    • Remove unused empty folders inside data
  • Documentation fixes
    • Fix several links
    • Fix an index error for built-in functions doc

Thanks

  • @beaufrusetta provides a fix to run process/container as kuiper user
  • @noahlaux provides a fix for the documentation

Kuiper 1.1.1 version

12 Jan 01:07
baa7774
Compare
Choose a tag to compare

Overview

Kuiper 1.1.1 is a minor version that fixes an EdgeX ZeroMQ issue.

Features & fixes

Kuiper 1.1.0 version

06 Jan 08:53
Compare
Choose a tag to compare

Overview

Kuiper 1.1.0 add an image processing plugin, and support to process image in rule engine; Also optimized the SQL execution plan. This version also fixed several document issues.

Features & fixes

  • Binary data type support
  • Support streams & rules update in kubernetes-tools
  • SQL plan optimization:
    • Enhance PushDownPredicate for join on condition, if the condition is related to one source only for inner join, it will be executed earlier.
    • Add ColumnPruning rule, all unused columns or metas will be dropped in preprocessor to reduce memory usage
  • Removed shared-subcription configuration for MQTT source. We suggest to use the MQTT topic for shared subscription directly in MQTT source.
  • Documents
    • Fixed several 404 document issues.
    • Fixed several docs and translation.

Kuiper 1.0.2 Released

18 Dec 07:31
Compare
Choose a tag to compare

Overview

Kuiper 1.0.2 optimized the SQL execution plan and runtime, it greatly improves performance for some scenarios. Also Kuiper support the binary type in this release, and it can be used for processing binary streams, such as image.

Features & fixes

  • SQL plan optimization
    • Optimized the SQL plan, add PushDownPredicate support and it can filter some records in advance according to the condition specified in WHERE clause. It can reduce memory usage for long time window processing.
    • More optimization will be introduced in future releases.
  • Binary data type support
    • Now the binary data type is supported, and user can process binary streams, such as processing images.
    • An image sink plugin for saving images files into local disks.
  • Change streams & rules storage from file to SQLite.
  • Ping API support, which is used for Kuiper service alive detection.
  • Fixed one memory leak problem - some of memory is not released when the rule is deleted.
  • No way to limit client and REST APIs to localhost
  • File logging error message when server fileLog=false
  • Added a retry count for all sinks
  • Logrotate support for log files - rotate time is 24 hrs, and max age is 3 days
  • Added several SQL validation during compilation stage
  • Enhanced document compilation.
    • Fixed several document problem.
    • Fixed several issues for httppull source
    • Fixed issue when loading array types in management-ui

Kuiper 1.0.1 Released

14 Nov 07:08
4f87759
Compare
Choose a tag to compare

Overview

Kuiper 1.0.1 fixed several problems and enhanced Kuiper manager.

Features & fixes

Kuiper 1.0.0 Released

22 Oct 07:33
Compare
Choose a tag to compare

Overview

Kuiper 1.0.0 is the 1st major stable version. This version is fully integrated with other EMQ softwares for edge, including Neuron, Edge and edge manager. Readers can refer to edge-stack project for how to use EMQ softwares for edge.

Features & fixes

  • A break change! If any program or scripts that references to Kuiper binary file name bin/server & bin/cli, you'll have to update correspondingly as in below.
    • Renamed bin/server to bin/kuiperd
    • Renamed bin/cli to bin/kuiper
  • EdgeX enhancements & fixes
    • Gives error when configured to use redisstreams for EdgeX MessageBus
    • Updated EdgeX docker-compose file, and upgrade to Kuiper 0.9.1 version
    • Go 15 upgrading
    • Message bus SDK upgrading
    • EdgeX Kuiper document & tutorial update
    • Containerized Kuiper fails when started with read-only file system
  • Updated the documents
    • Kuiper docker images usage document.
    • Wrote and translated the document for using Kuiper manager console.
  • Enhanced the TDengine plugins
  • Allowed user to pass parameters for plugin setup scripts, which make the plugins setup more flexible.
  • Returns i18N message with rest services.
  • Fixed below issues

Thanks

  • @TateDeng provides fix for DynamicChannelBuffer setting