Release 1.0.1 - #119
Merged
Merged
Conversation
They were committed to main while preparing the release and would be carried into develop by this merge.
Preparing a release staged the whole work tree, so the modflow executables downloaded to run the tests were committed to the release branch and merged to main: 61 MB across autotest/mf6, autotest/mf5to6 and autotest/zbud6. The release now stages the version files and the changelog by name, and the executables are ignored. Formatting is checked rather than applied, so a release cannot quietly reformat sources it is not staging. Continuous integration already enforces the same checks on develop, so a release branch cut from it is clean.
Reset develop after release 1.0.0
Pull requests are squash merged, so the title becomes the commit message the release notes are generated from, and git-cliff drops anything that is not a conventional commit header without saying so. The logger_level parameter was added by such a commit and was missing from the 1.0.0 notes; 63 commits were skipped in that release. Titles are now checked, except on the release and reset pull requests, which a bot opens and which are not squash merged. The publishing guide records that PyPI matches a trusted publisher on the organisation, repository, workflow and environment names, since renaming the organisation invalidated the publisher and nothing reported it until the 1.0.0 release failed to upload.
* ci: bump actions off node 20 GitHub is forcing actions/checkout and astral-sh/setup-uv onto node 24 because the pinned majors still target node 20, which is deprecated. Bumping them clears the warning before the forcing is withdrawn. upload-artifact is bumped for the same reason. modflowpy/install-modflow-action has no major past v1, and orhun/git-cliff-action and pypa/gh-action-pypi-publish are current. * ci: run the pre-idm tests through uv Unlike the other two test jobs, the pre-idm job invoked pytest directly rather than through uv, so it depended on the virtual environment being on PATH. Bumping setup-uv dropped that, and the job failed with 'pytest: command not found' on every platform and python version.
The executables are fetched from github at the start of every test job. One job of thirty failed on develop when that connection was reset, before any test ran. The download is attempted twice before the job fails. The step in the release workflow is already conditional, so its retry combines that condition with the outcome of the first attempt rather than carrying a second if key.
pandas below 2.1 declares no upper bound on numpy, so pandas>=1.5 let a resolver pair pandas 1.5.3 with numpy 2 and produce an environment that fails on import pandas with "numpy.dtype size changed, may indicate binary incompatibility". Installing modflowapi 1.0.0 alongside a pinned pandas<2 reproduced it. 2.2.2 is the first release that supports numpy 2 rather than capping it, so resolution no longer has to drag numpy back to 1.x. The package uses only DataFrame.from_records and to_records, which are unchanged, so the bound is about the numpy pairing and not about the pandas API. conda-forge is unaffected, since its packages carry numpy ABI constraints.
jdhughes-dev
marked this pull request as ready for review
September 6, 2026 12:38
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 1.0.1
The release can be approved by merging this pull request into
main. This will tag anddraft a GitHub release, publish the package to PyPI, and open a follow-up pull request
resetting
developfrommainwith the version incremented.Changelog
Bug fixes