Releases: virtualcell/libvcell
Release list
0.0.17
What's new in 0.0.17
- Moving Boundary solver input:
vcml_to_moving_boundary_input(vcml_content, simulation_name, output_dir_path)converts a VCML simulation (configured for the Moving Boundary solver) into aMovingBoundarySetupXML file — the input format consumed by thevcell-mbsolverpackage (MovingBoundarySolver.from_xml).
Also includes the 0.0.16 changes (generateErrorReport structured error reports; libvcell.__version__).
Packaging
First release on the streamlined workflow: a single py3-none-<platform> wheel per platform (the package is pure Python + a ctypes-loaded native library, so wheels are not Python-version-specific). Wheels for macOS (Apple Silicon), Windows, and Linux (x86_64 + aarch64, manylinux 2_28 / 2_34).
0.0.16
What's new in 0.0.16
- Moving Boundary solver input: new
vcml_to_moving_boundary_input(vcml_content, simulation_name, output_dir_path)API that converts a VCML simulation (configured for the Moving Boundary solver) into aMovingBoundarySetupXML file — the input format consumed by thevcell-mbsolverpackage (MovingBoundarySolver.from_xml). (#19) - Structured error reports:
generateErrorReportproduces clear, nested-cause error messages instead of opaque stack traces. (#17) libvcell.__version__: the installed package version is now exposed programmatically for downstream consumers. (#18)
Wheels are built for CPython 3.10–3.14 across macOS (Intel + Apple Silicon), Windows, and Linux (x86_64 + aarch64, manylinux 2_28 / 2_34).
Restore glibc 2.28 to deployment scripts
We have collaborators whose HPC runs an older version of linux, that only goes up to glibc 2.28. We've recently stopped supporting 2.28, because we can not build a python3.14 version of libvcell, while also using manylinux_2_28 images to do so without creating a custom workflow for it and all future versions of python. Also, glibc 2.28 is many, many versions of linux old (CentOS 8 was still around, for example).
Solution is to build with both, and exclude building later versions of python with manylinux 2.28
What's Changed
- Add back support for glibc 2_28 (manylinux_2_28), excluding newer Python versions that require manylinux_2_34
- Update Maven in the Dockerfiles + the GitHub Action that processes them
- Bump version to 0.0.15.4
Full Changelog: 0.0.15.3...0.0.15.4
Adding python 3.10 to official releases
We build and test for python 3.10, so we're editing the pyproject to reflect that.
What's Changed
- Add Python 3.10 to the official build/test matrix and
pyproject.toml
Full Changelog: 0.0.15.2...0.0.15.3
Expanding compatability
Increases backwards and forwards compatibility
What's Changed
- Upgrade cibuildwheel for broader platform compatibility
- CI/CD fixes
Full Changelog: 0.0.15.1...0.0.15.2
Exposed NumExpr expressions for post-processing
For PyVCell to process expressions, we need to provide them in a specific format used by the python library NumExpr. This release includes the features necessary to do that.
What's Changed
- Expose NumExpr-format expression generation for post-processing (
vcell_infix_to_num_expr_infix) - Update vcell submodule to track master
- CI: work toward macOS 13 wheels
Full Changelog: 0.0.14.4...0.0.15.1
Exposed python-infix expression notation
Exposes VCell's new python-infix notation generation for Expressions
What's Changed
- Add Python-infix notation generation for VCell expressions (
vcell_infix_to_python_infix) - Restore cloning variable setting
- Logging corrections and fail-testing
- Build/CD configuration fixes
Full Changelog: 0.0.13...0.0.14.4