| 1 | = Release Notes for HelenOS mainline = |
| 2 | |
| 3 | HelenOS ''0.7.1 (Enlightened Zeal)'' was released on ''November 12, 2017''. |
| 4 | |
| 5 | This document contains a summary of changes made to HelenOS since release [wiki:ReleaseNotes/0.7.0 0.7.0]. |
| 6 | |
| 7 | == Special Notes for this Release == |
| 8 | |
| 9 | * HelenOS is still an experimental operating system at this point in time and support for many platforms and hardware devices is not production-ready. For the time being, the agile 6-month release cycle might therefore produce releases that are slightly less "polished" in certain aspects, but it is also a driving force towards turning HelenOS into a production-ready operating system in the near future. |
| 10 | |
| 11 | == Features Introduced in This Release == |
| 12 | |
| 13 | === General === |
| 14 | |
| 15 | * This is the last release which uses the Bazaar version control system (VCS). Future releases will use Git. |
| 16 | * The system can again be built by clang for amd64 |
| 17 | |
| 18 | === Kernel === |
| 19 | |
| 20 | * Basic support for capabilities |
| 21 | * IPC phones have in fact been a sort of capabilities since the beginning. This work generalizes some of the IPC code to support more kernel object types. |
| 22 | * IRQ structures are now managed using capabilities. It is no longer possible to unregister someone else's IRQ. |
| 23 | * The limit of 64 IPC phones has been removed and is now virtually infinite. |
| 24 | * The kernel is now using the resizable hash table which has been already used in uspace since 2012. |
| 25 | |
| 26 | === Services and Drivers === |
| 27 | |
| 28 | * The naming service was converted to use the async framework |
| 29 | * CUDA driver was converted to the Device Driver Framework |
| 30 | * The interrupt controller drivers were converted to using the Device Driver Framework |
| 31 | * User can now unload an idle driver using `devctl unload-drv` |
| 32 | * Framebuffer now gets mapped only when actually used |
| 33 | |
| 34 | === File Systems === |
| 35 | |
| 36 | * All file system operations are relative to a specified node, client-side root |
| 37 | * Mountpoints are no longer stored in the filesystem servers, but in VFS |
| 38 | * Inbox mechanism for passing files from parent to a new child |
| 39 | * Client-side I/O cursors (file positions) |
| 40 | * Overhaul of the [wiki:FilesystemAPITutorial client interface]; all APIs begin with the vfs_ prefix and can be used after including vfs/vfs.h |
| 41 | * Removal of some POSIX-ish headers and definitions |
| 42 | * File system probing |
| 43 | * Volume label support |
| 44 | |
| 45 | === Networking === |
| 46 | |
| 47 | * Lots of networking fixes in TCP, DNS and HTTP protocols |
| 48 | * TCP unit tests |
| 49 | |
| 50 | === Applications === |
| 51 | |
| 52 | * The `pkg` utility was added which allows installing packages from [http://ci.helenos.org/latest/ ci.helenos.org] into a running instance of HelenOS |
| 53 | |
| 54 | === Libraries === |
| 55 | |
| 56 | * Effort towards greater C11 compliance and a cleaner cut between HelenOS-specific, C11 and POSIX code |
| 57 | * io/table module to print tabular output (used by devctl, inet). |
| 58 | |
| 59 | === Miscellaneous === |
| 60 | |
| 61 | == Fixed Logged Bugs & Enhancements == |
| 62 | * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=0.7.1&type=defect report]. |
| 63 | * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=0.7.1&type=enhancement report]. |
| 64 | |
| 65 | == Known Bugs == |
| 66 | * For the list of known bugs still not fixed in this release, see this [report:3 report]. |
| 67 | * For the list of all open tickets, see this [report:1 report]. |