Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changes between Version 66 and Version 67 of ReleaseNotes/Mainline


Ignore:
Timestamp:
2018-07-14T10:04:33Z (14 months ago)
Author:
Jakub Jermář
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • ReleaseNotes/Mainline

    v66 v67  
    1313=== General ===
    1414  * 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 CI
     15  * 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.
    1616  * Kernel console improvements:
    1717     * 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).
     
    2525    * 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.
    2626    * 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].
    2828  * 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.
    2929  * Instead of using plain malloc, the slab allocator now uses a dedicated cache for allocating the per-CPU magazines of caches.
     
    3232
    3333  * [http://www.helenos.org/doc/helenos-usb3-doc.pdf USB 3 support]
    34     * General overhaul of the existing USB framework
    35     * 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).
    3636    * Isochronous data transfer mode
    3737    * Support for explicit USB device removal
    3838    * USB tablet driver
    3939  * 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 drivers
    47   * Finish DDF conversions of ski, sun4u and msim console drivers
     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  * 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.
    4848  * 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.
    5050
    5151=== File Systems ===
    5252
    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.
    5454
    5555=== Networking ===
     
    5757=== Applications ===
    5858
    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.
    6060
    6161=== Libraries ===
     
    6464  * 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.
    6565  * 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`.
    6767    * In many cases improved implementation
    6868    * `scanf` family, temporary file functions from stdio.h, `(at)exit` family from `stdlib.h`, etc.
    6969  * 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].
    7070  * 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.
    7372    * Runtime:
    7473      * RTTI (`type_info` and `typeid`, no `dynamic_cast` at the moment)
     
    8281        * `<utility>`, `<tuple>`, `<memory>`, `<function>`, `<chrono>`, `<bitset>` mostly complete
    8382        * `<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.
    8584        * `<locale>` is defined, but is a stub (implementing it will add its functionality to I/O types)
    8685      * Threading mostly complete, timed try_lock operations block, `<future>` only stub
    8786      * 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).
    8988      * Partial `<algorithm>` implementation
    9089      * `<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.
    9493
    9594=== Miscellaneous ===
     
    110109
    111110== 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].
    114113
    115114== Known Bugs ==