Skip to content

Releases: lf-edge/ekuiper

v2.4.0-beta.3

02 Feb 09:37
5dee73c

Choose a tag to compare

v2.4.0-beta.3 Pre-release
Pre-release

What's Changed

Full Changelog: v2.4.0-beta.2...v2.4.0-beta.3

v2.4.0-beta.2

30 Jan 03:00

Choose a tag to compare

v2.4.0-beta.2 Pre-release
Pre-release

What's Changed

Full Changelog: v2.4.0-beta.1...v2.4.0-beta.2

v2.4.0-beta.1

28 Jan 03:41
4d25307

Choose a tag to compare

v2.4.0-beta.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.4.0-alpha.3...v2.4.0-beta.1

v2.4.0-alpha.3

20 Jan 02:59
ca783a1

Choose a tag to compare

v2.4.0-alpha.3 Pre-release
Pre-release

Features

Video Source Refactoring

Refactored the video source to use a push model, improving efficiency and performance (#3959).

Sink Enhancements

Added HasFields support to sinks, enabling more flexible field validation (#3964).

Server Improvements

Implemented version-based conflict resolution for concurrent upserts (#3970).


Bug Fixes

  • Fixed function channel timeout issues in Go SDK (#3965)
  • Fixed function channel timeout issues in Python SDK (#3967)

Full Changelog: v2.4.0-alpha.2...v2.4.0-alpha.3

v2.4.0-alpha.2

17 Dec 07:08
5619323

Choose a tag to compare

v2.4.0-alpha.2 Pre-release
Pre-release

⚠️ Breaking Changes

IMPORTANT: This release includes security enhancements that may affect existing deployments.

  1. SSRF Protection Enabled by Default

    • The new enablePrivateNet configuration defaults to false, which blocks access to private network addresses (e.g., localhost, 127.0.0.1, internal IPs).
    • Action Required: If your rules rely on accessing local resources (local REST services, local databases, etc.), you must set enablePrivateNet: true in etc/kuiper.yaml.
    • Documentation
  2. File Access Restriction Enabled by Default

    • The new allowExternalFileAccess configuration defaults to false, restricting file access to the data/uploads directory only.
    • Action Required: If your plugins or schemas need to access files outside the uploads directory, set allowExternalFileAccess: true.
    • Documentation

New Features

Temporary Streams (#3940)

Introduced temporary streams that exist only in memory and are not persisted. They are defined using TEMP="true" in the stream definition and are ideal for intermediate data processing or testing. Temporary streams cannot be replaced and can only be used by temporary rules.

State Window Partition By (#3936)

State windows now support the PARTITION BY clause, enabling data partitioning into separate window groups. This allows more granular state tracking across different partitions.

Tuple Sink Format Support (#3954)

Tuple-based sinks now support configurable output formats, providing more flexibility in data serialization.

Video Source Enhancements (#3955)

Added new properties to the video source for better ffmpeg control:

  • debugResp: Output ffmpeg response to logs for debugging
  • inputArgs: Custom input arguments for ffmpeg (e.g., rtsp_transport: tcp)
  • Documentation

Global Configuration Provider (#3942)

Added a global configuration provider that allows portable plugins and external components to access eKuiper's configuration settings programmatically.

API ID Validation (#3951)

Added comprehensive validation for resource identifiers. Stream, table, rule, connection, plugin, schema, and service names are now validated to prevent invalid characters.


Security Enhancements

SSRF Protection

Implemented Server-Side Request Forgery (SSRF) protection across all HTTP clients. Private network access is blocked by default.

File Access Restriction (#3950)

Added configurable file access restrictions to prevent unauthorized file system access.

Path Traversal Prevention

  • Fixed upload embedded path traversal (#3958)
  • Fixed path traversal in file downloads
  • Enforced safe path validation for user input (#3911)
  • Safe unzip implementation (#3931)

Bug Fixes

  • Fixed HTTP refresh token support (#3922)
  • Fixed REST sink access token handling
  • Fixed SQL lookup unsafe string (#3930)
  • Fixed wildcard expander limit in slice mode (#3925)
  • Fixed bool type conversion issues (#3917, #3918)
  • Fixed state window with GROUP BY key (#3916)

Dependency Updates

  • Upgraded Go version
  • Upgraded FoundationDB client to 7.3 (#3938)
  • Bumped logrus, paho.mqtt.golang, golang.org/x/crypto, jose2go, gorilla/schema

Full Changelog: v2.4.0-alpha.1...v2.4.0-alpha.2

v2.3.1

21 Nov 07:57

Choose a tag to compare

What's Changed

Full Changelog: v2.3.0...v2.3.1

v2.4.0-alpha.1

31 Oct 08:40
97203bb

Choose a tag to compare

v2.4.0-alpha.1 Pre-release
Pre-release

What's Changed

New Contributors

Full Changelog: v2.3.0...v2.4.0-alpha.1

v2.3.0

24 Oct 02:34
bda2bbc

Choose a tag to compare

SQL & Functions

  • New extract Function: Added the extract function to easily retrieve data from nested structures. [Docs]
  • Single Conditional State Window: Introduced the single condition state window for advanced, event-driven windowing logic. [Docs]
  • Enhanced round Function: The round function now supports specifying the number of decimal places. [Docs]
  • Aggregate Function Access in WHERE Clause: Now supports accessing aggregate functions within the WHERE clause. (e.g., SELECT * FROM sim5 WHERE a > avg(a) GROUP BY countwindow(2)).
  • Multiple Stream/Table JOIN Support: Enabled joining data from multiple streams and tables.
  • Slice Mode Updates: Implemented updates and improvements to Slice mode functionality.Added validation to detect and prevent operations in unsupported scenarios.

I/O & Sources/Sinks

  • HTTP Pull Source State: HTTP Pull Source now supports state management similar to SQL Source.
  • Streaming JSON for Sinks: Sinks now support streaming writes for JSON format output.
  • Kafka Sink Dynamic Topic: Added support for dynamic topic configuration in Kafka Sink.
  • SQL Source Support: Added support for the PostgreSQL int4 data type in SQL Source.
  • MQTT Source Multiple Topics: MQTT Source now supports subscribing to multiple topics using a comma-separated list (e.g., datasource="topic1,topic2"). [Docs]
  • WebSocket Scheme Configuration: WebSocket Source/Sink now supports scheme configuration (e.g., ws:// or wss://). [Docs]
  • New Source: Added the Nexmark Source for benchmarking and testing.
  • TFLite Plugin: Updated the TensorFlow version for the TFLite plugin.
  • MQTT Source Session: Fixed issues related to MQTT source session configuration.
  • WebSocket Client: Resolved issues in WebSocket client mode.

Operation & Management (Op)

  • Stream Enhancement: Stream definition supports VERSION and quick configuration options. [Docs]
  • Preserved Rule Definition: Starting or stopping a rule no longer overwrites the original rule string definition.
  • Plugin Configuration Location: Plugin configurations are now installed by default under the data directory.
  • Pre-defined Rules Location: Pre-defined rules can now be configured under the etc directory.
  • New API for Rule Schema: Introduced GET /rules/{id}/schema to retrieve a rule's output schema. [Docs]
  • Schema Support: Schema now supports versioning. [Docs]
  • Temporary Rules: Added support for temporary rules (temp=true) which are not persisted and disappear after an eKuiper restart.
  • REST API Audit Log: Added an option to enable/disable REST API audit logs.
  • pprof Integration: Support for configuring pprof on the same port as the REST service.
  • Rule Restart Policy Update (Deprecation): Automatic rule restart is now handled by the timed global patrol mechanism. The legacy restartStrategy configuration is deprecated and no longer takes effect.
  • Performance: Improved performance for reading source configurations.
  • Support for EoF (End of File) Message.
  • Service Shutdown Logic: Updated service shutdown logic to first close the REST service, preventing new requests while the service is stopping.

Build & Internal Refactoring

  • Helm Chart Added: Officially released the Helm chart for eKuiper deployment. [Link]
  • Shared Stream Refactoring: Major refactoring of the creation, startup, and stop logic for rules using shared streams. This resolves issues related to slow rule stopping and related start/stop anomalies.
  • Schema Management Refactoring: Refactored schema management to support the registration of new schema types.

Full Change List

Read more

v2.3.0-beta.7

21 Oct 09:40
788f5b3

Choose a tag to compare

v2.3.0-beta.7 Pre-release
Pre-release

What's Changed

Full Changelog: v2.3.0-beta.6...v2.3.0-beta.7

v2.3.0-beta.6

16 Oct 06:25
722d5a0

Choose a tag to compare

v2.3.0-beta.6 Pre-release
Pre-release

What's Changed

Full Changelog: v2.3.0-beta.5...v2.3.0-beta.6