Skip to content

Conversation

@nvlaarhoven
Copy link
Collaborator

@nvlaarhoven nvlaarhoven commented Jul 17, 2025

Move from django-fsm to django-fsm-2

django-fsm is deprecated and there seems to be a good fork that we can just swap like-for-like
https://github.com/django-commons/django-fsm-2

Also upgrade python, django and boto3

@nvlaarhoven nvlaarhoven marked this pull request as ready for review July 17, 2025 08:33
@dabapps-robot
Copy link

This looks ready for review, so I’ll request one now.

@dabapps-robot dabapps-robot self-requested a review July 17, 2025 08:34
Copy link

@dabapps-robot dabapps-robot left a comment

Choose a reason for hiding this comment

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

Overall

Nice and tidy dependency-maintenance PR – thanks for picking up the django-fsm deprecation quickly.
The switch to django-fsm-2, together with the Django/Python/boto3 bumps, looks straightforward in the diff. A couple of packaging / CI edges are worth tightening so that the published package and the tested matrix stay in sync.

Specific comments

  1. setup.py – Django & boto3 minimum versions

    • We still claim Django>=3.2 and boto3>=1.28.57, but CI no longer tests 3.2/4.0/4.1 and requirements.txt now pins boto3 1.39.
    • Either:
      a) keep the broad >=3.2 range but re-add the older Django versions to the matrix, or
      b) raise the lower bound (e.g. Django>=4.2, boto3>=1.39) to match what we actively support.
    • I’d lean towards (b) – we’re clearly dropping Python < 3.11 support anyway.
  2. Trove classifiers
    If we are officially dropping ≤3.10, remember to update the Programming Language :: Python :: … and Framework :: Django :: … classifiers in setup.py so PyPI reflects reality.

  3. Version bump
    Moving from Python 3.8→3.10 compatibility to 3.11+ and changing a core dependency could be considered a breaking change. Even though we’re still < 1.0, a minor version bump (0.1.0) feels more transparent than 0.0.10 → 0.0.10.

  4. Import path check
    django-fsm-2 keeps the django_fsm import path, so our runtime code shouldn’t need touching – but worth a quick grep for any import django_fsm vs django-fsm typos before releasing.

  5. CI matrix
    Good to see Django 5.2 in the matrix. Maybe also keep 4.2 so at least one LTS is covered – you already have it, so all good.

  6. Changelog
    Don’t forget to add a note about the dependency drops/bumps – consumers will want to know they need Python ≥ 3.11 and Django ≥ 4.2 (if we go with suggestion 1b).

Summary

Nothing blocking merge, but I’d like us to:

  • Align setup.py requirements and classifiers with the new tested range.
  • Consider bumping the package version to 0.1.0 and adding a changelog entry.

Once that’s done, happy for this to go in.

@dabapps-robot
Copy link

Most of the earlier feedback has now been addressed (CI matrix and minimum versions updated, dependencies swapped, version bumped). A fresh review will help catch any remaining tidy-ups such as trove classifiers and CHANGELOG entry, so I'll request an auto-review now.

@dabapps-robot dabapps-robot self-requested a review July 17, 2025 08:46
Copy link

@dabapps-robot dabapps-robot left a comment

Choose a reason for hiding this comment

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

Nice quick turnaround—most of the earlier points are now covered 🎉

Remaining nits:

• setup.py still lists the old Python & Django trove classifiers; worth bumping to 3.11/3.12 and 4.2/5.x so PyPI searches are accurate.
• Don’t forget a brief CHANGELOG note for the breaking-change + dependency bumps.

Everything else looks good to me.

@nvlaarhoven nvlaarhoven merged commit 0e10972 into master Jul 17, 2025
9 checks passed
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.

4 participants