Release Notes for HelenOS 0.7.1

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

General

This is the last release which uses the Bazaar version control system (VCS). Future releases will use Git.

The system can again be built by clang for amd64

Kernel

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

Networking

Lots of networking fixes in TCP, DNS and HTTP protocols

TCP unit tests

Applications

The pkg utility was added which allows installing packages from ​ ci.helenos.org into a running instance of HelenOS

Libraries

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).

Miscellaneous

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