= 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 ''version (codename) '' was released on ''date''. This document contains a summary of changes made to HelenOS since release 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. == Features Introduced in This Release == === General === === 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. === Services and Drivers === * 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) * 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) * `lsusb` and `usbinfo` utilities * Network adapter drivers * DDF'ized Novell NE2000 driver * Intel PRO/1000 driver * Realtek RTL8139 driver === 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 === * `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. == Regressions in This Release == * The HelenOS/sparc64/sun4v support remains broken due to insufficient amount of development tools, available hardware and ongoing development in the surrounding code. (#324, #3) * For the list of regressions since the previous release, see this [query:keywords=fajtl_regression report]. == 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 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].