Changes between Version 34 and Version 35 of ReleaseNotes/0.5.0

2011-03-26T15:26:25Z (13 years ago)
Jakub Jermář

Cleanup mainline release notes.


  • ReleaseNotes/0.5.0

    v34 v35  
    12= Release Notes for HelenOS mainline =
    3 HelenOS ''0.4.3 (Sashimi)'' was released on ''March 26, 2011''.
     4'''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).
    5 This document contains a summary of changes made to HelenOS since release 0.4.2.
     6HelenOS ''version (codename) '' was released on ''date''.
     8This document contains a summary of changes made to HelenOS since release 0.4.3.
    710== Special Notes for this Release ==
    9  * Contrary to the previous releases, most of the binaries distributed with this release are debug binaries. This will allow us to receive better feedback for problems encountered by our external testers. The debug binaries received the best testing coverage and are the default that the developers run. The only exception is the size-optimized binary for sparc64/serengeti, which is released as non-debug.
    11  * The new device manager is not started by default in this release and normally you don't need to start it since most drivers still don't use it.
    13  * Most users will not find networking usable since TCP is not working yet (although UDP is)
    1512== Features Introduced in This Release ==
    1714=== General ===
    19  * New boot infrastructure
    20    * The new boot infrastructure is more unified and offers similar boot behavior on all supported platforms.
    21    * Except for HelenOS/ia32 and HelenOS/amd64, the boot image will be deflated to conserve space. Unfortunately, this also increases the boot time of such images because they first need to be inflated.
    22  * PearPC support discontinued
    23    * PearPC was the original PowerPC simulator used for the development of HelenOS/ppc32 port. However, since this simulator is no longer in active development and even severe flaws have not been fixed for more that 4 years (OFW memory management calls, etc.), we have decided to drop support for this simulator completely instead of adding more quirks to our bootloader and kernel code. Qemu/PPC is currently our PowerPC simulator of choice.
    24  * Added support for the Neo FreeRunner smartphone (based on the ARMv4 architecture).
    25    * A u-Boot image is provided which you can simply load on an SD card and boot from it.
    26    * Output goes to the LCD, the serial debug console is used for keyboard input.
    27    * Touch screen input also works, but since the screen is 480x640 you cannot do anything except moving the mouse pointer.
    2916=== Kernel ===
    31  * Observability
    32    * Kernel panics now have a more unified look and print more informative, meaningful and compact messages.
    33    * Experimental support for kernel stack traces on mips32, ppc32 and sparc64.
    34  * Robustness
    35    * The debug kernel will detect and report programming errors such as sleeping while holding a spinlock or when locks are not being held as necessary or when interrupts are not in the desired state.
    3718=== Services and Drivers ===
    39  * New device driver framework (DDF) and a set of DDF-compatible drivers (not started by default)
    40    * New root driver.
    41    * New virtual root driver and a set of sample test drivers.
    42    * New platform driver for the PC platform (ia32 and amd64).
    43    * New driver for the Intel PCI bus controller.
    44    * New driver for the ns8250 serial port.
    45  * Removed the old ```pci``` driver.
    46  * ```file_bd``` can take the block size as a parameter.
    47  * Minimalistic support for ATAPI CD-ROM in ```ata_bd``` (only works in Qemu so far).
    4920=== File Systems ===
    51  * FAT file system server
    52    * Sequential file I/O has linear time complexity in number of blocks for most use patterns. Previously, time complexity of sequential I/O was always quadratic in number of blocks.
    53  * DEVFS was improved to handle recursive requests better.
    54  * VFS now supports file systems that wish to serialize I/O on files themselves.
    55  * VFS uses async framework sessions to allow making parallel requests to endpoint file systems.
    56  * VFS now maintains per-client tables of open files as compared to per-connection tables.
    5822=== Networking ===
    60  * The bundle build of the networking subsystem was discontinued and the only supported option is the modular build in which all networking modules run as separate tasks.
    61  * The networking code has been cleaned-up, streamlined and better integrated with the rest of the system.
    62  * The dp8390 NIC driver has been almost entirely rewritten.
    63  * The ARP module will now wait for answer to each request it sends so that e.g. the first ping will not time out.
    64  * The TCP module got some fixes, but is still not working as expected.
    6624=== Applications ===
    68  * Statistics
    69    * Added ```top``` utility which can print nearly real-time statistics for various system entities.
    70    * Added ```stats``` utility which prints various system statistics, such as list of tasks, threads, processors, and the information about the system load.
    71  * Programming languages
    72    * Added ```sbi``` interpreter of the [wiki:Sysel] experimental programming language.
    73  * ```klog``` writes its output also to /log/klog.
    74  * Task termination
    75    * Added ```kill``` command to kill a specific task by its task ID.
    76    * Added ```killall``` command to kill all tasks of the given name.
    77  * Added simple ```sysinfo``` command to allow basic sysinfo tree inspection from user interface.
    78  * ```bdsh```
    79    * Added paging feature and the possibility to print in hex to ```cat```.
    80    * Added support for recursive directory removal.
    8226=== Libraries ===
    84  * Standard library
    85    * Heap allocator
    86      * The allocator was made thread-safe.
    87      * The allocator strategy was changed from first-fit to next-fit.
    88      * The allocator can now span discontiguous virtual memory regions.
    89    * Robustness
    90      * The standard library will detect and report programming errors such as certain types of deadlocks, improper mixing of serialization means, and when locks are not being held as necessary.
    91    * Concurrency
    92      * Added the concept of sessions to the async framework, giving async framework clients a standard means of making parallel requests.
    93      * The VFS client code was rewritten to make use of the async framework sessions.
    94  * Added ```clui``` library to be used by applications with some form of text input.
    95    * CLUI-based applications can be terminated by pressing Ctrl-Q when waiting for text input.
    9728=== Miscellaneous ===
    99  * Build system
    100    * It is now possible to perform a hands-off build of HelenOS by simply typing ```make PROFILE=```''profile_name''``` HANDS_OFF=y```.
    101    * ```make check``` or ```tools/``` can be used to report build breakages.
    102    * ```make release``` automatically builds source tarball and release images, making the release process much easier.
    103    * The build system now auto-detects essential information about the build system and the target architecture, and performs sanity checks before starting the compilation.
    104    * It is now possible to do a barebone build in which only essential binaries are included.
    105    * Support for GCC 4.5+ link-time optimizations.
    106  * The temporary file system is mounted under /tmp.
    10830== Regressions in This Release ==
    110  * For the list of regressions since the previous release, see this [query:keywords=sashimi_regression report].
     32 * For the list of regressions since the previous release, see this [query:keywords=codename_regression report].
    11133 * Notable regressions
    112    * HelenOS/ia64 regressions
    113      * Removed support for running on real hardware.
    114      * Removed support for detecting and booting on SMP hardware.
    115      * These will be eventually fixed in some of the future releases.
    116    * HelenOS/ppc32 regressions
    117      * The PowerPC port has two major design issues which make it currently unable to boot or function properly. Therefore the port is unusable in this release.
    118      * The affected code will be eventually redesigned and fixed in some of the future releases.
    119    * HelenOS/sparc64/sun4v regression
    120      * We found a last-minute regression of the sparc64/sun4v image. While the image works on a virtual sun4v machine, it fails to boot on a real Sun SPARC Enterprise T1000.
    12235== Fixed Logged Bugs & Enhancements ==
    123   * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=0.4.3&type=defect report].
    124   * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=0.4.3&type=enhancement report].
     36  * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=release&type=defect report].
     37  * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=release&type=enhancement report].
    12639== Known Bugs ==