Zostało wydane desktopowe system operacyjny MidnightBSD 4.0, oparty na FreeBSD z elementami przeniesionymi z DragonFly BSD, OpenBSD i NetBSD. Podstawowe środowisko desktopowe zbudowane jest na bazie Xfce (opcjonalnie można zainstalować pakiet GNUstep + Window Maker + GWorkspace). W przeciwieństwie do innych desktopowych wydań FreeBSD, system MidnightBSD pierwotnie rozwijał się jako fork FreeBSD 6.1-beta, który w 2011 roku został zsynchronizowany z bazą kodu FreeBSD 7 i następnie wchłonął wiele możliwości z gałęzi FreeBSD 9-13. Do zarządzania pakietami w MidnightBSD używana jest system mport, który korzysta z bazy danych SQLite do przechowywania indeksów i metadanych, lub narzędzie Ravenports. Przygotowano obraz instalacyjny o rozmiarze 1 GB (i386, amd64).
Wydanie to jest szczególne ze względu na aktualizację wersji bibliotek zewnętrznych i przeniesienie poprawek oraz nowych możliwości z gałęzi FreeBSD 13. Główne nowości:
- Menadżer pakietów mport zaktualizowano do wersji 2.7.3, w której pojawiła się możliwość weryfikacji poszczególnych portów za pomocą komendy 'mport verify' oraz przywracania sum kontrolnych komendą 'mport verify -r'. W komendzie mport_install zapewniona jest obsługa zależności.
- W programach init, service i cron wykorzystano zmienne środowiskowe zdefiniowane dla użytkownika lub klasy użytkowników przez login.conf.
- Do jądra dodano obsługę mapowania pamięci w trybie W^X, zabraniającym jednoczesnego dostępu do zapisu i wykonania.
- Zamiast GNU grep używana jest wersja narzędzia grep na licencji BSD.
- Dodano zgodne z Linuksem wywołania systemowe copy_file_range, oraz wywołania systemowe aio_readv i aio_writev.
- Dodano wsparcie dla debugowania procesów za pomocą procfs.
- Dodano sterownik backlight do zarządzania podświetleniem.
- W sterowniku cpufreq wdrożono wsparcie dla technologii Intel Speed Shift.
- W kliencie oraz serwerze NFS dodano wsparcie dla NFSv4.2, NFS przez TLS i rozszerzonych atrybutów.
- Dokonano przejścia na implementację systemu plików ZFS z projektu OpenZFS (2.1.15).
- Implementacja podsystemu FUSE zaktualizowana do wersji 7.28 z wsparciem dla FUSE_COPY_FILE_RANGE i FUSE_LSEEK.
- Do stosu TCP zintegrowano wsparcie dla algorytmu proporcjonalnego zmniejszenia intensywności wysyłania pakietów (Proportional Rate Reduction, RFC 6937), który pozwala na szybsze przywrócenie optymalnych parametrów strumienia po chwilowych problemach z przesyłaniem danych.
- Dodano obsługę zagnieżdżonych VLAN (802.1ad).
- Wsparcie dla protokołu SCTP przeniesiono do osobnego modułu sctp.ko, który jest domyślnie wyłączony w jądrze GENERIC.
- Dodano algorytmy wyszukiwania tras z DPDK (Data Plane Development Kit), umożliwiające optymalizację pracy z bardzo dużymi tablicami routingu.
- Na 64-bitowych architekturach system bazowy jest domyślnie kompilowany z obsługą PAE (Position Independent Executable).
- Dodano sterownik iwlwifi dla kart bezprzewodowych Intel z obsługą nowych chipów i standardu 802.11ac. Sterownik oparty jest na sterowniku Linux i kodzie z podsystemu Linux net80211, którego działanie w FreeBSD zapewnia warstwa linuxkpi.
- Dla wszystkich plików wykonywalnych systemu bazowego na platformach 64-bitowych włączona jest domyślnie randomizacja układu adresowego (ASLR, Address Space Layout Randomization).
- Zaimplementowano wsparcie dla protokołu komunikacyjnego Netlink (RFC 3549), stosowanego w Linuxie do organizacji interakcji jądra z procesami w przestrzeni użytkownika.
- W hipernadzorze Bhyve dodano wsparcie dla wspólnego dostępu do plików za pomocą VirtIO-9p (VirtFS), wsparcie dla urządzeń PCI HDAudio oraz możliwość pracy z migawkami. maszyn wirtualnych.
- Dodano zestaw sterowników VirtIO, wspierających specyfikację VirtIO V1. Dodano sterownik pvscsi dla parawirtualizowanych kontrolerów SCSI.
- Dodano implementację TLS (kTLS), działającą na poziomie jądra.
- Zaktualizowano wersje LLVM 19.1.7, unbound 1.23.0, OpenSSH 9.9p2, lua 5.4.2, wpa+hostapd 2.11.
- Usunięto gcc, libdispatch i binutils.

Źródło: opennet.ru
