.. This file is part of Sympathy for Data. .. Copyright (c) 2010-2017 Combine Control Systems AB .. .. SYMPATHY FOR DATA COMMERCIAL LICENSE .. You should have received a link to the License with Sympathy for Data. News in 3.2.0 ------------- Features ^^^^^^^^ * Support for logging in with :ref:`Azure credentials ` with an external web browser. This can be helpful for installations where specific browsers are required. * Support for :ref:`passing credentials via environment variables `. User interface ^^^^^^^^^^^^^^ * Improved feedback after problems: * Show dialog with traceback when problem occurs during launch. * Show message when switching to a workflow without usable folder. * Note when library creator loads library with unsatisfied requirements. * Show resample (downsampling) for histogram plots in the table viewer. * New item to show privacy notice from the help menu. Platform changes ^^^^^^^^^^^^^^^^ * Text port type: * Can be linked to avoid duplication. * Supports data sizes of 2 GiB or larger. * Locked subflows: * Locked subflows are shown as executing until fully done, including write of output data. * Ensure locked subflows are not nested. * Use OpenGLES on Windows to avoid problems with the internal web browser on installations without support for OpenGL. * Documentation: * Debugging instructions for :ref:`Visual Studio Code `. * Documentation for :ref:`Encodings `. * Bug fixes: * Fix marker choice ignored for line plots in the table viewer when x-axis data is in datetime format. * Fix problem using table config port with nested parameter groups. * Fix error message for parameters containing non-json serializable data. Enterprise Edition ^^^^^^^^^^^^^^^^^^ * Proxy handling for HTTP(s) requests (Sympathy Enterprise). * Improved license status (Sympathy Enterprise): * Preferences shows more details about the license. * License info shown in toolbar and on the splash screen. * User oriented feedback message after license problems. * Experimental Deep Learning nodes `Tabular Classifier`, `Tabular Regressor`, `Image Classifier` in Advanced Machine Learning toolkit (Sympathy Enterprise) now support: * Cross-validation * Early stopping * More feedback and increased consistency for empty inputs and other errors in toolkit nodes (Sympathy Enterprise). Node/plugin changes ^^^^^^^^^^^^^^^^^^^ * Fix color cycle choice ignored in Figure. * MDF3 Exporter: * Choose encoding from list of options. * Export encoding as code page number. * Exported version changed from 3.00 to 3.30 (includes code page number). * MDF3 Importer: * Choose encoding from list of options. * Option to use code page number stored in imported file. * System name is configurable. * Html Report: * Remove tempfile option. * Improved generation of standalone HTML on Windows. * Several nodes show user oriented feedback instead of generic error messages. API changes ^^^^^^^^^^^ * New helper API: `sympathy.api.masked` contains utilities for handling masked arrays. News in 3.1.0 ------------- Major features ^^^^^^^^^^^^^^ * Support for :ref:`Azure credentials ` for connecting to different Azure services by logging in through a web browser, this requires a client implemented in Sympathy: * Sympathy PowerBi client is included in new Azure toolkit (Sympathy Enterprise). Experimental feature ^^^^^^^^^^^^^^^^^^^^ * Support for lazy-loaded datasets and deep learning models (Sympathy Enterprise) Deprecated Nodes/Plugins ^^^^^^^^^^^^^^^^^^^^^^^^ * Slice Data Table(s) (deprecated) * Slice List (deprecated) New nodes ^^^^^^^^^ * More specific nodes which replace the deprecated Slice nodes: * :ref:`org.sysess.sympathy.index.columns.table` * :ref:`org.sysess.sympathy.index.rows.table` * :ref:`org.sysess.sympathy.list.index` * :ref:`org.sysess.sympathy.reverse.columns.table` * :ref:`org.sysess.sympathy.reverse.rows.table` * :ref:`org.sysess.sympathy.list.reverse` * :ref:`org.sysess.sympathy.slice.columns.table` * :ref:`org.sysess.sympathy.slice.rows.table` * :ref:`org.sysess.sympathy.slice.list` * PowerBi nodes included in Azure toolkit (Sympathy Enterprise): * Create Dataset * Create Workspace * Delete active Dataset * Delete active Workspace * Get Datasets as Table * Get Workspaces as Table * PowerBi * Push rows to Dataset Table * Set active Dataset * Set active Workspace * Dataset and Deep Learning nodes included in Advanced Machine Learning toolkit (Sympathy Enterprise): * Table Dataset * Image Dataset * Transform Table Dataset * Transform Image Dataset * Convert column type in Table Dataset * Split Dataset * Fit Dataset * Predict Dataset * Tabular Classifier * Tabular Regressor * Image Classifier * Dataset to tables * Tables to dataset * Dataset to dict Node changes ^^^^^^^^^^^^ * JSON nodes can operate on empty string keys: * *Select key JSON (deprecated)* * *Remove key JSON (deprecated)* * *Split on key JSON (deprecated)* * `Table(s)` imported with :ref:`SQL ` plugin gives more feedback after errors. Platform changes ^^^^^^^^^^^^^^^^ * Table binding is available for all nodes that have parameters, like JSON binding. It was previously unavailable for nodes with custom GUIs, like the calculator, etc. * Faster view for multi-select list parameters, especially when showing large numbers of items. Python versions ^^^^^^^^^^^^^^^ * Draft support for Python 3.9. Bugfixes ^^^^^^^^ * Tooltips for broken links and missing nodes mention the missing status instead of showing the generic tooltip for error. * Fix problem preventing startup on Mac OS Big Sur. API changes: ^^^^^^^^^^^^ * Deprecated `ParameterEntity.parameter_dict`. Use the parameter's normal API instead of its dict. * Table: `set_column_from_series` and `from_dataframe` supports object type series so long as the values are of a single supported type or markers for missing data. * Table: `to_dataframe` supports masked arrays by converting masked values to markers for missing data. * Combobox editor can have placeholder text. News in 3.0.1 ------------- Bugfixes ^^^^^^^^ * Improve Calculator Table migration's ability to decide if a column comes from ``arg`` or ``res`` in some simple cases. * Fix a bug where configuring a node with migrations would run yellow migrations which are intended to require manually triggering them. * Fix a bug where the properties dialog for nodes with overrides couldn't be opened. * Fix a situation where Sympathy would think that a flow had changes that needed saving, when there were no such changes. * Migrations implementation is more robust in case of missing nodes or corrupt parameters. * Fix preview not auto-updating after parameter change. * Fix bugs handling parameter visibility using controller. Labels were not affected and show could result in a floating window. * Fix exception refreshing viewer. * Clearer error when creating sydict with empty key. * Fix case where configuration of locked subflows using wizard could wait forever for previous nodes to become done. News in 3.0.0 ------------- Major features ^^^^^^^^^^^^^^ * :ref:`Credentials `: * Support for storing credentials. Used when requested by nodes. * Makes it more convenient to share workflows that access databases, etc. without also sharing your passwords. * Usable in :ref:`org.sysess.sympathy.files.downloadfile`, `Table(s)` by using :ref:`plugin_tabledataimporterbase.dataimportsql` and `Export Table(s)` by using :ref:`plugin_tabledataexporterbase.dataexportsql`. * Also usable in importer nodes (`Table(s)`, `ADAF(s)`, `Text(s)`) when input is an URL to download. * :ref:`Migrations ` system that lets you migrate old and deprecated nodes in your flow into new ones with a simple GUI action. This will automatically update any old configuration on the node. * A node can be migrated if it has a green/yellow icon above its top-right corner. * Migrate a node by right-clicking on it and choosing *Refactor* -> *Migrate node*. * Sympathy 3.0.0 includes migrations for updating the old `Calculator Table` node, the old `Figure` node, and the old `Export Figures with Datasources` node to more modern equivalents. * Currently, third-party nodes can not have migrations. User interface ^^^^^^^^^^^^^^ * Improved :ref:`messages view `: * Only show messages from the current flow. * Each severity level can be shown/hidden independently. * When clearing the messages view, messages are archived instead of deleted. To view an older message, just click the "Show archived" icon in side toolbar. * Node messages are automatically archived when the node is reloaded. * The number of archived messages that are retained before being deleted can be changed under *Preferences* -> *General* -> *Max archived messages*. * New, convenient, user interface for :ref:`auto-connecting ` node ports: * Hold *Shift* when dragging a node to get a suggested connection between the closest valid ports. Release mouse to confirm and create new connection! Pressing *c* also confirms without releasing the mouse, and is useful to connect multiple ports. * Project colors in flow tabs. When working on two or more different projects at the same time Sympathy will now color all the flow tabs to indicate which flows belong to the same project. * Reported issues are sent to our new service desk. Reporting issues now requires that you enter your email address. This gives us a chance to get back to you with status updates and questions about your issue. Please feel encouraged to report issues if you notice something wrong or something to be improved. * Highlighting flow elements under the cursor for better visual feedback and to help selection. * Improvements for configuration GUIs: * Better alignment of labels and their corresponding values. * Remove unnecessary groups inside of tabs for cleaner interfaces. * Some table views with fixed headers expand to full width. * Updates to Preferences: * New sections for User, System and Privacy -information. * :ref:`Python section ` lists and allows installation of new packages using pip. * Present profiling results even if any of the profiled nodes encountered errors. * Add grid toggle to view menu with a keyboard shortcut. * Nodes retains their state in some cases where they would previously loose executed state. This saves you from unnecessary re-execution. Platform changes ^^^^^^^^^^^^^^^^ * Overrides are always enabled on linked subflows. * More granular logging. Logging is configured via the cli flag --loglevel/-L which can now take two arguments: a logger name and a level and the flag can be repeated allowing for specialized logging configurations. * Better performance in large flows: * Avoid crashes when too many nodes change their state. * Faster state updates for operations that affect many nodes. * Cycle detection avoids creation of cycles in the flow. * Encrypted communication between workers and platform. * New connection parameter type which can use credentials to safely configure a connection to databases, webservers, etc. * Removed support for setting min_version for flows. * Documentation: * Updated instructions for debugging using PyCharm Node changes ^^^^^^^^^^^^ * Add sum operation to Descriptive Statistics. * Explicit handling of missing sheet in XLSX importer. * Renamed Manually Create Table to Create Table. * Renamed Manually Create JSON to Create JSON. * Unique table handles more data types * Credentials support: * Datasource * Import nodes * Download URL * SQL importer and exporter * MongoDB nodes (Sympathy Enterprise) Bug fixes ^^^^^^^^^ * :ref:`Figure`: Bar label font now correctly applies to histogram bar labels. * Fix event :ref:`lookup ` incorrectly matching rows if *Perfect match* was disabled and there were two or more rows before the first entry in the lookup table. * Make sure that some machine learning nodes don't give warnings with newer versions of scikit-learn. * Fix: Sympathy cannot start if session path is unavailable * Fix: MDF3 importer got stuck processing some corrupt input files New installer ^^^^^^^^^^^^^ * MSI installer * Installs for the current user. MSIEXEC /I ALLUSERS=1 can be used to install for all users. Python versions ^^^^^^^^^^^^^^^ * Support for Python 3.8. * Compatible with numpy >= 0.18.0. Examples ^^^^^^^^ New example for Outlier Removal (Sympathy Enterprise) Deprecated APIs ^^^^^^^^^^^^^^^ * adaf.File.vjoin, adaf.File.hjoin, adaf.File.vsplit * input_index argument to table.File.vjoin * sylib.synchronize * sylib.time_synchronize_gui Deprecated Nodes/Plugins ^^^^^^^^^^^^^^^^^^^^^^^^ * Figure from Table with Table * VJoin ADAF(s), VJoin ADAFs pairwise * VSplit ADAF * HJoin ADAF(s), HJoin ADAFs pairwise * TimeSync ADAF(s) * Select rows in ADAFs * ADAF(s) import plugin: ATF * ADAF(s) import plugin: ATFX