wiki:R1/Beta5/ReleaseNotes

Version 1 (modified by pulkomandy, 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.

Note: See TracWiki for help on using the wiki.