Eventum Logo

Eventum

๐ŸŽ‰ 2.0.0

Eventum 2.0 release notes โ€” a complete rewrite with new plugins, a web UI, batch processing, and structured logging.

Released February 20, 2026 ๐ŸŽ‰

Eventum 2.0 is a complete rewrite from the ground up! New plugin-based architecture, batch processing, a built-in web UI, and much more. This is a major release โ€” configurations from 1.x will need to be updated.

๐Ÿš€ New features

Input plugins

  • http input plugin โ€” trigger event generation from external systems via HTTP requests.
  • Live & sample modes for all input plugins โ€” run in real-time or generate as fast as possible.
  • Human-readable dates โ€” write "January 1, 2025", "+1h", or "now" instead of strict ISO formats.
  • Multiple input merging โ€” combine several input plugins in one generator, timestamps are merged automatically in chronological order.

Event plugins

  • script plugin โ€” write event logic as a Python function when templates aren't enough.
  • replay plugin โ€” replay events from existing log files with optional timestamp replacement.

Template plugin enhancements

  • Faker & Mimesis โ€” two powerful data generation libraries available directly in templates (70+ locales, hundreds of data providers).
  • module gateway โ€” access any installed Python package in templates via module.<package>.
  • Global state โ€” new globals scope for sharing state across all generators (thread-safe).
  • New state methods โ€” update, clear, and as_dict for all state scopes.
  • New picking modes โ€” fsm (finite state machine) and chain (fixed sequence).
  • New sample types โ€” json and items (inline lists in YAML).
  • Timezone-aware timestamps โ€” timestamp is now a proper datetime object, not a string.
  • Better subprocesses โ€” new cwd, env, and timeout options.

Output plugins

  • clickhouse plugin โ€” write events directly to ClickHouse.
  • http plugin โ€” send events to any HTTP endpoint.
  • Formatters โ€” transform events before delivery with plain, json, json-batch, template, or template-batch.

Existing output plugin improvements

  • File โ€” new flush_interval, cleanup_interval, file_mode, write_mode, encoding, and separator options.
  • Stdout โ€” new flush_interval, stream, encoding, and separator options.
  • OpenSearch โ€” new connect_timeout, request_timeout, client_cert, client_cert_key, and proxy_url options.

โšก Performance

Batch processing across the entire pipeline โ€” events are grouped into configurable batches between stages, dramatically reducing overhead and improving throughput compared to 1.x.


๐Ÿงช Testing

Expanded test coverage for all plugins, the core executor, configuration loading, and the CLI.


๐Ÿ—๏ธ Architecture

The entire project has been rebuilt from scratch:

  • Plugin system โ€” self-registering plugins with a consistent structure.
  • Async pipeline โ€” uvloop event loop with janus queues for efficient stage-to-stage communication.
  • Configuration โ€” Pydantic-based validation with ${params.*} and ${secrets.*} variable substitution.
  • CLI โ€” rebuilt with Click, options auto-generated from config models.
  • REST API โ€” new FastAPI-based API for programmatic control.
  • Eventum Studio โ€” brand-new React web UI for visual editing, debugging, and monitoring.

๐Ÿ“ Other changes

  • ๐Ÿ”„ sample input plugin renamed to static.
  • ๐Ÿ”„ jinja event plugin renamed to template.
  • ๐Ÿ“‹ Structured logging via structlog โ€” supports plain-text and JSON output.
  • ๐Ÿ›ก๏ธ Better error diagnostics โ€” exceptions now carry structured context for easier troubleshooting.

On this page