A fost pregătită prima versiune alfa a FreeBSD 15.0. Pachetele de instalare au fost create pentru arhitecturile amd64, powerpc64le, aarch64 și riscv64. Lansarea este programată pentru 2 decembrie. Actualizarea la ramura 15.0-ALPHA1 din versiunile anterioare prin utilitarul freebsd-update nu a fost implementată încă.
Începând cu ramura FreeBSD 15, perioada de suport pentru ramurile majore după formarea primei lansări (15.0) a fost redusă de la 5 la 4 ani, iar noile ramuri majore vor fi create o dată la doi ani. Versiunile intermediare (15.1, 15.2, 15.3) vor fi dezvoltate într-un ciclu fix de dezvoltare, care preconizează publicarea de noi versiuni într-o ramură aproximativ la fiecare 6 luni, nu o dată pe an cum era până acum. Având în vedere suportul simultan pentru două ramuri majore diferite, noua versiune intermediară va fi publicată la fiecare 3 luni (15.4, 16.1, 15.5, 16.2 etc.), cu excepția pregătirii primelor versiuni ale noilor ramuri majore, pentru care va fi o pauză de 6 luni în lansări (de exemplu, lansarea 15.3 va fi creată în iunie 2027, 16.0 în decembrie 2027, 15.4 - în martie 2028, 16.1 - în iunie 2028).
Anunțul oficial al versiunii alfa a FreeBSD 15 conține un link către nota de lansare (copie) cu o listă incorectă de modificări. Lista menționată este lipsită de sens, deoarece conține modificări care nu sunt specifice pentru ramura FreeBSD 15, ci modificări în ramura 14.x în raport cu lansarea 14.0, adică include date vechi, preluate din notele de lansare publicate anterior 14.1, 14.2 și 14.3.
Unele modificări în ramura FreeBSD 15, marcate în Git:
- Formarea imaginilor de instalare și a pachetelor binare pentru arhitecturi de 32 de biți a fost oprită. Posibilitatea compilării programelor de 32 de biți și utilizarea modului COMPAT_FREEBSD32 pentru rularea fișierelor executabile de 32 de biți într-un mediu bazat pe un nucleu de 64 de biți va fi păstrată cel puțin până la sfârșitul ciclului de viață al ramurii FreeBSD 16.
- Managerul de volume logice gvinum, folosit pentru RAID software, a fost eliminat. Dezvoltarea Gvinum s-a oprit acum aproximativ 15 ani, deși în cod există mai multe probleme cunoscute care nu au fost rezolvate niciodată. În loc de gvinum, se recomandă utilizarea gconcat, gmirror, gstripe, graid sau zfs.
- Se preconizează eliminarea driverului agp (Accelerated Graphics Port), necesar pentru funcționarea multor drivere pentru plăcile grafice vechi.
- Starea driverelor DRM i915 și amdgpu este sincronizată cu kernelul Linux 6.9.
- A fost adăugat suport pentru atributele de fișier numite (atribute extinse în stil Solaris), care sunt planificate să fie susținute ca un mecanism alternativ de gestionare a atributelor extinse, disponibil pentru ZFS și NFSv4. Diferențele față de metodele tradiționale de lucru cu atributele extinse în FreeBSD și Linux se reduc la prezentarea atributelor într-un director de serviciu, care nu este vizibil în spațiul de nume FS principal și asociat cu fișierul. Lucrul cu atributele se face ca și cu fișierele obișnuite, de exemplu, pentru a determina lista atributelor se poate executa funcția readdir().
- Au fost implementate apeluri de sistem cu implementarea mecanismului inotify pentru monitorizarea modificărilor în sistemele de fișiere.
- Utilitarul sndctl a fost adăugat pentru gestionarea setărilor plăcilor de sunet.
- Utilitarul mididump a fost adăugat pentru a face dump de evenimente MIDI 1.0 în timp real.
- A fost declarat gata de utilizare modulul mac_do, care permite stabilirea de politici ce permit utilizatorilor neprivilegiați să modifice datele de autentificare ale proceselor. Pentru a rula comenzi sub un alt utilizator, a fost pregătită utilitarul mdo, similar cu utilitarul su, dar care nu necesită suid root.
- Implementarea protocolului TLS pe partea nucleului (KTLS) este activată în mod implicit.
- Un nou backend de rețea "slirp" a fost adăugat în hipervizorul bhyve, utilizând biblioteca libslirp cu implementarea stivei de rețea în spațiul utilizatorului. Backendul "slirp" permite accesul la rețea pentru sistemul gazdă din mediu fără o configurare suplimentară a rețelei pe partea gazdei.
- Comportamentul apelurilor de sistem setgroups, getgroups și initgroups la gestionarea grupurilor de utilizatori este aliniat la alte platforme (diferența implementării în FreeBSD era păstrarea identificatorului eficient al grupului de procese în primul element al matricei cu lista grupurilor).
- Implementarea Kerberos în compunerea principală a FreeBSD a fost înlocuită de Heimdal Kerberos cu MIT Kerberos. Pentru a reveni la Heimdal Kerberos la compilare, se poate utiliza opțiunea WITHOUT_MITKRB5. În FreeBSD 16, suportul pentru compilarea Heimdal Kerberos va fi eliminat.
- În NFS a fost adăugat suport pentru operația CLONE, definită în specificația NFSv4.2, care permite copierea rapidă a fișierelor prin clonarea blocurilor pe server. Modu este disponibil momentan doar pentru exportarea prin NFS a partitiilor ZFS.
- A fost îmbunătățită fiabilitatea funcționării partitiilor cu FS UFS, conținând mai mult de 2.000.000.000 inode.
- Pe sistemele amd64 a fost adăugată posibilitatea utilizării a mai mult de 4TB de RAM.
- Funcția readdir_r a fost declarată învechită.
- Suportul pentru transportul UDP a fost oprit în serverul SNMP bsnmpd.
- A fost adăugat driverul ufshci pentru a suporta controlerele sistemelor de stocare cu interfața UFSHCI (Universal Flash Storage Host Controller Interface).
- Configurația net.inet.tcp.nolocaltimewait este dezactivată în mod implicit și declarată învechită, adică crearea în mod implicit a înregistrărilor TIME_WAIT pentru conexiunile TCP închise pe partea sistemului local a fost restabilită. A fost adăugată o nouă sysctl net.inet.tcp.msl_local pentru a configura timpul în care o conexiune se află în stare TIME_WAIT.
- De default, suportul pentru crearea de conexiuni de rețea către localhost folosind INADDR_ANY este dezactivat. Pentru a restabili suportul, se poate seta sysctl net.inet.ip.connect_inaddr_wild la valoarea 1.
- Sysctl net.link.bridge.member_ifaddrs este setat implicit la 0, adică se pot adăuga interfețe la punțile de rețea fără restricții. adreselor IP.
- În implementarea FS UFS1 a fost rezolvată problema anului 2038 (se pot utiliza date până în anul 2106).
- Generarea cheilor gazdă RSA pentru SSH și EC2 AMI a fost oprită.
- A fost adăugată opțiunea de socketuri de rețea SO_SPLICE pentru combinarea conexiunilor TCP (similar cu un proxy, care funcționează fără copierea datelor în spațiul utilizatorului).
- Utilitarul grep are acum dezactivată traversarea legăturilor simbolice în căutarea recursivă.
- A fost adăugat modulul de kernel nvmfta pentru suportul controllerelor NVMe over Fabric și utilitarul nvmecontrol pentru conectarea la un controller NVMe over Fabric extern.
- Utilitarul date a fost actualizat pentru a suporta outputul timpului cu precizie la nanosecunde, de exemplu, „date -Ins” va afișa „2024-04-22T12:20:28,763742224+02:00”.
- În jail a fost adăugat suport pentru opțiunea zfs.dataset pentru a adăuga un volum, un snapshot sau un clon ZFS în mediu izolat jail.
- În tty, flagul IUTF8 este activat în mod implicit, permițând funcționarea corectă a ștergerii caracterelor UTF-8 la apăsarea Backspace.
- Utilitarul dialog a fost înlocuit cu bsddialog.
- Au fost actualizate versiunile Lua 5.4.8, jemalloc 5.3.0, Awk 04082025, unicode 16.0.0, CLDR 45.0.0, byacc 20240109, ncurses 6.5.
Sursa: opennet.ro
