Skip to content

Add a CHANGELOG, automate PyPI publishing, and prepare v1.4 - #34

Merged
zsarnoczay merged 5 commits into
OpenPBEE:mainfrom
zsarnoczay:prep_for_v14
Sep 11, 2026
Merged

zsarnoczay merged 5 commits into
OpenPBEE:mainfrom
zsarnoczay:prep_for_v14

Conversation

@zsarnoczay

Copy link
Copy Markdown
Collaborator

Prepares the v1.4 release. Four self-contained commits; the commit messages carry the detail.

  • build: commits the packaging configuration that actually produced the 1.3.0 wheel on PyPI. Also corrects the license metadata and the project URLs, and drops requirements.txt as redundant with pyproject.toml.
  • docs: adds CHANGELOG.md, covering v1.4 and v1.3.
  • ci: uploads to PyPI when a GitHub Release is published, through Trusted Publishing with a gated pypi environment. No stored token.
  • chore(release): fixes the CFF schema version and DOI format, and points the software DOI at the Zenodo concept DOI so citations stay current across releases.

The 1.3.0 artifact on PyPI was built from a working-tree config that
was never committed, so the committed file could not reproduce it.
This commit adopts that configuration.

Two metadata fields were wrong in v1.3. license pointed at a LICENSE
file the repository did not carry until May 2026, and is now the
SPDX expression MIT with license-files. The project URLs pointed at
NHERI-SimCenter, which has no such repository, and now point at
OpenPBEE.

requirements.txt is redundant with the pyproject dependencies and is
removed.
Each release opens with a Methodology section covering changes to the
simulation method itself or core data, kept separate from bug fixes and
tooling. Changes under Methodology alter results by design and users
need to see them first.

The preamble states the versioning policy in place of a semantic
versioning claim: the number follows the ATC-138 methodology lineage
from the MATLAB codebase, so a minor release can change results.
Publishing a GitHub Release now uploads that version to PyPI through
Trusted Publishing, so a collaborator cutting a release needs no
separate tag push and no local build.

The build job refuses to continue when the release tag and the version
in pyproject.toml disagree, which catches a release cut against a
forgotten version bump. Only the published event is subscribed to,
since PyPI uploads are immutable and editing a release afterward must
not trigger a second upload.
cff-version was 1.0.0, which predates the schema the file is written
against, and both DOI fields carried a URL where the schema expects a
bare DOI. The software DOI now points at the Zenodo concept DOI,
which resolves to the current version and needs no edit each release.
more concisely state the change and provide context that this project
only contains FR specific attributes rather than the entire fragilities

@dustin-cook dustin-cook left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. I added some minor updates to the change log.

@zsarnoczay
zsarnoczay merged commit 2d82831 into OpenPBEE:main Sep 11, 2026
18 checks passed
@zsarnoczay
zsarnoczay deleted the prep_for_v14 branch September 11, 2026 05:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants