Changelog
All notable changes to rENA Webtool are documented here.
Transition notice: The previous version of the tool remains available at
old.epistemicnetwork.org during the transition period.
[2.0.7] — 2026-07-30
Fixes
Ordered Network Analysis (ONA) & Transmodal
- Code-mask direction corrected. For ordered and transmodal networks, X-ing a cell in the masking grid now removes the edge you are targeting. The 2.0.6 change masked the reverse direction — X-ing the From-A → To-B cell zeroed the opposite connection, so the edge you meant to hide stayed on the plot. Masking now lines up with the edge as it is drawn. (Undirected/standard masking was correct throughout and is unchanged; transmodal masking, added in 2.0.6, is retained — only its direction is fixed.)
[2.0.6] — 2026-07-30
New Features
- Transmodal Data View (TMA) — for transmodal models, the Data View hover now reflects each modality's own moving window: co-occurring lines are highlighted using the per-modality window span and tinted by modality, instead of a single uniform window. It reuses the network's own accumulated model, so the rows it shows match the network exactly — including flexible horizons.
- Connection Counts data export — the "Download Model" menu gained a Connection-counts Data option that exports the raw, un-normalized co-occurrence counts (
connection.counts) as connection-counts.csv, alongside the existing normalized line-weights export.
UI & UX Improvements
- The Download Model menu's Export and Cancel buttons now use the teal accent color to match the rest of the tool, instead of the default blue.
- The Use Rotation Matrix From selector (Advanced Options) now shows the applied rotation set after a page refresh — it previously reverted to blank even though the rotation was still applied.
Fixes
Data View
- Clicking an edge no longer shows an empty Data View when every connected row is kept (nothing flagged for removal); the connected rows now render as expected.
Ordered Network Analysis (ONA)
- Goodness of Fit now computes for ordered models — it was silently failing because the ordered set's centroids were being corrupted during generation.
- Custom rotations now apply to ordered models, using the source set's rotation and node positions. An incompatible rotation (e.g. one built from an undirected model) falls back to the default rotation instead of erroring.
- Ordered sets can now be used as a rotation source for other models (they now record the centering vector required for reuse).
- The code mask for ordered/transmodal networks is no longer transposed — masking an
A → B connection previously zeroed B → A instead.
Rotations / Save
- Selecting a rotation set that is missing its centering data no longer fails the save; the model saves using the default rotation instead.
Latest Updates modal
- Removed the hardcoded version from the "Latest Updates" (What's New) modal, which showed
v2.0.0 regardless of the deployed build. The modal header and first-slide label no longer display a version; the running build version still appears in the sidebar rail badge.
[2.0.5] — 2026-07-29
Fixes
Ordered Network Analysis (ONA)
- Directed edges now point from source to target — the arrowhead and tapered wide base are drawn on the target (TO) code instead of the source. The direction was inverted.
- Ordered-network node size now scales with a code's incoming connections, so the target code grows with the connections arriving at it. It was previously sized by outgoing (source) connections, making the wrong code larger.
[2.0.4] — 2026-07-27
New Features
- Help page — a
/help route renders HELP.md through the shared markdown renderer used by /changelog.
- Significant Digits now applies to the Goodness of Fit Pearson r and the variance-explained percentages; the setting moved into the Advanced Options modal.
- Version badge in the sidebar rail now shows the actual running build (the deploy tag).
UI & UX Improvements
- Plot Tools panel polish: heading font and accent bar match the plot headings, the panel aligns flush with the side plots, the switch label stacks above its toggle, and the numeric value stays right-aligned when the slider is hidden.
- The Advanced Options modal gained a titled header.
- Help documentation refers to Conversation/Stanzas by the previous names for Horizon/Windows.
Fixes
- Unit Circle no longer shifts the plotted points — the plot now frames on the unit points only.
- The unit-circle toggle stores
optimal instead of the invalid optimized value.
- Plot copy/export no longer clips overlays drawn above the plot.
- Branch/preview environments show a short SHA instead of the full 40-character commit hash.
[2.0.3] — 2026-07-26
Fixes
- Plot export and copy-plot no longer crash — Analytics is now injected into
GraphsAreaCtrl.
- Removed a dead
max_size calculation that crashed export on unrendered side plots.
[2.0.2] — 2026-07-25
New Features
- Consent-safe Google Analytics event tracking, plus single-page-app page-view events for key actions.
[2.0.1] — 2026-07-25
Fixes
- Hardened the analysis server: guarded the
/set/save-model decode path and added a process-level unhandled-rejection backstop.
[2.0.0] — 2026-07-24
New Features
- Server-side Goodness of Fit (GoF) correlation computation with warning indicators.
Transmodal Analysis (TMA)
- New TMA panel in the conversation/windows tab for multi-modal stanza configuration
- Stanza windowing system — supports weighted, time-based, and modality-filtered windows (
ENAstanza.js, ena.ww.organize-stanza.js)
- Modality column selector and condition builder for transmodal stanzas
- Stanza sorting and window size controls
- Trajectory playback and Horizon scrolling in the conversation view
Ordered Network Analysis (ONA) — Connection Mask
- The connection mask UI now exposes the full directed matrix, allowing individual A→B and B→A connections to be included or excluded independently
- Fixed column ordering:
timeColumns now uses a copy to preserve original file column order
Generalized Mean Rotation (GMR)
- GMR rotation implementation with auto-toggle
- UI controls for enabling/disabling GMR in the analysis panel
Regression
- Y-axis regression
- New regression formula controls (
updateRegressionFormula, updateYRegressionFormula)
Weighting
- Weighted analysis support on standard ENA models
- Weight and window configuration exposed in stanza settings panel
Model Compression
- Compressed save-model parameters for reduced payload size
- Compression applied to message handling between client and server
Model Simplification (PRIA)
- "Simplify Model" identifies and removes codes that can be dropped without materially changing the network, with a configurable similarity threshold. Supports standard, means-rotated, regression, and ordered models.
Plots
- Copy plot to clipboard — each plot (Comparison, Primary, Secondary) has a copy control next to its zoom/recenter tools that copies the plot image straight to the clipboard, with a brief "Copied!" confirmation.
- Row order (a time or sequence column) now applies to standard ENA models, not only ordered (ONA) models.
UI & UX Improvements
- The tool now notices when a new version has been deployed and shows a dismissible "Refresh to update" prompt, so a long-open session isn't left running an old build. It only prompts — you choose when to refresh — and refreshing lands you in the "What's New" summary.
- Completely redesigned layout: removed the top header, unified the left panel / data view layout, and migrated the legacy advanced tools panel into a streamlined modal.
- Added interactive breadcrumb navigation in the top-left and explicit disabled panel states for unconfigured models.
- Redesigned the transition version banner as a top-middle folder tab with a direct link to the "What's New" modal.
- Relocated the Ordered/Standard toggle to the top of the Codes panel.
- Removed redundant stanza header from the Transmodal/Standard toggle.
- Hid the advanced drawer when the conversation tab is active in non-transmodal mode.
- Made the Codes search bar an explicit config-gated option (off by default).
- Reworked the statistics Comparison tab so the analysis buttons no longer overlap or overflow their panel and group names are no longer hidden behind their color swatch.
- Fixed advanced-options controls, dropdowns, and info icons at narrow and short window sizes; the model panel width now scales with the viewport and plot tools collapse to a bottom strip on short screens.
- Stopped the minimum edge weight slider from overlapping its label.
- Labeled the tutorial window control "Window length."
- Used the condensed ENA mark for the signed-in sidebar logo and retuned the sign-in page for short viewports.
- Transmodal Horizons/Windows toggles: the Flexible/Fixed toggle stays visible whenever Transmodal is on, the Transmodal/Standard switch is mirrored onto the Horizons tab (both on one row), and the flexible-horizon requirement now reads "Assign a horizon to each modality" with the per-modality assignments shown instead of a misleading flat horizon.
- Zooming a plot now keeps node, edge, unit-point, and label sizes constant — only the layout spreads apart — and the magnify buttons zoom over the full continuous range, matching the scroll wheel.
- After registering, you now land on the Sign In screen with a clear "check your email to verify" notice, and the verification email points you back to sign in.
- Transmodal window/weight settings and the Standard/Transmodal switch now persist across the tab and after a refresh.
- New Set dialog: a long uploaded file name truncates with an ellipsis instead of overflowing, and the "Potential issues detected" panel only appears when the file actually has issues.
Fixes
- Restored the
/changelog API endpoint to correctly serve CHANGELOG.md.
- Fixed data grid scaling to properly fill viewport width and handle null metadata filters.
- Fixed single NA column bug in data upload handling
- Fixed stanza panel rendering bugs (condition ordering, panel state)
- Fixed single modality column handling
- Tutorial compression fix
- Window size correctly reflected in set details panel
- Tutorial text typo fixes
- Simplify Model (PRIA) no longer reports "no codes to remove" for every model — the feature was failing on the server and disguising the error as a normal result. It now reduces codes correctly, and a genuine failure surfaces a clear message instead.
- Goodness of Fit no longer errors on models without direction data; its button is now disabled with an explanation when a model has too few units to compute the statistic.
- Copying a set no longer crashes and preserves its selections.
- Negative minimum edge-weight values no longer draw phantom, zero-strength connections in the network plot.
- Means and Regression rotation options now stay in step with the unit selections.
- Large file uploads no longer corrupt in transit to the analysis server.
- Plot export no longer downloads blank Primary/Secondary images in Safari — every plot is exported by serializing its SVG, one path across all browsers.
- Simplify Model (PRIA) no longer flashes "couldn't run: [object Object]" on a run that actually removed codes.
- A failed data-file load now surfaces an error and the model panel explains it, instead of silently omitting the add (+) control.
- Confidence-interval boxes are now included when framing the plot; the axes stay drawn when zoomed in; CI boxes and unit markers hold steady under edge-weight scaling; side-plot drop shadows are no longer clipped; and the breadcrumb project icon no longer clips on a narrow header.
- Restored models whose unit-selection tree was structurally stale now re-derive and plot instead of coming up empty; validity checks are guarded against a missing
model.hoo.
Analysis engine (rENA-api)
Shipped alongside this release:
- TMA time-based windows now take effect — a modality's window length in minutes correctly changes the model (window times were previously interpreted 1000× off).
- Flexible transmodal horizons split the moving window on the assigned horizon columns, not the modality discriminator.
- Simplify Model (PRIA) reports removed codes using their original column labels.
Infrastructure
- Replaced Auto-DevOps CI with custom build/deploy/release pipeline
- Added
promote_image CI job — retags commit-SHA image with release tag on git tag
- Added
release_job CI stage for automated GitLab release creation
- Added Helm chart (
inst/k8s/) for Argo CD deployment
- Added cookie consent banner (UW–Madison Privacy Notice)
- Refactored Google Analytics into shared
analytics.js with multi-stream support and consent gating
- Added
OCPU__BASE env var logging for R API call debugging
[v1.9.3] — 2026-06-03
- Refactor GA into shared analytics.js with multi-stream and consent improvements
[v1.9.2]
[v1.9.1]
[v1.9.0]
[v1.8.0]
[v1.7.0]
[v1.6.0]