snapshot of https://github.com/zulip/zulip.git @ 48c69911c7dd4e03b20552eb3bd77ad8151c1357 (2026-09-15)
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
This commit is contained in:
36
docs/subsystems/django-upgrades.md
Normal file
36
docs/subsystems/django-upgrades.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Upgrading Django
|
||||
|
||||
This article documents notes on the process for upgrading Zulip to
|
||||
new major versions of Django. Here are the steps:
|
||||
|
||||
- Carefully read the Django upstream changelog, and `git grep` to
|
||||
check if we're using anything deprecated or significantly modified
|
||||
and put them in an issue (and then starting working through them).
|
||||
Also, note any new features we might want to use after the upgrade,
|
||||
and open an issue listing them;
|
||||
[example](https://github.com/zulip/zulip/issues/2564).
|
||||
- Start submitting PRs to do any deprecation-type migrations that work
|
||||
on both the old and new version of Django. The goal here is to have
|
||||
the actual cutover commit be as small as possible, and to test as
|
||||
much of the changes for the migration as we can independently from
|
||||
the big cutover.
|
||||
- Check the version support of the third-party Django packages we use
|
||||
(`git grep django pyproject.toml` to see a list), upgrade any as
|
||||
needed and file bugs upstream for any that lack support. Look into
|
||||
fixing said bugs.
|
||||
- Look at the pieces of Django code that we've copied and then
|
||||
adapted, and confirm whether Django has any updates to the modified
|
||||
code we should apply. Partial list:
|
||||
- `CursorDebugWrapper`, which we have a modified version of in
|
||||
`zerver/lib/db.py`. See
|
||||
[the issue for contributing this upstream](https://github.com/zulip/zulip/issues/974)
|
||||
- `PasswordResetForm` and any other forms we import from
|
||||
`django.contrib.auth.forms` in `zerver/forms.py` (which has all of
|
||||
our Django forms).
|
||||
- Our AsyncDjangoHandler class has some code copied from the core
|
||||
Django handlers code; look at whether that code was changed in
|
||||
Django upstream.
|
||||
- Our `FilteredManagementUtility` in `manage.py`, which forks the
|
||||
management command discovery code.
|
||||
- `zerver/management/commands/change_password.py` is forked from the
|
||||
upstream `changepassword.py`.
|
||||
Reference in New Issue
Block a user