Releases: tmolteno/python-necpp
Releases · tmolteno/python-necpp
Release list
v1.8.2 — cibuildwheel v4.1.0, drop macos-intel, Python 3.10+
v1.8.2 — CI and build system improvements
- Upgrade cibuildwheel to v4.1.0
- Drop macOS Intel (x86_64) wheel builds
- Bump minimum Python version to 3.10
- Remove stale
--without-lapackreferences
Includes all changes from v1.8.0.
v1.8.1 — CI fixes, cibuildwheel v4.1.0, Python 3.10+
v1.8.1 — Build system and CI improvements
- Drop macOS Intel (x86_64) wheel builds — only macOS ARM and Linux remain
- Bump minimum Python version to 3.10 (drop 3.9)
- Upgrade cibuildwheel to v4.1.0
- Remove stale
--without-lapackreferences from build scripts (flag already removed in necpp_src v2.1.1)
Includes all changes from v1.8.0.
v1.8.0 — necpp_src v2.1.1 engine upgrade (Eigen replaces LAPACK)
Version 1.8.0: necpp_src v2.1.1 engine upgrade
Major engine upgrade — necpp_src v2.1.1 replaces LAPACK with Eigen 3.4.0 for all linear algebra.
- Eigen 3.4.0 replaces LAPACK (bundled in
src/eigen3/, no external dependency) - SIMD-accelerated LU decomposition via
Eigen::PartialPivLU nec_3vectornow backed byEigen::Matrix(internal, no API change)- Fix uninitialized
structure_power_lossproducing NaN efficiency - Fix structure loss reported as zero with current printing disabled
- Fix exception memory leak: throw-by-pointer → throw-by-value (55+ sites)
- Table-driven NEC card parser replaces C-string parser
- 4 monolithic functions refactored into 13 focused methods
- No public API changes — SWIG interface and Python wrapper fully compatible
Bug fixes:
(includes changes from unreleased v1.7.5)
- Convert setup.py to pyproject.toml as primary metadata source (PEP 621)
- Fix #24: VSWR formula guard — add explicit
np.abs()invswr()to prevent negative values - Fix #8: Add missing
handle_necmethod tonecpp/tests/test_multiple_sc_cards.py - Fix #31: Guard numpy import in
PyNEC/setup.pywith try/except for PEP 517 metadata phases - Fix #20/#27: Correct helix argument order in SWIG interface
- Fix #28: Add
sc_cardto PyNEC SWIG interface (continuation card for multiple-patch surfaces) - Fix #22/#28: Add
PyNEC/example/basic_usage.py - Multiple code analysis bug fixes (see CHANGES.md for full list)
Version 1.7.4. Lots of bugfixes.
Version 1.7.4:
- Convert setup.py to pyproject.toml as primary metadata source (PEP 621)
- All package metadata now lives in pyproject.toml
[project]table - setup.py reduced to C++ extension compilation only
- Supports uv build (
uv build) as well as pip/build - Remove superseded necpp/setup.cfg
- All package metadata now lives in pyproject.toml
- Fix #24: VSWR formula guard — add explicit
np.abs()in vswr() to prevent negative values - Fix #8: Add missing
handle_necmethod tonecpp/tests/test_multiple_sc_cards.py - Fix #31: Guard numpy import in
PyNEC/setup.pywith try/except for PEP 517 metadata phases - Fix multiple bugs found during code analysis:
- Move test_multiple_sc_cards.py from PyNEC/tests/ to necpp/tests/ (it imported the wrong module)
- Fix setup.cfg referencing nonexistent README.txt → README.md
- Fix broken nosetests command in build_wheels.sh
- Fix double-space in CI CIBW_BUILD string
- Fix license metadata consistency (GPLv2 → GPLv3) in both setup.py files
- Fix hard-coded swig3.0 → swig in necpp/build.sh
- Fix symlink creation failure on re-run in both build.sh scripts
- Fix typo (stop_ → stop) and unassigned delta bug in context_clean.py Range class
- Add clarifying docstring for ex_card overload in nec_context.i
- Add scipy, matplotlib to dev-requirements.txt
- Remove stale Python 2 classifiers from necpp/setup.py
- Fix Makefile manylinux2014 → manylinux_2_28
- Fix CI branch filter (main → master)