= 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 === * Integrate support for C-style checker into build system * Basic build tests executed with each commit via Travis CI * Undefined behavior sanitizer === Kernel === * Continued work on capabilities * IPC calls in userspace are no longer represented by the so-called call ID's or hashes (essentially leaked kernel addresses). Instead they are now managed using task-local call capability handles. * Improved life-cycle management of kernel objects, especially phones, and capabilities. When allocating a new capability the kernel does no longer attempt to reclaim an unused allocated one. Instead, each kernel object is now deallocated immediately when its reference count drops to zero. For phones, this now newly means that the phone has no active calls. * Capability handles are now type-safe so that it is no longer possible to confuse eg. a phone capability handle with a call capability handle. Or a capability handle with an integer. === Services and Drivers === * TODO: USB stack overhaul bringing support for USB 3.x and XHCI * Unify all the different character device interfaces * Move ADB keyboard and mouse support into separate drivers * Finish DDF conversions of ski, sun4u and msim console drivers * NIC driver for virtio-net, enable with `tools/ew.py -net virtio-net` * TODO: Volume management improvements * Generalized the ns8250 driver to work with more chips === File Systems === * TMPFS is now populated from a TAR archive when used as a root file system. === Networking === === Applications === * Fix text editor screen being broken when editing files with long names === Libraries === * Added `libvirtio` to aid writing VIRTIO device drivers. * TODO: Async framework improvements * Improved ISO C comformance * TODO: C++14 Runtime support * TODO: non-negative errno === Miscellaneous === * TODO: ELF loading changes == Regressions in This Release == * For the list of regressions since the previous release, see this [query:keywords=codename_regression report]. * Notable regressions == Fixed Logged Bugs & Enhancements == * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=release&type=defect report]. * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=release&type=enhancement report]. == Known Bugs == * For the list of known bugs still not fixed in this release, see this [report:3 report]. * For the list of all open tickets, see this [report:1 report].