Fork us on GitHub Follow us on Facebook Follow us on Twitter

Version 132 (modified by Jakub Jermář, 6 months ago) (diff)

Release Notes for HelenOS mainline

Note: This document is a draft describing a future HelenOS release and is subject to change. The software described here has not been released yet. To get these latest and greatest features now, check out our Git master. (But you will also get the latest bugs).

HelenOS version (codename) was released on date.

This document contains a summary of changes made to HelenOS since release previous release.

Special Notes for this Release

Features Introduced in This Release

General

  • HelenOS has a new, completely rewritten graphical user interface
  • HelenOS switched to the Meson build system. Among other things, this enables faster and reliable incremental builds as well as building out of the source tree.
  • The Malta machine now requires a boot command line argument to tell the userspace console layer which serial device to use as console. In the previous release this setting was baked in the kernel. Starting with this release, use the following command line to start HelenOS/mips32 Malta emulation in QEMU. Note that the console path is dependent on the PCI bus topology and might change between configurations.
    $ qemu-system-mipsel -cpu 4Kc -kernel image.boot -append "console=devices/\\hw\\pci0\\00:0a.0\\com1\\a" -nographic
    
  • It is now possible to boot HelenOS using U-boot on Raspberry Pi, in addition to booting it directly from the SD card.
  • The emulator wrapper script now supports running the Raspberry Pi image in QEMU. In the build directory, just type:
    $ tools/ew.py
    
  • Partial support for dynamic linking on ia64.

Kernel

Services and Drivers

  • New window system - Display server replaces Compositor
    • New architecture, more flexible, structured, more testable
    • Mouse cursor changes over resize areas
    • Proper preview of minimum window size

File Systems

Networking

  • Added unit tests for UDP server

Applications

  • GUI applications no longer require specifying display service as the first argument (it is optional)
  • Calculator (formerly vcalc) has a more standard button layout and can be controlled by the keyboard
  • Calculator can be run in console mode (experimental, calculator -d cons@)
  • Viewer fullscreen mode is now activated by passing -f (previously image had to be the size of the screen)
  • GFX Demo
    • New application that exercises the GFX API, can be started from Launcher
  • Font editor
    • Very simplistic editor, does not have proper UI yet
    • Used to create proportional font for the UI
  • Split UI Demo and Hello World
    • UI Demo (start from launcher) demonstrates all UI elements
    • Hello World (/app/hello) is a minimalist UI application
  • Mostly fixed /app/trace (but still sometimes does not terminate correctly)
  • Bdsh alias command

Libraries

  • C++ stdlib
    • <future> header
      • std::future
      • std::promise
      • std::async
      • std::packaged_task
      • std::shared_future
  • Libui
    • New user interface library based on GFX
    • Uses proportional font (Helena typeface)
    • Added check box, radio button, slider UI controls
    • Text mode support (WIP)
    • Removed libgui, libdraw, libsoftrend
  • Libgfxfont
    • Proportional font support
    • Fonts stored in TPF format (using RIFF structure)
  • Libriff
    • Read/write RIFF files

Miscellaneous

  • Added French keyboard layut (thx chtcheglov-ilia)

Regressions in This Release

  • For the list of regressions since the previous release, see this report.
  • Notable regressions

Fixed Logged Bugs & Enhancements

  • For the list of all logged defects fixed in this release, see this report.
  • For the list of all logged enhancements integrated in this release, see this report.

Known Bugs

  • For the list of known bugs still not fixed in this release, see this report.
  • For the list of all open tickets, see this report.