The release 1.2.0 of scikit-rf brings many performance improvements, bug fixes as well as some new features (detailed list of changes below):
- Python version 3.7 if officially no more supported.
- The performances of `Circuit` have been highly improved (by Asachoo).
- IEEE 370 de-embedding capabilities have been extended with S-parameters quality checking in the frequency domain and fixture electrical requirements plotting. The example notebook showcases these new functionalities. (by mhuser )
- Still concerning IEEE 370, an issue with the leadin parameter is fixed and the mixed-modes plotting syntax is simplified with automatic mode subscript labels and proper impedance handling. The class architecture was reworked to minimize code duplication, type hints, and add docstrings without a major change to the API. (by mhuser )
- The documentation for NanoVNA2 and IEEE 370 has been much improved (by mxxmxn and mhuser)
- skrf's impulse response calculation are now comparable to Metas VNA Tools (by FranzForstmayr )
Python Version
* Drop python 3.7 to use literals and walrusses :) by FranzForstmayr in https://github.com/scikit-rf/scikit-rf/pull/1102
New Features
* Add MDIF functionality for improved interaction with ADS by wsapia in https://github.com/scikit-rf/scikit-rf/pull/1104
* Adding S-parameter definition in Touchstone V1 comment by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1117
* Impulse Response by FranzForstmayr in https://github.com/scikit-rf/scikit-rf/pull/1077
Improvements
* Improve documentation for NanoVNA V2 by mxxmxn in https://github.com/scikit-rf/scikit-rf/pull/1109
* Cal input validation by Ttl in https://github.com/scikit-rf/scikit-rf/pull/1121
* Rational interpolation improvement. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1129
* Optimize the performance of Circuit s_external mehod by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1101
* Optimize Circuit Class Performance with Attribute Caching by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1113
* Optimize the performance of loading TouchStone files. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1130
* Optimize interpolation performance by pre-cropping data. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1122
* Optimize Circuit Reduction Order and Increase Cycle Priority in Circuit Reduction by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1126
* Use the Network provided by media to re-implement the Open and Ground by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1139
* Use port z0 for plot_z_time_step, plot_z_time_impulse, restore missing ylabel and add modes subscript to plot trace names for mixed-modes networks by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1124
* Enhance IEEEP370 deembedding documentation, plots, code readability and verbose output by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1114
* separate IEEE 370 FER and frequency domain quality metrics in their own class by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1140
* Add IEEE 370 Initial quality checking in frequency domain by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1134
* IEEE 370 SE figures by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1136
* separate IEEE 370 FER and frequency domain quality metrics in their own class by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1140
* Pass through kwargs for NetworkSet.write_mdif to use any of the arguments in Network.write_touchstone by wsapia in https://github.com/scikit-rf/scikit-rf/pull/1135
* Add pathlib support for file operations by wsapia in https://github.com/scikit-rf/scikit-rf/pull/1137
* Enforce Network.port_names to be list even after renumbering by SHF101202021 in https://github.com/scikit-rf/scikit-rf/pull/1112
* Update comment handling for NetworkSets by wsapia in https://github.com/scikit-rf/scikit-rf/pull/1138
Bug Fixes
* fix shiftNPoints in IEEEP370_SE_ZC_2xThru by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1103
* fix frequency for npoints=1 by mxxmxn in https://github.com/scikit-rf/scikit-rf/pull/1108
* Fixed the issue of incorrect voltage results in circuit connections. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1107
* Fix the network.concat_ports() issue. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1120
* Fixed the issue of deteriorating circuit performance with super large-scale networks (like HFSS) by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1118
* fix Network.connect swap the ports when connecting two 2-ports by mhuser in https://github.com/scikit-rf/scikit-rf/pull/1128
* Fixed the Frequency issue when creating a Network using the f_unit and frequency arguments. by Asachoo in https://github.com/scikit-rf/scikit-rf/pull/1133
New Contributors
* mxxmxn made their first contribution in https://github.com/scikit-rf/scikit-rf/pull/1108
* wsapia made their first contribution in https://github.com/scikit-rf/scikit-rf/pull/1104
* SHF101202021 made their first contribution in https://github.com/scikit-rf/scikit-rf/pull/1112
**Full Changelog**: https://github.com/scikit-rf/scikit-rf/compare/v1.1.0...v1.2.0