Changelog¶
(Dynamically synchronized from GitHub Releases)
v26.30.1 - 2026-07-23¶
๐ค New: AI Chat Agent¶
Interact with SPECTROview in natural language to query and/or filter data, perform calculations, and create or customize one or multiple plots. The AI agent understands your loaded dataset and open graphs, remembers conversation context across multiple turns, and uses a multi-step ReAct workflow to complete complex requests.
- Bring your own AI provider. Use your own API key with OpenAI, Anthropic, Gemini, DeepSeek, Mistral, or any OpenAI-compatible endpoint. For complete privacy, run a local model with Ollama (no API key or internet required).
- Adaptive prompting (Auto / Full / Simplified) automatically optimizes prompts for both cloud and local (small) models.
Example prompts :¶
Analyze and Create multiple plots
a/ Compute the mean and standard deviation of center_Si for each Zone, then create
a bar chart of the mean values with standard deviation error bars, sorted from
highest to lowest.
b/ Find the wafer with the highest average FWHM_Si, filter the data to that wafer,
and display its FWHM_Si wafer map.
c/ Create a scatter plot of Slot vs center_Si colored by Zone, a box plot of
center_Si grouped by Zone, and a histogram of center_Si with 40 bins.
Analyze, plot, and customize
Filter the data to R_squared > 0.95, create a scatter plot of center_Si vs Zone
colored by wafer, set the title to "High-quality fits", use the viridis
colormap, limit the Y-axis to 520โ522, and enable the grid.
๐ Major Graph Workspace overhaul¶
The Graph Workspace has been redesigned for a cleaner and more powerful plotting experience.
- Unified toolbar shared across all graphs with refreshed colorful icons.
- Redesigned graph editor with improved axis, legend, annotation, and styling options, plus reusable Plot Templates.
- High-quality export to PNG, TIFF (up to 1200 DPI), PDF, SVG, and EPS, with transparent backgrounds and export presets.
- Numerous usability improvements, new shortcuts, and bug fixes.
โก Performance & quality improvements¶
- Faster
.graphsfile loading. - Optimized Vectorized Batch Fit Engine.
- Extensive code cleanup and refactoring across the Spectra, Maps, and Graph workspaces.
- Updated and Expanded MkDocs documentation.
v26.29.3 - 2026-07-11¶
๐ป Introducing the Programmatic Python API¶
You can now script and automate your spectroscopic workflows without ever launching the graphical user interface.
- Automated Workflows: Load datasets, process spectra (baseline subtraction, cropping, normalization), and run the heavily optimized Vectorized Batch Fit (VBF) engine entirely from your own Python scripts or Jupyter Notebooks.
- Multivariate Analysis: Programmatically run PCA and NMF analysis on hyperspectral maps.
- Automated Plotting: Replicate SPECTROview's native publication-quality plots (statistical point plots, scatter plots, box plots, etc.) using the new
spectroview.api.graphsmodule. - Quick Calculators: Access pure mathematical models for spot size, depth of focus, and spectroscopic unit conversions.
- Comprehensive Documentation: A brand-new API section has been added to the official documentation with detailed code examples for every module.
- and more API to come...
๐ Added a new Automatic Update Checker¶
SPECTROview now automatically checks for new releases at startup, ensuring you never miss the latest features, improvements, or bug fixes.
๐ Privacy first:¶
The update check sends only a standard, anonymous request to the public GitHub API to retrieve the latest release version. No personal information, usage data, or telemetry is collected or transmitted.
When a new version is available, the notification banner provides three options:¶
- ๐ View changelog โ Opens the GitHub release page to view the latest changes and improvements.
- โฐ Update later โ Dismisses the notification for the current session. The reminder will appear again the next time you start SPECTROview.
- ๐ซ Skip this version โ Permanently ignores the current release. You will only be notified when a newer version becomes available.
๐ ๏ธ Bug Fixes & Improvements¶
- Fixed several minor bugs.
v26.28.2 - 2026-07-08¶
โจ Improvements of Graph Workspace¶
- Customize Graph dialog: Added universal
ApplyandCancelbuttons for a more consistent editing workflow. - Axis tab: Merged the
Scale(Linear/Log) andData Typecontrols into a singleAxis Propertiesgroup. Axis scale management is now handled exclusively through the Customize Graph dialog:
- Legend: Added a new option to position the legend outside the plot area with a single click (User can alway drag and drop legend box anywhere with mouse).
- Point plots: Improved marker edge thickness for cleaner, more readable data visualization.
- Added intelligent multi-level data sorting that strictly prioritizes user-defined category orders for consistent legend colors/labels within legen box, while automatically sorting numerical X-axes for accurate line rendering (Customize Dialog/ Tab "More Option"):
- Applied several visual enhancements to improve the overall appearance and consistency of graph rendering.
For more information, see the User Manual (Graphs โ Customizing a Plot).
โป๏ธ Refactoring¶
- Moved all graph rendering logic from
v_graph.pyinto a dedicatedv_plot_renderer.pymodule, improving code organization and maintainability. - Removed the
seaborndependency. All plotting now relies on nativematplotlibandscipyimplementations.
๐ Documentation¶
- Expanded the User Manual with a comprehensive description of the Customize Graph dialog, including new screenshots.
- Updated the Developer Guide.
- Updated SoftwareX publication DOI: https://doi.org/10.1016/j.softx.2026.102862
v26.25.4 - 2026-06-15¶
โจ New Features¶
๐ Graph Workspace¶
- Automatic axis labeling: axis labels for fitted parameters (peak position, FWHM, intensity, area, etc.) are now generated automatically, removing the need for manual input.
- Added histogram plotting support.
- Enhanced plot customization options: Minor axis ticks; Adjustable marker size and color; Improved trendline customization, etc...
๐ฌ Spectra & Maps Workspace¶
- Added an Eraser Tool to manually remove cosmic ray artifacts from selected spectra.
๐ ๏ธ Bug Fixes & Improvements¶
- Fixed several minor bugs.
- Improved overall usability and application stability.
๐จ User Interface¶
- Refined the GUI with a modern flat design for a cleaner and more intuitive user experience.
- Unified icon styling across the application, with automatic color adaptation to light and dark themes.
v26.24.3 - 2026-06-01¶
Major Architectural Update & Performance Boosts¶
This release marks a fundamental milestone in the evolution of SPECTROview. At the heart of this update is the brand-new Vectorized Batch Fit (VBF) engine, delivering unprecedented fitting performance, stability, and precision for both hyperspectral map data and individual spectra.
๐ Key Highlights & Performance Boosts¶
- Vectorized Preprocessing: The new
SpectraStoreandMapDatamodels store all spectroscopic and numerical data natively as contiguous NumPy arrays. This eliminates the overhead of legacy per-row instances and allows for fully vectorized preprocessing. - Astounding Fit Speeds: Combined with the tensor-centric
SpectraStore, theVBF Engineprocesses all spectra simultaneously as 2D/3D tensors. Fitting a 2D map with several thousand pixels is now virtually instantaneous (up to 70ร faster than the previous version). Massive maps with tens of thousands of pixels are handled seamlessly on a standard CPU (tested on an Intel Core i5 8th Gen, 16GB RAM; no dedicated GPU required). - Reduced Workspace Size & Faster Loading: The new architecture utilizes a highly optimized, ZIP-backed serialization format (NumPy
.npzarrays + JSON metadata). This reduces.maps,.spectra, and.graphsfile sizes by >50% and cuts workspace load times in half. - Faster Application Startup: Through optimized library imports and core refactoring, application start-up time has been reduced by >60% (launching in under 4 seconds on a standard PC).
Intelligent Noise Filtering¶
The VBF Engine features native noise detection capabilities (the coef_noise threshold, adjustable via the Settings Panel):
- Automatically detects pixel regions containing only baseline noise or substrate signals and filters them out of the active fit.
- By skipping Levenberg-Marquardt (LM) iterations on pure noise, the optimizer avoids calculating "ghost peaks," prevents parameter cross-talk, stabilizes the fit, and produces much cleaner parameter maps without requiring post-processing.
Fig: (Left) Fitted without noise filtering (coef_noise = 0); the user must manually mask regions of pure noise or substrate signal. (Right) With noise filtering enabled (coef_noise > 0), pixels in the substrate (noise) region are automatically detected and ignored, resulting in a cleaner map and faster fit.
๐ Official documentation¶
An official documentation is now available at CEA-MetroCarac.github.io/SPECTROview.¶
Integrated Intuitive User Manual:¶
A completely revamped, highly intuitive user manual is now integrated directly into the application, featuring animated guides and workflows. An online version is also available here.
๐งฎ Quick Calculators¶
Accessible from the Menu Bar, users can now quickly calculate several experimental parameters on the fly, including laser spot size, depth of focus (DOF), penetration depth, laser power conversion, and unit conversions.
๐จ User Experience & Workflow Improvements¶
- Graphs Workspace โ Smart Customize Dialog: The
Customize Dialognow intelligently and automatically switches contexts when navigating between plots. Users no longer need to manually open and close the dialog for each individual plot. - Ergonomic Tweaks: Several minor UI/UX adjustments have been introduced for a smoother, more premium interaction experience.
๐ For Developers¶
- For users or developers interested in contributing to this open-source project or understanding its architecture, a detailed
Developer Guideis now available here.
v26.18.3 - 2026-04-26¶
๐ Bug Fixes¶
- Fixed a bug related to plotting multiple wafer maps when using automatically detected wafer slot numbers.
๐จ UI & Usability Improvements¶
- Improved GUI responsiveness when selecting thousands of spectra.
-
Introduce full Dark Mode :
-
The
Spectra ViewerandMaps Viewerwidgets now also support Dark Mode, matching the overall application style when Dark Mode is enabled. -
User can also manually set the
Spectra ViewerandMaps Viewerwidgets to Light or Dark mode, independent of the application theme.
- Users can choose the display mode (Dark or Light) for figures copied to the clipboard, regardless of the current application theme.
- Moved the Graph Axis Limits section from from the right Panel into the
Customize Graph Dialog.
v26.17.1 - 2026-04-22¶
โจ New Features¶
- Added a vertical/horizontal slider to shift spectra along the X or Y axis for improved visual clarity.
- Added the ability to duplicate an existing graph, creating a new graph instance.
- Added support for time series (temporal data) in Renishaw
.wdffiles.
Time series files now open in theSpectra Workspace, with timestamps appended to the spectra names.
๐จ Improvements¶
- Increased the height of the DataFrame list box for better usability.
- Removed some toast notifications for certain actions.
- Improved overall GUI ergonomics with minor interface adjustments.
๐ Bug Fixes¶
- Fixed an issue in the DataFilter display where multiple filter expressions could overlap in the ListWidget (Graphs workspace).
- Fixed a crash when applying an invalid filter expression to a DataFrame (Graphs workspace).
- Fixed an issue where Stop Fitting did not work on macOS.
- Fixed a
RuntimeWarning: divide by zerowhen fitting spectra with the Pseudo-Voigt function.
v26.9.6 - 2026-02-21¶
SPECTROview Release Notes Version 26.9.6¶
(This release notes includes updates from 26.8.1 versions released previously via PyPi)
๐ New Features & Enhancements¶
- Universal Drag & Drop: Drag and drop any supported file types anywhere in the GUI to open them instantly (before user need to drag and drop files into the listbox).
- Expanded File Format Support: Added full support for spectroscopic file formats .WDF (from Wire-Renishaw software) and .SPC (from Labspec6-HORIBA software), including comprehensive metadata extraction, which is displayed within the
MoreTab).
- Intensity Normalization: Introduced a new tool to
normalize intensityfeature (via the TabMetadata). -
Graph Annotations: Add vertical lines, horizontal lines, and text annotations to graphs. Annotations are fully draggable, and double-clicking text opens a Customization Panel for quick editing.
-
Spectra Export: Save spectral data directly to a
.txtfile(s) from within the Spectra Workspace.
๐จ UI & Usability Improvements¶
- Interactive Legends:
- Double-click on any Legend Box (including inside the
Spectra Workspace) to quickly open its settings or modify its label and color. - Auto-Rescale: The
SpectraViewernow automatically rescales to best fit the data after cropping. - UI Layout Updates:
-
Moved the
BestFitoption (to show or not thepeaksandbestfit curve) outside of the toolbar for quicker access. It is now placed next to the "Show Legend" button: -
Minor visual tweaks, including a new icon for some buttons within
Spectra Workspace. -
Add Y-Axis Labeling: options: "Intensity (a.u.)" or "Intensity (a.u./s)"
-
Added quick access to the GitHub repository and a direct link to the latest release notes from the
menu bar::
๐ Bug Fixes¶
- Fano Peak Shape (Bug #2): Fixed issues relating to parameter scaling and intensity representation. Corrections are now accurately reflected in the plot, the peak table, and the hover tooltip (
on_hovermethod). - 2D Map Alignment: improve 2Dmap visualization and interaction.
- Fixed a bug to preserve
metadatawhen copy and pastefit-modelfrom one spectrum to another. - Plot Update Logic:
- Fixed a bug where clicking the "Update plot" button would snap a dragged legend box back to its original position.
-
Fixed an issue where changes to the Z-axis were not triggering property updates in the legend.
-
"Esc" Key Behavior: Fixed an issue where pressing the "Esc" key caused the plot (within MDI subwindows) to hide unexpectedly.
โ๏ธ Under the Hood¶
- Fitspy Compatibility: Updated backend to support version 2026.2 of
fitspypackage (update pyproject.toml). - Matplotlib : support lastest
matplotlibversion 3.10.8. - Codebase Refactoring: Cleaned up code architecture by refactoring
customized_widgets.pyand migratingcustomize_legend_widgetinto theCustomize_graph_dialogmodule. - Testing: Updated the
pytesttest suite to improve application stability and code coverage.
v26.6.1 - 2026-02-05¶
Note: This Release notes includes all changes and new features from versions v0.9.4 to v0.9.8 and from v26.1.1 to v26.5.1 previously released on PyPI.
Versioning Update¶
Starting with this release, we are adopting a new versioning format: YY.W.Z
- YY - Year (last two digits)
- W - Week number of the year
- Z - Build number within that week
๐ What's New¶
Built-in User Manual¶
- Added a detailed User Manual (PDF format) built into the application, accessible via the Manual button in the top toolbar.
Graphs Workspace:¶
UI/UX Improvements¶
- Optimized GUI layout for the right sidebar:
- Rearranged GUI elements in the bottom toolbar for better user experience:
- Moved the Copy button from the bottom toolbar to individual plot MDI subwindows of each plot for better accesibility:
New Features¶
- Log-scale option for both X and Y axes
- Data loading support from Excel (single or multiple sheets) and CSV files
-
Refresh button
for
DataFrame widget: synchronize/reflect changes in Excel or CSV files without reloading -
Delete All button
(in the bottom toolbar) to remove all existing plots at once
- Multiple wafer plots: automatically detect available slots in the loaded dataset and display them dynamically in the bottom of the right-side panel.
- Auto-selection for WaferPlot style: when WaferPlot style is selected, X and Y comboboxes are automatically configured, users only need to select the Z parameter
- Customized legend dialog: click on the legend box to show the dialog to customize legend box properties (color, label, marker)
- Autocomplete feature for DataFrame filter widget: type quickly and avoid mistyping column headers:
Bug Fixes¶
- Fixed several minor bugs related to mismatched colors in box and bar plots
Spectra and Maps Workspaces:¶
General Updates¶
-
New GUI layout for Maps Workspace with improved user experience
-
TRPL data support
- New peak shapes: Fano, Single Exponential, and Bi-Exponential Decay
- Stop button added to progress bar to halt ongoing fitting processes when needed
SpectraViewer Widget¶
Customizable legend box of SpectraViewer: click on the legend box to show the dialog to customize legend box properties (color, label, marker)
New Option for Menu dropdown Options:
- LineWidth: Adjust the width of spectral lines
- Ratio: Adjust the ratio (width x heigh) of copied figure
- Additional X-axis labels:
- Binding Energy (eV)
- Emission Energy (eV)
- Frequency (Hz)
- 2theta (ยฐ)
- Time (ns)
- Plot style option: select between lineor dotstyle for Raw spectrum plot:

MapViewer Widget¶
Multiple MapViewers: - Additional MapViewers are now displayed as floating dialog windows. Users can open multiple MapViewers simultaneously to view and compare different parameters
Mask Features: - Create masked 2D map plots by filtering based on desired conditions of plotted parameters or other parameters

Selection Modes: - Added rectangle selection mode for 2D map plots (in addition to single point and multiple points selection)
MenuOptions Updates:
- Moved Extract Profile and Remove Outlier features inside MapViewer MenuOptions
- Display statistics values directly on wafer plots via
Show statscheckbox within MenuOptions (cf. figure below)

FitResults Tab¶
New Capabilities: - Compute and add new columns to fit results table via mathematical operations
- CSV export support for best fit parameters (previously Excel-only)
Performance Improvements¶
- Optimized GUI performance and responsiveness across all workspaces
v0.9.3 - 2025-10-27¶
Wafer Plot Enhancements:
- Added support to plot multiple wafer maps based on selected slot checkboxes.
- Automatically display the slot numberon the wafer map when a Slot filter is active.
- Whenever the wafer plot style is selected, the X and Y comboxes are now automatically assigned.
- The wafer plot style (and corresponding X and Y columns) is automatically selected when plotting.
Dataframe Filter Improvements:
- Added ability to copy filter expressionsdirectly from thefilter list.
- The selected filterโs text is now automatically reflected in the QLineEdit for easier editing.
v0.9.0 - 2025-10-11¶
Optimized GUI performance and responsiveness:
- Spectrum now updates in real time when the user types new peak_model parameters in the PeakTable.
- Mouse interactions now simultaneously adjust the peak position (x0) and peak intensiy (ampli) when dragging over the plot.
- Introduced a SettingsPanel class (QDialog) to gather all general settings in one place.
Bug Fixes:
- Customized the apply_model method to retain xcorration_value, color, and label attributes of Spectrum object when applying a new model.
- Fixed a bug related to the legend colors for box and bar plots of Graphs Tab.
Code Cleanup and Refactoring:
- Removed the CommonUtilities class.
- Revised and refactored the FitModelManager class.
v0.8.7 - 2025-10-05¶
- Optimized GUI performance and responsiveness.
- Fixed minor bugs related to the "x range correction" features.
- Update new color palette.
- Code cleaning and refactoring.
v0.8.5 - 2025-09-08¶
- Optimized GUI performance and responsiveness.
- Fixed minor bugs.
- Code cleaning and refactoring.
v0.8.0 - 2025-08-27¶
- Improved "MapViewWidget" class.
- Optimized GUI performance and responsiveness.
- Fixed minor bugs.
v0.7.1 - 2025-07-04¶
- Added support for converting WIRE 2D map format to a format compatible with SpectroView and LabSpec6.
- Fixed minor bugs.
- Optimized GUI performance and responsiveness.
v0.7.0 - 2025-07-03¶
- Added 'peak_area' to the fitting results.
- Fixed minor bugs.
- Optimized the GUI.
v0.6.2 - 2025-06-27¶
- Fixed minor bugs.
- Improved GUI responsiveness and layout consistency.
v0.4.5 - 2025-02-10¶
New Features:¶
-
Customized Toolbar: The toolbar has been enhanced with an additional button for the `Normalization" feature and more view options, improving usability (Previously, these options appeared in a pop-up when right-clicking on the figure canvas.)
-
Normalization Feature: Users can now
normalizespectra either to the maximum intensity or to a user-specified X value via a QLineEdits intoolbar.

- Complete the X axis Correction Feature by using Si-Reference peak (recording in the same experimental session with other mesures).
Copyonlybaselineorpeak_modelsfrom the selected spectrum, thenPasteto other spectra with oneclick.

- Support
waferplotdirectly in theMapsTab (previously only in theVizualizationTab) allowing user to directly view the fitted parameters after fitting.

Bug Fixes & Optimizations:¶
- GUI adjustments for a more user-friendly experience.
- Adjust DPI of spectra canvas within Class
SpectraViewWidget(from 90 to 80). - Fixed various bugs related to the spectra view plot with new customized toolbar.
v0.3.2 - 2025-01-23¶
**Version v0.3.2 (23/01/2024)
New features: peak position correction using Si reference peak (520.7 cm-1).
v0.3.0 - 2024-09-27¶
**Version v0.3.0 (27/09/2024)¶
- New Features:
- x-range correction is now integrated in the Maps Tab.
- Features related to 2Dmap processing:
- Plot heatmap from
Area,Intensityor fitted parameters directly in Maps TAB. Auto scalefeature to filter out the outliers values of the heatmap.- Adjust
x-rangand the heatmap color range via QRangSliders - Plot a line profile (height profile) directly in the heatmap plot whenever 2 points are selected.
- Extract data of the line profile, send them (data and plot) to Visualization TAB.
- Copy the heatmap canvas in Clipboard.
- Plot heatmap from

-
Optimization:
- Visualization tab: User can now modify/update the openned Excel file while it is opened.
- Visualization tab: Dataframes will be compressed (gzip) before saving : update
save/load()method - Maps tab: Reorganize the button, checkbox, comboxes of 2Dmap plot widget into a QToolbutton.
-
Bug Fixes:
- Bug related to malfunction of the graph do not effectively deleted when a
sub_windowis closed. - Fix bug arised when user delete or rename the default folder contaning all
fit_models. A pop up message showed up to tell user to redefine the default folder for locking forfit_models. - Fix bug related to the noise correction not automatically applied : set
spectrum.baseline.noise=5by default.
- Bug related to malfunction of the graph do not effectively deleted when a
Full Changelog: https://github.com/CEA-MetroCarac/SPECTROview/compare/v0.2.9...v0.3.0
v0.2.9 - 2024-09-24¶
**Version v0.2.9 (22/09/2024)¶
- Reduce 'Maps' saved file size:
- Implemented data compression using gzip.
- Removed redundant x0 and y0 values from saved files. These can now be retrieved directly from the saved
self.map_dfusing thespectrum.fnam(i.e,map_name&coord). - Updated the
spectrum_to_dictanddict_to_spectrummethods with anis_map=Falseargument to support this change in the Spectra tab.
- Calibration of x-range for Spectrums TAB:
- Added new attributes
spectrum.is_correctedandspectrum.correction_valuefor to track the calibration state of thespectrumobject.
- Added new attributes
- Optimization:
- Disable of โtranslationโ of the labels of fit results to improuve the visibility of
df_fit_resutltsdataframe. โ Only the defaut prefix (m01) bypeak_labelsdefined by user. - Refactored the
save_df_to_excelmethod for improved performance and maintainability. Fill color for Excel tables with different colors to increase the visibility.
- Disable of โtranslationโ of the labels of fit results to improuve the visibility of
- Additional Features:
- Fill DataFrame tables by different colors to increase the visibility.
- Simplified df before displaying in GUI (for map_df)
- Disabled color filling when viewing the โmap_dfโ to prevent performance issues (lag).
- Implemented keyboard shortcuts for switching between tabs (Hold Ctrl + 1, 2, or 3).
- Bug Fixes:
- Fixed an error related to the new attributes when saving old_saved_work files.
Full Changelog: https://github.com/CEA-MetroCarac/SPECTROview/commits/v0.2.9