Skip to content

Eventum 2.6.0

Latest

Choose a tag to compare

@rnv812 rnv812 released this 11 Jun 17:47
· 18 commits to master since this release
bf0e452

Released June 11, 2026

🚀 New features

  • MCP server — connect an AI agent (Claude Code, Cursor, Codex, and others) to Eventum and have it build, validate, preview, and run generators from a plain-language description. Runs over stdio for local authoring and as an HTTP service on a running server for live generator management behind authentication. The agent checks every step against Eventum itself, so the result is a working generator, not a guess — see how it works and the tool reference
  • samples.<name>.where(**conditions) — filter sample rows by several equality conditions in one call, replacing verbose selectattr chains; the result supports further where and pick calls
  • pick(default=...) and weighted_pick(weight, default=...) — return a fallback value when a sample selection is empty instead of failing the event
  • rand.network.ip_v6 family — random IPv6 addresses: the full space, global unicast, link-local, or unique local
  • rand.network.mac(oui=..., vendor=...) — fix the MAC prefix to a specific OUI or pick one from a built-in table of 20 vendors (Apple, Cisco, Dell, Intel, VMware, and others)
  • rand.network.ip_v4_private() — random RFC 1918 private IPv4 addresses with realistic class weights
  • rand.string.pattern(format_string) — random strings from a printf-like pattern, e.g. pattern("ORD-%A{3}-%d{6}")
  • rand.crypto.sha1() — random SHA-1-length hex strings
  • ClickHouse output: pool_maxsize — size the connection pool toward ClickHouse to avoid pool-exhaustion warnings under bursts of concurrent writes

🐛 Bug fixes

  • Dot-separated config keys now work at any depth in every YAML file — eventum.yml, generator configs, startup.yml, and time patterns accept dotted keys mixed freely with nested blocks; defining the same key twice fails with the exact conflicting path
  • A failed server startup (for example, when the port is already in use) now stops the app with a clear error instead of hanging until interrupted

Full Changelog: v2.5.0...v2.6.0