wiki:ReleaseNotes/Mainline

Version 262 (modified by Jiri Svoboda, 39 hours ago) ( diff )

—

Release Notes for HelenOS mainline

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).

HelenOS version (codename) was released on date.

This document contains a summary of changes made to HelenOS since release previous release.

Special Notes for this Release

Features Introduced in This Release

General

  • Configuration file persistence
    • When installed to disk (using sysinst), HelenOS can now hold persistent configuration (in /w/cfg)
    • It is possible to deliver initial configuration files (in /cfg)
    • Supported persistent configuration:
      • Taskbar configuration (start menu entries)
      • Display configuration (seats and input device assignments)
      • Task monitor configuration (enable/disable writing core files)
      • Volume configuration (partition mount points)
      • Network configuration (IP addresses and routes)
  • Log files in /log now have .txt extension

Kernel

User Interface

  • The system can now be shut down or restarted
    • using the Shut Down dialog (Start / Shut Down…)
    • or using the command-line shutdown command
    • (previously the user would have to manually eject volumes and remove power)
  • In console (non-GUI) mode switch virtual consoles using Alt-Fn or Shift-Fn
    • Originally just Fn was used, which prevented Fn to be used by applications
  • Terminal now supports scrollback
  • Terminal window can be resized
    • text is reflown
  • Added progress bars

Services and Drivers

  • ATA/ATAPI disk driver
    • Allow transferring more than one block in a single I/O operation
    • Added IRQ support
    • Generic ATA code factored out to new libata library
    • Renamed from ata_bd to isa-ide
    • Support ejecting CD/DVD-ROM media
  • Added PCI IDE disk driver
    • Supports DMA (much faster in virtualization/emulation than PIO)
  • SATA disk driver
    • Fixed crash in ahci driver and in sata_bd server
    • sata_bd server folded into ahci driver (avoids the need to start it manually)
  • Added PC floppy disk driver
  • Device Manager
    • Devman will now wait for the device enumeration to finish before allowing the system to continue booting
  • Display Server
    • Fix mouse press being delivered to focused window when obscured by popup window
    • Coalesce pointer move events it they are coming in faster than we can redraw
  • Console
    • Carriage return character is now properly handled
  • Remote console (i.e. telnet server)
    • Added support for cursor and color control (can be disabled using option --no-ctl)
    • Added support for RGB colors (can be disabled using option --no-rgb)
    • Added support for multiple instances on different ports (option --port <port-number>)
    • Added support for decoding of special keys
    • Added support for mouse tracking
    • Added support for setting the terminal title
    • Implemented telnet Window Size option to detect window size and resize
  • Output server
    • Serial console now supports RGB colors
  • Partition server (vbd)
    • Fixed a couple of use-after-free bugs.
  • New system server
    • Takes over performing startup tasks from /app/init once root filesystem is mounted
    • Performs system shutdown tasks based on IPC request

File Systems

  • Fixed failure when deleting entire directories on tmpfs.

Networking

  • DHCP can be disabled for a network interface by configuring any static IP address on it
  • Added support for network packet capture (pcapctl and pcapcat)

Applications

  • HelenOS benchmark tool (hbench)
    • Added random disk read (rand_read) benchmark
    • Added sequential disk read (seq_read) benchmark
  • Navigator
    • uses the new file management library
    • Added File / Edit (Ctrl-E) to open selected file in text editor
    • Added File / New File (Ctrl-M) to create new empty or zero-filled file
    • Added File / New Directory (Ctrl-N) to create new directory
    • Added File / Verify (Ctrl-V) to verify that files/directories can be read
    • Added File / Copy (Ctrl-C) to copy files/directories
    • Added File / Rename (Ctrl-R) to rename files/directories
    • Added File / Move (Ctrl-X) to move files/directories to different location
    • Added File / Delete (Ctrl-D) to delete files/directories
    • Opening a .txt file starts the text editor
    • Fall back to parent directory if current directory is gone
  • New file management utilities
    • based on new file management library
    • display progress if operation takes a long time
    • operation can be aborted using Ctrl-C
    • on I/O error the user can choose whether to abort or retry
    • newfile creates a new empty or zero-filled file
    • newdir creates a new directory
    • verify checks that files can be read
    • copy copies files/directories
    • rename renames files/directories
    • move moves files/directories to different location
    • delete deletes files/directories
  • Fixed mkfat to correctly set volume label on FAT32
  • Fdisk partition editor
    • Fixed handling of extended partitions
  • Text editor
    • Hide cursor when menu is activated
    • Added File / New (Ctrl-N)
    • Added File / Open (Ctrl-O)
  • Tester
    • Added deadlock detection test (deadlock)
  • Removed unfinished contacts application
  • Volume management tool (vol)
    • Physically eject CD/DVD-ROM using vol eject -s
  • System Instaler (sysinst)
    • The installer now has a user interface
    • Added installer to start menu
    • Switched to new file management library for better progress updates
    • You can now install to an existing MBR label if partition slot 1 is free

Libraries

  • Async framework
    • Interfaces now exist below ports (and not vice versa)
  • Device driver library (libdrv)
    • Driver can now specify argument to IRQ handler
      • To help distinguish between different interrupts on the same device
  • Internet library (libinet)
    • Fixed bug where most IPv6 addresses failed to parse
  • Dynamic linker
    • Main executable's relocations are now processed last
  • Disk label library (liblabel)
    • Fixed GUID encoding in GPT labels (use MS encoding instead of RFC 4122)
  • Disk management library (libfdisk)
    • Fixed deletion of partitions that are currently mounted
  • Structured Information Format (SIF) library
    • Simplified interface - removed transactions, changed to load/save model
    • Make the storage format more XML-like
  • User interface library
    • Message dialog can display different button choices than just OK
    • Added OK / Cancel
  • New virtual terminal control library (libvt)
    • Code moved out of output server
    • Added support for setting RGB colors
    • Added decoding of special key escape sequences
    • Added mouse tracking support
    • Added support for setting the terminal title
  • New file management library (libfmgt)
  • C library
    • Fixed incorrect blocking chain printed by fibril deadlock detector
    • Fixed reader-writer lock to prevent writers from starving
    • Addded capa_format_buf() to format capacity in pre-allocated buffer
    • Added capa_blocks_format(), capa_blocks_format_buf() to simply convert number of bytes to capacity string (e.g. 1.02 MB)
    • Added debug memory allocator
      • double free detection
      • buffer overrun detection
      • use after free detection
      • detect use of uninitialized memory
      • enabled globally in build configuration with CONFIG_DEBUG_MALLOC

Miscellaneous

Regressions in This Release

  • For the list of regressions since the previous release, see this report.
  • Notable regressions

Fixed Logged Bugs & Enhancements

  • For the list of all logged defects fixed in this release, see this report.
  • For the list of all logged enhancements integrated in this release, see this report.

Known Bugs

  • For the list of known bugs still not fixed in this release, see this report.
  • For the list of all open tickets, see this report.

Attachments (2)

  • edit.png​ (4.0 KB ) - added by Jiri Svoboda 5 years ago. Text Editor ported to UI library (with menu bar and dialog window)
  • nav.png​ (13.9 KB ) - added by Jiri Svoboda 5 years ago. Navigator (HelenOS file manager)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.