Po šiestich mesiacoch vývoja bol vydaný FreeBSD 15.1. Inštalačné zostavy sú pripravené pre architektúry amd64, aarch64, armv7, powerpc64, powerpc64le a riscv64. Dodatočne sú k dispozícii zostavy pre virtualizačné systémy (QCOW2, VHD, VMDK, raw) a cloudové prostredia Amazon EC2, Google Compute Engine a Vagrant. Vydanie FreeBSD 15.1 bude podporované do apríla 2027 a aktualizácie pre vetvu 15.x budú vychádzať do 31. decembra 2029.
Hlavné zmeny:
- Ovládače bezdrôtových zariadení rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) a iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) sú synchronizované s jadrom Linux 7.0.
- V jadre bol implementovaný rámec na výber plánovača úloh. V konfiguračnom súbore jadra na systémoch amd64, okrem predvoleného plánovača SCHED_ULE, bola aktivovaná verzia klasického plánovača úloh SCHED_4BSD. Na výber plánovača úloh počas štartu bol pridaný sysctl parameter kern.sched.
- Bola vykonaná práca na zabezpečení podpory štandardu C23 v kódovej základni pre zostavy kompilátorov v režime C23. Úplná podpora C23 sa očakáva vo vetve FreeBSD 16. V novom štandarde boli pridané konštanty nullptr, typ _BitInt(n) a kľúčové slová bool, true a false, ktoré sa mohli konfliktovať s identifikátormi rovnakého názvu definovanými v starom kóde. Podpora C23 umožní využívať v kóde FreeBSD nové možnosti jazyka, ako je hlavičkový súbor stdbit.h, funkcia memalignment(), aktualizované limits.h a stdint.h s makrom _WIDTH a typom char8_t.
- V paketovom filtri ipfw bola implementovaná možnosť nastavenia ľubovoľných masiek v tabuľkách (lookup table), ktoré umožňujú ignorovať akékoľvek kombinácie bitov v kľúčoch a prvkoch tabuľky, napríklad je možné použiť nesúvislé masky, ako je „lookup src-ip4:255.255.253.255“. Kód pre kompatibilitu s verziami paketového filtra ipfw, dodávanými pred vydaním FreeBSD 8, bol odstránený. IP adresyBolo povolené smerovanie IPv6 paketov do divert-soketov, v ktorých bola predtým povolená iba práca s IPv4. Do príkazu ifconfig bol pridaný flag ‘stableaddr’ pre generovanie stabilných IPv6 adries, ktoré sa nemenia pre každú podsiet (Stateless Address Autoconfiguration, RFC 7217).
- Príkazový shell predvolený pre používateľov „root“ a „freebsd“ bol nahradený z csh na sh.
- Bola pridaná utilita setaudit na správu politík systémového auditu.
- Do utilitky find boli pridané možnosti „-xattr“ a „-xattrname“ na vyhľadávanie súborov zohľadňujúcich rozšírené atribúty súborov.
- V utilitke find boli pridané možnosti „-xattr“ a „-xattrname“ na vyhľadávanie súborov zohľadňujúcich rozšírené atribúty súborov.
- Do nástroja newfs bola pridaná možnosť „-u“ na vypnutie mechanizmu soft updates a žurnálovania pre UFS2.
- Predvolená utilita ipfs, ktorá sa používala na ukladanie a obnovovanie tabuliek prekladu adries, bola odstránená a potrebná funkčnosť v jadre, ktorá bola pre jej fungovanie nevyhnutná, bola vypnutá (je možné ju v nastaveniach zostavenia opätovne aktivovať).
- V skripte bsdinstall je predvolene zapnutá inštalácia pkgbase s komponentmi uvedenými v premennej COMPONENTS. Starý spôsob inštalácie na báze distset zostáva sprístupnený, ak je definovaná premenna DISTRIBUTIONS.
- Do štandardných knižníc boli pridané funkcie tdestroy,
strdupa,
strndupa,
posix_spawnattr_getexecfd_np,
posix_spawnattr_setexecfd_np,
pthread_tryjoin_np.
V funkciách memcpy, memmove a memset na systémoch AArch64 sú zapracované optimalizácie na báze inštrukcií MOPS (Memory Operations). - Bola pridaná knižnica libuvmem s realizáciami mechanizmu prerozdelenia pamäte vmem, ktorý funguje v užívateľskom priestore a poskytuje API kompatibilné s vmem pre aplikácie.
- Do obrazov pre virtuálních strojů a cloudové systémy bol zahrnutý balíkový manažér pkg a implementovaná podpora atomového aktualizovania balíka so základným systémom pri prvom spustení.
- Do konfigurácie jadra MINIMAL bol zahrnutý ovládač virtio_scsi, ktorý umožňuje načítanie systému v virtuálnych strojoch na báze qemu/kvm.
- Boli implementované systémové volania pdwait a pdfork pre nový mechanizmus vytvárania a ukončovania procesov, ktorý využíva deskriptory procesov.
- Do medzivrstvy pre kompatibilitu s Linuxom bol pridaný fcntl F_DUPFD_QUERY, ktorý využíva kcmp KCMP_FILE na kontrolu súborového deskriptora v Linuxových kontajneroch.
- Bola zapnutá zostava ovládača iwx pre bezdrôtové adaptéry Intel AX210/AX211/AX411 s podporou Wi-Fi 6E a Wi-Fi 7.
- Ovládače boli aktualizované. Pridaná podpora sieťových adaptérov Intel E835-XXV-4 a Intel E835 Ethernet, RAID ovládačov využívaných v serveroch Fujitsu PRIMERGY, ako aj NVMe úložných zariadení používaných v Google Compute Engine C4. Zlepšila sa podpora platforiem Raspberry Pi. Pridaná podpora čítačov sledovania výkonu (hwpmc) poskytovaných v CPU Intel Alder Lake, Alder Lake-N a Emerald Rapids.
- Ovládač hid bol nakonfigurovaný na poskytovanie prístupu používateľom skupiny game, čo umožňuje pristupovať k herným ovládačom bez zvýšenia privilégia, pomocou knižníc, ako je libsdl.
- V nástroji mt bola zabezpečená kompatibilita s páskovými úložiskami, ktoré podporujú štandardy LTO-10 a LTO-10P (Linear Tape-Open Generation 10).
- Do tímu „zpool prefetch“ bola pridaná podpora pre metadáta BRT (Block Reference Table), ktorá zlepšuje výkon klonovania a oslobodzovania blokov.
- Do klienta NFS bola pridaná podpora exportovania cez NFS súborových systémov, ktoré nezohľadňujú veľké a malé písmená v názvoch súborov a adresárov.
Pri bezdiskovom zavádzaní cez NFSv4 bola implementovaná podpora pre pripojenie NFS oddielu ako koreňového súborového systému a mapovanie mien alebo identifikátorov používateľov cez nfsuserd. Bola pridaná počiatočná podpora rozšírenia k NFSv4.2 s POSIX ACL. server A do klienta NFSv4 bola pridaná podpora atribútu archivovania (UF_ARCHIVE), ktorý sa používa v NFS klientovi Windows. - Do rozhrania splash bola pridaná možnosť nastaviť obrazovku v formáte PNG, ktorá sa zobrazuje pri ukončení systému.
- Bol pridaný sysctl net.inet.ipf.jail_allowed, ktorý umožňuje priradiť k Jail prostrediu vlastný súbor nastavení a pravidiel filtrovania paketov ipfilter.
- Bol pridaný sysctl allow.vmm_ppt pre prenos prístupu k PCI zariadeniam do izolovaných prostredí na základe hypervízora bhyve.
- V GPU ovládači na báze virtio bola implementovaná podpora virtuálnych prostredí na báze Parallels Desktop.
- Bola pridaná podpora registrov FGT (Fine-Grained Trap), mechanizmu Extended Destination ID a inštrukcií MOPS (Memory Operations), ktoré rozširujú možnosti virtualizácie a zlepšujú výkon na systémoch ARM64. Bola pridaná podpora ARM64 rozšírenia LASS (Linear Address Space Separation) pre posilnenie izolácie medzi jadrom a užívateľským priestorom.
- Do implementácie rámcového buffera hypervízora bhyve bola pridaná podpora UNIX soketov, ktoré umožňujú prenášať grafickú konzolu do Jail-ov nie cez sieť.
- Aktualizované verzie OpenZFS 2.4.2, OpenSSL 3.5.6, NSS 3.123.1, xz 5.8.3, tcpdump 4.99.6, zlib 1.3.2, zstd 1.5.7, blocklistd 2026-02-07, ncurses 6.6, bsddialog 1.0.5, bmake 20251111, SQLite 3.50.4, unbound 1.25.1, MIT Kerberos 1.22.2, Heimdal Kerberos 1.22.2.
- Konzolový font spleen bol aktualizovaný na verziu 2.2.0 a bol rozšírený o ďalšie symboly (dlhé pomlčky, krátke pomlčky, spojovník, uhlové zátvorky, biely štvorec, kríž a dvojitý kríž). Zlepšilo sa zarovnávanie symbolov na obrazovkách s vysokou hustotou pixelov. Tabuľky symbolov Unicode boli aktualizované na verziu 17.0.0, v ktorej bolo pridaných 4803 symbolov.
- Pod systém blacklist bol premenovaný na blocklist s pozadím procesu blocklistd. Staré nastavenia v rc skriptoch a pravidlách filtrovania paketov naďalej platia, ale vyvolávajú varovanie.
- Nástroje OpenPAM boli presunuté do nového balíka FreeBSD-pam, zatiaľ čo knižnica Zstandard a nástroj zstd sú v balíku FreeBSD-zstd.
- Na systémoch nainštalovaných cez balíky freebsd-base je zablokovaný prístup k skriptom installworld a installkernel, aby sa predišlo nesúladom stavu systému s balíkmi.
- Tvorba zostáv vo formáte OCI (Oracle Cloud Infrastructure) bola zastavená.
- Nástroje fdisk, bsdlabel, lpr, lpd, lpc, lpq, lprm, lp, pac, lptest a chkprintcap sú označené za zastarané a budú odstránené vo verzii FreeBSD 16. Odporúča sa používať gpart alebo bsdinstall na prácu s diskovými oddielmi namiesto fdisk a bsdlabel, a na organizáciu tlače by sa mali využiť port print/cups alebo sysutils/LPRng. Vo verzii FreeBSD 16 sa plánuje aj odstránenie sysctl hw.ata.rotating a hw.ata.unmapped_io, ako aj ovládačov hifn (kryptoakcelerátory Hifn 7751/7951/7811/7955/7956), safe (kryptoakcelerátory SafeNet SafeXcel 1141/1741), le (AMD Am7900 LANCE a Am79C9xx ILACC/PCnet Ethernet), fdc (ovládač pre floppy disk) a agp (Accelerated Graphics Port).
Zdroj: opennet.ru
