Skip to content

Releases

eKuiper Manager v1.4.0

Choose a tag to compare

@github-actions github-actions released this 04 Nov 13:05
910cdae

Added

  • Flow Studio (Beta): End-to-end visual DAG flow editor (/flows and /flows/[id]) powered by @xyflow/react, with 17 built-in source/transform/sink node definitions, declarative extension node support (@ekuiper-manager/flow-sdk), Flow-to-eKuiper IR/SQL/JSON compilation, preflight capability and connection-health validation, one-click deploy/undeploy/delete, automatic revision snapshots (flow_revisions), semantic diff and rollback-to-revision, 1 Hz runtime operator metrics, command palette (Ctrl+K), focus mode, and Monaco expression editing.
  • Bilingual Manager UI (en-US & zh-CN): Full English and Simplified Chinese localization across all Manager pages, Flow Studio, Rule Designer (including built-in and node-provided connector/sink metadata labels and hints), and diagnostic rule-status formatting (formatRuleStatus), with persistent locale switching.
  • Interactive Inspector & Connector Pickers: Searchable comboboxes for option-backed properties, unified connection-registry (confKey) pickers for MQTT sources, connector pickers for stream/table reference nodes, and join reference pickers.
  • Static i18n & Placeholder Verification (npm run check:i18n): AST-based catalog parity, interpolation variable, and empty-JSX expression checks enforced in both Linux and Windows CI jobs.
  • Automated Docker Hub Publishing & Release Pipeline: Added .github/workflows/release.yml, .github/workflows/docker.yml, and deploy/docker/README.md to automatically publish indusstack/ekuipermanager images and sync the Docker Hub README on tag releases.

Changed

  • Replaced legacy third-party API docs bundles with a clean Swagger UI page for the audited eKuiper 2.4.1 OpenAPI reference.
  • Consolidated Dependabot configuration and upgraded Next.js (16.4.2), React (19.3.1), and GitHub Actions dependencies.

Security

  • Added dependency overrides (source-map-js >=1.2.2) and resolved all reported npm audit and CodeQL advisories.

Docker Image

docker pull indusstack/ekuipermanager:1.4.0
docker pull indusstack/ekuipermanager:latest

What's Changed

  • Restore README convention and purge teardown docs by @ankur-paan in #48
  • Purge proprietary teardown documentation by @ankur-paan in #49
  • chore(ci): resolve high/moderate dependency advisories by @ankur-paan in #51
  • FS-0001: Add in-repo Flow Studio architecture guardrail document by @ankur-paan in #50
  • FS-0002: Create v1alpha1 Flow Document TypeScript types by @ankur-paan in #52
  • FS-0003: Add Flow Diagnostic types and stable code constants by @ankur-paan in #53
  • FS-0004: Add canonical JSON serializer for Flow hashing by @ankur-paan in #54
  • FS-0005: Add separate semantic and layout hash helpers by @ankur-paan in #55
  • FS-0006: Add Flow Document fixture builders for tests by @ankur-paan in #56
  • FS-0007: Add basic Flow Document shape guard by @ankur-paan in #57
  • FS-0008: Add deterministic Flow Document normalization by @ankur-paan in #58
  • FS-0009: Add duplicate and missing-endpoint structural validation by @ankur-paan in #59
  • FS-0010: Add DAG cycle detection validation by @ankur-paan in #60
  • FS-0011: Create internal Node Definition types by @ankur-paan in #62
  • FS-0012: Implement Node Registry core by @ankur-paan in #63
  • FS-0013: Add port compatibility helper by @ankur-paan in #64
  • FS-0014: Add registry-aware unknown node type validation by @ankur-paan in #65
  • FS-0015: Add registry-aware edge port existence validation by @ankur-paan in #66
  • FS-0016: Add port kind compatibility validation by @ankur-paan in #67
  • FS-0017: Add required property validation by @ankur-paan in #68
  • FS-0018: Add source/sink presence validation from registry categories by @ankur-paan in #69
  • FS-0019: Create Flow IR types by @ankur-paan in #70
  • FS-0020: Create minimal registry-driven Flow-to-IR builder by @ankur-paan in #71
  • FS-0021: Add flows table migration by @ankur-paan in #72
  • FS-0022: Add flow_drafts table migration by @ankur-paan in #73
  • FS-0023: Create Flow persistence row/domain mapping types by @ankur-paan in #74
  • FS-0024: Implement flow repository list/create/get by @ankur-paan in #75
  • FS-0025: Implement flow metadata update repository method by @ankur-paan in #76
  • FS-0026: Implement flow draft repository get/upsert by @ankur-paan in #77
  • FS-0027: Add authenticated GET/POST /api/flows by @ankur-paan in #78
  • FS-0028: Add authenticated GET/PATCH /api/flows/:id by @ankur-paan in #79
  • FS-0029: Add GET/PUT /api/flows/:id/draft by @ankur-paan in #80
  • FS-0030: Add flow mutation audit events by @ankur-paan in #81
  • FS-0031: Install and pin @xyflow/react by @ankur-paan in #82
  • FS-0032: Create Flow Editor Zustand store skeleton by @ankur-paan in #83
  • FS-0033: Create Flow Studio shell component by @ankur-paan in #84
  • FS-0034: Create Flow Studio header presentational component by @ankur-paan in #85
  • FS-0035: Create palette and inspector placeholder panels by @ankur-paan in #86
  • FS-0036: Create React Flow canvas base by @ankur-paan in #87
  • FS-0037: Add Flow Document -> XYFlow view adapter by @ankur-paan in #88
  • FS-0038: Create basic Flow node chrome by @ankur-paan in #89
  • FS-0039: Create client page for a single Flow Studio draft by @ankur-paan in #90
  • FS-0040: Bind loaded Flow draft to editor store and canvas by @ankur-paan in #91
  • FS-0041: Add layout-only node move action to editor store by @ankur-paan in #92
  • FS-0042: Commit canvas drag position only on drag stop by @ankur-paan in #93
  • FS-0043: Add semantic node config update action by @ankur-paan in #94
  • FS-0044: Add semantic edge add/remove actions by @ankur-paan in #95
  • FS-0045: Add selected node/edge synchronization with XYFlow by @ankur-paan in #96
  • FS-0046: Add draft semantic/layout dirty-state calculation by @ankur-paan in #97
  • chore(test): discover .test.tsx files in jest testMatch by @ankur-paan in #98
  • FS-0047: Add debounced draft autosave hook by @ankur-paan in #99
  • FS-0048: Show Saved/Saving/Unsaved/Error state in header by @ankur-paan in #100
  • FS-0049: Add bounded editor undo/redo command history by @ankur-paan in #101
  • FS-0050: Add keyboard undo/redo and delete selected elements by @ankur-paan in #102
  • FS-0051: Create built-in Node Registry factory by @ankur-paan in #103
  • FS-0052: Add Memory Source and Memory Sink definitions by @ankur-paan in #104
  • FS-0053: Add MQTT Source and MQTT Sink definitions by @ankur-paan in #105
  • FS-0054: Add REST/HTTP Sink and Log Sink definitions by @ankur-paan in #106
  • FS-0055: Add Filter and Pick transform definitions by @ankur-paan in #107
  • FS-0056: Add Function/Script transform definition by @ankur-paan in #108
  • FS-0057: Add Window definition by @ankur-paan in #109
  • FS-0058: Add Aggregate and Group By definitions by @ankur-paan in #110
  • FS-0059: Add Switch and Sort definitions by ...
Read more

eKuiper Manager v1.3.0

Choose a tag to compare

@ankur-paan ankur-paan released this 18 Aug 21:17
dfc3849

Highlights

  • Replaces the page-aware chatbot with a permission-aware, read-only operations agent.
  • Correlates sanitized Manager/PostgreSQL data with selected-node eKuiper state through parallel and iterative tool calls.
  • Adds an investigation timeline so users can see what the agent inspected for each answer.
  • Updates the README, deployment configuration, provider compatibility checks, and test coverage.

Security boundary

  • No arbitrary SQL, URLs, shell execution, write methods, or mutation tools.
  • Owner-only access for user, session, audit, and migration readers.
  • Explicit eKuiper GET allowlist, recursive secret redaction, and hard execution budgets.

Validation

  • All 60 unit tests pass with coverage above the configured thresholds.
  • CI, CodeQL, production build, Docker build, and the official eKuiper integration stack pass.
  • npm audit reports zero vulnerabilities for the released dependency tree.

Upgrade

Back up your deployment, pull the release, then run docker compose up -d --build.

Rollback target: v1.2.1.

eKuiper Manager v1.2.1

Choose a tag to compare

@ankur-paan ankur-paan released this 18 Aug 19:56

eKuiper Manager v1.2.1 turns the experimental application into an installable, self-hosted eKuiper operator stack.

Highlights

  • Start Manager, official eKuiper 2.4.1, and a private PostgreSQL sidecar with one Docker Compose command.
  • Use the context-aware operator assistant from every authenticated page, including the rule designer. Provider credentials stay server-side; page context is bounded and redacted; replies render safe Markdown and include clickable follow-up questions.
  • Design rules visually, inspect generated SQL/JSON, validate, create stopped, and duplicate safely.
  • Bootstrap an owner and manage the basic local user lifecycle: sign-in/out, add, reset, forced password change, and delete.
  • Register, probe, select, and remove eKuiper nodes through a server-owned encrypted registry.
  • Operate the audited eKuiper 2.4.1 contract across streams, tables, rules, connections, schemas, uploads, plugins, functions, services, metadata, and import/export.
  • Browse the refreshed 98-path/140-operation Swagger contract on GitHub Pages.

Security and reliability

  • Same-origin mutations, hashed sessions, scrypt passwords, encrypted node authorization, recursive response redaction, registered-target proxying, DNS/IP validation, redirect rejection, rate limits, audit events, and bounded request/response bodies.
  • Non-root read-only Manager container with dropped capabilities and pinned production images.
  • Checked PostgreSQL migrations, durable named volumes, health checks, restart persistence verification, 57 unit tests, eight local desktop/mobile journeys, clean-container CI, CodeQL, and zero npm audit findings.

Upgrade note

This release replaces the former experimental browser/SQLite/Prisma/EMQX/Supabase paths. Back up first. Compose deliberately ignores legacy DATABASE_URL=file:...; use the bundled PostgreSQL sidecar or explicitly set MANAGER_DATABASE_URL.

The optional assistant is off by default. See docs/AI_ASSISTANT.md for provider configuration and its data boundary.

v1.2.0: AI Assistant & Query Designer Beta

Choose a tag to compare

@ankur-paan ankur-paan released this 26 Jan 14:12
6655baa

AI-powered rule engine management with visual query designer and Swagger documentation.

What's Changed

  • chore(release): v1.1.0 - AI Assistant & Security Hardening by @ankur-paan in #29
  • docs: restore IDACS branding and roadmap, update for v1.1.0 by @ankur-paan in #30
  • v1.2.0 Release Preparation by @ankur-paan in #42

Full Changelog: V0.3...v1.2.0

V0.3

Choose a tag to compare

@ankur-paan ankur-paan released this 19 Jan 10:48
1d4c251

🚀 Release Notes: AI Assistant & Security Hardening

🌟 Highlights

This release introduces a powerful AI Assistant integrated directly into the eKuiper Manager, powered by OpenRouter. It also brings persistent Server Management using SQLite/Prisma and includes significant Security Hardening based on CodeQL analysis.

✨ New Features

🤖 AI-Powered Assistant

  • Master Chat Interface: New conversational agent to help manage and debug eKuiper instances.
  • Intelligent Generators:
    • Rule Generator: Describe rules in plain English and get ready-to-use JSON/SQL.
    • Stream Generator: Automatically generate stream definitions from data descriptions.
  • Deep Analysis Tools:
    • Rule Analysis: Get performance insights and optimization tips for existing rules.
    • Explain Plan: Visual and textual explanation of rule execution plans.
    • Log Capture & Analysis: Smart log capturing with AI-driven debugging suggestions.

🖥️ Server Management

  • Multi-Server Support: Manage connections to multiple eKuiper instances.
  • Persistent Storage: Server configurations are now saved locally using SQLite & Prisma.
  • Connection Status: Real-time health monitoring of connected servers.

🛡️ Security Improvements

  • Resource Exhaustion Protection: Implemented strict allowlists for duration-based operations to prevent DoS attacks (fixing CWE-400).
  • Safe Logging: Replaced template literals with safe format specifiers to prevent log injection (fixing CWE-134).
  • CI/CD Security: Added CodeQL analysis and improved build pipeline security.

⚡ Enhancements

  • Dashboard:
    • Redesigned metrics section with real-time updates.
    • Improved layout for better data density.
  • Rules Management:
    • Enhanced Topology view for complex rule pipelines.
    • Better status indicators and error reporting.
    • Streamlined "New Rule" workflow.
  • Developer Experience:
    • Prisma Integration: Robust ORM for local data management.
    • Clean Build: Optimized build process with proper artifact cleanup.

🐛 Bug Fixes

  • Fixed hydration errors in Next.js 15.
  • Resolved build failures related to Prisma client generation in CI.
  • Fixed tracing runtime errors in rule status monitoring.

🔧 Upgrade Notes

  • Prisma Setup: This release utilizes Prisma with SQLite. The CI pipeline has been updated to run prisma generate automatically.
  • Env Vars: New optional environment variables for security configuration:
    • EKUIPER_ALLOWED_HOSTS: Comma-separated list of allowed eKuiper hosts.
    • EKUIPER_ALLOW_PRIVATE_NETWORKS: Set to true to allow connections to private IP ranges.

Full Changelog: V0.2...V0.3

V0.2-beta, playground with manager

Choose a tag to compare

@ankur-paan ankur-paan released this 16 Jan 23:39
c2c0e62

What's Changed

  • Update repository URL in README by @ankur-paan in #14
  • Compliance Polish: Fix linting errors, build issues, and standard compliance issue by @ankur-paan in #16
  • fix: resolve TypeError in getSpanIcon and improve tracing page robustness by @ankur-paan in #19
  • docs: update README with functional Rule Tracing, Topology, and Explain by @ankur-paan in #21
  • ci: add Codecov coverage upload to CI workflow by @ankur-paan in #22
  • Fix/tracing runtime error by @ankur-paan in #24
  • Fix/tracing runtime error by @ankur-paan in #25
  • chore: bump eslint-config-next to 16.1.2 and @types/node to 25.0.9 by @ankur-paan in #26
  • Enhanced security by @ankur-paan in #27

New Contributors

Full Changelog: v0.1-beta...V0.2

Beta 0.1 - eKuiper Manager

Pre-release

Choose a tag to compare

@ankur-paan ankur-paan released this 15 Jan 21:21

🚀 eKuiper Manager Beta 0.1

The first open-source web UI and manager for LF Edge eKuiper!

✅ Complete Features

  • Swagger API Playground - Full interactive API documentation with 70+ endpoints

🔶 Partially Complete

  • Dashboard Overview (70%) - System monitoring
  • Rule Management (60%) - List, start, stop rules
  • eKuiper Health Check (80%) - Ping and system info

🚧 Under Development

  • Visual Pipeline Builder
  • Monaco SQL Editor
  • MQTT Message Simulator

Developed by IDACS Business Administration Private Limited