News in 4.2.0

User interface

  • New and improved viewer for Json data.

  • Clicking on links inside text fields opens them in an external web browser.

  • Improved profiling reports:

    • Go to node and archiving of profiling reports works.

    • Summarize included nodes instead of listing all individually.

    • Clickable links to txt, pdf and the entire folder.

  • Close viewers and configuration windows after closing their root flow.

  • Close configuration windows when their node is removed from the flow.

  • Close viewers when their port is removed from the flow.

  • Flow execution mode (lock, unlock) can be set from the flow view, using the context menu. Previously, this was only possible for subflows.

  • Make it possible to customize documentation for third-party (user) libraries.

  • Add new command line option, –locate for locating the inifile, see details in install CLI.

Enterprise Edition

  • New Automotive toolkit (Sympathy Enterprise) with support for MDF4 data format:

    • New plugin for importing MDF4 files as ADAF(s): MDF4 (Automotive).

    • New plugin for exporting ADAFs as MDF4 files: MDF4 (Automotive).

New nodes

  • New Json nodes:

    • Json to Table which replaces the now deprecated JSON to Table node. The new node gives more predictable output. Since the two nodes are quite different, no migration is supplied.

    • Jsons to Texts

Node changes

  • Merge Table(s) can specify suffix used to make column names unique, it defaults to _A and _B, for new nodes.

  • Reports exported using Report Apply nodes are now independent of the scaling factor of the display.

  • Figure improvements:

    • Node can now give warnings in the gui if the current configuration is not supported. Currently very few cases of unsupported configuration are detected, but expect this to be expanded in future releases.

    • Improved handling of non-default axes positions and multiple axes. Things like tick label rotations, spine positions, axis labels, and grids work better for these cases.

    • Fixed limits for scatter plots with datetime axis.

    • Fixed tick rotation on datetime axis.

    • Fixed tick formatting when manually setting major ticks on a datetime axis.

  • Fix Convert columns in Table(s) fails to convert masked arrays when mask is scalar.

Deprecated nodes

  • Jsons to Lists (deprecated)

  • Jsons to Dicts (deprecated)

API changes

  • Deprecated sympathy.api.figure.File.rotate_xlabels_for_dates() and sympathy.api.figure.SyAxes.rotate_xlabels_if_date(). They will be removed in Sympathy 6.0.0.

  • Human readable string representation for tables which shows their content.

  • ADAF API:

News in 4.1.2

User interface

  • Fix parameters of nodes with migrations can appear out of order.

  • Wizard subflow configuration:

    • Fix pages can appear out of order.

    • Fix commit button can fail to save parameters.

Plugins

  • Fix MDF3 importer fails to import file with unhandled conversions.

Enterprise Edition

  • Improve licensing startup and shutdown to retain offline license status (Sympathy Enterprise).

News in 4.1.1

Node changes

  • Fixed pasting datetimes in Create Table.

  • Figure: Warn about errors in python properties (will become errors in Sympathy for Data 5.0.0).

  • Fix broken preview when long running calculations are canceled in the calculator node.

Enterprise Edition

  • Improved ability to recover licensing after problems (Sympathy Enterprise).

News in 4.1.0

User interface

  • Viewer improvements:

    • Open viewers and configuration windows no longer cause problems for node execution.

    • Reload viewer data when nodes finish executing.

    • Show label to inform user of empty dict or list viewer.

    • Fix confusing feedback for automatic binning in histograms.

    • Fix table viewer forgets selected line plots when switching to another table, for example in viewer for tables.

  • Improved handling of messages from flows and viewers:

    • Implement go to node.

    • Fix automatic archiving.

  • Code editor improvements:

    • Fix confirm not working with usual Ctrl+Enter, inside editor.

    • Fix indentation on line with only whitespace before cursor.

  • Subflow improvements:

    • Show subflow icon as window icon for subflows.

    • Show node icons in subflow settings and configuration. Support was fixed for subflow settings, tabbed configuration and added to wizard configuration.

    • Fix confirm (via Commit/OK) can cause changes to other subflow nodes resulting from automatic migrations.

  • Improve printing of exceptions from user code in F(x).

  • Data Binding GUI can be hidden via right-click context menu when Advanced development options are enabled. See Data Binding for more info.

  • Make Library selection the first page of Node Wizard.

Node/plugin changes

  • Fix ADAF importer plugin for TDMS files.

API changes

  • Table API:

    • Consider all values when inferring type of object type array or series.

Enterprise Edition

  • Improved MongoDB format support (Sympathy Enterprise):

    • New node: Create MongoDB JSON, used to in create MongoDB compatible JSON.

  • New constructor functions can be used to conveniently create data of different MongoDB types, in the configurations of MongoDB nodes, instead of using the corresponding Python literal encoding. For example, ObjectId and ISODate.

News in 4.0.1

Bugfixes

  • Fix case where combo box editor for string parameters would insert None in place of an empty string value.

  • Fix nodes in locked flow continue executing even if they depend on other nodes that have failed.

  • Fix missing attribute which could prevent node wizard from showing.

  • Fix formatting of user traceback in F(x) nodes.

  • Subflow configuration:

    • Fix race condition which resulted in wizard configuration page showing before its input data was ready and therefore displaying old or empty data.

    • Fix page ordering for locked subflows in wizard configuration.

    • Show traceback information for exceptions that occur when building selected widgets (and their node contexts) as warning output.

  • Migrations:

    • Fix unable to add configuration ports on nodes after migration to a different node.

    • Fix migrating a node which is removed from library discards node label.

News in 4.0.0

User interface

  • Improved high resolution handling and scaling behavior.

  • Trace level error details (tracebacks) are no longer shown by default, they can be toggled by clicking the link in the bottom of the message.

  • Limit number of characters for streamed messages in Messages window.

  • Grid align inserted elements.

  • Internal code editor now supports indentation and has been optimized to handle more data.

  • Drop of syx-file will either open the flow or insert it as a subflow depending on the location (tab bar or flow view). Dashed border indicator shows the current location.

  • Multiple subflow links can be inserted from context menu by selecting multiple files or by drag and drop in the flow view.

  • Improved view for environment variables distinguishes reserved, local, local override and inherited (from parent) variables.

  • Substitude node counts on subflows with a new status icon for partially executed subflow.

  • Allow force migrating past migrations that will change the node’s behavior.

  • Migration icon is only shown if the node _must_ be migrated before it can be executed. In this case it will have a red migration icon. The green and yellow migration icons are no longer used.

  • Nodes that need to be manually migrated before being able to run, will now be in a permanent error state until migrated. See Migrations for more info.

Enterprise Edition

  • Sympathy Graph 365 client is added to the Azure toolkit (Sympathy Enterprise) and offers the ability to work with files in OneDrive or SharePoint on Microsoft 365.

  • Sympathy Graph 365 nodes included in Azure toolkit (Sympathy Enterprise):

    • Check in File

    • Check out File

    • Create File Link

    • Create Folder

    • Delete File

    • Delete Folder

    • Download File

    • Get OneDrive Drive

    • Get Drive Root Folder

    • Get Custom Resource

    • Graph 365

    • List Drive Items in Folder

    • Search for Drive Items in Folder

    • Search for Drive Items

    • Select Item from Response List

    • Select Drive Item in Folder

    • Select SharePoint Drive

    • Select SharePoint Site

    • Upload File

    • Graph Data to JSON

    • Graph Data from JSON

  • Floating licenses with support for long time checkout (Sympathy Enterprise).

  • Improved license status feedback and recovery (Sympathy Enterprise). License checks that fail due to internet connection issues can be recovered. Message feedback is shown in both cases.

Node/plugin changes

  • Select columns in Table with Regex allows search pattern (new default) instead of full match.

  • Bug fixes:

    • Fix XLSX export failing due to duplicate defined names. Duplicate names will be enumerated: X, X2, X3.

    • Fix CSV import failing to import large data that starts with numbers and eventually contains strings.

    • Fix Cartesian product Table produce incorrect result with duplicate column names.

  • Remove six from available modules, in calculator, etc.

  • Rename sort order options from Ascending and Descending to Standard and Reverse.

  • F(x) nodes can use internal editor for editing external files.

  • Failing Extract node, shows user friendly message for known problems.

  • Calculator plugins are no longer allowed to use the ${} syntax in gui_dict(). Use simple placeholder variable names instead.

New nodes/plugins

Deprecated nodes/plugins

  • GeoJSON

Removed nodes/plugins

  • Figure(s) (depreacted)

  • Figure from Table with Table

  • Export Figures with Datasources

  • Calculator Table(s)

  • Jinja2 template (deprecated) (New migration to Jinja2 template added)

  • Convert specific columns in Table(s) (New migration to Convert columns in Tables added)

  • TimeSync ADAF(s)

  • HJoin ADAF(s), HJoin ADAFs pairwise

  • VSplit ADAF

  • Select rows in ADAFs

  • ADAF(s) import plugin: ATF

  • ADAF(s) import plugin: ATFX

Platform changes

  • Json configuration binding can specify dictionary element holding the data root. This makes it possible to apply different binding configuration for different nodes with the same json input.

  • Disable completion for datasource parameters to avoid delays and rendering problems.

  • Fix parameter integer change signals support for large values.

  • Support for creating empty Lambdas, which produce empty output. They can be used in error handling.

  • Automatic line wrapping of tooltips for parameter views.

  • Pre-calculate node plugins to avoid unnecessary file imports of unrelated plugins.

  • Close configuration dialogs and viewers when the nodes are removed.

  • Treat unavailable internal file as empty to avoid exceptions from appearing all over.

API changes

  • Table API:

    • Add to_array and from_array, for converting between table and 2D numpy array.

    • Deprecated to_matrix and from_matrix, since numpy intends to deprecate matrix. https://numpy.org/doc/stable/user/numpy-for-matlab-users.html#array-or-matrix-which-should-i-use. Use to_array, from_array instead.

    • Remove input_index argument from vjoin.

    • Improve behavior of set_column_from_series with object type data:

      • Consider all values when determining type for more consistent type conversion.

      • Deprecate conversion with mixed types involving strings

      • Deprecate conversion with mixed types involving datetime or timedelta

    • Add support for delete named columns using del.

    • Fix vjoin of non-empty table.

  • ADAF API:

    • Remove File.vjoin, File.hjoin, SystemGroupContainer.hjoin, TimeseriesGroup.hjoin and File.vsplit.

    • Remove input_index argument from vjoin.

  • Parameter API:

    • Remove default float editor precision limit

    • Removed deprecated ParameterEntity.parameter_dict. Nodes should rely on The ParameterEntity API to interact with parameters rather than their dictionary representation.

    • Add ParameterEntity.to_dict which returns a new dictionary, without shared internal state with the ParameterEntity.

    • Expose ParameterList.multiselect_mode to users. ParameterList._multiselect_mode has been deprecated.

  • Data API (Table API, ADAF API, etc.):

    • Made filename an explicit argument of constructors, first keyword argument.

  • Remove six package from use in python code written in node configurations, like the Calculator API.

  • Deprecated:

    • sympathy.api.qt

  • Removed deprecated:

    • node_helper.table_node_factory

    • node_helper.tables_node_factory

    • node_helper.adafs_node_factory

    • node_helper.TableOperation

Python versions

  • Support for Python 3.9.

  • Draft support for Python 3.10.

  • Removed support for Python 3.7 and older. We now target 3.9.

  • Switch to PySide 6 (Qt for Python).

  • Dropped compatibility with older python package versions.