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

Version 34 (modified by Jakub Jermář, 5 years 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 Bazaar mainline. (But you will also get the latest bugs).

HelenOS 0.7.1 (Enlightened Zeal) was released on November 12, 2017.

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

Special Notes for this Release

  • HelenOS is still an experimental operating system at this point in time and support for many platforms and hardware devices is not production-ready. For the time being, the agile 6-month release cycle might therefore produce releases that are slightly less "polished" in certain aspects, but it is also a driving force towards turning HelenOS into a production-ready operating system in the near future.

Features Introduced in This Release


  • This is the last release which used the Bazaar VCS. Future releases will use Git.
  • The system can again be built by clang for amd64


  • Basic support for capabilities
    • IPC phones have in fact been a sort of capabilities since the beginning. This work generalizes some of the IPC code to support more kernel object types.
    • IRQ structures are now managed using capabilities. It is no longer possible to unregister someone else's IRQ.
    • The limit of 64 IPC phones has been removed and is now virtually infinite.
  • The kernel is now using the resizable hash table which has been already used in uspace since 2012.

Services and Drivers

  • The naming service was converted to use the async framework
  • CUDA driver was converted to the Device Driver Framework
  • The interrupt controller drivers were converted to using the Device Driver Framework
  • User can now unload an idle driver using devctl unload-drv
  • Framebuffer now gets mapped only when actually used

File Systems

  • All file system operations are relative to a specified node, client-side root
  • Mountpoints are no longer stored in the filesystem servers, but in VFS
  • Inbox mechanism for passing files from parent to a new child
  • Client-side I/O cursors (file positions)
  • Overhaul of the client interface; all APIs begin with the vfs_ prefix and can be used after including vfs/vfs.h
  • Removal of some POSIX-ish headers and definitions
  • File system probing
  • Volume label support


  • Lots of networking fixes in TCP, DNS and HTTP protocols
  • TCP unit tests


  • The pkg utility was added which allows installing packages from into a running instance of HelenOS


  • Effort towards greater C11 compliance and a cleaner cut between HelenOS-specific, C11 and POSIX code
  • io/table module to print tabular output (used by devctl, inet).


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.

Attachments (2)

Download all attachments as: .zip