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_folds parameter

  • Enhanced 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.