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 verboseselectattrchains; the result supports furtherwhereandpickcallspick(default=...)andweighted_pick(weight, default=...)— return a fallback value when a sample selection is empty instead of failing the eventrand.network.ip_v6family — random IPv6 addresses: the full space, global unicast, link-local, or unique localrand.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 weightsrand.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