June 4, 2026
Modeler: validation warnings
Model validation now has a warnings channel, and the modeler surfaces those warnings in the UI instead of only blocking errors. You’re warned when a resource’s capacity is set unreasonably high — now capped at runtime — or when routing forms a zero-delay cycle that could livelock a run.Insights: search charts and KPIs
The insights and results pages now have a search bar for finding a chart or KPI by name, instead of scanning the grid.Charts: axis format warnings
When a chart’s axis format expects numbers but the underlying data isn’t numeric, you now get a warning instead of a silently broken axis. See results.Navigation: profile account menu
Your account settings moved out of a modal dialog into a profile account menu in the sidebar.Smaller fixes
- Admin: the team and merge-factories tables support column sorting.
June 3, 2026
Dexter: context-window indicator
Dexter’s chat header now shows a context-window utilization indicator as a percentage, so you can see how full the conversation context is at a glance. See AI assistant.Insights: agent prompt on empty dashboards
An empty insights dashboard now prompts you to generate charts with Dexter, replacing the bare file-upload box.June 2, 2026
AI assistant: drag-and-drop file upload
You can now drag files anywhere onto the chat panel to upload them, and each file shows a progress indicator while it uploads — including when you’re answering one of Dexter’s questions. Staged files also stay available for 24 hours instead of 30 minutes, so a slow reply doesn’t lose your upload. See AI assistant.AI assistant: clearer question prompts
When you answer one of Dexter’s questions, the exchange now renders as a question-and-answer card aligned with your messages, instead of raw inline tags. Ranked questions also let you add your own custom options to the list. See AI assistant.Dexter: search the memories file tree
You can now search and filter Dexter’s memories file tree in agent config, instead of scrolling the full list. See AI assistant.Snapshots: load across model versions
Loading a snapshot saved on an older version now migrates it forward automatically, so snapshots saved before a model update keep loading.Planning: resource utilization vs capacity chart
The resource utilization vs capacity chart is back in planning results.Modeler: topic and state-variable descriptions
You can now add descriptions to topics and state variables in the modeler to document what each represents. This also clears a modeler crash affecting some models with older topic data.BOM graph: dynamic sizing
Cards in the BOM graph view size to their content, so labels no longer overflow or get clipped.June 1, 2026
Navigation: icon sidebar and home logo
The left sidebar is now locked to a compact icon rail, and the ProDex logo returns you to your home workspace — more room for the canvas, less chrome to scan.AI assistant: cleaner home start and full question history
The home workspace consolidates its data prompts into a single Start with exploring data action instead of competing buttons. Dexter’s question-and-answer prompts also keep their full response history visible, so earlier answers in a back-and-forth no longer drop out of view. See AI assistant.May 31, 2026
May 29, 2026
Modeler: filtered and quantitative buffer release
Buffers can now release a specific quantity of entities, or only the entities matching a filter, instead of releasing their full contents at once. Newon_buffer_contents_changed and on_station_contents_changed events let a model react the moment a buffer or station’s contents change. See simulation modeling.Insights: searchable dashboard browser
The insights list is now a searchable dashboard browser, so you can find a dashboard by name instead of scanning a flat table.AI assistant: usage disclaimers
Dexter’s chat, the results pages, and generated agent reports now carry a short AI-usage disclaimer. See AI assistant.Smaller fixes
- Planning: importing or merging a factory now remaps planning-run entity references correctly, so imported runs resolve to the right entities. (planning)
May 28, 2026
Scheduled jobs: pause and resume
You can now pause and resume a scheduled job instead of deleting and recreating it. Each job carries an active flag, and due jobs are claimed reliably so a paused job stays paused until you switch it back on.Factory export: bundle memories and workflows
Exporting a factory now bundles Dexter’s agent memories and your custom workflows into the.prdx file, so importing into another factory or tenant carries that context with it. Sharing a factory also snapshots its current version automatically. See export and import.AI assistant: chat search and recent conversations
Chat search moved to a full-screen dialog, the collapsed assistant sidebar gained a Recent Conversations popover, and the sidebar now lists five recent conversations instead of three. Recommended options also sort to the top of Dexter’s ask-question prompts. See AI assistant.Simulation: clearer error context
When a run fails on a resource assertion or at a run boundary, the executor surfaces richer error context, so it’s easier to see what went wrong rather than getting a bare failure. See simulation modeling.Smaller fixes
- Factory import and export buttons now show a loading spinner while the operation runs.
- Added a Documentation link to the navigation sidebar.
- File uploads now accept capitalized extensions like
.CSVor.PNG, not just lowercase. - Validation errors sent to Dexter are capped and truncated so a flood of errors doesn’t crowd the transcript.
May 27, 2026
Dexter: memories and files from home
You can now create and edit Dexter’s memories directly from the home workspace, and preview files you’ve uploaded to agent settings before using them. Your home workspace selection persists between sessions. See AI assistant.Scheduled jobs rename
Dexter’s Automations section is now called Scheduled Jobs in the sidebar.Resources: zero default capacity
Simulation resources can now have a default capacity of 0, so you can model a resource that starts fully unavailable. See simulation modeling.Smaller fixes
- Snapshots and experiments: restored name search in the picker comboboxes.
- Entities: restored legacy numeric select mappings for integer and real number attributes. (entities)
- Schedules: dropped the misleading UTC label from the date-time picker. (schedules)
- Insights: the dashboard header now scrolls with the chart grid. (insights)
- Navigation: restored sidebar scrolling and icon rendering.
- BOMs: long table text is constrained instead of overflowing. (BOMs)
May 26, 2026
Configurator: unified workspace
The configurator now runs in a single tree workspace with nested option support. The top bar unifies the template and configuration selectors, sidebars were replaced with searchable tables, and committed revisions show part numbers. Revision diffs render as collapsible cards, and a configuration-space sidebar gives hover previews as you navigate. Configuration revisions also round-trip through.prdx export and import.Models: starring
You can now star a model to mark it as a favorite from the model list.AI assistant: data gaps prompt
Dexter gained a data-gaps prompt that points you at missing inputs in your model. See AI assistant.Smaller fixes
May 22, 2026
AI assistant: home chat status
The home chat now shows status icons, so you can see at a glance where each conversation stands. See AI assistant.Smaller fixes
- Dexter no longer triggers a navigation when it’s already on the target page.
- Dexter’s ask-question prompts now label their input types.
- Admin: markdown content stays contained within viewer modals.
May 21, 2026
Configurator: rebuilt around revisions
The configurator has been rebuilt from the ground up. Revisions are now first-class — every configuration has an explicit revision history you can fork from, instead of versions being tacked on after the fact. Excel exports work with the new shape: you can export the latest revision as a single-sheet workbook, or the full history as a multi-sheet workbook with one sheet per revision and a metadata sheet on top.May 20, 2026
Sharing: recipient list works for any owner
The Share and Publish Update dialogs now populate with everyone in your tenant for any factory owner, not just tenant admins. Previously the recipient list came back empty for non-admin owners, so the dialog would open with nothing to send to.May 19, 2026
Modeler: infinite station capacity
Stations can now be marked as non-bottlenecks per entity type. In the properties panel, toggle the Infinite switch on a capacity row and the numeric input is replaced with an ∞ glyph — the station never blocks for that entity type during simulation. Replaces the old workaround of typing arbitrary high values like999999, which looked like a real constraint in results and obscured genuine bottlenecks.Results: suggested chart chips in the empty state
The results dashboard empty state shows six suggested chart chips — throughput, utilization, lead time, cycle time, WIP, bottlenecks. Clicking a chip sends the same prompt the chart-creation dialog uses, and Dexter maps the description to whatever metrics your model actually emits, so the suggestions work on any model rather than only on demo data.Dexter: recovers when its sandbox restarts mid-run
When Dexter’s sandbox is restarted, evicted, or hits a transient infrastructure blip mid-run, the next tool call now repairs the session automatically instead of erroring out. Runs that would have stalled on “no Sandbox found” now keep going.AI assistant: localized tool-call summaries
The per-group tool-call summaries in Dexter’s transcript now respond in your UI language. Switch the UI to Spanish and Dexter’s group summaries come back in Spanish on subsequent runs. Integration display names stay verbatim.May 18, 2026
Modeler: cleaner drag previews and router routing
Drag previews from the node library now match the shapes that actually render on the canvas — the router preview uses the same octagon outline as a placed router, and rounded corners across source, sink, process, station, buffer, combiner, and separator previews share the canvas geometry. Router-originated edges also anchor to the router’s right handle by default, so new connections come out the right side.May 17, 2026
Tenant-admin merge picker: owner column and filter
The tenant-admin factory merge picker gained an Owner column and an owner filter, so admins can narrow down candidates when a tenant spans many factories across many users. The “New factory name” field is now visually marked required, and the merge description copy was rewritten in plain language (out: “content-hash dedup”, “suffix-on-collision”; in: a one-line explanation of the union semantics).Smaller fixes
- Tenant admin: removed the now-redundant tenant factory list — the merge picker covers that ground.
May 16, 2026
Factory sharing
A new sharing surface lets you share a factory with another user from the factory selector. The publish-update dialog shows the recipient list and disables the action (with an explanation) when no one can receive the update. Factory selector actions are grouped so the share controls don’t get lost among navigation entries.Notifications center
The sidebar footer now hosts a notification bell and inbox, polling every 30 seconds for new activity. Renderers cover share requests, share accepts, version blasts, admin joins, and primary-owner transfers. Dismiss and mark-as-read are optimistic, so the inbox responds immediately even before the server round-trip lands.Factory merge (admin)
Tenant and platform admins can now merge two or more factories they own into a single new factory from the admin page. The system exports each, unions the result with deduplication, imports the merged factory back, and shows a toast with items kept and dedup count before navigating you into the new factory.Tenant admin: view-all and admin-join
Tenant admins now see every factory in their tenant (with owner, member count, and last-active timestamp) and can join any of them. Joining forks the factory into a fresh workspace and notifies the owner.Smaller fixes
- Version tree: shared and current versions are now more clearly distinguished in the version tree dialog.
- Notifications popover: tightened sizing and row presentation.
May 15, 2026
Dexter: desktop notifications
You can now opt in to desktop notifications when Dexter finishes a task or needs your input, so you don’t have to keep the assistant panel in focus to know it’s waiting on you. Settings live in the agent config panel.Pipelines: multi-file upload with per-chip progress
The pipelines new-run dialog now supports multi-file upload per source with a progress chip for each file in flight — useful when you’re staging a batch of files into a single source.AI assistant: cross-factory event guard
Closes a bug where switching factories mid-run could pull you onto a results page from the wrong factory. Operations from a stale source factory are now dropped on the frontend, so an in-flight agent run can’t reach across factories.Routing: 404 page for unknown paths
Navigating to a URL that doesn’t exist now renders a Page Not Found view instead of bubbling into the error boundary.Tenant admin: enrollment settings moved out
Tenant admins no longer see the open / invite-only toggle or the default-role selector — those settings moved to the platform admin surface. The settings themselves are unchanged.May 14, 2026
Planning: variant-aware throughout
Planning now treats variants as first-class everywhere they matter. The bill-of-resources rail labels each entry with its variant conditions (two variants of the same SKU are distinct BOMs with distinct resource requirements). Demand, supply, on-hand, inventory goals, production plan, and run-input tables all expose a variant select on the row, with collision checks scoped so the active row doesn’t conflict with itself.AI assistant: inline hourglass per message
The chat panel’s top-right hourglass dropdown moved to an inline hourglass on each user message. The popover for that message includes Rollback and Export, so the version action is associated with the message it applies to rather than living as a single global control.AI assistant: chat loading polish
Conversation tabs now show message-shaped skeleton placeholders while messages load, and the initial scroll-to-bottom on conversation open is instant and fades in instead of animating visibly.May 13, 2026
Planning: full rebuild
Planning shipped a structural rewrite. The single monolithic editor is gone — the side panel now opens dedicated workspaces for demand and supply, stock and capacity, inventory goals, bill-of-resources config, BOM config, resource constraints, tags, fulfillment, the production editor, and results. A new run side panel and shell mean switching between models and runs is faster, and individual edits no longer reload the whole aggregate.Configurator: agent-initiated sessions
Dexter can now create and tear down configurator sessions itself instead of requiring you to start a session in the UI first. Chat-driven flows like “configure the first bulk-uploaded order against the 40LS template” work end-to-end without touching the configurator surface.Inventory assignment: confirm before picking off-recommendation items
When an applied rule is present for a SKU, picking inventory items outside the AI recommendation list and clicking Next now opens a confirmation dialog that re-shows the active rules and the count of off-list selections. The planner has to explicitly acknowledge before the flow advances. Previously the rule was shown as a warning but didn’t block the selection.Smaller fixes
- Planning: removed the unwired “Custom constraints” entry from the side panel — it was routing to a workspace that didn’t actually drive optimizer behavior yet.
May 12, 2026
Lookups: master-detail rewrite
The lookup tables editor moved off the modal-with-expandable-rows pattern to a master-detail layout: searchable list on the left, inline form editor on the right with a sticky Save / Cancel header. The new rules table lets you add and remove dimension columns and rule rows directly, replacing the old “possible keys plus auto-generated combinations” model. The Lookups dialog itself is now larger and tabs no longer overflow.Modeler: canvas layouts persist locally
Manually arranged canvas positions in the modeler now persist per model, so reopening a model doesn’t snap nodes back to the auto-layout.AI assistant: integration-aware tool calls
When Dexter calls an integration tool, the assistant transcript shows a plug icon and a dynamic group header for the integration, and the pulse animation reflects integration state. You can tell at a glance which calls are reaching out to connected systems versus running locally.Experiments: surface results sooner, recover from stale runs
Result files now stream into the experiments UI as each event lands instead of arriving in bulk at the end. If an experiment references a cached run whose dataset is no longer available, the snapshots re-enqueue and resimulate instead of hard-failing.Smaller fixes
- Snapshots: switching between models no longer thrashes query caches when loading a snapshot.
- Modeler: click-to-connect is disabled — it was triggering unintended edges on stray clicks.
- BOMs: the filter predicate popover positions correctly instead of clipping off-screen.
- AI assistant: scroll bar in the conversation pane stays put while Dexter is streaming.
May 11, 2026
Memory: bulk export and import
Dexter’s memories can now be exported as a single file and re-imported into another factory or tenant — buttons live in the agent config panel.Tenant admin: tenant-level memories
Tenant admins can now manage memories that apply across every Dexter session in the tenant — shared context like product naming conventions, escalation rules, or vocabulary specific to your operation.Factory export from the user admin
Tenant admins can now export any user’s factory directly from the admin UI, without making the user run export and import themselves.BOM tree, badges, and filters
BOMs got color-coded level badges across the entities list, variant table, and tree view (L0 blue, L1 green, L2 purple, L3 orange, L4+ gray). The entities list adds an explicit search input, advanced filters by level and attribute, and a column visibility dropdown. The tree view picks up the badges, variant condition badges, and per-view search with filters by entity, level, and condition attribute. Cycle protection prevents the tree from recursing through circular BOM references.Pipelines: pick an integration at creation
The new-pipeline dialog now includes an integration selector, so pipelines connected to external systems get wired up at creation time instead of needing post-hoc configuration.AI assistant: timezone guardrail
When you upload data with timestamps, Dexter no longer assumes your local timezone applies to those rows. The agent treats the timestamps as ambiguous and asks before mapping them into the model.Navigation polish
The factory selector auto-scrolls to the currently selected factory when opened, with a cleaner popover style.Smaller fixes
- Modeler: toolbar selectors shrink and wrap on narrow widths instead of clipping the right-hand controls.
- Lookups modal: long descriptions truncate, and the entry list only shows real entries (no more empty placeholder rows).
- Charts: gantt tick labels stop clipping at chart edges.
- Memories: link rendering in the memory detail view no longer breaks markdown-rendered references.
May 8, 2026
DSL: text functions and new aggregations
The expression language now handles text the way it handles numbers. Addedconcat, fixed-arity text functions, and polymorphic max / min over text columns. New aggregations: mode, n_unique, and count over booleans. Available in both expressions and the modeler UI.BOM editor rebuild
BOMs got a structural pass: chip-style breadcrumb at the top, rebuilt side panel, table view with attribute columns, and aCmd+K palette for jumping between entities. The catalog rail is now grouped by role, and variant switching happens inline — no more chooser side panel.Memories panel redesign
Dexter’s memories panel switched to a master-detail layout with full markdown rendering, so longer memory entries are actually readable.Smaller fixes
- AI assistant: message timestamps now show on hover.
- Schedules: wheel scroll works inside the release-attribute popover.
- What-if: jarring flicker on page load resolved.
- Charts: stripped stray markdown out of chart descriptions.
May 7, 2026
Snapshots in the simulation toolbar
You can now save and swap snapshots directly from the simulation toolbar without leaving the modeler. The toolbar shows which snapshot is currently loaded, hot-loads snapshots picked from the experiments sidebar, and dedups autosaves so you don’t accumulate near-duplicate copies. Backed by a newcontent_hash column and PATCH /api/snapshots/{id} for renaming and updating descriptions.Monte Carlo header
Monte Carlo got a new run header with cleaner layout and clearer status indicators.Results UI: “Equation & Code”
Renamed the “View source code” button to “Equation & Code” in results — better reflects what’s actually inside.May 6, 2026
AI provider failover
Bidirectional provider failover is now active across all environments. When the primary AI provider hiccups, Dexter transparently shifts traffic to the backup with a circuit breaker keeping things stable.Modeler: empty states and replay polish
Source nodes with noarrival_logic set now show an empty state instead of silently doing nothing. The simulation replay play/pause button now color-codes by state so you can see at a glance whether playback is running or paused.Schedules: safer deletes
Deleting a schedule that’s referenced elsewhere no longer hard-fails — references null out so you can clean up without first hunting down every model that points at it.May 5, 2026
Simulation duration cap raised
Maximum simulation duration is now 2 years (up from 1).Monte Carlo moves to the sidebar
Monte Carlo now lives in the sidebar alongside other run types instead of inside the main toolbar — tidier and faster to switch into.OIDC auth provider
Tenants can now configure OIDC for single sign-on with discovery-based provider setup. Configurable from the admin OAuth config form.Tenant admin: usage and activity
New usage overview section in tenant admin showing call-site aggregations, plus a last-active timestamp for each user. Audit log section is now hidden from non-platform-admins.Sandbox runtime: scipy and matplotlib
Both libraries are now available inside the agent sandbox.Smaller fixes
- Experiments: charts are deletable inline.
- Pipelines: wheel scroll works inside cohort node lists.
- Toolbar: simulation toolbar uses container queries for tighter responsive layout.
- Results: runs prefetch on hover so switching between them is near-instant.
May 4, 2026
Pipelines: floating toolbar
Pipelines now has the same floating toolbar as the modeler, with consistent layout primitives across both editors.Performance pass
Schedule timeline, time-series rendering, page-switch ELK layout, andReplayEngineProvider scoping all got measurable wins. Heavy modeler pages should feel noticeably snappier.Icon refresh
Experiments now uses an Erlenmeyer-flask icon, subagent uses a robotic icon, and the compare sidebar is renamed to Experiments to match.Charts: smarter labels
Long category labels word-wrap, and bar charts auto-flip to horizontal when labels would otherwise collide.Smaller fixes
- Pipelines: report-link buttons in the run panel now actually trigger downloads.
- Results: stable run-list ordering with a
run_idtiebreaker.
May 2, 2026
Pipelines: bulk file upload
The new run dialog now accepts multi-file uploads in a single drop. Pipeline node borders are saturated to make active sources clearer, and uploads are scoped to one source at a time so cross-source state can’t bleed in.Factory selection scoped to tab
Switching factories in one browser tab no longer hijacks your other open tabs — selection is now stored per-tab viasessionStorage.Results dashboard split
The single “Add content” modal split into separate Add chart and Add KPI dialogs in the results toolbar, which itself was rewritten with inline-editable run labels.Modeler
Removed the redundant simulation spinners from the metrics panel — the inline label was enough.May 1, 2026
Insights: dashboards collection
Insights now has a dashboards-table list view, a create dialog, and a backing collections API. Dashboards have optional descriptions and live in their own folder under Insights.Cmd+F search across pipelines
Pipelines and the modeler both supportCmd+F to find a node by name — same palette pattern, different surface.Live KPIs and chart polish
The live-metrics widget grid now renders KPI items with format units. Charts gained: pie-chart inner-radius support, multi-series legends, and a “merge charts” action that combines compatible series into a single chart.Results: view source on KPI cards
Each KPI card now has an actions menu with a View source dialog showing the underlying SQL.AI assistant resilience
Bidirectional provider failover with a circuit breaker landed inai_assistant. (Activated across all envs on May 6.)April 30, 2026
Pipelines: full rebuild
Pipelines shipped a structural rewrite. New pipeline shell with proper cutover from the legacy canvas. Runs side panel and run-kickoff dialog. Template side panel with intake form. Node info modal with confidence badge. Foundation reorganized around shared types, stores, projections, and pure utilities — much easier to extend going forward.Modeler: find-node palette and event trace
⌘F now opens a find-node palette over the modeler canvas. The event trace returned to the modeler page (it had been moved out for a stretch). Default schedule is visually distinguished in the toolbar, and the primary schedule auto-selects on first model open.Reports: green = good, red = bad
Agent-generated reports now follow a consistent color convention — improvements in green, regressions in red — so you can scan a report without parsing the legend each time.April 28, 2026
Snapshots replace Checkpoints
Checkpoints are gone. Snapshots are the new way to capture model state — first-class table,snapshot_id on runs and Monte Carlo results, dedicated repository and APIs. Old /api/checkpoints/* routes return 410 Gone. Existing checkpoint data has been backfilled into snapshots; nothing should be lost.Experiments rewrite
Experiments got a substantially leaner runner: skip-resim when results are already cached, model-scoped KPIs, snapshot validation on save, and a newsnapshot_service for capture and load. Per-snapshot chart and KPI results pivot through a shared ChartResult envelope.”Delegate” replaces the subagent task tool
Dexter’s subagent invocation is now calleddelegate — clearer for users reading agent transcripts.DSL AI explanation tabs
When Dexter generates a DSL expression, the explanation now lives in a tabbed UI alongside the raw code.April 27, 2026
Charts and KPI dashboard reintroduction
Recharts-based charts and the KPI dashboard came back to results, with a top-to-bottom rebuild. UnifiedAxisFormat enum, overhauled axis formats, horizontal layouts, lazy rendering, and a fullscreen chart dialog. The grid layout switched off react-grid-layout to a sortable fixed grid for less jitter when arranging cards.
