VOR Stream v26.1.0 Release¶
VOR Stream v26.1.0 makes model definition faster and more accessible than ever. The headline feature is Structured Model Definitions -- a visual editor that lets you build regression models directly in the UI without writing a single line of code. Combined with a complete Risk Factor Management system and a new automated Model Node, this release dramatically reduces the effort required to go from model concept to production execution. Under the hood, critical stability improvements eliminate several engine crashes and data integrity issues that affected concurrent workloads.
Highlights¶
Structured Model Definitions¶
Building regression models in VOR Stream previously required writing Go or Python scripts -- a process that demanded programming expertise and was error-prone for standard model forms. With Structured Model Definitions, you can now define regression models entirely through the UI.
Navigate to the Models screen and toggle from "Freeform" to "Structured" mode. From there, you can configure your dependent variable, select a normalization method (none, logit, or probit), add an intercept, and build out your predictors using an intuitive visual editor. Each predictor supports factor or dictionary references with configurable coefficients and exponents. A live formula preview renders the complete mathematical specification as you build.
For more complex models, the new
Local Transformations
capability lets you define computed fields using a formula
editor with syntax highlighting, autocomplete, and a
drag-and-drop factor palette. Formulas reference factors and
dictionaries using {FieldName} syntax, and the system
automatically derives dependencies and detects circular
references before you save.
When factors are renamed, dependent local transformation formulas now update automatically, keeping complex models editable as your factor library evolves. Structured model imports also validate predictor exponents up front and return clear feedback instead of silently coercing values.
Lookup Predictors round out the structured model toolkit by enabling categorical factor mapping -- for example, routing observations to different regional House Price Index factors based on a province code column.
Once defined, structured models compile and execute automatically. There is no code generation step to manage. The engine evaluates linear models, computes link transformations, and handles expression evaluation for you.
Getting Started
To define a structured model, navigate to Models and click the toggle next to Save to switch to Structured mode. See the Models documentation and Structured Models guide for details.
Risk Factor Transformations¶
Risk factor management is now a first-class capability in VOR Stream. A new dedicated Transformations section in the UI provides full lifecycle management for all factor types: base factors, FX rates, volatility factors, and transformed factors.
The Transformed Factors page features a CodeMirror-powered
formula editor where you can define mathematical expressions
using built-in functions like lag(), EMA(), and SMA().
The editor provides real-time autocomplete for function names
and factor references, plus a visual factor palette for
drag-and-drop insertion.
On the CLI side,
vor create factors --file factors.yaml supports bulk creation
with automatic dependency ordering (base factors first, then
FX, volatility, and transformed). The
vor delete factors command performs transitive dependency
analysis and prompts for confirmation before removing factors
that other transformations depend on.
During model execution, transformed risk factors are computed and added to scenario data. When a Model node uses scenarios, variables with defined transformations are evaluated on the fly. Unresolved transformations show up as warnings instead of stopping the run.
Getting Started
Access Risk Factor Management from the main navigation sidebar. See the Transformations UI guide, the CLI reference for bulk operations, and the Transformation SDK for programmatic access.
Automated Model Node¶
A new model node type bridges the gap between UI-defined
models and data processing pipelines. Add a single line to your
stream file:
model (input)(output) modelname="My Model" scenario=true
The engine automatically compiles the named model, applies
scenarios to input data, and routes any observations that cause
model errors to a configurable exception queue. For
framework-based segmentation, use type= instead of
modelname= to let the framework's filters route observations
to the correct model.
Getting Started
See the Model node documentation for syntax and examples, and Models and Frameworks for framework-based segmentation.
Native Excel Integration¶
Working with control tables, reference data, and configuration is simpler in this release. The Models screen now includes a spreadsheet editor where you can edit Excel workbooks directly in the browser, with auto-save on cell commit and support for CSV, JSON, and XLSX imports.
The Configuration screen has been similarly upgraded -- configurations are now stored as Excel files, preserving formatting and multi-sheet layouts from desktop Excel. Legacy JSON format is still accepted for backward compatibility.
On the Waterways screen, you can now preview output files inline with pagination, eliminating the need to download files for quick inspection.
AI-Powered Log Analysis¶
When a run fails or produces unexpected results, reading through the logs can take a while. The optional "Explain Logs" feature sends run logs to a configured AI provider and returns a short explanation of what went wrong. It is off by default and becomes available only after an administrator enables AI services. The system gives extra weight to error and warning messages.
Supported providers include AWS Bedrock, Azure AI, and Ollama for on-premises deployments. Prompt templates are configurable through deployment settings.
Getting Started
See the AI Services section of the deployment documentation for setup, limits, and prompt customization. After AI services are enabled, click "Explain Logs" in the log viewer during any run.
Breaking Changes¶
Action Required
The following changes require attention when upgrading from versions prior to v26.1.0.
Study Datepicker Values¶
Datepicker values in study options have been converted from
timezone-aware timestamps to date-only strings (e.g.,
2025-08-04 instead of 2025-08-03T16:00:00.000Z). This
fixes an issue where dates could shift by a day depending on
the user's timezone, but update any external tools or SDK
scripts that parse these dates.
gRPC API Changes¶
Several gRPC services and RPCs have changed:
HistoryServicehas been removed entirely.GetConfigGroupOutputnow returns Excel binary data instead of a JSON string.
If you use the Go SDK, recompile all custom models and SDK consumers. For other gRPC clients, regenerate protobuf stubs.
Additional Input Queue Variables in Go Nodes¶
Additional input queue variables in generated Go node code are
no longer accessible as bare package-level names. Access them
through the User struct instead (for example,
u.my_config_table instead of my_config_table) and
regenerate node code with
vor create process after
upgrading.
Dynamic Facts in Custom Go Nodes¶
Dynamic facts exchanged between Go nodes now preserve their
original Go types instead of always behaving like JSON-shaped
values, and DynFactGet() now reports type mismatches
explicitly. If you maintain custom Go nodes, review any
DynFactGet() calls and any type assertions that assumed
numeric facts would always arrive as float64. The updated
Go node documentation shows both
direct and typed access patterns.
Database Schema Changes¶
Factor models have been migrated to a new factors Django app,
and the attribution app has been removed.
Stability & Quality Improvements¶
This release includes over 100 quality improvements across the platform, with a strong focus on engine reliability, data integrity, and UI polish.
Engine reliability has been significantly strengthened. Multi-threaded Python node execution is more stable, concurrent job processing is steadier, and database write failures now surface with clearer errors. Process validation also catches cyclic subprocess references earlier.
Data integrity safeguards have been enhanced. Queue error handling now ensures that any interruption is surfaced immediately with a clear message, and database write operations provide more detailed diagnostics including specific column names when issues arise. Playpen isolation has also been tightened to ensure strict workspace boundaries.
SQL engine improvements include
support for min/max aggregates on datetime columns and
CASE expressions with float types, expanding the range of
transformations you can express directly in SQL nodes.
UI and workflow improvements span the entire application. Playpen switching now fully refreshes all application state. Custom theme colors apply correctly across all Material Design components. The code editor displays syntax highlighting reliably. Reports are auto-selected and opened on job completion. Canceled jobs display their correct status. Dozens of visual refinements improve tooltip behavior, filter displays, fullscreen panel layouts, and overall consistency across light and dark themes. Additional polish improves Waterways rerun previews, skipped-output rendering, predictor dropdown alignment, and model-import responsiveness after file uploads.
Deployment reliability has been improved with better Ansible 12 compatibility, correct OIDC provider configuration, and proper handling of special characters in credentials.
Administration & Deployment¶
Administrators will find several new tools in this release:
- Offline installation support for air-gapped environments with bundled Ansible packages
- Automatic playpen upgrades on service startup
(configurable via
super-playpen-upgrade-enabled) vor troubleshootcommand for gathering diagnostic logs into a support archive- Django Administration accessible directly from the UI navigation
- Non-interactive secret creation via
vor create secret --cifor automation - py-spy profiling for Python nodes including subprocesses and C++ libraries
Major infrastructure upgrades include Go 1.26.1, RabbitMQ 4.2, Angular 21, and Django 5.2.12 with additional security updates across the stack.
For the complete changelog, see the GitHub Release.