Skip to content

Declare 0.2.0 and correct the release metadata - #39

Merged
dhsohn merged 1 commit into
mainfrom
release/v0.2.0
Aug 3, 2026
Merged

Declare 0.2.0 and correct the release metadata#39
dhsohn merged 1 commit into
mainfrom
release/v0.2.0

Conversation

@dhsohn

@dhsohn dhsohn commented Aug 3, 2026

Copy link
Copy Markdown
Owner

Motivation

The source tree has moved a long way past the archived v0.1.0 release, but it still declared 0.1.0 everywhere. That left three separate metadata claims wrong at once, and I could not cut a new archived release while they stood.

The one I care about most is .zenodo.json. It still advertised "bootstrap uncertainty" and carried a bootstrap keyword, months after bootstrap resampling was replaced by the asymptotic covariance matrix with Student-t intervals. It was the one consumer of that removal I had missed, so the archive record described a feature the code no longer has.

Changes

Bumped the version to 0.2.0 in pyproject.toml, nmr_bind_fit/__init__.py, CITATION.cff, and paper/paper.bib. A minor bump rather than a patch: v0.1.0 removed public CLI flags and fitting-API arguments.

Corrected the .zenodo.json description and keywords to name the method actually in use.

Removed the DOI from CITATION.cff and paper/paper.bib. I checked the Zenodo record directly: 10.5281/zenodo.21071370 is the version DOI for the v0.1.0 archive, and no concept DOI is exposed. Version 0.2.0 has no archive yet, so carrying that DOI forward would have attributed this release to an archive that describes different code. CITATION.cff keeps it under identifiers, where it accurately describes the earlier archive, and the release checklist already forbids inventing a DOI.

Renamed the changelog's Unreleased section to 0.2.0 and dated it. Updated docs/release_zenodo.md so its tag commands target v0.2.0 — left as they were, they would have tried to recreate the existing v0.1.0 tag and failed — and so its post-DOI steps and preconditions match the current file layout.

Adjusted the pull-request template, which pointed contributors at a [Unreleased] changelog section that this change renames. It now names the topmost unreleased version heading instead, so it will not break again at the next release.

No product code, CLI behaviour, or numerical path is touched.

Verification

I ran these locally on this branch and they passed: python -m pytest -q (169 passed), python -m ruff check . (clean), and an isolated python -m build followed by python -m twine check, which produced 0.2.0 wheel and sdist artifacts and reported PASSED for both.

I validated CITATION.cff against the CFF 1.2.0 schema with cffconvert --validate; it reported the metadata valid, including the new identifiers block.

I also ran the CLI end to end on examples/synthetic_11.csv and confirmed the generated report describes the asymptotic covariance matrix and Student-t intervals, with no remaining mention of bootstrap.

mypy reports the same 7 missing-stub import errors as before this change; none are in the files I touched. The five required CI jobs have not run yet at the time of writing.

The source tree had moved well past the archived v0.1.0 release while still
declaring 0.1.0, so the packaged version, the citation metadata, and the
Zenodo record no longer described the code they name.

Bumped the version to 0.2.0 in pyproject.toml, nmr_bind_fit/__init__.py,
CITATION.cff, and paper/paper.bib. The bump is a minor one because v0.1.0
removed public CLI flags and fitting-API arguments.

Corrected .zenodo.json, which still advertised "bootstrap uncertainty" and
carried a "bootstrap" keyword after bootstrap resampling was replaced by the
asymptotic covariance matrix and Student-t intervals.

Removed the DOI from CITATION.cff and paper/paper.bib. 10.5281/zenodo.21071370
identifies the v0.1.0 archive alone, and 0.2.0 has no archive yet, so carrying
that DOI forward would misattribute the release. CITATION.cff keeps it under
identifiers, where it accurately describes the earlier archive.

Renamed the changelog's Unreleased section to 0.2.0 and updated the release
checklist so its tag commands, post-DOI steps, and preconditions match the
current file layout.
@dhsohn
dhsohn merged commit 6c98ab4 into main Aug 3, 2026
6 checks passed
@dhsohn
dhsohn deleted the release/v0.2.0 branch August 3, 2026 04:52

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a78815bb73

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread CITATION.cff
Comment on lines +5 to +8
identifiers:
- type: doi
value: 10.5281/zenodo.21071370
description: Archived v0.1.0 release. Version 0.2.0 has not been archived yet.

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Remove the v0.1 DOI from the v0.2 citation record

For CFF consumers, identifiers supplies machine-readable identifiers for the software described by this file; the free-text description does not make the DOI merely historical. Consequently, tools processing this version: 0.2.0 record can emit 10.5281/zenodo.21071370 as the DOI for 0.2.0 even though it resolves to the v0.1.0 archive—the exact misattribution this change intends to prevent. Remove the identifier until 0.2.0 is archived, or represent the older release as a related reference rather than an identifier of this record.

Useful? React with 👍 / 👎.

Comment thread CHANGELOG.md
The format follows the spirit of [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project uses semantic versioning once releases are tagged.

## [Unreleased]
## [0.2.0] - 2026-08-03

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore the Unreleased changelog section

After this heading is converted directly to 0.2.0, the changelog has no place for changes made after the release, while the updated pull-request template explicitly tells contributors to use the topmost unreleased heading. The next user-facing change will therefore either be recorded incorrectly under the already released 0.2.0 section or have to invent the missing structure; retain an empty [Unreleased] section and its compare link above this release.

Useful? React with 👍 / 👎.

@dhsohn dhsohn added chore Maintenance or housekeeping documentation Improvements or additions to documentation labels Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Maintenance or housekeeping documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant