Skip to main content

compute-utils changelog

v.next​

  • RTD: Added declarative rule links: conditions, effects and sources written as formula strings ('gt(m, 0)', 'set(t, m)') or JSON Logic and effect objects, with per-effect when; hide/show/items/meta, error/warning/notification/verdicts and set/clear/assign effects; (template) queries; validators, choices, js, func, query, file and table sources; the literal, columns, columnsMissing, columnIs, nulls, column, row, len, regex, script and scriptVerdict operations; array messages; driver-added names use a $ prefix, as in $all.<alias>
  • RTD: Added check links (typed by the exported PipelineCheckConfiguration) and annotation-derived default validators sharing one expansion (nullable/optional, min/max, regex and GrokScript validator, visible (also read from enabled, which hides the input), validators, column type/semType/allowNulls, and static choices and column table in check links only, since a choices annotation just fills the dropdown and a table annotation just binds the column picker); nullable: true annotations now make an input optional; GrokScript checks and annotation validators need platform 1.28+ and are skipped on older clients
  • RTD: Added annotation-derived rules for choices the platform evaluates: the items, with no check of the value, and the propagateChoice: all lookup (the first such key of a step; cells converted to the input types)
  • RTD: Added $nonscalar and $linked exclusions to the inputs()/outputs() io wildcards
  • RTD: Added params/getParam controller support, and isClientAtLeast in utils
  • RTD: Fixed computed annotation defaults (= 2 + 2, = Pkg:f()) being written as text, which failed step creation for numeric inputs; new steps evaluate defaults through the platform
  • RTD: Fixed inputs hidden via meta blocking the run with validation errors the user could not see; their validation is now suppressed

1.47.0 (2026-09-23)​

  • historyUtils.saveRun: Added the newId option to save a run under a fresh id
  • Old views: Removed testFunctionView/testPipeline and the Test runner ribbon group; their module-level import of the view classes formed a cycle that threw Cannot access 'FunctionView' before initialization in consumers
  • RTD: Added getMatchedPositions/getBasePosition controller methods exposing matched node positions to link handlers
  • HistoricalRunsDelete.awaitDelete: dialog helper resolving null on dismissal (mirrors awaitMetadata)
  • Excel export detaches the render viewer (and its cloned dataframe) after the screenshot
  • RTD: Fixed a link handler error leaving the link permanently running and deadlocking all tree mutations
  • RTD: Closing a state tree now destroys its links and actions, releasing their FuncCall and DataFrame subscriptions
  • RTD: Link running state uses run sequence numbers instead of wall-clock timestamps (same-ms runs reported as finished)
  • RTD: Queued driver commands sample the state tree at execution time instead of enqueue time
  • RTD: Fixed loadPipeline dropping the loaded run's metadata when an explicit config is passed
  • RTD: Fixed link IO ordering (compareAddresses NaN on prefix addresses, inverted getFirstMatch reduce). Behavior change: getMatchedInputs()/getMatchedOutputs() now iterate in tree order instead of declaration order
  • RTD: Fixed dataframe equality throwing instead of returning false when column names differ
  • RTD: Config processing rejects multi-id final io segments without the (template) flag instead of silently using the first id
  • RTD: DriverLogger keeps at most 5000 entries (log and errors) instead of growing unbounded
  • RTD: Fixed config path resolution silently accepting one extra segment past a leaf step
  • RTD: Config processing rejects tag-ending and zero-segment io targets in io-consuming from/to instead of failing at match time
  • RTD: Driver.sendCommand returns a promise resolved on command completion (per-command acks on commandAcks$)
  • RTD: Fixed a synchronous command error killing the driver command queue
  • RTD: initPipeline command accepts an inline processed config

1.46.9 (2026-08-07)​

  • Exported CONFIG_PATH (workflow config FuncCall option key) from funccall-utils
  • Added getRunTitle helper: user-given run title, or function name with start time

1.46.8 (2026-07-13)​

  • Viewers: Re-set the options on them when remounted. Fixes the bug with incorrectly configured viewers.

1.46.6 (2026-07-07)​

  • Model catalog: add a roleOnlyFilter config option and a getModelFilter helper to filter models by the model role only (faster); the legacy tag-or-role filter stays the default

1.46.4 (2026-06-25)​

  • Fitting/Sensitivity Analysis/Optimization: fix the lookup (scenario) input being duplicated when the model function declares an input with the same name as the lookup
  • Fitting/Sensitivity Analysis/Optimization: add disableLookupDefault option to omit the synthetic "Default" choice when the lookup table already provides its own default row
  • Fitting: gate the "Apply fitted parameters" icon on available results — grey/disabled until a fitting exists, green afterwards, with an explanatory tooltip; switch the glyph to check-double

1.46.3 (2026-06-16)​

  • RFV: map the diffstudiofacet viewer type to the label DiffStudio Facet in viewerTypesMapping, so the facet viewer tab shows a proper name
  • GROK-14159/GROK-14160: Use grok.dapi.groups.currentUserGroups()/requestMembership() when available, falling back to raw fetch() on older API versions
  • Fitting: multithreaded (worker) fitting for Diff Studio models via diff-grok-meta
  • Excel export: fix overlapping charts in the exported workbook
  • GROK-19188: fix model URLs in the model catalog
  • Use type-only imports/exports in the public indexes to silence rspack warnings

1.46.2 (2026-06-05)​

  • Fitting: charge worker-replacement reprime budget only to the session that killed the slot, so a misbehaving fit no longer drains a concurrent fit's budget
  • Hold the tree-mutation lock for the whole mutation by OR-ing treeMutationsLocked with globalROLocked, fixing a flickering "Locked..." overlay and isTreeReady signal
  • Expose pipeline-validator results as a live per-node stream (currentPipelineValidations$) instead of only in the serialized snapshot

1.46.1 (2026-06-04)​

  • File-input save accepts a browser File as well as DG.FileInfo
  • Compute1 run JSON export handles DG.FileInfo inputs from loaded runs
  • pipelineValidator: setValidation takes the output name as first argument (API change), so a single named to target can be addressed

1.46.0 (2026-06-03)​

Features​

  • action steps can route to children via showWhen/hideWhen visibility conditions
  • Links now allowed on funcCall steps; clearRestriction on the data-link controller
  • String shorthand for step refs, states, and ././ self-refs in link paths
  • (call) matching across all link types; optional id-list for same(@ref)
  • inputs/outputs IO selectors for template queries; name-match template propagation
  • New pipelineValidator link kind (replaces structureCheck)
  • nodeMeta body slot; pipeline description surfaced in config
  • inputsHidden option; formAsTab replaces formOnly
  • Per-step funccall history; consistency dataframes stored outside pipeline JSON
  • includeInfo on override-to-consistent rerun
  • compute-api: startWorkflow accepts step shorthand
  • Fitting: worker executor defaults to auto, gated on //meta.workerSafe; async script bodies supported; async-to-sync codegen for the NM optimizer mirror

Refactoring​

  • Split codegen into @datagrok-libraries/codegen-async-to-sync
  • Fitting worker pool reworked: extracted Slot, Query, JobQueue, JobSpec; Lite DataFrame parity surface expanded (id/newId, columns.toList/toJson)

Bug fixes​

  • Surface worker errors instead of swallowing them
  • Reject pipeline action mutations on overlapping subtrees and configs with multiple base entries
  • Hide actions when the visibleOn/showWhen target id is missing

1.45.3 (2026-04-24)​

Features​

  • Action step type for routing actions to child steps via visibleOn
  • Unified pipeline navigation with Back/Next across all step types
  • Unified parallel and sequential pipelines into a single dynamic type (parallel/sequential are deprecated aliases)
  • Granular pipeline mutation actions (add, remove, reorder steps)
  • Validator debounce configuration, default to no debounce
  • Batched validator/meta/nodemeta link execution for performance
  • Use asapScheduler to eliminate 4ms setTimeout clamp in link scheduling
  • Suppress Vue rerenders during global lock
  • Unified error handling with reportError utility and logger injection

Refactoring​

  • Split StateTree into Factory + Serializer modules
  • Refactored StateTree mutation methods into internal primitives
  • Extracted dependency calculation and default validators from LinksState
  • Renamed LinksDependencies.ts to kebab-case

Bug fixes​

  • Fixed isOutputOutdated stuck on true for steps with no inputs
  • Fixed DynamicPipelineNode to preserve original pipeline type

1.45.2 (2026-03-19)​

  • dayjs typings fix

1.45.1 (2026-03-19)​

  • 1.27 platform support

1.44.13 (2026-02-24)​

  • Fixed grid cell bug in Fitting and Sensitivity Analysis

1.44.12 (2026-02-19)​

  • Workflows export customization options

1.44.11 (2025-11-20)​

  • Workflows navigation related improvements

1.44.10 (2025-10-30)​

  • Fitting formulas initial implementation

1.44.9 (2025-10-06)​

Features

  • reproducibility
  • early stopping
  • stop at first
  • Float64-based computations

1.44.8 (2025-10-03)​

  • Updated the diff grok library

1.44.7 (2025-09-11)​

  • History and export fixes for workflows

1.44.6 (2025-09-08)​

  • Fix funcCall reactive updates edge case

1.44.5 (2025-09-05)​

  • Fix optimizer returned funcCall redraw

1.44.4 (2025-09-04)​

  • Small bug fixes

1.44.3 (2025-08-15)​

  • Optimization view support primary params filtering
  • Optimization view support support per script defaults

1.44.2 (2025-08-08)​

  • Optimization view Compute2 integration fixes

1.44.1 (2025-07-22)​

  • Update dependencies
  • Optimize/fix deepEq for FuncCall inputs/outputs

1.44.0 (2025-07-22)​

  • New platform version

1.43.11 (2025-07-22)​

  • Template links syntax
  • Allow multiple meta handlers targiting the same io
  • Improve string pasing

1.43.10 (2025-06-30)​

  • Fix edge cases with pipeline edit action

1.43.9 (2025-06-09)​

  • Updated UI/UX in the Sensitivity Analysis view
  • Implemented the MOEA/D method for multi-objective optimization
  • Added the optimization view

1.43.8 (2025-06-03)​

Compute2 help improvements

1.43.7 (2025-05-28)​

Compute help related fixes

1.43.6 (2025-05-28)​

Compute2 related typings tweak

1.43.5 (2025-05-12)​

In-webworkers sensitivity analysis for Diff Studio based models

1.43.4 (2025-05-02)​

Update Compute2 API

1.43.3 (2025-04-24)​

Update Compute2 public API

1.43.2 (2025-04-22)​

Updated the Fitting feature:

  • target columns selection
  • fitting results displaying
  • goodness of fit viewers creation

1.43.1 (2025-04-14)​

  • Fitting, Sensitivity Analysis: Fixed precision of the values lookup feature

1.43.0 (2025-04-14)​

  • Compute2 related changes/fixes

1.42.1 (2025-04-10)​

Updated the Fitting feature:

  • Added progress bar;
  • Target columns selection
  • The hide similar curves feature
  • Navigation for users

1.41.3 (2025-03-07)​

  • FittingView: Diff Studio models: Updated input vector computation

1.41.2 (2025-03-03)​

  • FittingView: Diff Studio models: Optimization using pipelines

1.41.1 (2025-02-28)​

  • FittingView: in-webworker parameters optimization of Diff Studio models

1.41.0 (2025-02-19)​

  • Compute2 related fixes
  • ModelCatalog refactored
  • API updated for 1.24.0

1.40.4 (2025-01-28)​

  • ModelHandler: help disable sync

1.40.3 (2025-01-28)​

  • ModelHandler: help fix

1.40.2 (2025-01-27)​

  • Build fix

1.40.1 (2024-12-25)​

  • History fixes and removing obsolete API calls

1.40.0 (2024-12-24)​

  • Added reactive tree driver

1.39.7 (2024-11-25)​

  • Added method to render model preview in BrowseTree

1.39.6 (2024-11-22)​

  • Updated style options to CSSOptions type

1.39.5 (2024-11-06)​

  • RFV: Added validation rules for export options
  • ModelCatalog: Fixes for JS API 1.22
  • RFV: Moved JSON loading to TestRunner menu for Developers

1.39.4 (2024-09-30)​

  • Sensitivity Analysis & Fitting: Added the use of lookup tables

1.39.3 (2024-09-23)​

  • ModelCatalog: Added info notification on group membership request

1.39.2 (2024-09-13)​

  • RFV: Export generation is now independent of UI state

1.39.1 (2024-09-10)​

  • Fixed DF input in the Fitting view

1.37.0 (2024-09-05)​

  • Release for 1.21.0

1.36.7 (2024-08-05)​

  • RFV: Fixed navigation buttons render

1.36.6 (2024-08-01)​

  • RFV: Added spinning for async validation icon

1.36.5 (2024-07-31)​

  • RFV & Wizard: Historical runs load optimization

1.36.3 (2024-07-30)​

  • Wizard: Fixed context info icon duplication

1.36.2 (2024-07-23)​

  • RFV: Added validation tooltip width and text-wrap

1.36.1 (2024-07-22)​

  • RFV: Last inputs are now saved locally

1.36.0 (2024-07-10)​

  • RFV: Added output validators support

1.35.10 (2024-07-08)​

  • CompositionPipeline: Exposed options to public interface

1.35.9 (2024-07-08)​

  • PLV: Fixed names conflict in single excel export

1.35.8 (2024-07-03)​

  • PLV: Fixed run loading to load author

1.35.7 (2024-07-01)​

  • HistoryList: Fixed bug on batch deletion
  • HistoryInput: Added skipDf option

1.35.6 (2024-06-27)​

  • Exposed mergeValidationResults method

1.35.5 (2024-06-26)​

  • getParamChanges fixed empty FuncCall error

1.35.4 (2024-06-25)​

  • Inputs bugfixes

1.35.3 (2024-06-25)​

  • Changed inputs to use new API

1.35.2 (2024-06-24)​

  • RFV: Added getViewers method

1.35.0 (2024-06-12)​

  • Code adapted for Compute API

1.34.3 (2024-05-21)​

Bug fixes​

  • RFV: Fixed single-tab output logic
  • Wizard: Fixed double-help case

1.34.2 (2024-05-17)​

  • RFV: Added HistoryPanel hide on view closing

1.34.1 (2024-05-15)​

  • Fixed imports

1.34.0 (2024-05-14)​

  • Added Fitting view

1.33.7 (2024-05-14)​

Features​

  • RFV: Removed workaround for tableInput
  • RFV: Added tooltips for inputs
  • HistoryInput: Changed dates to local timezone

1.33.6 (2024-05-10)​

Features​

  • Added lodash.cloneDeepWith types

1.33.5 (2024-05-09)​

Features​

  • RFV: Property default value getting both for 1.18.x and 1.19

1.33.4 (2024-05-09)​

Features​

  • Heavyweight imports optimization

1.33.3 (2024-05-08)​

Features​

  • Bundle size optimizations

1.33.1 (2024-05-07)​

Features​

  • Rearranged CSS files
  • RFV: Added isOutdatedOutput subject
  • HistoryInput: Hides incomplete runs
  • HistoryPanel: Added completeness filter

1.33.0 (2024-05-06)​

  • Added CompositionPipeline

1.32.4 (2024-05-03)​

Bug fixes​

  • RFV: Removed workarounds

1.32.3 (2024-04-30)​

Bug fixes​

  • HistoryPanel: Fixed case of duplicated captions

1.32.1 (2024-04-29)​

Bug fixes​

  • RFV: LineChart dynamically resizing

1.32.0 (2024-04-18)​

Features​

  • Added partial save feature for RFV & Wizard
  • Run deletion is now implemented via flag
  • Wizard: annotation and in-code help pages are now both supported
  • History panel: "Params" switch is now hidden if no params exist
  • Wizard: Steps now support customId-s

Bug fixes​

  • History panel: Fixed grid keeping its size

1.31.0 (2024-04-10)​

Features​

  • ModelCatalog: Adaptation for BrowseView

1.30.1 (2024-04-08)​

Bug fixes​

  • RFV: Default export properly works with nulls

1.30.0 (2024-04-08)​

Features​

  • HistoryInput refactored: now uses same component as HistoryPanel
  • mainInputs tag renamed to mainParams
  • Both HistoryInput and HistoryPanel now use mainParams to determine visible columns

1.29.1 (2024-04-03)​

Features​

  • HistoryPanel: Added compact mode
  • HistoryPanel: Fixed bug with supported column types

1.29.0 (2024-03-29)​

Features​

  • RFV: Disabled re-run on inputs load
  • ModelCatalog: Full support of single-file models
  • HistoryPanel: Redesigned to use Grid

1.28.0 (2024-03-13)​

Features​

  • Adapted lib for Datagrok v1.18

1.27.0 (2024-03-12)​

Features​

  • RFV: Added last values restoring

1.26.0 (2024-03-11)​

Features​

  • RFV: Moved favorites to UserStorage

1.25.3 (2024-03-06)​

Features​

  • RFV: "readme" tag replaced by "help"

1.25.2 (2024-03-05)​

Features​

  • PLV: Added additional check on step enabling
  • ModelCatalog: Added help switching

1.25.1 (2024-03-04)​

Bug fixes​

  • Sensitivity Analysis: fixed input form styles

1.25.0 (2024-03-04)​

Features​

  • RFV: Now supports readme files via meta.readme tag
  • Wizard: Now support help panel state saving

1.24.1 (2024-03-02)​

Bug fixes​

  • ModelCatalog: Fixed error with mandatory groups

1.24.0 (2024-03-01)​

Features​

  • RFV: Customizable data upload feature

1.23.0 (2024-02-28)​

Features​

  • SA: Updated viewers
  • SA: Added analysis by value in custom column

Bug fixes​

  • SA: Fixed bug last row analysis

1.13.14 (2023-08-30)​

Features​

  • HistoryInput allow skip df load

1.13.13 (2023-08-29)​

Features​

  • HistoryInput redesigned

1.13.9 (2023-08-23)​

Fixed bugs​

  • Fixed bug with empty captions in RFV blocks

1.13.8 (2023-08-18)​

Features​

  • RFV: Inputs are now disabled during computations
  • RFV: editState is now properly saved
  • FileInput: Moved icons into options container
  • Default users and groups IDs are now taken from API

1.13.6 (2023-08-15)​

Features​

  • FileInput now extends DG.InputBase
  • RFV: Historical runs become non-historical on any input change
  • RFV: Ribbon panel now reacts on "historicity" of the run
  • RFV: Inputs now have a delay before calculation re-run
  • RFV: DataFrame export to Excel now uses built-in Excel tables

Fixed bugs​

  • Removed workarounds for GROK-13335 & GROK-13337
  • PLV: Fixed bug with extra tabs enabled on historical run load

1.13.5 (2023-08-10)​

Features​

  • Heavily optimized export functions for RFV
  • RFV now supports format setting for float inputs using format tag
  • RFV now supports precision setting for float outputs using precision tag`

Fixed bugs​

  • RFV now saves selected output tab on function rerun
  • RFV now fully hides output during function run panel if no input tabs is provided