News in 5.2.1¶
User interface¶
Optimize scrolling of large tables in the Table viewer, the difference is especially noticeable in tables containing string data.
Platform changes¶
Fix regression causing sydata files created by Export ADAFs to become larger.
Node changes¶
Fix a bug where XML to Json importer would sometimes drop some of the imported data.
Fix regressions in Interpolate ADAFs with table:
Correctly treat rasters whose bases end on the number 1.
Allow outputting the same signal to multiple rasters using Interpolate ADAFs with Table
News in 5.2.0¶
User interface¶
Load text field resources (images, etc.) relative to the folder of the its flow, instead of its root flow. This changes the behavior for linked flows saved in different folders than the current root flow.
Fix Finish button only clickable in last page of wizard subflow configuration.
In Table viewer, add horizontal scroll bar (as needed) when selecting signal names for plotting.
Node changes¶
Improvements to Interpolate ADAF:
Add basic documentation.
Reduce memory used for processing wide rasters, when writing to disk.
Optimize run-time of higher-order interpolation methods (especially cubic).
Interpolate masks for quadratic and cubic methods.
Fix random order of parameters in configuration of Configure Json Parameters.
Fail early when missing azure token in Graph 365 and PowerBi node.
API changes¶
Preserve masks in
Table.to_array()
.
Package updates¶
A few packages were updated to address security vulnerabilities in the previous versions. Please check that any custom code that you have that depends on these libraries still works:
cryptography: 41.0.1 -> 41.0.6
Jinja2: 3.1.2 -> 3.1.3
Pillow: 9.5.0 -> 10.0.1
PyArrow: 12.0.1 -> 14.0.2
python-certifi: 23.05.07 -> 23.07.22
Urllib3: 2.0.3 -> 2.0.6
News in 5.1.0¶
User interface¶
Add Hold button to plot data from different rasters together in the ADAF viewer.
Add Table viewer.
to the context menu of theAdd Help browser for viewing the documentation from within Sympathy.
Example links clicked in the help browser will bring up that example flow in the current Sympathy session.
If you wish to continue opening documentation in your system browser, go to Use internal help browser.
and uncheck the option
Improve the Message area shown in some node configurations:
The area can now be resized to show more than one line.
Improved text display when showing a single line.
Add option to
for linked subflow.Fix auto-connect mode could remain enabled after using keyboard shortcuts which included Shift, for example, Ctrl+Shift+N: to insert a new node.
Fix missing user feedback after failure to open workflows.
Platform changes¶
Improvements to backup system:
Better user feedback in case restore of a backup fails for some reason
Backup unsaved flows when autosave is enabled
Avoid problematically long backup filenames
Fix a bug where backups would be restored relative to the current drive instead of the original drive of the flow.
Fix a handful of edge cases resulting in flows not being backed up or backups not being removed. Mostly related to handling of linked subflows.
Improved handling of paths saved in syx-files:
Update paths to linked subflows when saving flow to a new folder. This means that the linked subflows will continue to work after saving the parent flow to a new location.
Improve interoperability between operating systems by only storing link paths with forward slash as path separator, instead of using platform-specific separators.
Make paths relative when possible and update them on save. This avoids path inconsistencies for linked subflows (href), flow libraries, flow pythonpaths and flow svg icons, after saving flows to different folders.
Fix random page ordering in Wizard subflow configuration.
Reduce unnecessary memory use in lambdas and locked subflows
Improve performance of progress handling and when switching between different root flows.
Deprecated migration from old settings format, it will be removed in 6.0.0.
Node/plugin changes¶
Improvements to Frequency Transform node:
Output frequencies calculated from a selected time column.
Make “Center” default, making output simpler to use for calculations or plotting.
More descriptive transform names, improved tooltips etc.
Improve node documentation and example flows.
Improvements to Calculator:
Common function tooltips:
Shows the Python Code expression on the first line.
All functions included now have examples.
Rename Signal to Column for consistency.
Double-click in Column name or Calculation moves focus to the respective editor below.
Make logic operators and, nand, or and nor handle more than two arguments.
Add documentation for File Datasources and show only the current database interface.
Deprecate empty filter column in Filter List with Table, this will cause an error starting with version 7.0.0.
Improve layout in export nodes and show only relevant parameters.
Improve UI and behavior of SQL importer and exporter.
The following nodes no longer modify input data (problematic in Apply, Map and locked subflows):
Color space conversion
Morphology (single input)
Frequence Transform
Image index lookup
Denoise image
Compatibility:
Denoise image algorithms supports skimage >= 0.19.
Fix Image segmentation (kmeans) supports skimage >= 0.20.
Fix Match Template (kulsinski) supports scipy >= 1.11.0.
Python versions¶
Support for PySide6 > 6.4.2.
News in 5.0.1¶
User interface¶
Fix relative images in text fields are not loaded correctly.
Fix change of system in ADAF viewer can forget plotted lines.
Fixes for linked subflows:
Fix exception when nesting linked subflows.
Fix href paths could become absolute after save.
Fix filename shows instead of label, for new linked subflows.
Platform changes¶
Fix node error handling of exceptions with non-string argument, which could prevent user-friendly feedback in, for example, Select rows in Table(s).
Node changes¶
Fix deprecation warning in Select rows in Table with Table.
Fix handling of failed calculation (skip and exception) for Calculator and Calculator List.
News in 5.0.0¶
User interface¶
Table viewer:
Rename Resample to Downsampling which better reflects the meaning.
Add new preferences button which shows the new plot preferences.
Add ability to set min and max value for bin range (histogram) in plot preferences.
Show progress bar in the main toolbar to indicate busy status when loading flows.
Node preview shows status (waiting, running and failed). Errors resulting from preview execution are shown in the preview instead of as messages.
Nodes no longer use invalid state to indicate an invalid configuration. They will instead produce an error message, when executed, to inform user. The state for disconnected nodes is shown as Disconnected, replacing previous Valid or Invalid.
Put labels for multi-line parameter widgets above instead of to the left, to reduce empty space.
Improve UI of Function Wizard, Node Wizard, and Library Wizard.
Add keyboard shortcuts for common actions on the current flow element: configure, edit, execute and show properties.
Node changes¶
Improve expansion of environment variables in Create Table. Backslashes characters are now properly handled. Insert a new node or migrate an existing to get the new behavior.
-
Add preview which updates when the function changes.
Make it possible to set bin labels for bar plots in bar container in Figure(s).
Figure nodes fails instead of warning when executed with invalid configuration, to make it easier to find errors.
Export ADAFs uses default filename strategy instead of exporting to a shortened list of filenames if the Strategy chosen by user cannot create unique filenames.
New nodes¶
Removed nodes/plugins¶
Remove configuration GUI for: Slice Data Table(s) (deprecated) and Slice List (deprecated). Executing or attempting to configure will suggest the user to migrate.
GeoJSON
VJoin ADAF(s), VJoin ADAFs pairwise
Examples¶
Add an example flow BasicDictOperations.syx.
Use environment variable SY_TEST_DIR to store created files under the test folder instead of deleting them in the example flow FileOperations.syx.
Platform changes¶
Logging:
New documentation.
Add ability to specify advanced logging configuration with a JSON file using the command line argument –logging-config-file.
Remove the command line argument –node-loglevel/-N used to specify the node log level.
Move granular logging from –loglevel/-L to a separate flag –logger with a fixed number of arguments. This makes it possible to specify the positional filename argument after a granular logger
Move all Sympathy loggers (app, core, etc.) under the new sympathy logger. The –loglevel/-L argument now specifies the level for the new sympathy instead of core and the –logger argument will also configure loggers under sympathy.
Write platform output to output.log in the session folder, when running without a console.
Graphviz is no longer included in the installer and has to be installed separately, see Installing Graphviz.
Documentation:
Add instructions on Regular expression syntax.
Move nodes, plugins and flows under library folder to avoid conflict with library-APIs if they are imported.
API changes¶
Node API:
Unconnected node inputs result in empty elements (of the port type) instead of dummy ports. These can be used directly and there is no need to call is_valid since it will always return True.
Add ability to return tuple[bool, str] instead of bool from verify_parameters to provide a status message when parameters are invalid.
Parameter API:
Remove deprecated alias ParameterList._multiselect_mode. Use ParameterList.multiselect_mode instead.
Remove deprecated Editors.selectionlist_editor. Use list_editor or or multilist_editor instead.
Store the definition value for list of ParameterList elements in node parameters. This can help reduce the size of flows by, for example, avoiding to store long lists of column names.
Store the definition editor for ParameterValue and ParameterList elements in node parameters. This can help reduce the size of flows and also makes it more convenient to change editors.
Deprecate ParameterEntity.value_changed, ParameterGroup.trigger_value_changed and ParameterGroup.add_handler_to_subgroup. The use case is now covered by ParameterWidget.parameter_changed on the parameter gui.
Make it possible to disable environment variable expansion in ParameterString and ParameterConnection objects by creating them with expand=False.
Table API:
Remove deprecated method from_matrix. Use from_array instead.
Remove deprecated method to_matrix. Use to_array instead.
Add argument missing_type to method from_rows to specify a single type for columns that have no data or only missing data. Columns of unspecified type with no rows are removed instead of created with void type.
Type API:
Rename type classes to more natural names, for example, table.File is now named table.Table and File is now an alias for Table.
Make port constructors in type modules that conflict with the new type name deprecated aliases. For example, image.Image is a deprecated alias for ImagePort. For the conflicting cases, the type needs to be referenced as File, until the alias is removed: in 6.0.0.
Python versions¶
Add support for Python 3.11.
Remove support for Python 3.8 and older.