Upgrade a project to a newer django-modern-rest (dmr) release. Use when bumping the django-modern-rest version, when a dependency update breaks imports from `dmr`, or when asked to migrate to a new dmr release. Applies the official migration prompt of every release in between, in order.
77
97%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
View guide
Low
Low-risk findings worth noting
Every breaking django-modern-rest release ships an official migration prompt.
The prompts of the three latest breaking releases live in this skill,
one file per release in references/.
The CHANGELOG.md of the package lists the breaking changes themselves.
Do not guess how an API changed. Read the prompt for every release between the installed version and the target version and apply all of it.
uv pip show django-modern-rest, pip show django-modern-rest,
or the pinned version in uv.lock, poetry.lock, or requirements.txt.Update pyproject.toml (or the requirements file) to the target version
and install it, so the type checker sees the new API.
Read the prompt files for the selected releases, oldest first, and apply every numbered item to the whole project (source, tests, fixtures, settings, management commands):
| Upgrade across | Prompt |
|---|---|
| 0.13 to 0.14 | references/0.13-to-0.14.md |
| 0.14 to 0.15 | references/0.14-to-0.15.md |
| 0.15 to 0.16 | references/0.15-to-0.16.md |
Releases in between that are not listed had no breaking changes.
When the project is on a version older than 0.13, the prompts
of the older releases are not in this skill:
since 0.13.0 they are the descriptions of the releases on
https://github.com/wemake-services/django-modern-rest/releases,
before that they are in CHANGELOG.md. Apply them first, the same way.
Apply one release at a time and keep its edits together, so the user can review them release by release.
When the installed docs matter, load the version-specific index:
https://django-modern-rest.readthedocs.io/en/<version>/llms.txt
(every page is also served as Markdown, replace .html with .md).
python manage.py check and, when OpenAPI is used,
python manage.py dmr_export_schema <schema-path> and diff the output
against the previous schema: only intended changes should appear.Finish with a short report:
Do not change business logic, response contracts, or settings beyond what a prompt item requires. If a prompt item conflicts with project behavior the user wants to keep, stop and ask.
731a602
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.