<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir" -->

---
title: Issue 350: Django moves to an annual release cycle
description: Django is switching from its eight-month release cadence to one feature release per year starting January 2028, aligning with Python&#x27;s annual October releases...
canonical: https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: Issue 350: Django moves to an annual release cycle | daily.dev
og:description: Django is switching from its eight-month release cadence to one feature release per year starting January 2028, aligning with Python&#x27;s annual October releases...
og:url: https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir
og:image: https://api.daily.dev/og/posts/uLiPqy5IR.png
og:image:alt: Issue 350: Django moves to an annual release cycle
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Issue 350: Django moves to an annual release cycle

**[Django News](https://daily.dev/sources/djangonews)** · 7 min read · 0 upvotes · 0 comments

## Summary

Django is switching from its eight-month release cadence to one feature release per year starting January 2028, aligning with Python's annual October releases and replacing the LTS distinction with a uniform one-year mainstream plus two-year security/data-loss support window. The issue also rounds up Django REST Framework 3.18.0 (dropping Django 4.2/5.0/5.1, adding 6.1 support), security-only Python patch releases fixing about 30 vulnerabilities, Wagtail 8.0rc1, PyPI freezing its HTML index API in favor of the JSON API, DSF and PSF governance news, DjangoCon US 2026 logistics, and several community articles and projects including django-msgspec and emojet.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://django-news.com/archive/issue-350-django-moves-to-an-annual-release-cycle>

## Questions this post answers

### When is Django switching to an annual release cycle?

Starting in January 2028, Django moves from its eight-month release cycle to one feature release per year, timed to match Python's annual October releases. The change also drops the LTS distinction: every release will get one year of mainstream support followed by two years of security and data-loss fixes. Nothing changes before then.

_Track Django's release cadence shift ahead of the 2028 switch on daily.dev._

### What does Django REST Framework 3.18.0 change?

Django REST Framework 3.18.0 drops support for Django 4.2, 5.0, and 5.1 while adding Django 6.1 support, and it switches list-serializer errors (many=True) to a dict format. It also adds a @throttle_scope decorator for function-based views, unaccent support in SearchFilter, and nulls_distinct support for UniqueTogetherValidator.

_Developers upgrading DRF projects can follow breaking changes like this on daily.dev._

### Why is PyPI freezing the HTML simple-index format?

PyPI is adopting PEP 833 to stop extending the HTML simple-index API with new metadata, redirecting future additions to the JSON API instead. Nothing breaks and no action is required for typical users; only mirror operators or bulk consumers relying on the HTML index should consider switching to the JSON API.

_Teams maintaining PyPI mirrors can watch packaging-ecosystem shifts like this via daily.dev._

## Similar posts on daily.dev

- [Django 6.0 released\!](https://daily.dev/posts/django-6-0-released--hlksa4vxz) · Django News · 0 upvotes · 0 comments
- [Twenty years of Django releases](https://daily.dev/posts/twenty-years-of-django-releases-ez74qwfdd) · Django · 4 upvotes · 0 comments
- [PyCoder’s Weekly](https://daily.dev/posts/pycoder-s-weekly-oekitkw2s) · Planet Python · 0 upvotes · 0 comments

---

Tags: [#python](https://daily.dev/tags/python), [#devops](https://daily.dev/tags/devops), [#django](https://daily.dev/tags/django)

[View this post on daily.dev](https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"Issue 350: Django moves to an annual release cycle","url":"https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir"},"datePublished":"2026-08-14T10:19:14.247Z","dateModified":"2026-08-24T07:07:18.844Z","description":"Django is switching from its eight-month release cadence to one feature release per year starting January 2028, aligning with Python's annual October releases...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bdb526a513502537299c3d4ea9dede4d?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/bdb526a513502537299c3d4ea9dede4d?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Django News","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Django News","logo":"https://media.daily.dev/image/upload/s--OT_Q8LQ---/f_auto/v1720886573/logos/djangonews","url":"https://daily.dev/sources/djangonews"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"python,devops,django","timeRequired":"PT7M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Django News","item":"https://daily.dev/sources/djangonews"},{"@type":"ListItem","position":3,"name":"Issue 350: Django moves to an annual release cycle"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/issue-350-django-moves-to-an-annual-release-cycle-ulipqy5ir#faq","mainEntity":[{"@type":"Question","name":"When is Django switching to an annual release cycle?","acceptedAnswer":{"@type":"Answer","text":"Starting in January 2028, Django moves from its eight-month release cycle to one feature release per year, timed to match Python's annual October releases. The change also drops the LTS distinction: every release will get one year of mainstream support followed by two years of security and data-loss fixes. Nothing changes before then. Track Django's release cadence shift ahead of the 2028 switch on daily.dev."}},{"@type":"Question","name":"What does Django REST Framework 3.18.0 change?","acceptedAnswer":{"@type":"Answer","text":"Django REST Framework 3.18.0 drops support for Django 4.2, 5.0, and 5.1 while adding Django 6.1 support, and it switches list-serializer errors (many=True) to a dict format. It also adds a @throttle_scope decorator for function-based views, unaccent support in SearchFilter, and nulls_distinct support for UniqueTogetherValidator. Developers upgrading DRF projects can follow breaking changes like this on daily.dev."}},{"@type":"Question","name":"Why is PyPI freezing the HTML simple-index format?","acceptedAnswer":{"@type":"Answer","text":"PyPI is adopting PEP 833 to stop extending the HTML simple-index API with new metadata, redirecting future additions to the JSON API instead. Nothing breaks and no action is required for typical users; only mirror operators or bulk consumers relying on the HTML index should consider switching to the JSON API. Teams maintaining PyPI mirrors can watch packaging-ecosystem shifts like this via daily.dev."}}]}
```

