Changelog
This page documents the version history and changes made to PyRth.
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
[1.3.0] - 2025-12-22
Added
Agent instructions covering architecture, parameters, and workflows
Pylint configuration with max line length and logging f-string interpolation disabled
Changed
Refined evaluation and bootstrap defaults with clearer time/impedance names, tuned base_num_fine, and improved parameter merging and label handling
Standardized optimizer utilities and TransientOptimizer naming, expanded docstrings, adopted trapezoid integration, and removed the global_weight argument
Refactored transient core/utils/mpfr/engine/filter/scripts for clearer docstrings, streamlined imports, improved logging, and cleaner MPFR arithmetic and variable naming
Upgraded exporter stack (CSV/Figure/IO/base/figures) to return saved filenames, track failures, and log save outcomes with better resource handling
Refreshed tests and fixtures: pytest parameterization helpers, run_evaluation_test usage, richer lasso/adaptive/bayesian cases, log_time_size/repetition tweaks, removal of MOSFET_TIM_DATA dependency, and clearer logging
Documentation and build updates: expanded optimization techniques guidance, pytest-focused installation docs, streamlined evaluation parameter table generation, ReadTheDocs on Python 3.12, and dependency bumps in pyproject.toml
Fixed
UTF-8 file handling for measurements/logs, figure cleanup in StructureFigure/transient_figures, and tighter FigureExporter error handling
Early Zth handling and bootstrap optimization flow logging made more consistent
Removed
global_weight optimization argument and unused MPFR utility code plus redundant comments/blank lines in transient modules
parameterized testing dependency in favor of pytest-based parameterization
[1.2.0] - 2025-07-21
Added
CHANGELOG and CONTRIBUTING documentation files
Right sidebar table of contents for improved documentation navigation
DeepWiki badge to README
Support for adaptive deconvolution mode in Evaluation class
Cross-validation support for Lasso deconvolution with
lasso_cv_foldsparameterEnhanced Lasso deconvolution parameters: alpha, max iterations, tolerance, and cross-validation settings
Support for saving non-numeric data in CSV format via CSVExporter
Scikit-learn and numba to intersphinx mapping in documentation
Secondary y-axis for differences in BackwardsImp figures
Weighted Lasso support in adaptive mode processing
Changed
Enhanced documentation structure and styling throughout
Improved README and changelog.rst for better clarity
Updated documentation dependencies and removed obsolete requirements files
Corrected extra_requirements syntax in .readthedocs.yaml
Reorganized classifiers in pyproject.toml
Refactored user guide structure with new sections: “Getting Started”, “Usage”, and “Troubleshooting”
Removed outdated user guide sections: “Advanced Workflows”, “Calibration Guide”, “Data Extraction”, and “Data Preparation”
Enhanced installation instructions for clarity
Increased DPI for saved figures to improve quality via FigureExporter
Reorganized figure registry with prefixes for improved ordering and clarity in filenames
Changed marker style to ‘x’ for BackwardsImpFigure plot
Reduced linewidth in BackwardsImpDerivFigure and BackwardsImpFigure for improved visibility
Updated BackwardsImp figures titles and labels to reflect differences and improve clarity
Improved overlap handling in data plotting
Enhanced error handling in tests with better directory cleanup for permission errors
Updated deconvolution parameters and methods for MOSFET tests
Refined alpha range and adaptive mode bay_steps for improved performance
Updated time constant calculation in TransientOptimizer to scale with theoretical log time
Lasso deconvolution tolerance adjusted from 1e-4 to 1e-5 for improved convergence
Fixed
DOI badge link in README.md now points to the latest identifier
Corrected LaTeX formatting in y-axis label of DiffStrucFigure
Added missing scikit-learn dependency in pyproject.toml
Corrected typo from ‘gaus_curve’ to ‘gauss_curve’ in Evaluation class
Bootstrap comparison time variable name changed from ‘boot_imp_time’ to ‘boot_deriv_time’
Renamed LED_lasso to TEMP_lasso in test cases for clarity
Updated pyproject.toml license format to use modern PEP 639 SPDX format
Removed
instructions.md file to streamline documentation and reduce redundancy
Obsolete requirements files
[1.1.0] - 2025-05-03
Added
Support for Lasso deconvolution method using scikit-learn
Changed
Improved documentation organization
Enhanced plotting capabilities
conv_mode renamed to input_mode
deconvolution is now controlled via deconv_mode parameter with “bayesian”, “fourier”, and “lasso”
Fixed
Various bug fixes and figure cleanup
Multiple module in one evaluation now plot into the same window
T3ster import mode works now
[1.0.0] - 2025-03-02
Added
Initial release
Support for thermal transient data analysis
Network Identification by Deconvolution (NID) methods
Structure function calculation methods: Sobhy, Lanczos, De Boor-Golub, Khatwani, and polynomial long division
Support for Bayesian and Fourier deconvolution
Multiple evaluation modules: Standard, Evaluation Set, Bootstrap, Optimization, Theoretical, Comparison
CSV and image export capabilities
For more details on contributing to PyRth and how we handle version changes, please see our CONTRIBUTING guidelines.