= 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 [https://mesonbuild.com/ 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 [wiki:RaspberryPi#NetworkbootwithU-boot U-boot] on Raspberry Pi, in addition to booting it [wiki:RaspberryPi#DirectbootfromSDcardbootpartition directly] from the SD card. * 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 * `` 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 [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].