Django 2028 — bản phát hành đầu tiên đánh số theo năm của framework — đã bắt đầu thành hình. Theo Django News số 362 (ngày 6/11/2026), Fellow Natalia Bidart đã chuẩn bị xong nhánh bootstrap cho Django 2028: bỏ hỗ trợ Python 3.12 và 3.13, xóa các thiết lập EMAIL_* để thay bằng MAILERS, và chốt các deprecation của ORM. Nhánh này sẽ được hợp nhất vào giữa tháng 1/2027, ngay sau khi nhánh Django 6.2 được tách ra.
Đây là bước chuyển từ quyết định trên giấy thành code thật. Hồi tháng 9, DEP 20 đã chốt: từ 2028, Django phát hành mỗi năm một phiên bản, đánh số theo năm và không còn nhãn LTS. Nhánh bootstrap cho thấy lộ trình đó đang được triển khai đúng hẹn.
Nhánh bootstrap Django 2028 có gì?
Ba thay đổi lớn đã được xác nhận trong nhánh khởi động này:
- Bỏ Python 3.12 và 3.13: Django 2028 sẽ yêu cầu Python 3.14 trở lên. Bản 6.2 (tháng 4/2027) vẫn hỗ trợ hai phiên bản này, nhưng bản 2028 thì không — hãy lên kế hoạch nâng cấp trong năm 2027.
- Khai tử EMAIL_*: toàn bộ các thiết lập email cũ như EMAIL_HOST, EMAIL_PORT sẽ bị xóa, thay bằng hệ thống MAILERS mới. Đây là thay đổi phá vỡ trực tiếp tới file settings của mọi dự án, nên cần rà soát sớm.
- Chốt các deprecation của ORM: những API từng bị đánh dấu deprecated sẽ chính thức bị loại bỏ. Nếu dự án còn warning khi chạy test, đây là lúc dọn dẹp.
Những tín hiệu khác từ main branch
Cùng lúc, nhiều mảnh ghép khác cũng đang vào main. Template sắp hỗ trợ tag viết trên nhiều dòng, giúp các tag có nhiều tham số dễ đọc hơn. Hội đồng điều hành Django họp ngày 2/11 cũng xác nhận mốc đóng băng tính năng vào giữa tháng 1, và Carlton Gibson đang cố đưa pull request về async transactions vào trước mốc này.
Django 6.2 ra mắt tháng 4/2027 sẽ là bản cuối cùng mang số kiểu cũ và là bản LTS với ít nhất 3 năm hỗ trợ. Sau đó, Django 2028 mở ra chu kỳ mới: mỗi tháng 1 một phiên bản, hỗ trợ 3 năm.
Điều này có ý nghĩa gì với bạn?
Nếu dự án của bạn đang chạy Django 6.x trên Python 3.12 hoặc 3.13, bạn có khoảng một năm để chuẩn bị — không cần vội, nhưng đừng để tới phút chót. Việc cần làm ngay: kiểm tra file settings xem còn dùng EMAIL_* không, chạy test với warnings bật để liệt kê các deprecation của ORM, và lên lịch nâng cấp Python lên 3.14 hoặc 3.15 trong năm 2027. Với dự án mới, hãy đi thẳng lên Python 3.15 và Django 6.2.
Bài viết liên quan
- Django “khai tử” bản LTS: từ 2028, mỗi năm một phiên bản, đánh số theo năm
- Django 6.2 sẽ là bản LTS cuối cùng mang số cũ: Python 3.12–3.15 và những thay đổi cần biết trước tháng 4/2027
- Django vá 6 lỗ hổng bảo mật trong bản 6.1.3, 6.0.10 và 5.2.19: nâng cấp ngay hôm nay
Câu hỏi thường gặp
Django 2028 là gì?
Django 2028 là bản phát hành tính năng đầu tiên được đánh số theo năm (CalVer), mở đầu cho chu kỳ phát hành hằng năm theo DEP 20.
Khi nào Django 2028 ra mắt?
Nhánh bootstrap sẽ được merge vào giữa tháng 1/2027, sau khi nhánh Django 6.2 được tách ra. Bản chính thức dự kiến ra mắt tháng 1/2028.
Dự án của tôi có bị ảnh hưởng ngay không?
Chưa. Django 6.2 (tháng 4/2027) là bản LTS với ít nhất 3 năm hỗ trợ. Nhưng nếu dự án dùng Python 3.12/3.13 hoặc EMAIL_*, bạn nên lên kế hoạch nâng cấp trong năm 2027.
MAILERS thay EMAIL_* như thế nào?
MAILERS là hệ thống cấu hình email mới, thay các thiết lập EMAIL_* rời rạc bằng một cấu trúc thống nhất. Chi tiết cú pháp sẽ có trong ghi chú phát hành của Django 2028.
💬 Tin này ảnh hưởng tới dự án của bạn thế nào? Chia sẻ góc nhìn của bạn trong phần bình luận — mình đọc hết và sẽ tổng hợp những ý hay nhất.
Nguồn tham khảo
- Django News số 362 (6/11/2026) — Issue 362: Django 6.1.3, 6.0.10, and 5.2.19 Security Releases
