.. _`news_7_1_0`:
News in 7.1.0
=============
User interface
--------------
* Add keyboard shortcut (:kbd:`Shift+P`) for opening a viewer for the output
port of the currently selected node. If the current node has more than one
output port a viewer is opened for each one.
* The Image viewer now has a :guilabel:`Color space` dropdown (visible when
viewing a 3- or 4-channel image in full-color mode) that converts the image
to RGB before display. Supported color spaces are HSV, XYZ, and LAB. For LAB
images, :guilabel:`Illuminant` and :guilabel:`Observer` options are also
available.
Platform
--------
* Fixed a rare bug where the :guilabel:`Reload flow` action would ignore nodes
or subflows where all input ports were optional and had been removed.
Node Changes
------------
* Improvements to :ref:`org.sysess.sympathy.data.fx`:
* :ref:`org.sysess.sympathy.data.fx` and :ref:`org.sysess.sympathy.data.generic.fxlist`
now support configuring a different output type via the *Output type* parameter,
enabling type-transforming use cases where input port and output port are
different types (e.g. table to figure).
* The ``@fx.decorator`` used in :ref:`org.sysess.sympathy.data.fx` and
:ref:`org.sysess.sympathy.data.generic.fxlist` scripts no longer requires an
argument. It can now be used as ``@decorator``, ``@decorator()``, or
``@decorator(['
'])``. When no argument is given, the script can be used
with any input type.
* Updated the disk algorithm in :ref:`syip.imagegenerate` to allow generating both even and odd pixel dimensions.
* Improvements to :ref:`syip.transform`:
* Add padding to all the sides i.e (left, right, top, bottom).
* Add a new transform which grows the image to the given size and places the
old image into it according to an alignment parameter i.e (top left,
center, top right, bottom left, bottom right etc).
* :ref:`syip.overlay` and :ref:`syip.overlay_list` can now combine images with different channel counts.
* Deprecate the 2d option in :ref:`com.sympathyfordata.timeseriesanalysis.frequency_transform` and deprecate *not* checking the :guilabel:`center` option. These options will be removed in 9.0.0 and frequencies will then always be centered using fftshift. For 2d transforms :ref:`com.sympathyfordata.imageanalysis.frequency_transform_image` can be useful.
* Fixed the :guilabel:`No credentials` option in :ref:`org.sysess.sympathy.machinelearning.llm`.
API Changes
-----------
* :class:`sylib.imageprocessing.image.Image` now always normalizes images to
three dimensions (height, width, channels) in both ``set_image()`` and
``get_image()``. Code that receives images from ``get_image()`` can rely on
the array always having three dimensions.
* All port functions in :class:`nodeconfig.Port` as well as
:func:`sylib.imageprocessing.image.ImagePort` now accept the `n` argument to
set the min, max and default count of a port.
Installer and python environment
--------------------------------
* Added support for Python 3.13.
* Update a few packages to support Python 3.13 and to mitigate upstream
security vulnerabilities. Updated packages:
* skorch 1.1.0 -> 1.3.1
* bokeh 3.7.2 -> 3.8.2
* cryptography 44.0.2 -> 46.0.5
* filelock 3.18.0 -> 3.20.3
* fonttools 4.57.0 -> 4.60.2
* jaraco-context 6.0.1 -> 6.1.0
* pillow 11.3.0 -> 12.1.1
* pyjwt 2.10.1 -> 2.12.0
* tornado 6.5 -> 6.5.5
* urllib3 2.5.0 -> 2.6.3
Other Changes
-------------
* New :ref:`cli command` for installing optional dependencies: ``sympathy install --deps DEP-GROUP``. Currently the only two optional dependency groups are `torch` and `opencv`. Note that these will also be installed automatically if required by an executing node.