Changes between Version 50 and Version 51 of ReleaseNotes/Mainline
- Timestamp:
- 2018-07-08T11:50:49Z (7 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseNotes/Mainline
v50 v51 3 3 '''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). 4 4 5 HelenOS '' version (codename) '' was released on ''date''.5 HelenOS ''0.7.2 (Boosted Effort) '' was released on ''date''. 6 6 7 This document contains a summary of changes made to HelenOS since release previous release.7 This document contains a summary of changes made to HelenOS since release 0.7.1. 8 8 9 9 == Special Notes for this Release == … … 12 12 13 13 === General === 14 * Integrate support for C-style checker into build system14 * Integrate support for the [https://github.com/jxsvoboda/sycek Sycek] C style checker into the build system. Sycek helps to make HelenOS source code nice and tidy, and in some cases can even spot real bugs. Run either with `make ccheck` or as part of `make check`. 15 15 * Basic build tests executed with each commit via Travis CI 16 16 17 17 === Kernel === 18 18 19 * Continued work on capabilities20 * IPC calls in userspace are no longer represented by the so-called call ID's or hashes (essentially leaked kernel addresses). Instead they are now managed using task-local call capability handles.19 * Most of the work on the kernel focused on improving the capability system: 20 * IPC calls in userspace are no longer represented by the so-called call ID's or hashes which were essentially leaked kernel addresses. Instead they are now managed using task-local call capability handles. 21 21 * Improved life-cycle management of kernel objects, especially phones, and capabilities. When allocating a new capability the kernel does no longer attempt to reclaim an unused allocated one. Instead, each kernel object is now deallocated immediately when its reference count drops to zero. For phones, this now newly means that the phone has no active calls. 22 22 * Capability handles are now type-safe so that it is no longer possible to confuse eg. a phone capability handle with a call capability handle. Or a capability handle with an integer. 23 * On amd64 and ia32 architectures, the kernel now survives a deferred #DB exception during a system call. 24 * Generalized the kernel ns16550 driver to work with more chips. Some UART controllers are compatible with 16550A, but have more spacing between registers. In particular, ARMADA 385, which is the basis of Turris Omnia router, has a compatible UART with 32-bit registers instead of 8-bit. 23 25 24 26 === Services and Drivers === 25 27 26 * FIXME: USB stack overhaul bringing support for USB 3.x and XHCI 28 * [http://www.helenos.org/doc/helenos-usb3-doc.pdf USB 3 support] 29 * General overhaul of the existing USB framework 30 * New host controller driver has been implemented to control various xHC models (among others, NEC Renesas uPD720200) 31 * Isochronous data transfer mode 32 * Support for explicit USB device removal 33 * USB tablet driver 27 34 * Unify all the different character device interfaces 28 35 * Move ADB keyboard and mouse support into separate drivers 29 36 * Finish DDF conversions of ski, sun4u and msim console drivers 30 37 * NIC driver for virtio-net, enable with `tools/ew.py -net virtio-net` 38 * The `nic` command now works with the ne2k driver too. 31 39 * FIXME: Volume management improvements 32 * Generalized the ns8250 driver to work with more chips33 40 34 41 === File Systems === … … 47 54 * The async framework API has been streamlined and the the abstraction no longer leaks the internals of the low-level IPC mechanism. The async framework server calls no longer require the call capability handle and the pointer to the IPC call structure serves as an universal identifier of the given IPC call on the server side. 48 55 * Improved ISO C comformance 49 * FIXME:C++14 Runtime support56 * C++14 Runtime support 50 57 * C++ source files are compiled with `-std=c++17` (which grants most, if not all, C++17 language features) 51 58 * These files are detected by having `.cpp`, `.cxx` or `.cc` as their extension