=============
Release Notes
=============


v1.0.30 (2025-01-11)
====================

Fixed
-----

- Multiple fixes for data loading functions from Tiled at SRX, XFM and TES beamlines.


v1.0.29 (2024-08-20)
====================

Fixed
-----

- Issue with validation of floating point numbers in dialog boxes when PyXRF is used in non-US locales.

- Issues Matplotlib deprecations of ``AritstList.remove()`` and ``PolyCollection.span_where()``.


v1.0.28 (2024-06-20)
====================

Fixed
-----

- Compatibility with Matplotlib 3.9.0: deprecated ``BrokenBarHCollection`` was replaced with ``PolyCollection``.

Added
-----

- Optimized data loaded from Tiled server for SRX beamline.


v1.0.27 (2024-04-18)
====================

Fixed
-----

- Fixed 'Save spectra for pixels in selected region' ('Maps' tab).

- Selection of axes scale (Pixels vs. Positions) is not reset after each fitting of the map.

Added
-----

- APS AXO quantitative calibration standard.


v1.0.26 (2024-04-07)
====================

Fixed
-----

- Compatibility with recent Numba: removed unsupported ``np.asarray`` function
  in the code compiled by Numba.

Added
-----

- New ``make_hdf`` parameter: ``catalog``.

- New ``pyxrf`` CLI parameter: ``--catalog-name`` or ``-c``.

- Extended support for loading corrupt data from Databroker for TES beamline.


v1.0.25 (2024-01-18)
====================

Fixed
-----

- Formatting of TXT file saved by 'Save Spectrum/Fit': the first column now
  contains the energy values in kEv (previously, the first column contained
  the index of the energy values).

- Fixed issue with Dask v2023.9.3 and recent Numpy/Numba.

Added
-----

- Quantitative calibration standards AXO C1 and C10 were added.

Changed
-------

- Load 12 scaler channels from Databroker (HXN beamline).


v1.0.24 (2023-05-12)
====================

Fixed
-----

- Compatibility with Dask/Distributed v2023.04.x.

Added
-----

- Support for loading data generated by updated Bluesky plans (Community Xspress3 IOC).


v1.0.23 (2022-03-19)
====================

Fixed
-----

- PyXRF is now compatible with PyQT 5.15.


v1.0.22 (2022-02-28)
====================

Added
-----

- Extended functionality of quantitative analysis feature: additional combo box allows
  to select reference emission line from the list of emission lines with existing calibration.
  The calibration for the reference emission lines is used to compute quantitative normalization
  coefficients for all other emission lines. If the reference line is not selected,
  then quantitative normalization is applied only to the emission lines with existing
  calibration (old functionality)

Fixed
-----

- Fixed the code for loading step scan data at SRX. PyXRF can now load the step scan
  data recorded using 2023-1.0 environment.

- PyXRF is now compatible with Matplotlib 3.7.0.

v1.0.21 (2022-12-11)
====================

Added
-----

- ``make_hdf`` now supports ``Fly1D``, ``dmesh`` and ``dscan`` (HXN).

- New parameter ``fail_for_plan_types`` is added ``make_hdf``. The parameter accepts
  a list of plan types ignored by ``make_hdf`` (``make_hdf`` is raising an exception when loading
  a single plan). Currently supported only at HXN.

- Loading data with corrupt rows in the middle of the scan (TES).


v1.0.20 (2022-08-19)
====================

Changed
-------

- Current working directory can now be changed at any time. The respective button is not deactivated after the first HDF5 file is opened.
  The working directory is used to create new HDF5 files (``Load Run..``) and as a default directory for 'Open' and 'Save' dialog boxes.

- SRX beamline: The positions for course stages are now generated based on plan input parameters. The following motors are supported:
  ``nano_stage_x``, ``nano_stage_y``, ``nano_stage_z``, ``nano_stage_topx``, ``nano_stage_topz``.

Fixed
-----

- Compatibility with Numba v0.56.x.

v1.0.19 (2022-08-19)
====================

Added
-----

- New button ``Add All Elements`` is added to Image Wizard. The button adds all element emission lines to the selection.

- ``Auto`` checkbox is added to the windows 'Fitting Parameters for Individual Emission Lines' and 'Shared Detailed Fitting Parameters'.

Changed
-------

- The value of the parameter ``Userpeak.._delta_center`` is now displayed as absolute energy (true peak position in keV)
  instead of relative energy (difference between the absolute energy and the 'base' energy 5 keV) in the window
  'Fitting Parameters for Individual Emission Lines'.


v1.0.18 (2022-08-08)
====================

Changed
-------

- The algorithm for loading SRX raw data from databroker now fixes corrupt rows by replacing the data
  with data from the preceding or next valid row.

- The plot that displays total spectrum and fitting is not hidden while the computation is running.
  It is replaced with the new fitting data once the computations are finished.


v1.0.17 (2022-06-16)
====================

Added
-----
- Support for Python 3.10

Fixed
-----
- Updated the code for loading raw data at SRX beamline to be compatible with Databroker V1
  (intake version).
- Fixed the code for loading of raw data at HXN beamline.
- Fixed the issue with batch fitting of multiple files (``pyxrf_batch``) observed after upgrade of
  Dask (observed for versions of Dask starting with v2022.2.0, Linux).

v1.0.16 (2022-05-26)
====================

Added
-----
- Support for the detector ``xs4`` (SRX beamline).

Changed
-------
- Databroker v1 is used for loading data at SRX beamline.

v1.0.15 (2022-04-06)
====================

Added
-----
- SRX data, new format: support for step scans using top stages.

Fixed
-----
- Fixed a bug in ``fit_pixel_data_and_save()`` that prevented saving maps as 'TXT' files.
- SRX data, new format: proper handling of scan data using both ``xs`` and ``xs2`` detectors.

v0.0.9.4
========
- Add auto peak finding
- Update readme doc and add beamline config

v0.0.9
========
- Pkg can be used for python 3.6 with pyqt>=5.9
- Use latest databroker, with API like Broker.named. Remove old databroker config.
- Init the work of loading data directly from Database
- Support three beamlines including hxn, srx and xfm
- Bug fix from previous versions

v0.0.7
========
- Image normalization and output normalization are synchronized.
- More examples are added, such as batch mode fitting, and preparation for tomography reconstruction (creating movie).
- Only one strategy is selected for summed spectrum fitting.
- More controls to output data to 2D image, and to visualize on GUI
- Output data is normalized following equation norm_data = data1/data2 * np.mean(data2).

v0.0.4
========
- Add quadratic form to remove background
- Add user peak
- Add mask to only select a given region for fitting
- Save data without running fit again
- Add databroker interface for both SRX and HXN
