Pas dy vite nga publikimi i degës 14.0 është formuar versioni FreeBSD 15.0. Ndërtimet instalues janë përgatitur për arkitekturën amd64, aarch64, armv7, powerpc64, powerpc64le dhe riscv64. Shtesë ndodhen ndërtime për sisteme virtualizimi (QCOW2, VHD, VMDK, raw) dhe mjedise cloud Amazon EC2, Google Compute Engine dhe Vagrant.
Duke filluar nga dega FreeBSD 15, koha e mbështetjes për degët e rëndësishme pas formimit të versionit të parë (15.0) është shkurtuar nga 5 në 4 vjet, dhe degët e reja të rëndësishme do të formohen çdo dy vjet. Lëshimet ndërmjetëse (15.1, 15.2, 15.3) do të zhvillohen brenda një cikli të fiksuar zhvillimi, duke përfshirë publikimin e versioneve të reja në një degë afërsisht çdo 6 muaj, në vend të çdo viti siç ka qenë deri tani. Duke marrë parasysh mbështetje të njëkohshme për dy degë të ndryshme të rëndësishme, lëshimi i ri ndërmjetës do të publikohet çdo 3 muaj (15.4, 16.1, 15.5, 16.2 etj.), përveç përgatitjes së lëshimeve të para të degëve të reja të rëndësishme, përpara të cilave do të ketë një ndërprerje 6-mujore në lëshime (për shembull, lëshimi 15.3 do të formohet në qershor 2027, 16.0 në dhjetor 2027, 15.4 në mars 2028, 16.1 në qershor 2028).
Ndryshimet kryesore në FreeBSD 15.0 (në shënimin zyrtar të lëshimit, përveç ndryshimeve specifike për lëshimin 15.0, përmenden shumë mundësi që janë shtuar më parë në degët 14.1, 14.2 dhe 14.3):
- U ofrua mundësia e përdorimit të menaxherit të paketave pkg për instalimin dhe azhurnimin e komponenteve të sistemit bazë. Paketat pkgbase mund të ofrohen në mediumin e instalimit për instalim offline ose të shkarkohen nga deposi pkg.freebsd.org. Në konfigurimin pkg (/etc/pkg/FreeBSD.conf) depoja FreeBSD-base nuk është e përfshirë siç është paracaktuar. Instaluesi bsdinstall ofron dy mundësi instalimi: tradicionale dhe me përdorimin e paketave (pkgbase). Mbështetja për mënyrën tradicionale, në të cilën sistemi bazë konsiderohet si një mjedis monolitik, i cili azhurnohet me ndihmën e utilitarit freebsd-update, planifikohet të hiqet në dega FreeBSD 16. Metoda e re, e cila parashikon instalimin e sistemit bazë si një grup paketash nga depoja FreeBSD-base, është propozuar si parazgjedhje në ndërtimet për makinave virtuale dhe imazhet për mjedise cloud, por për momentin trajtohet si eksperimentale për sistemet standarde.
- ĂshtĂ« shtuar mbĂ«shtetje pĂ«r ndĂ«rtimin e FreeBSD nĂ« mjedise tĂ« paprivilegjuara, tĂ« cilat nuk kĂ«rkojnĂ« tĂ« drejtat root. Pa tĂ« drejtat root, gjithashtu mund tĂ« krijohen imazhe iso instalimi dhe imazhe sistemesh pĂ«r makina virtuale. GjatĂ« procesit tĂ« ndĂ«rtimit, tĂ« drejtat root ishin tĂ« nevojshme pĂ«r krijimin e skedarĂ«ve tĂ« pajisjeve, vendosjen e tĂ« drejtave tĂ« aksesit dhe montimin e sistemeve tĂ« tjera tĂ« skedarĂ«ve (pĂ«r shembull, gjatĂ« krijimit tĂ« imazheve tĂ« disqeve).
- ĂshtĂ« implementuar mbĂ«shtetje pĂ«r ndĂ«rtimet e riprodhueshme, tĂ« cilat lejojnĂ« tĂ« sigurohet se skedarĂ«t binarĂ« tĂ« shpĂ«rndara janĂ« ndĂ«rtuar nga kodi burimor tĂ« ofruar dhe nuk pĂ«rmbajnĂ« ndryshime tĂ« fshehura. NdĂ«rtimet e riprodhueshme sigurojnĂ« identitetin e skedarĂ«ve binarĂ«, tĂ« formuar nga kodi burimor nĂ« mjedise tĂ« ndryshme ndĂ«rtimi.
- ĂshtĂ« ndaluar formimi i imazheve tĂ« instalimit dhe ndĂ«rtimeve tĂ« paketave binarĂ« pĂ«r arkitekturĂ«n 32-bit i386, armv6 dhe powerpc. Nga platformat 32-bit Ă«shtĂ« lĂ«nĂ« vetĂ«m armv7. MundĂ«sia e ndĂ«rtimit tĂ« programeve 32-bit dhe pĂ«rdorimi i modit COMPAT_FREEBSD32 pĂ«r tĂ« ekzekutuar skedarĂ«t ekzekutivĂ« 32-bit nĂ« njĂ« mjedis me bĂ«rthamĂ« 64-bit do tĂ« ruhet tĂ« paktĂ«n deri nĂ« fund tĂ« ciklit tĂ« jetĂ«s sĂ« degĂ«s FreeBSD 16.
- Janë shtuar thirrjet sistemore me implementimin e mekanizmit inotify për të ndjekur ndryshimet në sistemet e skedarëve.
- Shtuar përkrahja për atributet e emëruara të skedarëve (atributet e avancuara në stilin Solaris), të cilat planifikohen të mbështeten si një mekanizëm alternativ për menaxhimin e atributeve të avancuara, të disponueshme për ZFS dhe NFSv4. Dallimet nga metodat tradicionale të punës me atribute të avancuara në FreeBSD dhe Linux përfshijnë përfaqësimin e atributeve në një direktori të shërbimeve, e cila nuk është e dukshme në hapësirën kryesore të emërtimit të FS dhe është e asociuar me skedarin. Puna me atributet kryhet si me skedarët e zakonshëm; për shembull, për të përcaktuar listën e atributeve, mund të ekzekutoni funksionin readdir().
- Moduli mac_do është shpallur i gatshëm për përdorim, duke lejuar politika që i japin mundësinë përdoruesve të pa privilegjuar të ndryshojnë kredencialet e proceseve. Për të ekzekutuar komandat si një përdorues tjetër, është përgatitur një utilitar mdo, i ngjashëm me utilitarin su, por që nuk kërkon suid root.
- Gjatësia e drivereve DRM i915 dhe amdgpu është sinkronizuar me bërthamën Linux 6.9. Drivert e pajisjeve pa tel rtw88 (Realtek 802.11n/ac), rtw89 (Realtek 802.11ax) dhe iwlwifi (Intel 02.11a/b/g/n/ac/ax/be) janë sinkronizuar me bërthamën Linux 6.17.
- Implementimi i protokollit TLS në anën e bërthamës (KTLS) është i aktivizuar si parazgjedhje.
- Shtuar utilitarin sndctl për menaxhimin e parametrave të kartave të zërit.
- Shtuar utilitarin mididump për dumpin e ngjarjeve MIDI 1.0 në kohë reale.
- Një backend i ri rrjetor 'slirp' është shtuar në hipervizorin bhyve, duke përdorur bibliotekën libslirp me implementimin e stack-ut rrjetor në hapësirë përdoruesi. Backend-i 'slirp' lejon organizimin e qasjes në rrjet për sistemin e mysafirëve nga mjedisi i hostit pa nevojën për një konfigurim të veçantë të rrjetit në anën e hostit.
- Implementimi i Kerberos në përbërjen kryesore të FreeBSD është zëvendësuar nga Heimdal Kerberos në MIT Kerberos. Për të rikthyer Heimdal Kerberos gjatë ndërtimit, mund të përdorni flamurin WITHOUT_MITKRB5. Në FreeBSD 16, mbështetja për ndërtimin e Heimdal Kerberos do të hiqet.
- Përgjigjja e thirrjeve të sistemit setgroups, getgroups dhe initgroups në trajtimin e grupeve të përdoruesve është afruar me platformat e tjera (ndryshimi i implementimit në FreeBSD përfshinte ruajtjen e identifikuesit efektiv të grupit të proceseve në elementin zero të array-t me listën e grupeve).
- Në konfigurimet e menaxherit të paketave pkg është aktivizuar për default repositori i ri FreeBSD-kmods, ku janë vendosur paketa me module bërthame të mbledhura për dega të caktuara të lëshimit 15.x-RELEASE, dhe jo për degën përherë të azhurnuar 15-STABLE. Repositori FreeBSD-kmods zgjidh problemin me instalimin e drivereve që varen nga ndërfaqet e paqëndrueshme të bërthamës (p.sh., driverët grafikë). Repositori të mëparshme në /etc/pkg/FreeBSD.conf 'FreeBSD' dhe 'FreeBSD-kmods' janë riemëruar në 'FreeBSD-ports' dhe 'FreeBSD-ports-kmods'.
- Në NFS është shtuar mbështetje për operacionin CLONE, i cili është përcaktuar në spekifikimin NFSv4.2 dhe lejon organizimin e kopjimit të shpejtë të skedarëve përmes klonimit të blloqeve në server. Ky mod është funksional vetëm kur eksportohen përmes NFS të ndarjeve ZFS.
- Në sistemet amd64 është shtuar mundësia e përdorimit të më shumë se 4TB RAM.
- Shtuar drejtori ufshci për mbështetje të kontrolerëve të sistemeve të ruajtjes me ndërfaqen UFSHCI (Universal Flash Storage Host Controller Interface).
- Sysctl net.link.bridge.member_ifaddrs është vendosur në 0 si default, pra është e mundur të shtosh interfesa në urat rrjetore pa IP-adresave.
- Rritet besueshmëria e funksionimit të sistemeve me FS UFS që përmbajnë më shumë se 2,000,000,000 inode. Në implementimin e FS UFS1 është zgjidhur problemi i vitit 2038 (mund të përdoren datat deri në vitin 2106).
- Shtohet opsioni i soketeve rrjetës SO_SPLICE për bashkimin e lidhjeve TCP (ngjashëm me një proxy që funksionon pa kopjuar të dhënat në hapësirën e përdoruesit).
- Në utilitarin grep, kontrolli i linkeve simbole është çaktivizuar me default gjatë kërkimit rekurziv.
- Shtohet moduli i kernelit nvmft për mbështetje të kontrollorëve NVMe mbi Fabric dhe utilitarin nvmecontrol për të lidhuar me një kontrollor të jashtëm NVMe mbi Fabric.
- Në utilitarin date është shtuar mbështetje për output-in e kohës me saktësi nanosekondash, për shembull, «date -Ins» do të japë «2024-04-22T12:20:28,763742224+02:00».
- NĂ« jail Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r opsionin zfs.dataset pĂ«r tĂ« shtuar nĂ« ambientin e izoluar tĂ« jail-it njĂ« ndarje, snapshot ose klon ZFS. NĂ« komandĂ«n jail Ă«shtĂ« shtuar mbĂ«shtetje pĂ«r parametrat 'meta' dhe 'env', pĂ«rmes tĂ« cilĂ«ve mund tĂ« bashkĂ«ngjiten metadata ose tĂ« kalohen variabla mjedisore. ĂshtĂ« shtuar mundĂ«sia e adresimit tĂ« ambientve jail sipas jail-deskriptorĂ«ve, pĂ«r tĂ« cilĂ«t janĂ« propozuar funksionet jail_set dhe jail_get, si dhe thirrjet sistemike jail_attach_jd dhe jail_remove_jd. Paketa e filtrave kevent Ă«shtĂ« shtuar pĂ«r tĂ« ndjekur operacionet e krijimit, eliminimit, ndryshimit dhe bashkimit tĂ« Jail.
- Në utilitarin newsyslog është implementuar një parametr për të caktuar metodën e presionit të përdorur si parazgjedhje (bzip2, xz, zstd, gzip), duke eliminuar nevojën për të shënuar flamuj të veçantë (J, X, Y, Z) në çdo rresht newsyslog.conf.
- Në bibliotekën standarde C, në shumë funksione për punën me stringjet dhe kujtesën janë përdorur optimizime të bazuara në instrukcionet SIMD.
- Në fontin Gallant, që përdoret në terminalet virtuale, janë shtuar mbi 4300 glyfa të reja, përfshirë glyfat me simbole cirilike dhe shenja matematikore.
- Në tty, flag-u IUTF8 është vendosur si default, ku funksionon saktësisht fshirja e simboleve UTF-8 kur shtypet Backspace.
- Utilitari dialog, i përdorur në konfiguruesin bsdconfig dhe instaluesin bsdinstall, është zëvendësuar me bsddialog.
- Në utilitarin adduser, i përdorur në bsdinstall, është siguruar krijimi i një dataset-i të veçantë ZFS (seksioni, snapshoti ose kloni) për katalogun e shtëpisë së përdoruesit, nëse dataset-i ZFS tashmë po përdoret për katalogun prind. Gjithashtu, është shtuar mundësia e përdorimit të enkriptimit të katalogëve të shtëpisë përmes ZFS. Për menaxhimin e aktivizimit të këtyre mundësive, janë shtuar parametrat 'Zcreate' dhe 'Zencrypt' në adduser.conf.
- ĂshtĂ« siguruar formĂ«simi i imazheve tĂ« enĂ«ve dhe imazheve sistemore qĂ« pĂ«rputhen me OCI pĂ«r Oracle Cloud.
- ĂshtĂ« shtuar njĂ« lloj i ri imazhi 'small' pĂ«r mjediset cloud, pĂ«rputhshĂ«m me AWS EC2. Ndryshe nga imazhet bazĂ«, ato pĂ«rjashtojnĂ« tĂ« dhĂ«na pĂ«r debuggim, teste, biblioteka 32-bit, debugger-in LLDB, Amazon SSM Agent dhe AWS CLI. Kthimi i imazheve 'base' pĂ«r EC2 Ă«shtĂ« pĂ«rshpejtuar me 76%.
- Në mënyrë default është çaktivizuar dhe shpallur e vjetruar konfigurimi net.inet.tcp.nolocaltimewait, dmth. është kthyer krijimi me përmasë TIME_WAIT për lidhjet TCP, të cilat janë ndarë në anën e sistemit lokal. Për të konfiguruar kohën e qëndrimit të lidhjes në gjendjen TIME_WAIT është shtuar sysctl i ri net.inet.tcp.msl_local.
- Për default, mbështetja për krijimin e lidhjeve rrjetore në localhost, ku specifikohet INADDR_ANY, është e ç aktivizuar. Për të rikthyer mbështetje, mund të vendosni sysctl net.inet.ip.connect_inaddr_wild në vlerën 1.
- Menaxheri i volumeve logjikë gvinum, i cili ishte përdorur për RAID softuerik, është fshirë. Zhvillimi i Gvinum u ndal rreth 15 vjet më parë, ndërkohë që në kod ekzistojnë disa probleme të njohura, të cilat askush nuk ka marrë përsipër t'i rregullojë. Në vend të gvinum, rekomandohet përdorimi i gconcat, gmirror, gstripe, graid ose zfs.
- Drejt eliminimit në FreeBSD 16 është sh driveri agp (Accelerated Graphics Port), i nevojshëm për funksionimin e shumë drivereve për kartat grafike të vjetra. Gjithashtu, janë shpallur si të vjetruar dhe planifikohen për eliminim driverët: fdc (IBM PC Floppy Disk Controller), firewire (IEEE1394 Serial Bus), le (AMD Am7900 LANCE dhe Am79C9xx Ethernet) dhe upgt (USB 802.11g).
- Funksioni readdir_r është shpallur i vjetruar.
- Në serverin SNMP bsnmpd është ndërprerë mbështetje për transportin UDP.
- Generimi i çelësave të hosteve RSA për SSH dhe EC2 AMI është ndaluar. Mbështetja DSA është hequr nga OpenSSH. Baza e të dhënave publickey, e lidhur me algorithmin DES, është fshirë.
- Ftpd dhe shar janë hequr nga sistemi bazë, dhe duhet të përdoren portet ftp/freebsd-ftpd dhe sysutils/freebsd-shar si zëvendësim.
- Ushtria fdisk është shpallur e vjetruar, dhe rekomandohet të përdoret gpart.
- Driveri syscons është shpallur i vjetruar, i cili nuk është i pajtueshëm me UEFI, nuk mbështet UTF-8 dhe ka bllokimin global.
- Versionet e LLVM 19.1.7, OpenSSH 10.0p2, OpenSSL 3.5.4, OpenZFS 2.4.0rc4, Lua 5.4.8, jemalloc 5.3.0, Awk 20250804 (me mbështetje UTF-8), bc 7.1.0, unicode 16.0.0, ncurses 6.5, libarchive 3.8.2, tcpdump 4.99.5, unbound 1.24.1 dhe less 679, file 5.46, GoogleTest 1.15.2 janë përditësuar.
Burimi: opennet.ru
