programmatūra · 5 min · 17.08.2026

Django no 2028. gada izdos vienu laidienu gadā, atbalsts katram 35 mēneši

Django pāriet uz vienu funkciju laidienu gadā. Projekta Steering Council apstiprināja priekšlikumu DEP 20; paziņojumu Django publicēja 10. augustā. Pirmais laidiens pēc jaunās kārtības iznāks 2028. gada janvārī ar nosaukumu Django 2028.0. Versija ar numuru 7.0 neiznāks nekad.

Līdz tam grafiks paliek vecais. Django 6.1 ir jaunākā versija, 6.2 LTS gaidāma 2027. gada aprīlī. Abām atbalsta termiņi paliek tieši tādi, kādi tie apsolīti pēc vecās kārtības. Tāpat nekas nemainās Django 5.2 LTS lietotājiem.

Versijas numurā būs gads

Jaunais formāts ir YYYY.N: četru ciparu gads plus ielāpa numurs. 2028. gada janvārī iznāk 2028.0, tam seko 2028.1, 2028.2 un tā tālāk. Nākamā funkciju versija būs 2029.0.

DEP 20 autors Carlton Gibson savā vēstkopā raksta, ka pēc numura “Django 2.2” nevar pateikt ne izdošanas gadu, ne to, cik ļoti versija ir novecojusi. Otra problēma ir x.0. Lietotāji, kas pieraduši pie semantiskās versionēšanas, gaida lielas izmaiņas, bet Django 6.0 nebija lielāks lēciens par 5.2 LTS.

Sagatavošanas grafiks tagad piesienas CPython gada ciklam. Alfa versija iznāks oktobra sākumā vai vidū, tūlīt pēc CPython gala laidiena. Beta seko novembrī, laidiena kandidāts decembrī, gala versija janvāra otrajā nedēļā. Ielāpu un drošības laidieni turpināsies reizi mēnesī visām atbalstītajām versijām.

Trīs gadi atbalsta katrai versijai

Katra funkciju versija saņems 35 mēnešus atbalsta. Pirmajā gadā tas ir pilnais atbalsts: drošības caurumi, datu zuduma kļūdas, avārijas, jaunās funkcionalitātes kļūdas un regresijas. Atlikušos divus gadus paliek tikai drošības un datu zuduma labojumi. Atbalsta līmenis mainīsies katru decembri. Jebkurā brīdī atbalstītas būs trīs versijas.

Apzīmējums LTS pazūd pavisam. Līdz šim LTS bija katrs trešais laidiens, aptuveni reizi divos gados; trīs gadu atbalsts pienācās tikai tam.

Kā šī asimetrija izskatās praksē, redzams tieši šobrīd. Django 6.0 pilnais atbalsts beidzās 4. augustā, bet 5.2 LTS drošības labojumus saņems līdz 2028. gada aprīlim. Vecāka versija dzīvo krietni ilgāk par jaunāku, tāpēc daļa komandu apzināti paliek uz LTS un izlaiž pa vidu esošos laidienus.

Novecojušo funkciju izņemšanas kārtība paliek tā pati. Ja funkcija atzīta par novecojušu versijā X, brīdinājums parādās X un X+1, izņemta tā tiek X+2. Divu laidienu logs saglabājas, bet kalendārā tas izstiepjas no aptuveni 16 mēnešiem līdz aptuveni 24. Projektam, kas atjauninās reizi gadā, tas dod veselu papildu gadu, lai izķertu brīdinājumus, pirms attiecīgais kods vienkārši pārstāj darboties.

Vienlaikus uzturamo atzaru skaits nemainās. Šodien Django vienlaikus atbalsta trīs sērijas, tikai ar dažādu dzīves ilgumu; pēc pārejas atbalstītas būs tās pašas trīs, katra ar vienādiem noteikumiem. Mainās tikai tas, ka vecākā no trim izkrīt katru decembri, nevis pēc astoņu mēnešu ritma.

Python matrica sarūk līdz trim versijām

Galvenais tehniskais iemesls ir Python. CPython izdod jaunu versiju katru oktobri, Django astoņu mēnešu cikls tam nekad nav labi piestāvējis. Django 4.2 atbalstīja piecas Python versijas, no 3.8 līdz 3.12. Katra no tām nozīmē atsevišķu CI matricas rindu. Daļa jau bija sasniegusi upstream atbalsta beigas, taču Django tās turēja vēl aptuveni 18 mēnešus.

Gibsons par šo praksi izsakās skarbi:

Manuprāt, ar to mēs saviem lietotājiem nekādu pakalpojumu nedarām.

Jaunajā kārtībā katrs Django laidiens iznākšanas brīdī atbalstīs trīs Python versijas: divas ar aktīvu upstream atbalstu plus jaunāko no tām, kas saņem vairs tikai drošības labojumus. Oktobra ielāpu laidienā aktuālā Django versija pievieno tikko iznākušo Python. Tas nozīmē, ka Python atbalsta logs Django pusē vairs nestiepsies pāri CPython dzīves ciklam.

Ko tas maina esošos projektos

Gibsons min skaitli, kas paskaidro DEP 20 motivāciju. Jebkurā brīdī tikai 50–70 % Django lejupielāžu no PyPI ir atbalstītās versijas. No turienes nāk arī spiediens uz bibliotēku uzturētājiem: veco LTS praksē jāatbalsta labu laiku pēc oficiālā termiņa, jo lietotāji no tā nekur nav aizgājuši.

Komandas, kas lec no LTS uz LTS, vienā piegājienā pārvar divus gadus izmaiņu. Ja tas neizdodas laikā, projekts paliek ārpus atbalstītā loga bez ērta ceļa uz priekšu. Ar gada ciklu izvēle starp “parasto” laidienu un LTS pazūd, jo noteikumi visiem ir vienādi.

Atjaunināšanās reizi gadā dod vienu novecojušo funkciju brīdinājumu partiju gadā. Astoņu mēnešu ciklā to bija pusotra. Lielo laidienu skaits, ko uztur pati Django komanda, samazinās par trešdaļu.

DEP 20 tekstā statuss ir “Accepted”, dokuments izveidots 24. aprīlī. Ieviešanas komandā strādā Sarah Boyce, Natalia Bidart, Jacob Walls un Carlton Gibson. Pirmā gada cikla alfa versija gaidāma 2027. gada oktobrī, trīs mēnešus pirms Django 2028.0 gala laidiena.

Avoti

komentārisaruna

Komentāri

Šim rakstam vēl nav komentāru. Esi pirmais, kurš dalās ar savu viedokli.

Pievieno komentāru

Tavs e-pasts netiks publicēts. Obligātie lauki atzīmēti.

vēl no programmatūrasaistītie