Version 1 (modified by 5 months ago) ( diff ) | ,
---|
The 5th beta release of Haiku continues the trend of more frequent releases (XXX not really...) in order to provide our users and developers with an up to date and stable platform to work on.
Please keep in mind that this is beta-quality software, which means it is feature complete but still contains known and unknown bugs. While we are mostly confident in its stability, we cannot provide assurances against data loss.
System requirements
This release is available on the x86 32-bit platform, as well as the x86_64 platform. Note that BeOS R5 compatibility is only provided on the 32-bit images, but the 64bit version is recommended if you don't need BeOS compatibility.
MINIMUM (32-bit)
- Processor: Intel Pentium II; AMD Athlon
- Memory: 384MB
- Monitor: 800x600
- Storage: 2GB
RECOMMENDED (64-bit)
- Processor: Intel Core i3; AMD Phenom II
- Memory: 2GB
- Monitor: 1366x768
- Storage: 16GB
SSE2 support is required to use the WebPositive web browser. On machines where this is not available, it is recommended to install the NetSurf browser instead.
Highlights
Installation process
Package management
User interface
- Assisted color theme configuration in Appearance preferences
- Improved dark mode support (AboutSystem logos)
- AboutSystem replicant
- Consistent use of the menu font in DeskBar
- Icon O Matic GSoC 2023 work (perspective transforms and other things)
- PowerStatus: warnings for low and critical battery, auto install in DeskBar, "not charging" state for batteries (in addition to charging and discharging), save performance mode accross reboots
- Improved localization of numbers: more use of string_for_size, use of multiplication signs, deployment of BNumberFormat
- Tracker: better handling of read only folders (grey background + disabled menu items), use of "half star" in media rating attribute display
app_server (graphics server)
- Rework of window update validation logic to reduce tearing, flickering, and display of empty white areas
- Switched the default font from Noto Sans Display to Noto Sans
- Support for variable fonts
- Support for dynamically loading fonts (for example web fonts loaded by the web browser)
Web browser
Update of WebKit engine, nothing else worth mentionning
APIs
- BMessageRunner can send messages with periods shorter than 50ms
- Recent application and document list in registrar is now properly limited in size
- BMenu: stable sorting of items, support for updating a menu while it is open, fixed keyboard navigation
- BSpinner now sends an usable message when its value changes (it previously always had a be:value of 0)
- rgb_color::Brightness now uses "perceptual brightness" algorithm. The private perceptual_brightness function is removed.
- Introduction of BBufferedIO and BAdapterIO
Storage and file systems
- Full read-only support of FreeBSD UFS2
- F_SETFL implemented in ext2/3/4 driver
- Replaced FAT driver with FreeBSD implementation
- Fixes on ramfs: properly implement preallocate, clear trailing space at the end of mmapped files
- Unified query parser code between ramfs, packagefs and bfs
BeOS compatibility
- Update to ffmpeg 6
- Fixed various problems in Media Kit (rounding errors, ...) to improve BeOS compatibility
POSIX compatibility
- getentropy
- Fix locking problems in malloc after a fork
- Implementation of locale_t
- static_assert (C11)
- stpncpy
- open() on a symlink pointing to a non-existing file can now create the target file
- stpncpy
- mmap on files larger than available memory can work without having to specify MAP_NORESERVE
- Using rename to rename a file to itself does not trigger an error
- pthread_sigqueue
BSD and GNU extensions:
- arc4random
System performance
- DNS resolver synchronized with NetBSD
- Fix crashes when attempting to use IPv4 multicast
- Many fixes to the network stack: TCP optimization, finalize implementaiton of SACK, fix window sizing. Reduce buffer copies between drivers and stack.
- KDL event loop now uses the PAUSE instruction to reduce power use of the machine during kernel debugging sessions
- Improvement of kernel page allocator to keep free pages in-order and allocate them as larger contiguous blocks, easing DMA transfers
- APIs for forcing CPU affinity for each thread
Internationalization
- BNumberFormat with support for configurable separators
TODO update on list of available languages since Beta 4.
Hardware compatibility
CPUs and chipset
- PCH thermal driver for more Intel devices
- Mitigations for AMD Zenbleed
- Updated ACPICA to 20230628
- Finding RDTSC cycle duration using CPUID instead of PIT calibration
Sound
- USB Audio driver
- Cleanup of PCI audio drivers to share more code
Mass storage
- virtio_block
- enumeration of SDHCI devices (SD card readers) over ACPI in addition to PCI
Network
- Synchronized FreeBSD drivers with FreeBSD
- Use of OpenBSD drivers to support more network devices
- TUN/TAP driver for VPN support (and other uses)
USB
- Support for "minimum" attribute in USB HID report descriptors
- Quirk for use of 6th button on Elecom trackballs
Graphics
- virtio_gpu
Debugging tools
- DWARF-4 and DWARF-5 support in Debugger
- Support for iovec and other things in strace
Known issues and workarounds
There are no known major bugs.