Skip to content

v2.0.0

Compare
Choose a tag to compare
@ngjaying ngjaying released this 25 Oct 13:04
· 85 commits to master since this release
9463f7d

IO(Source/Sink)

  • Connection management https://ekuiper.org/docs/en/latest/guide/connections/overview.html

    • Connection pool framework (gradually adapt existing connections)
      • Connection become a physical instance instead of a rule logical configuration, it will run from the start and refered by multiple rules
      • Standalone connection status
      • Auto reconnect
    • Adapt mqtt, sql, nng(neuron), edgex, websocket, httppush
    • APIs to manage connection instances
    • Connection status metrics
  • Source/sink operators split source split/sink split

    • Finer-grained runtime metrics can be supported to understand the status and latency of each sub-task.
    • Parallel computation of sub-tasks can be implemented, improving the overall efficiency of rule execution.
  • Source down sampling support doc

  • Formats

    • Delimited format support header
    • Add urlencoded format (usually use in HTTP form request, extract from REST sink)
  • Multi-level decode (format and payloadFormat)

  • File sink supports enctryption (AES now)

  • REST sink supports full format like delimited(csv), also add validation for mapping of format and bodyType

SQL/Streaming runtime

  • General ONNX function plugin, run ONNX model inference without coding doc
  • Support stream EOF so that we can run a rule in batch mode
    • File/simulator source stops after read all and no loop/interval is set
    • MQTT stream allows to stop by sending EOF message
  • Rule gracefully exit: wait until all operators close
  • New function: object_size
  • Support window function doc
  • Datetime format, support multiple S in format layout

Operation

  • Tracing support doc
    • REST API tracing
    • Query rule trace API
    • Tracing data from/to Neuron
    • Local trace
    • Tracing collector
  • Rule state cleanup
    • View rule metrics after close
    • Avoid malform state
  • New rule metrics: all metrics now
    • connection related metrics for source/sink
  • CPU usage metric
  • API updates
    • Import
      • Asnc API
      • Supports YAML content
    • Meta list return plugin type info
    • List streams API show format and type
    • Drop dependency validation
      • stream
      • plugin
  • Store conf in KV by default
  • Conf: use time.Duration for intervals

Extension

  • Native plugin develop
    • Update extention spec, users need to rewrite plugins
    • Do not need to depend on eKuiper project any more
  • Portable plugin
    • Support sink ack so that it can leverage sink cache doc
    • Start as long running instance
    • Plugin status API, reference count
    • Remove recv size limit (won’t fail when communication payload is bigger than 1MB)
  • Support REST external service retry

Test & Build

  • Upgrade to go 1.23
  • Build: add docker alpine-python image
  • UT coverage 71%
  • Security
    • Fix integer truncate problem
    • SQL prepare to avoid injection
    • Escape html response

What's Changed

New Contributors

Full Changelog: 1.13.0...v2.0.0