diff --git a/.github/ISSUE_TEMPLATE/software_release.md b/.github/ISSUE_TEMPLATE/software_release.md index 99c4fd4..ba40062 100644 --- a/.github/ISSUE_TEMPLATE/software_release.md +++ b/.github/ISSUE_TEMPLATE/software_release.md @@ -10,19 +10,20 @@ assignees: '' - [ ] Pull updated copies of the develop and main branches - [ ] Use git-flow to create a new release branch with the appropriate version (e.g., `git flow release start 0.5`) -- [ ] Update release version to appropriate number (set to final version without any `-pre` or `-dev` tags). +- [ ] Update release version to appropriate number (set to final version without any pre-release or dev tags). - [ ] Create a PR for the release (from release branch to `main`) - [ ] Review the changelog to make sure that all features, changes, bugfixes, etc. included in the release are documented. You may want to review the git revision history to be sure you've captured everything. - [ ] Confirm that all checks for the PR pass (e.g., unit tests, code coverage checks) - [ ] Review code documentation to make sure it is up to date - [ ] Request a review for the PR - [ ] Once approved, use git-flow to finish the release (`git flow release finish`). - *Make sure to use the `--squash-message` flag to customize the commit message for the squash merge.*\* + *Make sure to use the `--squash-message` flag to customize the commit message for the squash merge and + the `--message` flag to specify the tag message.* ## after release - With `post-release-update` feature branch (automatically created for you by git flow) - - [ ] Increase the develop branch version so it is set to the next expected release (i.e., if you just released 0.5 then develop will probably be 0.6-dev unless you are working on a major update, in which case it will be 1.0-dev) + - [ ] Increase the develop branch version so it is set to the next expected release (i.e., if you just released 0.5 then develop will probably be 0.6.dev0 unless you are working on a major update, in which case it will be 1.0.dev0) - [ ] Update the changelog to include a section for the next expected release version - [ ] Create a PR and request a review once all checks are passing - [ ] Push main branch updates to GitHub (`git push main`). diff --git a/CHANGELOG.md b/CHANGELOG.md index 280a7fc..651e954 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,21 +1,23 @@ # Change & Version Information -## 0.8 +## 0.8.0 - Restored `piffle.presentation` unit tests from v0.6.1; separated tests for `piffle.iiif_dataclasses` presentation implementation -- Adopted uv support and package src layout -- Setup additional pre-commit hooks and adopted Ruff-based formatting - Drop Python 3.8, 3.9 support and add Python 3.14 support -- Add GitHub Action for ruff lint and format checks -- Add GitHub Action to check for changelog updates -- Add GitHub Action to check that pull requests align with git flow workflow -- Add CodeQL GitHub Action -- Adopt Dependabot version updates for GitHub Actions and pre-commit -- Adopt git-flow-next for git flow branching conventions -- Add custom hooks for git flow workflow in `gitflow-hooks` +- Adopted uv support and package src layout +- Adopt git-flow-next for git-flow branching conventions +- Add custom hooks for git-flow workflow in `gitflow-hooks` - Add custom script for configuring git-flow `setup_gitflow.sh` +- Add additional pre-commit hooks and adopted Ruff-based formatting +- Adopt Dependabot version updates for GitHub Actions and pre-commit +- Add CodeQL GitHub Action +- Add GitHub Action for Ruff lint and format checks +- Add GitHub Action to check for changelog updates +- Add GitHub Action to check that pull requests align with git-flow workflow +- Add custom GitHub issue template for software releases +- Add custom config for codecov to create separate checks for the core package, tests, and experimental code -## 0.7 +## 0.7.0 *experimental* new dataclass interfaces in `piffle.iiif_dataclasses` thanks to @rwood-97 @@ -31,7 +33,7 @@ interface and package structure may change in future releases. - Add explicit support for and testing against python 3.13 (thanks to @rettinghaus) -## 0.6 +## 0.6.0 - HTTP request method `get_iiif_url` is now a class method on `piffle.presentation.IIIFPresentation`, which can be extended when request @@ -42,14 +44,14 @@ interface and package structure may change in future releases. - Add explicit support and testing for python 3.12 -## 0.5 +## 0.5.0 - Now supports python 3.8-3.11; dropped support for Python versions 3.6, 3.7 - Converted setup.py to pyproject.toml - The alias for accessing `piffle.image` via `piffle.iiif` has been removed - Setup pre-commit hooks and adopted Ruff+Black style formatting -## 0.4 +## 0.4.0 - Dropped support for Python versions 2.7, 3.4, 3.5 - Now tested against python 3.7 and 3.8 @@ -65,7 +67,7 @@ interface and package structure may change in future releases. - Added long description content type for PyPi -## 0.3 +## 0.3.0 - Now Python 3 compatible - URI canonicalization for size, region, rotation, and URL as a whole @@ -75,14 +77,14 @@ interface and package structure may change in future releases. - Bug fix: chaining multiple different options combines all of them properly and does not modify the original image object. -## 0.2 +## 0.2.0 - New methods to parse urls and provide image option information. Contributed by [Graham Hukill (@ghukill)](https://github.com/ghukill) [PR #1](https://github.com/emory-lits-labs/piffle/pull/1) - New method to parse a IIIF Image url and initialize IIIFImageClient via url - New methods to make IIIF Image options available as dictionary - Options are now stored internally in logical, dictionary form rather than as IIIF option strings -## 0.1 +## 0.1.0 Initial alpha release, extracting basic IIIF Image API client from [readux codebase](https://github.com/emory-libraries/readux) diff --git a/README.md b/README.md index 94cc107..7b17260 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Python library for generating and parsing [IIIF Image API](http://iiif.io/api/im object-oriented, pythonic fashion. [![DOI](https://zenodo.org/badge/DOI/10.5281/zenodo.13308491.svg)](https://doi.org/10.5281/zenodo.13308491) -[![unit tests](https://github.com/Princeton-CDH/piffle/actions/workflows/unit_tests.yml/badge.svg)](https://github.com/Princeton-CDH/piffle/actions/workflows/unit_tests.yml) +[![unit tests](https://github.com/Princeton-CDH/piffle/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/Princeton-CDH/piffle/actions/workflows/unit-tests.yml) [![codecov](https://codecov.io/gh/Princeton-CDH/piffle/branch/main/graph/badge.svg)](https://codecov.io/gh/Princeton-CDH/piffle) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/piffle) diff --git a/setup_gitflow.sh b/setup_gitflow.sh index 255313a..95e9deb 100755 --- a/setup_gitflow.sh +++ b/setup_gitflow.sh @@ -2,12 +2,14 @@ # # Set up custom git-flow workflow by updating git-flow configuration -# Set custom gitflow hooks path +# Set custom git-flow hooks path git config gitflow.path.hooks gitflow-hooks +# Always fetch before release operations +git config gitflow.release.fetch true + # Fetch from remote before creating topic branch git config gitflow.feature.start.fetch true -git config gitflow.release.start.fetch true git config gitflow.hotfix.start.fetch true git config gitflow.bugfix.start.fetch true @@ -15,9 +17,6 @@ git config gitflow.bugfix.start.fetch true git config gitflow.branch.hotfix.upstreamStrategy squash git config gitflow.branch.release.upstreamStrategy squash -# Always fetch before release operations -git config gitflow.release.fetch true - # Use custom message for develop auto-updates git config gitflow.hotfix.finish.updatemessage "chore: sync %b from %p" git config gitflow.release.finish.updatemessage "chore: sync %b from %p" diff --git a/src/piffle/__init__.py b/src/piffle/__init__.py index 406f1f6..777f190 100644 --- a/src/piffle/__init__.py +++ b/src/piffle/__init__.py @@ -1 +1 @@ -__version__ = "0.8.0.dev0" +__version__ = "0.8.0"