Maintenance

This page documents what needs to be updated in various maintenance scenarios.

Python Version Added or Removed

When adding or removing a supported Python version, update the following:

File

What to update

.github/workflows/ci-lint.yaml

MIN_IOS_PY_VERSION

.github/workflows/ci-ifcopenshell-python-pypi.yml

pyver matrix

.github/workflows/ci-ifcopenshell-python.yml

pyver matrix

nix/build-all.py

PYTHON_VERSIONS list

src/bsdd/pyproject.toml

requires-python

src/ifcopenshell-python/docs/ifcopenshell-python/installation.rst

add or remove the row in the ZIP packages table

src/ifcopenshell-python/Makefile

SUPPORTED_PYVERSIONS

src/ifcopenshell-python/pyproject.toml

requires-python

src/ifcopenshell-python/test/test_package.py

SUPPORTED_PY_VERSIONS tuple

win/build-all-win.py

PYTHON_VERSIONS list

Blender Version Updated

When a new Blender version is released and supported:

File

What to update

.github/workflows/ci-bonsai.yml

pyver matrix

.github/workflows/ci-bonsai-daily.yml

Blender download URL

Blender’s Bundled Python Version Updated

When Blender ships with a new Python version:

File

What to update

.github/workflows/ci-lint.yaml

MIN_BLENDER_PY_VERSION

src/bonsai/Makefile

SUPPORTED_PYVERSIONS

src/bonsai/scripts/dev_environment.py

PYTHON_VERSION mapping (Blender version, bundled Python version)

Release

Notes:

  • Typically all packages are released at once using the same version schema

  • The README.md badges can serve as a visual reference for what versions have been released

Things to update:

  • .github/workflows/ci-bcf-pypi.yml - release bcf-client to PyPI

  • .github/workflows/ci-bonsai.yml - release bonsai in GitHub releases

  • .github/workflows/ci-bsdd-pypi.yaml - release bsdd to PyPI

  • .github/workflows/ci-ifc4d-pypi.yaml - release ifc4d to PyPI

  • .github/workflows/ci-ifc5d-pypi.yaml - release ifc5d to PyPI

  • .github/workflows/ci-ifcclash-pypi.yaml - release ifcclash to PyPI

  • .github/workflows/ci-ifcconvert.yml - release ifcconvert binaries in GitHub releases

  • .github/workflows/ci-ifccsv-pypi.yaml - release ifccsv to PyPI

  • .github/workflows/ci-ifcdiff-pypi.yaml - release ifcdiff to PyPI

  • .github/workflows/ci-ifcedit-pypi.yaml - release ifcedit to PyPI

  • .github/workflows/ci-ifcfm-pypi.yaml - release ifcfm to PyPI

  • .github/workflows/ci-ifccityjson-pypi.yaml - release ifccityjson to PyPI

  • .github/workflows/ci-ifcmcp-pypi.yaml - release ifcopenshell-mcp to PyPI

  • .github/workflows/ci-ifcopenshell-python.yml - release ifcopenshell-python binaries in GitHub releases

  • .github/workflows/ci-ifcopenshell-python-pypi.yml - release ifcopenshell wheels to PyPI

  • .github/workflows/ci-ifcpatch-pypi.yaml - release ifcpatch to PyPI

  • .github/workflows/ci-ifcquery-pypi.yaml - release ifcquery to PyPI

  • .github/workflows/ci-ifcsverchok.yml - release ifcsverchok Blender add-on in GitHub releases

  • .github/workflows/ci-ifctester-pypi.yml - release ifctester to PyPI

  • .github/workflows/ci-pyodide-wasm-release.yml - release pyodide wasm wheel to wasm-wheels

  • Release Bonsai Blender extension - zip files from ci-bonsai.yml releases should be uploaded manually to Blender extensions platform

  • Publishing documentation and websites (see website repository):

  • VERSION to the release version - UPDATE THIS LAST as all workflows above typically depend on it to set the version correctly