Releases: scikit-rf/scikit-rf
v1.0.0
The major release 1.0.0 of scikit-rf is the result of 14 years of developement by around 80 contributors. In the recent months, the codebase and its API has been reorganized, cleaned and optimized, to provide a robust and well-tested RF/Microwave engineering package.
The version 1.0.0 does not include major changes with respect to the previous versions. This number 1.0.0 just aims to show for current and future users, that the scikit-rf package has now reached a significant level of maturity, a sufficient stable and performant state, ready for production use. It means that the developers consider scikit-rf to be ready for a widespread adoption.
Of course, scikit-rf development will continue, with new features, bug fixes, improved performances, in its subsequent versions.
Looking ahead to future release, we have releases a survey is intended for all the users of scikit-rf, in order for the developers to get some feedback, to determine what are the functionalities used the most and the less, the ones which could be improved, and to determine the directions for the future of the package. Thank you for your time in answering this survey. This should take 5 minutes and your feedback will be very useful.
https://docs.google.com/forms/d/e/1FAIpQLScTNfqZLcTeMV-8IkWOAKkDsd37EzOMhZmp5oI-zat9W99EUg/viewform
What's Changed
- Fix 10ports by @FranzForstmayr in #1042
- Advanced Smith Chart examples with markers or background by @mhuser in #1041
- Run CI against nightly as well by @FranzForstmayr in #1044
- Updated 8510 class with bugfixes and compound sweep support by @jjoonathan in #1040
- Fix linter by @FranzForstmayr in #1046
- CI speedup by @jhillairet in #1045
- Vector Fitting: Docstrings by @Vinc0110 in #1036
- Remove Network2 by @jhillairet in #1031
- Move apps to a seprate repo by @jhillairet in #1055
Full Changelog: v.0.32.0...v1.0.0
v0.32.0
This version 0.32.0 of scikit-rf includes new features, optimizations, fixes and important effort to improve the code quality.
New Features
- Touchstone File Version 2 with parameters different from S are now supported. Finalize ts2 support by @FranzForstmayr in #1009
- Support of N-port mismatch junction (arbitrary real reference impedance) in
Circuit
by @mhuser in #1028 - A fully automatic version of
VectorFitting.vector_fit()
(No need to provide the number of poles, which can sometimes be very challenging), calledVectorFitting.auto_fit()
by @Vinc0110 in #1033
Optimization
Circuit
optimization (C
function) by @jhillairet in #1013
Deprecation
Network2
is now deprecated. It will be removed in future versions. by @FranzForstmayr in #1034
Fixes, Code Quality and Continuous Integration
- Fix pre-commit config by @FranzForstmayr in #1018
- Dev/GitHub actions bump versions by @jhillairet in #1016
- Remove white-space from directory name by @mchristen-astranis in #1019
- Enable more Ruff rules and clean codebase to pass ruff test by @FranzForstmayr in #1020
- Fix CI Tests by @FranzForstmayr in #1021
- Ruff rules for numpy by @FranzForstmayr in #1023
- Enable B check in ruff by @FranzForstmayr in #1024
- Update ruff to detect np.random.random calls by @FranzForstmayr in #1029
- Remove some unused code by @FranzForstmayr in #1030
New Contributors
- @mchristen-astranis made their first contribution in #1019
Full Changelog: v0.31.0...v.0.32.0
v0.31.0
This new version of scikit-rf includes the support of Touchstone V2 format, a new gain circle features and many improvements and bug fixes.
New Features
- Start touchstone 2 support by @FranzForstmayr in #993
- Add gain circle by @keikawa in #998
Improvements
- Make SOLT class inherit run method from TwelveTermModel to allow arbitrary thrus by @floschl in #990
- Vector Fitting: Removing deprecated
zeros
attribute by @Vinc0110 in #996 - Allow printing of Networks with empty frequency range by @eendebakpt in #991
- Vector Fitting: Support for large number of parameters by @Vinc0110 in #1004
Continuous Integration
- use old version of labler by @FranzForstmayr in #985
- Re enable pr labeler by @FranzForstmayr in #986
- Fixing CI tests by @Vinc0110 in #1006
Bug Fixes
- Set default f_unit to Hz by @FranzForstmayr in #1008
New Contributors
Full Changelog: v0.30.0...v0.31.0
v0.30.0
This new release includes some new features and bugfixes:
Improvements
- Add support for python3.12 by @FranzForstmayr in #966
- Force PNA to use expected format for SNP data by @mjpelmear in #976
- Define circuit name at initialization by @rragona in #979
- Deal with deficient Z or Y matrices in y2z() and z2y() by @Vinc0110 in #978
Bug fixes
- Remove
html_theme_path
setting from docs config to fix search & other JavaScript functions by @miek in #970 - Fix de-embedding when 2 networks are provided by @atavella in #971
- NanoVNA fixes by @miek in #968
New Contributors
- @miek made their first contribution in #970
- @atavella made their first contribution in #971
- @rragona made their first contribution in #979
Full Changelog: v0.29.1...v0.30.0
v0.29.1
This minor version contains bug and documentation fixes.
The detailed list of changed is:
What's Changed
- Fix
network_2_dataframe
for more than 10 ports by @FranzForstmayr in #955 - Check python 3.12 compatibility by @FranzForstmayr in #956
- Fix plotting notebook for Matplotlib 3.8 by @FranzForstmayr in #959
- Fix VI documentation issue by @cafeclimber in #954
- Add timeout argument to VNA constructor by @cafeclimber in #958
- Avoid running constructor multiple times when import skrf by @FranzForstmayr in #957
- Use correct x-axis for time_mag and time_db plots by @FranzForstmayr in #961
- Fix #951 by @Vinc0110 in #962
Full Changelog: v0.29.0...v0.29.1
v0.29.0
The version 0.29.0 of scikit-rf includes two major changes in the API, three new features and many important improvements and bug fixes. Please see the description below for additional information:
Major Changes
- SI units for frequency and time are now the new default by @jhillairet in #935
- New VNA implementation by @cafeclimber in #744
New Features
- Supports the creation of capacitors and inductors with Q factor by @Asachoo in #933
- Stability circles by @keikawa in #943
- Add TUG multiline TRL and a method to compute switch terms indirectly by @ZiadHatab in #929
Improvements
- New implementation of the automatically generated docstrings for plotting methods by @FranzForstmayr in #848
Bug Fixes
- Fix true-false-comparison errors. by @bchpmn in #937
- fix switch term termination function by @ZiadHatab in #938
- export unscaled frequency to dataframe by @FranzForstmayr in #945
Documentation
- Update Calibration.ipynb by @mjpelmear in #930
- Updating documentations by @jhillairet in #936
- Add classifiers for pypi by @FranzForstmayr in #944
New Contributors
- @mjpelmear made their first contribution in #930
- @ZiadHatab made their first contribution in #929
- @bchpmn made their first contribution in #937
Full Changelog: v0.28.0...v0.29.0
v0.28.0
This new release of scikit-rf fixes some bugs and brings improvements:
New Features and Important changes
- Add noise data to write_touchstone by @ericwrice in #906
- Remove deprecated setter methods on Frequency by @eendebakpt in #878
- Allow to pass a callable fucnction as window argument by @FranzForstmayr in #925
Bug Fixes
- Fix transposed circuit voltages by @Ttl in #918
- Fixed the bug that touchstone files containing noise could not be cropped. by @Asachoo in #913
- Numpy1.25 by @FranzForstmayr in #922
- Fixed eq issue by @Hadimius in #915
- Update calibration.py by @jmcelroy01 in #926
Documentation
New Contributors
- @Asachoo made their first contribution in #913
- @Hadimius made their first contribution in #915
- @jmcelroy01 made their first contribution in #926
Full Changelog: v0.27.1...v0.28.0
v0.27.1
What's Changed
Important Changes in Media
The Media class has been refactored to simplify the API and avoid confusions related to the impedances. The z0
property now returns by default the Characteristic Impedance of the media (also available from z0_characteristic
) if the property z0_override
is defined, z0
returns z0_override
instead of the Characteristic Impedance.
The embed
argument and the parameters Z0
(capital) have been deprecated. If the property z0_port
is defined, all lines will be renormalized from z0
to z0_port
, like in a measurement with z0_port
. Please refer to the Media tutorial more additional information and a clear explanation of the different between port and characteristic impedances.
New Features
New properties have been added to a Network: maximum stable gain (max_stable_gain
), Maximum available power gain (max_gain
) and Mason's unilateral gain (unilateral_gain
)
Improvements
- Vectorize drop_non_monotonic_increasing by @eendebakpt in #882
- Improve performance network.copy by @eendebakpt in #875
Bug Fixes
- Make Network.copy also copy params dict by @cafeclimber in #887
- Fix incorrect z0 handling in SeriesImpedance and ShuntAdmittance by @Ttl in #885
- Handle non-zero length thru in TRL by @Ttl in #896
- Resolve singularities for matched thru and line in determine_reflect by @eendebakpt in #870
- Timescale by @FranzForstmayr in #900
- Allow NISTMultilineTRL to work with non-exact floats by @eendebakpt in #895
- Handle division by zero in stability by @Ttl in #910
Code Quality/CI
- Create dependabot.yml by @jhillairet in #898
- [pre-commit] ruff by @jhillairet in #892
- disable upper limits by @FranzForstmayr in #893
Documentation
- Prepare media tutorial for characteristic impedance implementation change by @mhuser in #888
- Fix doc links from Circuit tutorial to Circuit convenience methods by @caryan in #897
- just fixing a small typo I spotted :-) by @Patarimi in #876
- Fix docstring for Frequency.unit by @eendebakpt in #879
- URL updated. by @wollmich in #881
- Fix installation documentation by @jhillairet in #907
New Contributors
- @Patarimi made their first contribution in #876
- @wollmich made their first contribution in #881
- @caryan made their first contribution in #897
Full Changelog: v.0.26.0...v0.27.0
v0.26.0
New Features
- Add shunt_resistor by @jhillairet in #853
- Create variables to modify nudge_eig thresholds by @jhillairet in #859
Improvements
- Do not generate subnetworks all the time but provide them dynamically by @FranzForstmayr in #810
- improve performance of Coaxial.from_attenuation by @eendebakpt in #871
Bug Fix
- Fix CITI parser by @jhillairet in #854
- Fix division by zero warnings in determine_line by @eendebakpt in #868
- Fix reading/writing HFSS Touchstone files using the 'power' S-param definition by @jhillairet in #869
Community, Code Quality and Continuous Integration
- Adding issue templates by @jhillairet in #862
- [pre-commit] pre-commit configuration: blank lines and trailing spaces by @jhillairet in #863 and #873
- [pre-commit] trailing spaces and end lines by @jhillairet in #867
Documentation
- Remove duplicate files in documentation by @jhillairet in #861
Full Changelog: v0.25.0...v.0.26.0
v0.25.0
The release 0.25.0 of scikit-rf includes several new features, with for example:
- Calibrating multi-port (N>2) networks is now possible thanks to @Ttl. See Multi-port calibration documentation.
- Making copy of a Network is now 4 times faster than before thanks to @eendebakpt
- Adds an option for custom pole spacing in Vector Fitting thanks to @Vinc0110
The complete list of changes is found below. We welcome two new contributors @eendebakpt and @ericwrice for their work!
New Features
- Multi-port calibration by @Ttl in #818
- Vector Fitting: Custom pole initialization by @Vinc0110 in #845
Improvements
- Improve performance of Network.copy by @eendebakpt in #828
- Add name argument to two_port_reflect by @eendebakpt in #829
- Overlap dut and dummy networks in deembedding by @ericwrice in #834
- Adding parameter
draw_labels
toplot_smith()
. by @Vinc0110 in #826
Documentation
- Improve error message in NIST TRL calibration by @eendebakpt in #827
- Fix inductor units in media docstrings by @ericwrice in #835
Bug Fixes
- Fix get_sparameter_names order for two-port by @Ttl in #822
- Fix NetworkSet division by @cafeclimber in #843
- Fix shade_bands overwriting y_range (#742) by @ericwrice in #838
- Use fft_window when specified and not window by @FranzForstmayr in #802
Code Quality
- Add test for input networks of OnePort calibration by @eendebakpt in #844
- Misc fixes by @eendebakpt in #808
- Remove unneeded print by @FranzForstmayr in #801
- Fix Python 3.7 flake8 by @Ttl in #820
- Dynamically load version from init.py by @Vinc0110 in #837
- Small cleanup in calibration methods by @eendebakpt in #836
- Vector Fitting: Tests by @Vinc0110 in #850
- Increasing rtol for sweep type tests by @Vinc0110 in #847
New Contributors
- @eendebakpt made their first contribution in #808
- @ericwrice made their first contribution in #835
Full Changelog: v0.24.1...v0.25.0