Concepts used in this article
You do not need to know them in advance. Open an explanation when a term is unfamiliar.
Django
The Python web framework whose release schedule is changing.
Read the explanation →Python
The programming language used to build Django projects.
Read the explanation →LTS
A label for a release with a longer official support period under the schedule before 2028.
Read the explanation →Django is a web framework: a ready-made foundation for building web applications. People use it with Python, a programming language, so they do not have to build common parts of a website or web service from scratch. If Django is new to you, begin with the separate Django foundation article.
Imagine a team opening a release schedule even though its application works normally. A Django release has an official support window and a defined set of supported Python versions. It is only one factor in third-party package compatibility. The schedule is therefore a practical concern for people who build or maintain web applications with Python.
The news is that starting in January 2028, Django will have one feature release per year. Releases will be named after their year and supported for three years each. No immediate migration is required before 2028: for an existing project, the useful step now is to identify its version and support deadline.
The news: what changes in 2028
Django currently ships feature releases roughly every eight months. Only selected releases carry the LTS label—Long-Term Support—and receive a longer official support period.
Under the announced plan, starting in January 2028:
- one feature release will arrive every January;
- releases will be named after the year: Django 2028, Django 2029, and so on;
- every annual release will receive three years of official support;
- the separate LTS label will no longer guide the annual cycle because all annual releases will receive the same support period.
The official announcement also links Django’s January schedule to Python’s annual cycle. However, the calendar does not confirm compatibility for a particular combination of Django, Python, and a third-party package. That conclusion requires package documentation and tests.
The transition schedule
The official announcement gives this schedule:
- Django 6.1 — August 2026. Support ends in December 2027.
- Django 6.2 LTS — April 2027. Support ends in April 2030.
- Django 2028 — January 2028. This is the first release under the new cycle; support ends in December 2030.
- Django 2029 — January 2029. Support ends in December 2031.
Django 6.2 LTS connects the old and new schedules: the annual cycle begins in 2028, while 6.2 LTS remains supported until April 2030. An upgrade date should therefore follow the official deadline for the project’s particular release, not merely the arrival of Django 2028.
For teams and package maintainers, this is a reason to plan regular, including annual, compatibility reviews. This is an editorial recommendation, not a guarantee that every third-party package will support every current Django release.
Plan a decision, not an automatic upgrade
The following are editorial recommendations, not official Django rules.
| Situation | Possible decision | What to confirm |
|---|---|---|
| New application in 2026–2027 | Choose a stable release that is officially supported when the project starts. Consider Django 6.1 only after its official release. | Python and package compatibility, and whether support through December 2027 provides enough time. |
| Service already in use | Do not upgrade solely because of the announcement. After 6.2 LTS ships, assess whether support through April 2030 is useful to the project. | The actual version, its support deadline, test status, and access to a separate test environment. |
| Library or package | Claim only the Django and Python combinations that the package actually tests. | A published compatibility matrix and test results for every declared combination. |
| Training course | Use the current stable release and separate lasting concepts from version numbers. | Plan a review of examples and dependencies after each January release, starting in 2028. |
From understanding to a decision: six safe steps with an AI agent
The detailed interactive path above the article has two branches. Without a Django project, the agent helps the learner understand the announcement and prepare a sourced summary without commands. For an existing project, it starts in a separate working copy with a no-change inspection.
Both branches follow this sequence: understand, inspect, plan, perform only the approved action, verify independently, and explain. An agent answer is not evidence.
Stop if an action needs secrets, production access, a network request, package installation, lockfile changes, or a database migration. Upgrading Django and fully testing another version must be separate, human-approved work in a safe environment.
Sources
Understand the news or safely inspect your Django project
Choose the branch that matches your situation. Understand the facts before delegating a limited action. An agent answer is not evidence.
Completed steps:0 / 0
I am only getting to know DjangoA learning path with no commands, software installation, or invented project.
Separate Django from its version number
Understand Django's purpose and separately state the schedule change planned for 2028.
Boundaries, checks, and agent brief
Understand first
- Django is a tool for building web applications with Python, not a separate language.
- The 2028 announcement does not require an immediate upgrade.
Safe context for the agent
- The first three paragraphs of this article.
- The linked Django foundation article.
Allowed
- Explain Django, Python, and a software version in plain language.
- Ask up to three questions about unfamiliar terms.
Not allowed
- Switch to commands, installation, or migration.
- Invent details about a project that does not exist.
Stop when
- The agent recommends an upgrade before explaining the change.
- The agent mixes official facts with its own recommendation.
How to verify
- Check Django's purpose against the foundation article.
- Check the 2028 claim against the official announcement, not only the agent's answer.
Goal: Understand Django's purpose and separately state the schedule change planned for 2028. Safe context for the agent: - The first three paragraphs of this article. - The linked Django foundation article. Allowed: - Explain Django, Python, and a software version in plain language. - Ask up to three questions about unfamiliar terms. Not allowed: - Switch to commands, installation, or migration. - Invent details about a project that does not exist. Stop when: - The agent recommends an upgrade before explaining the change. - The agent mixes official facts with its own recommendation. Expected artifact: Two sentences in your own words: what Django is and what changes in 2028. How to verify: - Check Django's purpose against the foundation article. - Check the 2028 claim against the official announcement, not only the agent's answer.
Find the facts behind the news
Separate dates and official rules from editorial recommendations.
Boundaries, checks, and agent brief
Safe context for the agent
- The sections about the new cycle and transition schedule.
- The official Django announcement listed under Sources.
Allowed
- Extract dates, support windows, and rules of the new cycle.
- Flag a statement that does not appear in the official announcement.
Not allowed
- Invent future Django features.
- Infer compatibility for a specific package without its documentation and tests.
Stop when
- The official source is unavailable.
- Dates in the article and source disagree.
How to verify
- The learner opens the official announcement and locates every date directly.
Goal: Separate dates and official rules from editorial recommendations. Safe context for the agent: - The sections about the new cycle and transition schedule. - The official Django announcement listed under Sources. Allowed: - Extract dates, support windows, and rules of the new cycle. - Flag a statement that does not appear in the official announcement. Not allowed: - Invent future Django features. - Infer compatibility for a specific package without its documentation and tests. Stop when: - The official source is unavailable. - Dates in the article and source disagree. Expected artifact: Short claim-to-source notes for the new cycle and the four transition releases. How to verify: - The learner opens the official announcement and locates every date directly.
Plan your explanation
Arrange the concepts in the order Django, Python, support, and decision.
Boundaries, checks, and agent brief
Safe context for the agent
- Your two-sentence explanation.
- Verified claim-to-source notes.
- One concept that remains unclear.
Allowed
- Suggest a short concept map.
- Identify the next useful question to investigate.
Not allowed
- Replace a knowledge gap with invented certainty.
- Add an installation or upgrade plan.
Stop when
- The plan introduces an unsupported date or an immediate-upgrade requirement.
How to verify
- Every factual point can be confirmed in the article or official announcement.
Goal: Arrange the concepts in the order Django, Python, support, and decision. Safe context for the agent: - Your two-sentence explanation. - Verified claim-to-source notes. - One concept that remains unclear. Allowed: - Suggest a short concept map. - Identify the next useful question to investigate. Not allowed: - Replace a knowledge gap with invented certainty. - Add an installation or upgrade plan. Stop when: - The plan introduces an unsupported date or an immediate-upgrade requirement. Expected artifact: A three-point explanation plan and one open question. How to verify: - Every factual point can be confirmed in the article or official announcement.
Write a short summary without commands
Apply your understanding through a safe action: prepare a concise summary of the news.
Boundaries, checks, and agent brief
Understand first
- In this branch, acting means working on an explanation, not changing a software environment.
Safe context for the agent
- The verified notes and explanation plan.
- Your own draft of no more than one paragraph.
Allowed
- Edit the draft for accuracy and clarity.
- Remove a claim that is absent from the source.
Not allowed
- Suggest commands, installation, migration, or a version choice for an invented project.
- Add unsupported Django 2028 features.
Stop when
- The summary requires a fact that the official source does not confirm.
How to verify
- The learner compares every sentence with the verified notes.
Goal: Apply your understanding through a safe action: prepare a concise summary of the news. Safe context for the agent: - The verified notes and explanation plan. - Your own draft of no more than one paragraph. Allowed: - Edit the draft for accuracy and clarity. - Remove a claim that is absent from the source. Not allowed: - Suggest commands, installation, migration, or a version choice for an invented project. - Add unsupported Django 2028 features. Stop when: - The summary requires a fact that the official source does not confirm. Expected artifact: One paragraph stating what changes, when it happens, and why no immediate migration is required. How to verify: - The learner compares every sentence with the verified notes.
Verify the summary independently of the agent
Confirm the dates, support duration, and the 6.2 LTS transition exception.
Boundaries, checks, and agent brief
Safe context for the agent
- Your summary.
- The official Django announcement.
Allowed
- Check the summary against the source sentence by sentence.
- Mark an uncertain claim for removal or clarification.
Not allowed
- Treat the agent's earlier answer as an official source.
Stop when
- Any date or support condition disagrees with the source.
How to verify
- The official source is opened directly rather than relayed by the agent.
Goal: Confirm the dates, support duration, and the 6.2 LTS transition exception. Safe context for the agent: - Your summary. - The official Django announcement. Allowed: - Check the summary against the source sentence by sentence. - Mark an uncertain claim for removal or clarification. Not allowed: - Treat the agent's earlier answer as an official source. Stop when: - Any date or support condition disagrees with the source. Expected artifact: A verified summary with a link to the official announcement and no unsupported conclusions. How to verify: - The official source is opened directly rather than relayed by the agent.
Explain the news in your own words
Make sure your understanding does not depend on memorizing the agent's wording.
Boundaries, checks, and agent brief
Safe context for the agent
- The verified summary.
- One question that remains after verification.
Allowed
- Ask up to three clarifying questions.
- Point out a factual error or unclear causal link.
Not allowed
- Rewrite the explanation so that the learner only memorizes an answer.
- Switch to commands or invent project context.
Stop when
- The agent adds unsourced facts or recommends an immediate upgrade.
How to verify
- The learner can repeat the explanation without looking at the agent's text.
Goal: Make sure your understanding does not depend on memorizing the agent's wording. Safe context for the agent: - The verified summary. - One question that remains after verification. Allowed: - Ask up to three clarifying questions. - Point out a factual error or unclear causal link. Not allowed: - Rewrite the explanation so that the learner only memorizes an answer. - Switch to commands or invent project context. Stop when: - The agent adds unsourced facts or recommends an immediate upgrade. Expected artifact: A spoken or written explanation of what Django is, what changes in 2028, and what matters now. How to verify: - The learner can repeat the explanation without looking at the agent's text.
I have a Django projectA path for a separate working copy, with no secrets, production access, dependency updates, or database migrations.
State the question the decision must answer
Understand that the announcement calls for a schedule review, not an automatic migration.
Boundaries, checks, and agent brief
Understand first
- The current version must not be selected or changed based on the LTS label alone.
- Before acting, you need the actual versions, support deadline, critical packages, and test status.
Safe context for the agent
- The first three paragraphs and the official transition schedule.
- A short project description without code, secrets, or user data.
Allowed
- Explain which facts are required for a decision.
- Ask about the required support window and acceptable upgrade window.
Not allowed
- Recommend a specific release without inspecting the project.
- Request production access or secrets.
Stop when
- The agent proposes an immediate upgrade solely because of the announcement.
- Credentials are requested for the explanation.
How to verify
- The question does not assume in advance that an upgrade is required.
Goal: Understand that the announcement calls for a schedule review, not an automatic migration. Safe context for the agent: - The first three paragraphs and the official transition schedule. - A short project description without code, secrets, or user data. Allowed: - Explain which facts are required for a decision. - Ask about the required support window and acceptable upgrade window. Not allowed: - Recommend a specific release without inspecting the project. - Request production access or secrets. Stop when: - The agent proposes an immediate upgrade solely because of the announcement. - Credentials are requested for the explanation. Expected artifact: One decision question, such as: 'When should this project next review compatibility?' How to verify: - The question does not assume in advance that an upgrade is required.
Collect facts without making changes
Locate declared Django and Python versions, dependency files, tests, and continuous integration configuration.
Boundaries, checks, and agent brief
Understand first
- A version declared in a file can differ from the version actually installed.
Safe context for the agent
- Path to a separate working copy of the repository.
- requirements, pyproject.toml, poetry.lock, or uv.lock files when present.
- Project documentation without tokens, passwords, or environment-variable values.
Allowed
- Read dependency and configuration files.
- Locate existing tests and continuous integration (CI) files.
- Prepare, but do not yet run, a list of local commands that only report versions and Git state.
Not allowed
- Change packages or lockfiles.
- Run migrations, tests with unknown side effects, or network operations.
- Read secrets or access production.
Stop when
- There is no separate working copy.
- The intended environment or Python interpreter is unclear.
- Credentials are required to continue.
How to verify
- Git status and diff show no changes.
- Every claim points to a specific file or is marked unconfirmed.
Goal: Locate declared Django and Python versions, dependency files, tests, and continuous integration configuration. Safe context for the agent: - Path to a separate working copy of the repository. - requirements, pyproject.toml, poetry.lock, or uv.lock files when present. - Project documentation without tokens, passwords, or environment-variable values. Allowed: - Read dependency and configuration files. - Locate existing tests and continuous integration (CI) files. - Prepare, but do not yet run, a list of local commands that only report versions and Git state. Not allowed: - Change packages or lockfiles. - Run migrations, tests with unknown side effects, or network operations. - Read secrets or access production. Stop when: - There is no separate working copy. - The intended environment or Python interpreter is unclear. - Credentials are required to continue. Expected artifact: A no-change inspection report covering declared versions, dependency files, tests, CI, proposed reporting commands, and unconfirmed facts. How to verify: - Git status and diff show no changes. - Every claim points to a specific file or is marked unconfirmed.
Turn the facts into a bounded plan
Choose between making no change, scheduling the next review, or separately investigating compatibility.
Boundaries, checks, and agent brief
Safe context for the agent
- The no-change inspection report.
- The official support deadline for the current release.
- Documented requirements of critical third-party packages.
Allowed
- Compare verified dates and versions.
- Suggest a next review date.
- Prepare a separate future test plan without executing it.
Not allowed
- Automatically perform an upgrade.
- Treat compatibility as proven without documentation and tests.
- Include direct production changes.
Stop when
- There is no official source for the support deadline.
- Critical packages or test status have not been identified.
How to verify
- The decision is not based on the LTS label alone.
- Another person can trace every conclusion to the report or an official source.
Goal: Choose between making no change, scheduling the next review, or separately investigating compatibility. Safe context for the agent: - The no-change inspection report. - The official support deadline for the current release. - Documented requirements of critical third-party packages. Allowed: - Compare verified dates and versions. - Suggest a next review date. - Prepare a separate future test plan without executing it. Not allowed: - Automatically perform an upgrade. - Treat compatibility as proven without documentation and tests. - Include direct production changes. Stop when: - There is no official source for the support deadline. - Critical packages or test status have not been identified. Expected artifact: One preliminary decision with evidence, risks, unknowns, and a next review date. How to verify: - The decision is not based on the LTS label alone. - Another person can trace every conclusion to the report or an official source.
Run only the approved version check
Confirm facts locally without changing dependencies, the database, or production.
Boundaries, checks, and agent brief
Understand first
- The action is limited to commands that only report versions and Git state.
- A full upgrade test is a separate task that requires human approval.
Safe context for the agent
- A separate working copy of the repository.
- A human-approved list of local commands that only report versions and Git state.
- The expected local environment name, without secrets.
Allowed
- Run only the approved local commands that report versions or Git state.
- Record standard output and exit codes.
Not allowed
- Install, remove, or update packages.
- Change lockfiles, run migrations, or access the network.
- Use production access, secrets, or user data.
Stop when
- A command attempts to write a file, install a package, or access the network.
- The active environment differs from the expected environment.
- A command requests credentials.
How to verify
- A person reviews both the approved command list and the actual output.
- Git status and diff still show no changes after execution.
Goal: Confirm facts locally without changing dependencies, the database, or production. Safe context for the agent: - A separate working copy of the repository. - A human-approved list of local commands that only report versions and Git state. - The expected local environment name, without secrets. Allowed: - Run only the approved local commands that report versions or Git state. - Record standard output and exit codes. Not allowed: - Install, remove, or update packages. - Change lockfiles, run migrations, or access the network. - Use production access, secrets, or user data. Stop when: - A command attempts to write a file, install a package, or access the network. - The active environment differs from the expected environment. - A command requests credentials. Expected artifact: Captured version-check output, exit codes, and confirmation that Git status and diff show no changes. How to verify: - A person reviews both the approved command list and the actual output. - Git status and diff still show no changes after execution.
Verify the plan independently of the agent
Confirm key facts against official sources and repository state.
Boundaries, checks, and agent brief
Safe context for the agent
- The preliminary decision and local inspection output.
- Django's official schedule.
- Dependency files and documentation for critical packages.
Allowed
- Check support windows against the official source.
- Compare declared and installed versions.
- Review Git status and diff again.
Not allowed
- Treat the agent's answer or an unconfirmed assumption as evidence.
- Resolve a discrepancy by automatically upgrading.
Stop when
- Sources disagree.
- The project version or a critical package requirement is unconfirmed.
How to verify
- Every support deadline has a direct official link.
- No tracked or untracked files were changed during inspection or execution.
Goal: Confirm key facts against official sources and repository state. Safe context for the agent: - The preliminary decision and local inspection output. - Django's official schedule. - Dependency files and documentation for critical packages. Allowed: - Check support windows against the official source. - Compare declared and installed versions. - Review Git status and diff again. Not allowed: - Treat the agent's answer or an unconfirmed assumption as evidence. - Resolve a discrepancy by automatically upgrading. Stop when: - Sources disagree. - The project version or a critical package requirement is unconfirmed. Expected artifact: A verified decision with official links, remaining uncertainties, and a next review date. How to verify: - Every support deadline has a direct official link. - No tracked or untracked files were changed during inspection or execution.
Explain the decision to another person
Make the decision understandable for human approval before any future upgrade.
Boundaries, checks, and agent brief
Safe context for the agent
- The verified decision, links, risks, and uncertainties.
- The intended audience: project owner, developer, or instructor.
Allowed
- Condense the decision without removing its limits.
- Separate confirmed facts from recommendations.
Not allowed
- Hide uncertainties or present the plan as a completed upgrade.
- Add commands or change the project.
Stop when
- The explanation lacks a source for a date or does not name the next step.
How to verify
- Another person can reconstruct the decision from its links and artifacts without trusting the agent.
Goal: Make the decision understandable for human approval before any future upgrade. Safe context for the agent: - The verified decision, links, risks, and uncertainties. - The intended audience: project owner, developer, or instructor. Allowed: - Condense the decision without removing its limits. - Separate confirmed facts from recommendations. Not allowed: - Hide uncertainties or present the plan as a completed upgrade. - Add commands or change the project. Stop when: - The explanation lacks a source for a date or does not name the next step. Expected artifact: A decision record stating the current condition, verified dates, selected action, risks, owner, and next review date. How to verify: - Another person can reconstruct the decision from its links and artifacts without trusting the agent.