Changes between Version 66 and Version 67 of ReleaseNotes/Mainline
- Timestamp:
- 2018-07-14T10:04:33Z (6 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
ReleaseNotes/Mainline
v66 v67 13 13 === General === 14 14 * 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 * Basic build tests executed with each commit via Travis CI15 * Thanks to our move to GitHub in the last release, we were able to integrate with [https://travis-ci.org/HelenOS Travis CI] and get basic build tests run for each commit. 16 16 * Kernel console improvements: 17 17 * Kernel output is now mirrored to the serial port by default on amd64, arm32/icp and ia32 platforms. This is complemented by `tools/ew.py` connecting serial port to console stdio by default (can be overridden using `-noserial`, see below). … … 25 25 * 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. 26 26 * 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. 27 * On amd64 and ia32 architectures, the kernel now survives a deferred #DB exception during a system call.27 * On amd64 and ia32 architectures, the kernel now survives a deferred debug exception during a system call. More details can be read in this blog [http://jakubsuniversalblog.blogspot.com/ post]. 28 28 * 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. 29 29 * Instead of using plain malloc, the slab allocator now uses a dedicated cache for allocating the per-CPU magazines of caches. … … 32 32 33 33 * [http://www.helenos.org/doc/helenos-usb3-doc.pdf USB 3 support] 34 * General overhaul of the existing USB framework35 * New host controller driver has been implemented to control various xHC models (among others, NEC Renesas uPD720200) 34 * General overhaul of the existing USB 1.x and 2.0 framework 35 * New host controller driver has been implemented to control various xHC models (among others, NEC Renesas uPD720200). 36 36 * Isochronous data transfer mode 37 37 * Support for explicit USB device removal 38 38 * USB tablet driver 39 39 * Automatic volume mounting 40 * Volumes with volume label are auto-mounted under /vol/LABEL 41 * This works for FAT, exFAT, ISO 9660 (e.g. USB sticks, CD/DVD-ROM) 42 * `vol` command to list volumes, `vol eject /vol/LABEL` to unmount 43 * Currently this cannot be customized 44 * Hard drive partitions (ATA) are not auto-mounted for safety reasons 45 * Unify all the different character device interfaces accrued over the years and use only the one provided by `io/chardev.h` and `io/chardev_srv.h` 46 * Move ADB keyboard and mouse support from the input server into separate drivers47 * Finish DDF conversions of ski, sun4u and msim console drivers40 * Volumes with volume label are auto-mounted under /vol/LABEL. 41 * This works for FAT, exFAT, ISO 9660 (e.g. USB sticks, CD/DVD-ROM). 42 * `vol` command to list volumes, `vol eject /vol/LABEL` to unmount. 43 * Currently this cannot be customized. 44 * Hard drive partitions (ATA) are not auto-mounted for safety reasons. 45 * Unify all the different character device interfaces accrued over the years and use only the one provided by `io/chardev.h` and `io/chardev_srv.h`. 46 * ADB keyboard and mouse support was moved from the input server into separate drivers. 47 * DDF conversions of ski, sun4u and msim console drivers was finished. 48 48 * Added new NIC driver for virtio-net. 49 * The `nic` command now works with the ne2k driver too 49 * The `nic` command now works with the ne2k driver too. 50 50 51 51 === File Systems === 52 52 53 * TMPFS is now populated from a TAR archive when used as a root file system 53 * TMPFS is now populated from a TAR archive when used as a root file system. 54 54 55 55 === Networking === … … 57 57 === Applications === 58 58 59 * Fix text editor screen being broken when editing files with long names 59 * Fix text editor screen being broken when editing files with long names. 60 60 61 61 === Libraries === … … 64 64 * The async framework API has been streamlined and 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. 65 65 * Improved ISO C comformance 66 * Some ISO C symbols that were previously only available through `libposix` now moved to `libc` 66 * Some ISO C symbols that were previously only available through `libposix` now moved to `libc`. 67 67 * In many cases improved implementation 68 68 * `scanf` family, temporary file functions from stdio.h, `(at)exit` family from `stdlib.h`, etc. 69 69 * Previously, HelenOS used negative error codes, which made it difficult to align with the ISO C standard which mandates that the error constants are positive. In this release we therefore switch the sign. A nice summary of this refactoring operation is provided [https://le-jzr.github.io/helenos/c/errno/2017/12/11/abusing-type-checking-for-fun-and-profit.html here]. 70 70 * C++14 Runtime support 71 * C++ source files are compiled with `-std=c++17` (which grants most, if not all, C++17 language features) 72 * These files are detected by having `.cpp`, `.cxx` or `.cc` as their extension 71 * C++ source files are compiled with `-std=c++17` (which grants most, if not all, C++17 language features). These files are detected by having `.cpp`, `.cxx` or `.cc` as their extension. 73 72 * Runtime: 74 73 * RTTI (`type_info` and `typeid`, no `dynamic_cast` at the moment) … … 82 81 * `<utility>`, `<tuple>`, `<memory>`, `<function>`, `<chrono>`, `<bitset>` mostly complete 83 82 * `<scoped_allocator>` not implemented 84 * I/O library is complete, but does not throw and ignores localization 83 * I/O library is complete, but does not throw and ignores localization. 85 84 * `<locale>` is defined, but is a stub (implementing it will add its functionality to I/O types) 86 85 * Threading mostly complete, timed try_lock operations block, `<future>` only stub 87 86 * Iterator traits and adaptors complete 88 * Numerics have only `<numeric>` complete and `<random>` partially implemented (missing some distributions and adaptors) 87 * Numerics have only `<numeric>` complete and `<random>` partially implemented (missing some distributions and adaptors). 89 88 * Partial `<algorithm>` implementation 90 89 * `<regex>` and `<atomic>` not implemented 91 * `<string>` implemented, but wide strings are untested (missing wide string functions in libc) 92 * C library header wrappers are only partially implemented because features are missing from libc 93 * Types from diagnostics library (`<exception>`, `<stdexcept>`, `<system_error>`) are implemented, but exception handling does not work 90 * `<string>` implemented, but wide strings are untested (missing wide string functions in libc). 91 * C library header wrappers are only partially implemented because features are missing from libc. 92 * Types from diagnostics library (`<exception>`, `<stdexcept>`, `<system_error>`) are implemented, but exception handling does not work. 94 93 95 94 === Miscellaneous === … … 110 109 111 110 == Fixed Logged Bugs & Enhancements == 112 * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone= release&type=defect report].113 * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone= release&type=enhancement report].111 * For the list of all logged defects fixed in this release, see this [query:status=closed&resolution=fixed&milestone=0.7.2&type=defect report]. 112 * For the list of all logged enhancements integrated in this release, see this [query:status=closed&resolution=fixed&milestone=0.7.2&type=enhancement report]. 114 113 115 114 == Known Bugs ==