Skip to content

v2.3.0

Latest

Choose a tag to compare

@ngjaying ngjaying released this 24 Oct 02:34
· 9 commits to master since this release
bda2bbc

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

New Contributors

Full Changelog: v2.2.0...v2.3.0