Подготвян е първият алфа релиз на FreeBSD 15.0. Инсталационните пакети са изградени за архитектурите amd64, powerpc64le, aarch64 и riscv64. Релизът е планиран за 2 декември. Обновяването до версия 15.0-ALPHA1 от предишни издания чрез утилитата freebsd-update все още не е реализирано.
Започвайки с версия FreeBSD 15, времето за поддръжка на основните версии след формированието на първия релиз (15.0) е съкратено от 5 на 4 години, а новите основни версии ще бъдат формирвани на всеки две години. Междинните издания (15.1, 15.2, 15.3) ще бъдат разработвани в рамките на фиксиран цикъл, предвиждащ публикуването на нови версии в една версия приблизително на всеки 6 месеца, вместо веднъж годишно, както беше досега. Съобразявайки се с едновременната поддръжка на две различни основни версии, ново междинно издание ще се публикува на всеки 3 месеца (15.4, 16.1, 15.5, 16.2 и т.н.), с изключение на подготовката на първите релизи на новите основни версии, преди които ще има 6-месечен интервал без релизи (например, изданието 15.3 ще бъде формирано през юни 2027 година, 16.0 през декември 2027, 15.4 — през март 2028, 16.1 — през юни 2028).
В официалното анонсиране на алфа версията на FreeBSD 15 има линк към известие за релиза (копие) с некоректен списък на промените. Упоменатият списък е лишен от смисъл, тъй като съдържа несъответстващи на версията FreeBSD 15 промени, а промените във версия 14.x относно изданието 14.0, т.е. в него са включени стари данни, прехвърлени от предишно публикувани известия за релизите 14.1, 14.2 и 14.3.
Някои промени в версия FreeBSD 15, отбелязани в Git:
- Спирано е формирането на инсталационни образи и изграждането на бинарни пакети за 32-битови архитектури. Възможността за изграждане на 32-битови програми и използването на режим COMPAT_FREEBSD32 за стартиране на 32-битови изпълними файлове в околна среда с 64-битово ядро ще се запази поне до края на жизнения цикъл на версия FreeBSD 16.
- Премахнат е мениджърът на логични томове gvinum, който се използва за софтуерен RAID. Развитието на Gvinum е спряно преди около 15 години, при което в кода има редица известни проблеми, които никой не се е заел да поправи. Вместо gvinum е препоръчително да се използват gconcat, gmirror, gstripe, graid или zfs.
- Планирано е премахването на драйвера agp (Accelerated Graphics Port), необходим за функционирането на много драйвери за стари видео карти.
- Състоянието на DRM драйверите i915 и amdgpu е синхронизирано с ядрото на Linux 6.9.
- Добавена е поддръжка на именувани атрибути на файлове (разширени атрибути в стил Solaris), които се планира да се поддържат като алтернативен механизъм за управление на разширени атрибути, достъпен за ZFS и NFSv4. Различията от традиционните за FreeBSD и Linux методи за работа с разширени атрибути се свеждат до представянето на атрибутите в служебната директория, невидима в основното пространство на имена на файловата система и асоциирана с файла. Работа с атрибутите се извършва като с обикновени файлове, например, за определяне на списъка с атрибути може да се приложи функцията readdir().
- Изпълнени са системни повиквания с реализация на механизма inotify за проследяване на промени в файловите системи.
- Добавен е инструментът sndctl за управление на настройките на звуковите карти.
- Добавен е инструментът mididump за извеждане на MIDI 1.0 събития в реално време.
- Обявен е готов за употреба модулът mac_do, позволяващ задаването на политики, разрешаващи на непривилегировани потребители да променят удостоверението на процесите. За стартиране на команди от името на друг потребител е подготвена утилита mdo, подобна на утилитата su, но не изискваща suid root.
- По подразбиране е активирана реализация на протокола TLS на ниво ядро (KTLS).
- В хипервизора bhyve е добавен нов мрежови бекенд "slirp", използващ библиотеката libslirp с реализация на мрежовия стек в потребителското пространство. Бекендът "slirp" позволява достъп до мрежата на гост системата от хост средата без отделна настройка на мрежата на хоста.
- Поведението на системните повиквания setgroups, getgroups и initgroups при обработка на потребителските групи е близко до другите платформи (разликата в реализацията на FreeBSD се състоеше в съхранение на ефективния идентификатор на групата на процесите в нулевия елемент на масива със списъка на групите).
- Реализацията на Kerberos в основния състав на FreeBSD е заменена от Heimdal Kerberos на MIT Kerberos. За възстановяване на Heimdal Kerberos при компилиране може да се използва флага WITHOUT_MITKRB5. В FreeBSD 16 поддръжката за компилиране на Heimdal Kerberos ще бъде премахната.
- В NFS е добавена поддръжка на операцията CLONE, определена в спецификацията NFSv4.2, която позволява бързо копиране на файлове чрез клониране на блокове на сървър. Режимът в момента работи само при експортиране на дялове ZFS през NFS.
- Повишена е надеждността на работа на дяловете с файловата система UFS, съдържаща над 2,000,000,000 inode.
- На системите amd64 е добавена възможност за използване на повече от 4TB RAM.
- Обявена е за остаряла функцията readdir_r.
- В SNMP сървъра bsnmpd е спряна поддръжката за транспорта UDP.
- Добавен е драйвер ufshci за поддръжка на контролери на системи за съхранение с интерфейс UFSHCI (Universal Flash Storage Host Controller Interface).
- По подразбиране е деактивирана и обявена за остаряла настройката net.inet.tcp.nolocaltimewait, т.е. е върнато създаването по подразбиране на TIME_WAIT записи за TCP съединения, прекъснати от локалната система. За конфигуриране на времето на задържане на съединението в състояние TIME_WAIT е добавен новият sysctl net.inet.tcp.msl_local.
- По подразбиране е деактивирана поддръжката на създаване на мрежови връзки към localhost, задавайки INADDR_ANY. За да се възстанови поддръжката, може да се зададе sysctl net.inet.ip.connect_inaddr_wild на стойност 1.
- Sysctl net.link.bridge.member_ifaddrs по подразбиране е зададен на 0, т.е. в мрежовите мостове могат да се добавят интерфейси без. IP адреси.
- В реализацията на файловата система UFS1 е решен проблемът с годината 2038 (може да се използват дати до 2106 година).
- Прекратено е генерирането на хостови ключове RSA за SSH и EC2 AMI.
- Добавена е опция за мрежови сокети SO_SPLICE за обединение на TCP-съединения (подобно на прокси, работещо без копиране на данни в пространството на потребителя).
- В утилитата grep по подразбиране е деактивирано обходът на символични линкове при рекурсивно търсене.
- Добавен е модул в ядрото nvmfta за поддръжка на контролери NVMe over Fabric и утилита nvmecontrol за свързване с външен контролер NVMe over Fabric.
- В утилитата date е добавена поддръжка за извеждане на времето с наносекундна точност, например, "date -Ins" ще изведе "2024-04-22T12:20:28,763742224+02:00".
- В jail е добавена поддръжка на опцията zfs.dataset за добавяне на дял, моментна снимка или клон ZFS в изолирана jail-среда.
- В tty по подразбиране е зададен флаг IUTF8, при който коректно работи изтриването на символи UTF-8 при натискане на Backspace.
- Утилитата dialog е заменена с bsddialog.
- Актуализирани са версиите на Lua 5.4.8, jemalloc 5.3.0, Awk 04082025, unicode 16.0.0, CLDR 45.0.0, byacc 20240109, ncurses 6.5.
Източник: opennet.ru
