Announcing Eventvisor v1.0 stable

Today, I am announcing the first stable release of Eventvisor: v1.0.
Eventvisor brings analytics events and application logs into a Git based workflow. Teams define what can be tracked, validate its shape, control where it goes, and change runtime behaviour through remotely deployed datafiles without coupling themselves to one analytics vendor.
For the impatient folks: follow the quick start or explore the project on GitHub.
From an idea to a stable foundation#
Eventvisor v0.1 started with a question: can the same declarative and reviewable workflow used for infrastructure and feature management also govern analytics events and logs?
v1.0 proves that it's theoretically possible.
The releases since v0.1 have shaped Eventvisor into two connected parts:
- A project and CLI where teams define events, attributes, destinations, effects, tests, and deployment boundaries as reviewed code.
- A runtime SDK which consumes generated datafiles and applies validation, conditions, sampling, transforms, routing, and effects inside applications.
The generated datafile remains portable and vendor neutral. Eventvisor controls the event pipeline while transport modules decide how accepted events are delivered.
What is stable in v1?#
A clearer project model#
Targets are now the artifact boundary. A Target selects the events and supporting definitions needed by one application or service, while retaining its runtime dependencies. Tags remain reusable metadata rather than producing datafiles of their own.
Larger repositories can use Sets to hold isolated projects, including development, staging, and production environments. Changes can move between Sets through preview first, dependency aware Promotions.
Reusable Schemas reduce repetition across event and attribute definitions. Object schemas are strict by default, with an explicit escape hatch for gradual adoption.
Governance that works during adoption#
Schema validation no longer has to mean losing data immediately. Projects can choose to drop invalid events, deliver them with a warning, or send them to a quarantine destination for investigation.
Conditions, sources, regular expressions, dates, semantic versions, transforms, and sampling now follow a documented portable contract. Invalid runtime input fails closed. Sampling percentages and ranges use a precise and deterministic 100,000 bucket model without changing the established MurmurHash assignments.
Event and destination tests cover the complete pipeline. Matrix assertions make it practical to exercise combinations of devices, countries, plans, environments, and other attributes without duplicating specifications.
A focused runtime SDK#
The JavaScript SDK now centres on createEventvisor() and a single Eventvisor instance contract. Operations that affect runtime order are asynchronous and serialized, while selected destination transports fan out in parallel.
Modules provide transports, lookups, handlers, and persistence without expanding the core SDK. Structured diagnostics replace custom logging hooks, datafiles can be merged or replaced, child instances can be spawned, and flush() and close() provide explicit lifecycle control.
The HTTP module adds bounded batching and retries. The Beacon module handles browser navigation and page shutdown using sendBeacon with keepalive Fetch as a fallback. Integrations are also available for services including GA4, Google Tag Manager, Segment, Amplitude, Mixpanel, Datadog, New Relic, and Sentry.
Better tools for understanding a project#
The Catalog provides a searchable view of definitions, dependencies, Targets, expanded matrix tests, and entity history. During development it watches project files and reloads connected browsers:
$ npx eventvisor catalogThe CLI can also list definitions, explain one entity, find references and known unused definitions, simulate a tracked event, and benchmark the runtime pipeline.
A release surface we can trust#
The v1 release contains 22 npm packages across the CLI, core, parsers, Catalog, JavaScript and React SDKs, shared types, and first party modules.
Every publishable package is built, linted, type checked, tested, packed, loaded through CommonJS and ES modules, and compiled from a clean TypeScript consumer before publication. Browser flows are exercised with real example projects, and a language neutral conformance fixture defines behaviour for SDKs on other platforms.
Get started#
Node.js 24 or newer is required for the CLI. Create a project with:
$ mkdir my-eventvisor-project && cd my-eventvisor-project$ npx @eventvisor/cli@1 init$ npm install$ npx eventvisor catalogFor a fuller example, initialize the included e-commerce project:
$ npx @eventvisor/cli@1 init --project=demoApplications can install the SDK and only the modules they need:
$ npm install @eventvisor/sdk@1 @eventvisor/module-http@1Visit the documentation to learn how to define a project, build and deploy datafiles, and connect an application.
Upgrading from a pre-release version#
Eventvisor v1 intentionally removes and corrects several pre-release behaviours. Existing projects should follow the complete v1 migration guide before deploying new datafiles.
Pay particular attention to Targets, strict object schemas, validation failure policies, corrected sampling, not condition semantics, effect error handling, test expectations, and the updated SDK and module APIs. The migration guide provides before and after examples and a staged rollout sequence.
What comes next?#
Stable does not mean finished. It means the public contracts now have a dependable semantic versioning promise and future changes can build on a well tested foundation.
There is more to do around SDK coverage, delivery modules, governance workflows, and production observability. The direction will continue to be shaped in the open, with practical needs from teams managing analytics and logging across real applications.
You are welcome to:
- Read the documentation
- Try the demo project
- Star Eventvisor on GitHub
- Report issues or propose ideas in GitHub Issues
Thank you to everyone who followed, tested, questioned, and helped improve Eventvisor throughout its pre-release phase.
The stable chapter starts now.

