Changelog¶
0.0.5 - 2026-01-25¶
Changes¶
Migrate to PEP 735 dependency groups (41d430c)
Hatch 1.16 introduces
support
for
PEP 735 dependency groups
in pyproject.toml. Dependency groups allow development dependencies to
be moved out of the [project.optional-dependencies] table and into a
separate [dependency-groups] table. This is helpful because optional
dependencies are included with package metadata, so previously, groups
of dependencies in the [project.optional-dependencies] table (also
called "features" or "extras") were all included in the built package,
and visible in PKG-INFO text files in sdists (source distributions),
even if they were only used for development of the project itself. The
[dependency-groups] table is not included in built packages, so the
package has cleaner metadata when built and distributed to registries
like PyPI.
When building packages with hatch build, there is now an undocumented
requirement for builder = true in the Hatch environment used to build.
Without builder = true, Hatch will error because the environment "is
not a builder environment"
(pypa/hatch#2113). Hatch
1.16.3 or later is required to use dependency groups in builder
environments
(pypa/hatch#2152).
Commits¶
- Bump version from 0.0.4 to 0.0.5 (941eda3)
- Contain workflow permissions (a75a403)
- Migrate to PEP 735 dependency groups (41d430c)
- Update Vercel configuration for uv (b48c146)
- Update to pipx 1.8.0 (59ea7a2)
- Fix commit ID in 0.0.4 changelog (70d5b0b)
- Update changelog for version 0.0.4 (#4) (84bb21d)
0.0.4 - 2025-09-28¶
Changes¶
Handle missing dimensions in suggest subcommand
(c1d297c)
The Click docs on arguments explain:
It is possible to make an argument required by setting
required=True. It is not recommended since we think command line tools should gracefully degrade into becoming no ops. We think this because command line tools are often invoked with wildcard inputs and they should not error out if the wildcard is empty.
In the spirit of keeping arguments optional, the width and height
arguments to the crp suggest subcommand are both optional. However,
with the code as it is now, both of these arguments should be required.
Without either width or height, the command will raise the exception
'<' not supported between instances of 'NoneType' and 'int' which
originates from if width < minimum_width or height < minimum_height in
crp.types.Image.__init__ (Click sets the missing value to None).
Missing dimensions will now be handled in the following manner:
- If neither width nor height are supplied, raise an exception.
- If only width or only height is supplied, set the missing dimension to a default value appropriate for the aspect ratio of the image type.
Commits¶
- Bump version from 0.0.3 to 0.0.4 (c1d297c)
- Handle missing dimensions in
suggestsubcommand (8d5026e) - Limit Click version constraint to minor version (6710c6f)
- Update to Hatch 1.14.2 (5a3fc35)
- Use Hatch commands consistently in testing docs (9c4b207)
- Revert "Move contributing symlink to
.github" (9967d2a) - Move contributing symlink to
.github(258b924) - Justify project in light of auto-cropping features (bf43eb0)
- Add TMDB auto-cropping Trello link to README (835b88a)
- Update
suggestsubcommand output format in docs (400982e) - Switch type checking from mypy to BasedPyright (527b908)
- Add
[project.urls]table topyproject.toml(9af7e84) - Add suggested VSCode settings and extensions (414a9b6)
- Don't use same deployment environment name twice (01fed9d)
- Update changelog for version 0.0.3 (#3) (cec5635)
0.0.3 - 2025-09-08¶
Changes¶
Drop support for Python 3.11 (ade0b0e)
This release will drop support for Python 3.11 and set the minimum
required version to Python 3.12. This is needed due to the use of the
@typing.override
decorator that was introduced in Python 3.12. It is also possible to
install the typing_extensions package as a runtime dependency if
support for older versions of Python is needed. This project is new and
does not need to support older versions of Python, so it is simpler to
just drop support for Python 3.11.
Commits¶
- Bump version from 0.0.2 to 0.0.3 (b877c36)
- Drop support for Python 3.11 (ade0b0e)
- Update changelog for version 0.0.2 (#2) (0db3694)
- Add
workflow_dispatchto changelog job (e8d926e) - Fix ref in GitHub Actions changelog job (3ca374f)
0.0.2 - 2025-09-08¶
Changes¶
Enforce minimum and maximum image dimensions (3c673c2)
This release will add enforcement of minimum and maximum image
dimensions to the suggest subcommand.
- Backdrops (16:9): minimum 1280x720 pixels, maximum 3840x2160 pixels
- Posters (2:3): minimum 500x750 pixels, maximum 2000x3000 pixels
This will be accomplished with a dataclass that checks image dimensions
as part of its __init__ method. Tests will be added to verify that the
error messages and exit codes are propagated back to the user.
Commits¶
- Bump version from 0.0.1 to 0.0.2 (7268885)
- Enforce minimum and maximum image dimensions (3c673c2)
- Add more related projects to README (f0aa320)
- Clarify installing vs. running CLI in README (4b15489)
- Add PyPI badge to README (958eff9)
- Add test coverage badge to README (3641bbf)
- Remove CodeQL GitHub Actions workflow (1a53bce)
- Format Git tag messages with Prettier (d7136fc)
- Update references to
developbranch (755610f) - Update changelog for version 0.0.1 (#1) (f320050)
0.0.1 - 2025-09-07¶
Changes¶
Implement suggest subcommand
(08a18dd,
a0d7072)
This release will provide a minimal working implementation of a
suggest subcommand. The purpose of the suggest subcommand is to
suggest dimensions for cropping images of the given image type.
Images often need to be cropped to specific aspect ratios and dimensions for upload to sites like TheMovieDB.
- Backdrops: 16:9 (minimum 1280x720 pixels, maximum 3840x2160 pixels)
- Posters: 2:3 (minimum 500x750 pixels, maximum 2000x3000 pixels)
This command suggests dimensions to use for cropping. Examples:
crp suggest --width=3940 --height 2160 backdrop -> Crop to 3840x2160
crp suggest --width 1652 --height 2214 poster -> Crop to 1476x2214
-h is not used as a short option for --height because it would
conflict with the -h used for help.
This command does not currently enforce minimum and maximum dimensions. Support for minimum and maximum dimensions is planned for a future release.
The implementation uses
enum.StrEnum, which was
introduced in Python 3.11. This release will set the minimum Python
version to 3.11 accordingly.
Commits¶
- Bump version to 0.0.1 (83e0e2d)
- Add subprocess test for invoking with
python -m(a0d7072) - Implement
suggestsubcommand (08a18dd) - Fix Hatch env in GitHub Actions (091a880)
- Publish to PyPI with trusted publisher (5012782)
- Add a changelog (3d47f39)
- Use same contributing file for repo and docs (0a68946)
- Use same file for README and docs homepage (7bab3b3)
- Update project configuration (29ae4d4)
- Use
$HATCH_ENV_TYPE_VIRTUAL_PATH(822d0d5) - Format
pyproject.tomlwith Tombi (6982e47) - Format Git commit messages with Prettier (352c3da)
- Update
.gitignore(36a434b) - Remove example code (70c0b28)
- Initial commit (d1b3efa)