Releases: silx-kit/silx
3.0.1: 2026/05/07
This is a bug fix release fixing silx view v3.0.0 not disabling hdf5 file locking.
What's Changed
-
silx view: -
silx.gui.hdf5.Hdf5Item: Fixed performance issue by caching icons (PR #4592) -
silx.gui.plot3d.scene: Added typing totransformandutilsmodules (PR #4560) -
Tools: Updated tool to prepare release notes (PR #4578)
New Contributors
Full Changelog: v3.0.0...v3.0.1
3.0.0: 2026/04/24
This version of silx requires Python >=3.10 and uses PySide6 as its default Qt binding.
What's Changed
-
silx view:- Added support for 3D scatter (PR #4507)
- Added copy buttons and context menu (PR #4503, #4522)
- Updated NXdata group visualisation (PR #4534, #4278)
- Updated: Use light color scheme (PR #4487, #4550)
- Removed Image Stack visualization for 3D+ datasets (PR #4408)
- Fixed display of RGB images stored in NXdata (PR #4433)
- Fixed display of hdf5 info on Windows (PR #4523)
- Fixed refresh HDF5 file content on NFS mounts (PR #4563)
- Fixed selected view button display on Windows (PR #4572)
-
silx.gui:-
Updated default Qt binding to
Pyside6(PR #4170) -
silx.gui.colors.Colormap: Added support for user-defined percentile values for 'PERCENTILE' mode (PR #4379, #4470) -
silx.gui.data:-
Deprecated
DataViewerSelector.setFlat(PR #4572) -
DataViewer: Splitted composite ImageView into Plot2dView and ComplexImageView (PR #4453) -
DataViews:- Changed: Make NXdata valid even if no widget can plot it in
DataInfo(PR #4497) - Changed: Use first auxiliary signal as scatter sizes for 3D scatter (PR #4538)
- Changed display of NXdata stacks to use image view (PR #4412)
- Added specific view for RGB(A) images (PR #4517, #4525, #4537, #4584)
- Break it down in several modules (PR #4504)
- Fixed test (PR #4510)
- Changed: Make NXdata valid even if no widget can plot it in
-
Hdf5TableView: -
NXdataWidget: -
NumpyAxesSelector: -
Fixed issue with NXdata 2D signal and "rgb-image" interpretation (PR #4506)
-
-
silx.gui.dialog: -
silx.gui.hdf5.Hdf5TreeModel: Improved logging when loading files async (PR #4552) -
silx.gui.plot:-
Added
LegendsWidgetdisplaying legends of aPlotWidgetitem (PR #4404, #4479) -
CurvesROIDockWidget: -
ImageView: -
ImageStack: Improved memory usage (PR #4498) -
PlotWidget:- Added support of inverted X axis (PR #4394)
- Added highlight of axes offset value (PR #4346)
- Changed tooltips for X and Y orientation actions (PR #4512)
- Improved item colormap cache (PR #4371)
- Improved support of screen with erroneous resolution (PR #4562)
- Fixed matplotlib backend issue with plot axes limits (PR #4256)
- Fixed axis with OpenGL backend (PR #4246)
- Fixed support of numpy 2.3 (PR #4330)
- Fixed colormap out-of-bound color with OpenGL backend (PR #4359)
- Fixed wrong tooltip description for ellipse mask (PR #4272)
-
PlotWindow: Moved the 'Options' menu to the toolbar (PR #4532, #4581) -
silx.gui.plot.actions: -
StatsWidget: -
silx.gui.plot.tools.toolbars: FixedImageToolBar(PR #4443) -
silx.gui.plot.tools.roi: FixedRegionOfInterestManager(PR #4301) -
Added X axis inversion action to
PlotWindowandImageToolbar(PR #4425) -
Updated mask documentation (PR #4582)
-
-
silx.gui.plot3d: -
silx.gui.utils: -
silx.gui.widgets:- Added
OverlayMixInwidget class to ease overlaying content on aPlotWidget(PR #4354, #4355) - Added
ButtonOverlayandLabelOverlay(PR #4296) - Added
CollapsibleWidgetwith an inner layout that can collapsed/expanded by clicking on a button (PR #4357) - Added
FilenameCompleterthat provides autocompletion for file paths (PR #4323) - Added
IntEditwidget (PR #4502) - Removed
ElidedLabel'sgetTextandgetToolTipmethods (PR #4268)
- Added
-
-
silx.io:-
silx.io.dictdump: -
silx.io.fabioh5.FabioReader: -
silx.io.h5py_utils: -
silx.io.nxdata.parse.NXdata:- Added units to dataset name for signal and axes when present (PR #4282)
- Added support for "rgb-image" NeXus interpretation (PR #4505)
- Changed: NeXus
@interpretation=scalaris now ignored (PR #4508) - Improved: Convert
scalerinterpretation toscalar(PR #4509) - Deprecated attributes related to kind of plot and
signal_is_Nd(PR #4535) - Fixed test (PR #4448, #4458)
-
silx.io.url.DataUrl: Addedinvalid_reasonproperty that tells why a DataUrl is not valid (PR #4403) -
silx.io.utils: Fixedh5pydcompatibility (PR #4484)
-
-
silx.math:silx.math.calibration.ArrayCalibration: Improvedis_affineimplementation (PR #4466, #4478)silx.math.combo: Addedmean_stdfunction for single pass mean+standard deviation computation (PR #4390)silx.math.fit.test.test_fitmanager: Fixed test (PR #4557)silx.math.histogramnd: Fixed compilation warning (PR #4318)- Improved cython code (PR #4400)
-
silx.opencl: -
silx.resources: Fixed not existing resource file access (PR #4330) -
silx.test: -
silx.utils: -
Dependencies:
-
Documentation:
-
Code quality:
- Added black formatting (PR #4240, #4314, #4368, #4373, #4468)
- Added flake8 compliance (PR #4287, #4311, #4316, #4375, #4377, #4376, #4378, #4380, #4381, #4383, #4385, #4386, #4389, #4391, #4396, #4401, #4430)
- Added Python type hints (PR #4269, #4284, #4299, #4274, #4302, #4305, #4384, #4392, #4406, #4521)
- Updated tests to use
pytest(PR #4454, #4551, #4543) - Updated syntax to python 3.10 (PR #4259)
-
Build:
-
CI:
New Contributors
- @axelboc made their first contribution in #4268
- @mjdiff made their first contribution in #4272
- @sergey-yaroslavtsev made their first contribution in #4286
- @tj-eldridge made their first contribution in #4311
- @abmajith made their first contribution in https://github.com/silx-ki...
v3.0.0rc2
3.0.0rc1: 2026/04/07
This version of silx requires Python >=3.10 and uses PySide6 as its default Qt binding.
What's changed
-
silx view:- Added support for 3D scatter (PR #4507)
- Added copy buttons and context menu (PR #4503, #4522)
- Updated NXdata group visualisation (PR #4534, #4278)
- Updated: Use light color scheme (PR #4487, #4550)
- Removed Image Stack visualization for 3D+ datasets (PR #4408)
- Fixed display of RGB images stored in NXdata (PR #4433)
- Fixed display of hdf5 info on Windows (PR #4523)
- Fixed refresh HDF5 file content on NFS mounts (PR #4563)
- Fixed selected view button display on Windows (PR #4572)
-
silx.gui:-
Updated default Qt binding to
Pyside6(PR #4170) -
silx.gui.colors.Colormap: Added support for user-defined percentile values for 'PERCENTILE' mode (PR #4379, #4470) -
silx.gui.data:-
Deprecated
DataViewerSelector.setFlat(PR #4572) -
DataViewer: Splitted composite ImageView into Plot2dView and ComplexImageView (PR #4453) -
DataViews:- Changed: Make NXdata valid even if no widget can plot it in
DataInfo(PR #4497) - Changed: Use first auxiliary signal as scatter sizes for 3D scatter (PR #4538)
- Added specific view for RGB(A) images (PR #4517, #4537)
- Break it down in several modules (PR #4504)
- Changed display of NXdata stacks to use image view (PR #4412)
- Fixed test (PR #4510)
- Changed: Make NXdata valid even if no widget can plot it in
-
Hdf5TableView: -
NXdataWidget: -
NumpyAxesSelector: -
RgbaImagePlot: Added new widget to plot NXdata RGBA images (PR #4525) -
Fixed issue with NXdata 2D signal and "rgb-image" interpretation (PR #4506)
-
-
silx.gui.dialog: -
silx.gui.hdf5.Hdf5TreeModel: Improved logging when loading files async (PR #4552) -
silx.gui.plot:-
Added
LegendsWidgetdisplaying legends of aPlotWidgetitem (PR #4404, #4479) -
CurvesROIDockWidget: -
ImageView: -
ImageStack: Improved memory usage (PR #4498) -
PlotWidget:- Added support of inverted X axis (PR #4394)
- Added highlight of axes offset value (PR #4346)
- Changed tooltips for X and Y orientation actions (PR #4512)
- Improved item colormap cache (PR #4371)
- Improved support of screen with erroneous resolution (PR #4562)
- Fixed matplotlib backend issue with plot axes limits (PR #4256)
- Fixed axis with OpenGL backend (PR #4246)
- Fixed support of numpy 2.3 (PR #4330)
- Fixed colormap out-of-bound color with OpenGL backend (PR #4359)
- Fixed wrong tooltip description for ellipse mask (PR #4272)
-
PlotWindow: Moved the 'Options' menu to a toolbar (PR #4532) -
silx.gui.plot.actions: -
StatsWidget: -
silx.gui.plot.tools.toolbars: FixedImageToolBar(PR #4443) -
silx.gui.plot.tools.roi: FixedRegionOfInterestManager(PR #4301) -
Added X axis inversion action to
PlotWindowandImageToolbar(PR #4425)
-
-
silx.gui.plot3d: -
silx.gui.utils: -
silx.gui.widgets:- Added
OverlayMixInwidget class to ease overlaying content on aPlotWidget(PR #4354, #4355) - Added
ButtonOverlayandLabelOverlay(PR #4296) - Added
CollapsibleWidgetwith an inner layout that can collapsed/expanded by clicking on a button (PR #4357) - Added
FilenameCompleterthat provides autocompletion for file paths (PR #4323) - Added
IntEditwidget (PR #4502) - Removed
ElidedLabel'sgetTextandgetToolTipmethods (PR #4268)
- Added
-
-
silx.io:-
silx.io.dictdump: -
silx.io.fabioh5.FabioReader: -
silx.io.h5py_utils: -
silx.io.nxdata.parse.NXdata:- Added units to dataset name for signal and axes when present (PR #4282)
- Added support for "rgb-image" NeXus interpretation (PR #4505)
- Changed: NeXus
@interpretation=scalaris now ignored (PR #4508) - Improved: Convert
scalerinterpretation toscalar(PR #4509) - Deprecated attributes related to kind of plot and
signal_is_Nd(PR #4535) - Fixed test (PR #4448, #4458)
-
silx.io.url.DataUrl: Addedinvalid_reasonproperty that tells why a DataUrl is not valid (PR #4403) -
silx.io.utils: Fixedh5pydcompatibility (PR #4484)
-
-
silx.math:silx.math.calibration.ArrayCalibration: Improvedis_affineimplementation (PR #4466, #4478)silx.math.combo: Addedmean_stdfunction for single pass mean+standard deviation computation (PR #4390)silx.math.fit.test.test_fitmanager: Fixed test (PR #4557)silx.math.histogramnd: Fixed compilation warning (PR #4318)- Improved cython code (PR #4400)
-
silx.opencl: -
silx.resources: Fixed not existing resource file access (PR #4330) -
silx.test: -
silx.utils: -
Dependencies:
-
Documentation:
-
Code quality:
- Added black formatting (PR #4240, #4314, #4368, #4373, #4468)
- Added flake8 compliance (PR #4287, #4311, #4316, #4375, #4377, #4376, #4378, #4380, #4381, #4383, #4385, #4386, #4389, #4391, #4396, #4401, #4430)
- Added Python type hints (PR #4269, #4284, #4299, #4274, #4302, #4305, #4384, #4392, #4406, #4521)
- Updated tests to use
pytest(PR #4454, #4551, #4543) - Updated syntax to python 3.10 (PR #4259)
-
Build:
-
CI:
2.2.2: 2025/04/07
What's Changed
-
silx.gui.plot.PlotWidget: -
silx.io.h5py_utils: Fixed support of libhdf5 1.14.x (PR #4242) -
silx.opencl: Fixed context creation throughPYOPENCL_CTX environmentvariable (PR #4245)
Full Changelog: v2.2.1...v2.2.2
v2.2.1
What's Changed
- Documentation: Small improvements to Release section of CONTRIBUTING by @loichuder in #4208
- h5py_utils: Fixed base exceptions cannot be h5py exceptions by @woutdenolf in #4209
- gui matplotlib backend warning: fix conflict between y limits and autoscale by @payno in #4204
- silx.gui.plot.PlotWidget: Fixed
saveGraphfor OpenGL backend by @t20100 in #4218 - Documentation: Prepare version 2.2.1 by @t20100 in #4219
- setup.py: avoid sphinx 8.2 by @payno in #4223
- Documentation: Updated release process by @payno in #4224
Full Changelog: v2.2.0...v2.2.1
v2.2.0
What's Changed
-
silx view -
silx.guisilx.gui.colors: Add "percentile" mode for autoscaling (PR #4154)silx.gui.data.DataViewer.DataViewer: Fixed issue with accessing views after using the removeView method. (PR #4131)silx.gui.dialog.ColormapDialog: Fixed typo in method name getDisplayMode (PR #4142)silx.gui.plot.tools.profile: Fixed profile error when plot item is None (PR #4196)silx.gui.plot.items: Fixed Marker.setSymbolSize (PR #4181)silx.gui.plot.ImageStack: Fixed_urlIndexesinitialization. (PR #4189)silx.gui.plot.tools.profile.manager: Fixed threaded execution to avoid seg fault with PySide6.7 (PR #4169)silx.gui.plot.PlotWidget.addCurve: Fixed progression in color, linestyle (PR #4138)silx.gui.plot.PlotWidget: Fixed support of PySide6 (PR #4136)silx.gui.widgets.FrameBrowser: Added a play button toHorizontalSliderWithBrowser(PR #4176)
-
silx.iosilx.io.fioh5: Added tests for NaN and in file (PR #4179)silx.io.fioh5: Improved handling of missing data entries (PR #4156)silx.io.h5py_utils: Fixed support of libhdf5 v1.14.4 (PR #4177)silx.io.h5py_utils: Addedis_h5py_exceptionandretry_h5py_error(PR #4200)silx.io.specfile: FixedSpecFiledeallocation issue (PR #4129)silx.ui.specfile: Fixed by using int instead of long in cython code (PR #4195)silx.io.url: Added HSDS URL support (PR #4119)silx.io.utils: Removedprintstatement (PR #4192)
-
silx.math.fit.peaks: Fixed-Wuse-after-freewarning (PR #4147) -
silx.opencl -
silx.utils -
Documentation
-
Dependencies
-
Tests
- Improved tests by converting warnings to errors (PR #4113)
-
Continuous Integration
- Added build and deployment of Windows installer to the release workflow (PR #4122)
- Added tests and wheel generation for Python 3.13 (PR #4201)
- Removed appveyor (PR #4171)
- Enabled OpenCL tests on Linux and OpenGL tests on Windows (PR #4172)
- Fixed issues and updated CI configuration (PR #4126, #4149, #4164, #4126)
New Contributors
- @felix-engelmann made their first contribution in #4119
- @malte-storm made their first contribution in #4131
- @RebeloAlexis made their first contribution in #4132
- @EdgarGF93 made their first contribution in #4138
- @clemisch made their first contribution in #4154
Full Changelog: v2.1.2...v2.2.0
2.2.0b0: 2025/01/14
What's Changed
- Documentation: Added missing arg in docstring of open_item by @loichuder in #4117
- Tests: Improved tests by converting warnings to errors by @t20100 in #4113
- silx.io.url: Added HSDS URL support by @felix-engelmann in #4119
- silx.io.specfile: Fixed
SpecFiledeallocation issue by @t20100 in #4129 - Dependencies: Removed numpy from build dependency by @t20100 in #4114
- Documentation: Added how-to make a release by @t20100 in #4112
- silx.gui.data.DataViewer.DataViewer: Fixed issue with accessing views after using the removeView method. by @malte-storm in #4131
- Continuous Integration: Added build and deployment of Windows installer to the release workflow by @t20100 in #4122
- CI: Updated release workflow to be more verbose by @t20100 in #4126
- silx.view.Viewer : New feature to display multiple curves in a new window by @RebeloAlexis in #4132
- silx.app.view.CustomPlotSelectionWindow : Added tooltip for name and display file name only by @RebeloAlexis in #4137
- silx.gui.plot.PlotWidget.addCurve: Fixed progression in color, linestyle by @EdgarGF93 in #4138
- silx.app.view.CustomPlotSelectionWindow : Added the documentation by @RebeloAlexis in #4140
- silx.app.view.CustomPlotSelectionWindow : Add dataset directly from silx + drop overlay on plot by @RebeloAlexis in #4141
- silx.gui.dialog.ColormapDialog: Fixed typo in method name getDisplayMode by @vallsv in #4142
- silx.app.view.test.test_plotselection : Added test for CustomPlotSelectionWindow by @RebeloAlexis in #4145
- User documentation for the PlotSelection feature by @RebeloAlexis in #4146
- silx.utils.enum: Deprecated
Enum.from_valuemethod by @loichuder in #4143 - silx.utils.ExternalResources: Allow to set data_home when instantiating the class by @loichuder in #4151
silx.opencl.convolution: Fixed separable convolution on CPU that crashed in some cases by @pierrepaleo in #4150- silx.util.retry: Fixed resetting the timeout timer when iterating by @woutdenolf in #4157
- Documentation: Improved release instructions by @woutdenolf in #4163
silx.math.fit.peaks: Fixed-Wuse-after-freewarning by @t20100 in #4147- CI: Updated configuration; Dependencies: Removed
bitshufflefrom test dependencies by @t20100 in #4164 - silx.gui.plot.PlotWidget: Fixed support of PySide6 by @t20100 in #4136
- Documentation: Updated installation and contribution documentation by @t20100 in #4148
- Tests and continuous integration: Fixed issues and updated CI configuration by @t20100 in #4149
- silx.gui.colors: Add "percentile" mode for autoscaling by @clemisch in #4154
- silx.io.fioh5: Improved handling of missing data entries by @tifuchs in #4156
- HorizontalSliderWithBrowser: slider with play button by @EdgarGF93 in #4176
- silx.io.h5py_utils: Fixed support of libhdf5 v1.14.4 by @t20100 in #4177
- CI: Removed appveyor by @t20100 in #4171
- CI: Enabled OpenCL tests on Linux and OpenGL tests on Windows by @t20100 in #4172
- silx.gui.plot.ImageStack: fix
_urlIndexesinitialization. by @payno in #4189 - silx.opencl: Fixed deprecation warning upon texture creation by @pierrepaleo in #4193
- MNT: use only int instead of long in cython code by @tacaswell in #4195
- silx.gui: support imageaggregate in _plot2d by @EdgarGF93 in #4174
- silx.io.h5py_utils: Added is_h5py_exception and retry_h5py_error` by @woutdenolf in #4200
- CI: Added tests and wheel generation for Python 3.13 by @t20100 in #4201
New Contributors
- @felix-engelmann made their first contribution in #4119
- @malte-storm made their first contribution in #4131
- @RebeloAlexis made their first contribution in #4132
- @EdgarGF93 made their first contribution in #4138
- @clemisch made their first contribution in #4154
Full Changelog: v2.1.2...v2.2.0b0
2.1.2: 2024/10/23
What's Changed
-
Bug fixes
silx.gui: Fixed memory leak: Updated OpenGL text rendering to use Qt when possible
Full Changelog: v2.1.1...v2.1.2
2.1.1: 2024/08/14
What's Changed
-
Bug fixes
silx.io.specfile: FixedSpecFiledeallocation issue (PR #4129)silx.gui.data.DataViewer.DataViewer: Fixed issue with accessing views after using the removeView method (PR #4131)silx.opencl.convolution: Fixed separable convolution on CPU that crashed in some cases by (PR #4150)silx.util.retry: Fixed resetting the timeout timer when iterating (PR #4157)
-
Dependencies
- Removed numpy from build dependency (PR #4114)
Full Changelog: v2.1.0...v2.1.1