MidnightBSD 4.0 ระบบปฏิบัติการที่เน้นการใช้งานบนเดสก์ท็อป ซึ่งพัฒนามาจาก FreeBSD โดยมีการนำองค์ประกอบจาก DragonFly BSD, OpenBSD และ NetBSD มาใช้ ได้ถูกปล่อยออกมาแล้ว สภาพแวดล้อมเดสก์ท็อปพื้นฐานสร้างขึ้นบน Xfce (โดยมี GNUstep, Window Maker และ GWorkspace ให้เลือกใช้เพิ่มเติม) แตกต่างจากระบบเดสก์ท็อป FreeBSD อื่นๆ MidnightBSD ได้รับการพัฒนาเริ่มต้นจากการแยกสายจาก FreeBSD 6.1-beta ซึ่งได้รับการซิงโครไนซ์กับโค้ดเบสของ FreeBSD 7 ในปี 2011 และต่อมาได้รวมเอาคุณสมบัติหลายอย่างจาก FreeBSD 9-13 เข้ามาด้วย MidnightBSD ใช้ระบบ mport ซึ่งใช้ฐานข้อมูล SQLite สำหรับจัดเก็บดัชนีและข้อมูลเมตา หรือชุดเครื่องมือ Ravenports สำหรับการจัดการแพ็กเกจ ไฟล์ติดตั้งขนาด 1GB (i386, amd64) สามารถดาวน์โหลดได้แล้ว
การอัปเดตครั้งนี้โดดเด่นด้วยการอัปเดตไลบรารีของบุคคลที่สาม และการพอร์ตแก้ไขข้อผิดพลาดและคุณสมบัติใหม่จากสาขา FreeBSD 13 คุณสมบัติใหม่ที่สำคัญ ได้แก่:
- โปรแกรมจัดการแพ็กเกจ mport ได้รับการอัปเดตเป็นเวอร์ชัน 2.7.3 ซึ่งเพิ่มความสามารถในการตรวจสอบพอร์ตแต่ละรายการด้วยคำสั่ง "mport verify" และกู้คืนค่าตรวจสอบความถูกต้องด้วยคำสั่ง "mport verify -r" นอกจากนี้ คำสั่ง mport_install ยังรองรับการจัดการการพึ่งพาของแพ็กเกจด้วย
- โปรแกรม init, service และ cron ใช้ตัวแปรสภาพแวดล้อมที่ตั้งค่าไว้สำหรับผู้ใช้หรือคลาสผู้ใช้ผ่านไฟล์ login.conf
- ขณะนี้เคอร์เนลรองรับการแมปหน่วยความจำในโหมด W^X ซึ่งป้องกันการเข้าถึงเพื่อเขียนและเรียกใช้งานพร้อมกัน
- แทนที่จะใช้ GNU grep จะใช้ยูทิลิตี้ grep เวอร์ชันที่ได้รับอนุญาตภายใต้ BSD แทน
- เพิ่มการเรียกใช้ระบบ copy_file_range ที่เข้ากันได้กับ Linux รวมถึงการเรียกใช้ระบบ aio_readv และ aio_writev ด้วย
- เพิ่มการรองรับกระบวนการดีบักโดยใช้ procfs
- เพิ่มไดร์เวอร์ควบคุมแสงไฟแบ็คไลท์
- ไดรเวอร์ cpufreq รองรับเทคโนโลยี Intel Speed Shift
- ในส่วนของลูกค้าและ เซิร์ฟเวอร์ NFS เพิ่มการรองรับ NFSv4.2, NFS ผ่าน TLS และแอตทริบิวต์เพิ่มเติม
- การเปลี่ยนไปใช้ระบบไฟล์ ZFS จากโครงการ OpenZFS (2.1.15) เสร็จสมบูรณ์แล้ว
- การใช้งานระบบย่อย FUSE ได้รับการอัปเดตเป็นเวอร์ชัน 7.28 ซึ่งรองรับฟังก์ชัน FUSE_COPY_FILE_RANGE และ FUSE_LSEEK แล้ว
- สแต็ก TCP มีการรองรับอัลกอริทึม Proportional Rate Reduction (RFC 6937) ในตัว ซึ่งช่วยให้สามารถกู้คืนพารามิเตอร์การไหลที่เหมาะสมได้เร็วขึ้นหลังจากเกิดปัญหาชั่วคราวในการส่งข้อมูล
- เพิ่มการรองรับ VLAN แบบซ้อนกัน (802.1ad)
- การสนับสนุนสำหรับโปรโตคอล SCTP ได้ถูกย้ายไปยังโมดูลแยกต่างหาก sctp.ko ซึ่งถูกปิดใช้งานตามค่าเริ่มต้นในเคอร์เนล GENERIC
- เพิ่มอัลกอริธึมการค้นหาเส้นทางจากไลบรารี DPDK (Data Plane Development Kit) ซึ่งช่วยให้สามารถเพิ่มประสิทธิภาพการทำงานกับตารางเส้นทางขนาดใหญ่มากได้
- บนสถาปัตยกรรม 64 บิต ระบบพื้นฐานจะถูกคอมไพล์โดยค่าเริ่มต้นโดยรองรับ PAE (Position Independent Executable)
- ไดรเวอร์ iwlwifi ได้ถูกเพิ่มเข้ามาสำหรับการ์ดไร้สายของ Intel ที่รองรับชิปใหม่และมาตรฐาน 802.11ac ไดรเวอร์นี้พัฒนามาจากไดรเวอร์ Linux และโค้ดจากระบบย่อย net80211 ของ Linux ซึ่งได้รับการสนับสนุนใน FreeBSD โดยใช้เลเยอร์ linuxkpi
- ไฟล์ปฏิบัติการระบบพื้นฐานทั้งหมดบนแพลตฟอร์ม 64 บิต จะเปิดใช้งานการสุ่มตำแหน่งหน่วยความจำ (Address Space Layout Randomization หรือ ASLR) โดยค่าเริ่มต้น
- มีการนำโปรโตคอลการสื่อสาร Netlink (RFC 3549) มาใช้ ซึ่งเป็นโปรโตคอลที่ใช้ใน Linux เพื่อจัดการปฏิสัมพันธ์ระหว่างเคอร์เนลและกระบวนการในพื้นที่ผู้ใช้
- ไฮเปอร์ไวเซอร์ Bhyve ในปัจจุบันรองรับการแชร์ไฟล์โดยใช้ VirtIO-9p (VirtFS), การรองรับอุปกรณ์ PCI HDAudio และการรองรับสแนปช็อต เครื่องเสมือน.
- มีการเพิ่มชุดไดรเวอร์ VirtIO ที่รองรับข้อกำหนด VirtIO V1 แล้ว และได้เพิ่มไดรเวอร์ pvscsi สำหรับคอนโทรลเลอร์ SCSI แบบ paravirtualized แล้ว
- เพิ่มการใช้งาน TLS ระดับเคอร์เนล (kTLS)
- อัปเดตเวอร์ชันของ LLVM 19.1.7, unbound 1.23.0, OpenSSH 9.9p2, lua 5.4.2, wpa+hostapd 2.11 แล้ว
- ลบ gcc, libdispatch และ binutils ออกแล้ว

ที่มา: opennet.ru
