= Release Notes for HelenOS 0.5.0 = HelenOS ''0.5.0 (Fajtl) '' was released on ''August 9, 2012'' and represents a major release with lots of new features and bug fixes. This document contains a summary of changes made to HelenOS since release [wiki:ReleaseNotes/0.4.3 0.4.3]. == Special Notes for this Release == * The HelenOS/ia64 support for running on real hardware has been revived, currently in UP mode only. * The HelenOS/ppc32 support has been revived. * The HelenOS/sparc64/sun4v support remains broken since [wiki:ReleaseNotes/0.4.3 0.4.3], mainly due to a lack of a development platform. == Features Introduced in This Release == === Kernel === * Introduced memory reservations in the kernel * Prevents from committing to allocate more memory than is really available * Support for non-identity kernel mappings * Enables the kernel to access arbitrary physical address and removes thus the previous limitations. * Scrollback support in the kernel debugging console === Services and Drivers === * USB support * UHCI and OHCI host controllers (USB 1.1) * Usable with EHCI HCs (will hand over to companion USB 1.1 host controller) * USB HID Keyboard and Mouse * USB Mass Storage (standard USB flash drives) * `usbinfo` utility (list and query USB devices) * Network adapter drivers * DDF'ized Novell NE2000 driver * Intel PRO/1000 driver * Realtek RTL8139 driver * New SATA disk driver (experimental) * Only tested in QEMU * Location service * Replacement for ''device mapper'', ''services'' instead of ''devices'' * Services registered by name, can be added to ''categories'' * Service categories replace ''devman'' device classes * `/dev/devices` is now in `/loc/devices`, instead of `ls /dev/class` use the `loc` command * Device driver framework (DDF) improvements * Added `devctl` utility to print and manage device tree * Anticipated device removal (using `devctl`) support (only works with some drivers) === File Systems === * Added read-only support for Ext2 file system * Added initial read / write support for exFAT file system * The FAT file system server now supports also FAT12 and FAT32 variants * The FAT server now supports the LFN extension * Added initial support for the ISO 9660 file system (no LFN) * Added read / write support for MINIX file system * VFS now supports multiple instances of the same file system via the `--instance` argument that can be passed to the `mount` command and the respective file system server. * The `mount` command without arguments will list all mounted file systems === Networking === * NIC driver framework to ease writing of network card drivers * Almost entire networking stack rewritten from scratch * New implementation of TCP, UDP, IP+ICMP, ARP * NICs and IP datalinks exposed via location service (e.g. `loc show-cat nic`, `loc show-cat iplink`) * `inet` command-line utility instead of `/cfg/net/*` configuration files * Web server improvements * Serve files from the file system * Proper HTTP error responses * Network terminal emulator `nterm` * Netcat-like network terminal emulator (over TCP) * Remote console service `remcons` * HelenOS can be accessed using `telnet` or `nterm` (experimental) === Applications === * Shell syntax for [wiki:UsersGuide/Shell#IOredirection input/output redirection] * Shell command/file name completion (using Tab key) * Besides FAT16, `mkfat` can create FAT12 and FAT32 too * Added `mkexfat` utility to create an empty exFAT file system * Added `mkmfs` utility to create an empty MINIX file system * Ported assembler and linker from GNU Binutils * Ported PCC (Portable C Compiler) * Ported [wiki:UsersGuide/CommandReference/msim MSIM] (MIPS R4000 simulator) === Libraries === * libc and some other libraries can be optionally made dynamically loaded on ia32 * libposix was introduced to provide a POSIX-compatibility layer === Miscellaneous === * GRUB 2 is now used for booting ia32 and amd64 (kernel still supports legacy Multiboot spec.) * `mkfat.py` script used to build the initial RAM disk now supports long file names * Some binaries were renamed to make use of long file name support (e.g. clip -> clipboard) == Features Removed in This Release == * Support for running HelenOS on the Sun Enterprise 6500 and Serengeti machines has been removed as the support for these platforms depended on the availability of the commercial Simics simulator. == Fixed Logged Bugs & Enhancements == * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=0.5.0&type=defect report]. * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=0.5.0&type=enhancement report]. == Known Bugs == * For the list of regressions since the previous release, see this [query:keywords=fajtl_regression report]. * 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].