Skip to content

ULOS2-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@Ocawesome101 Ocawesome101 released this 16 Sep 15:17

This is the second alpha release of ULOS 2. It's been three months since the last alpha, and a lot has changed! This release brings with it many very important bug fixes and a huge host of new features - but no UPT yet.

Changelog:

  • cynosure-2: Implemented yield bubbling - no matter how many levels deep a coroutine stack goes, it will always yield back to the scheduler when a forced yield takes place.
  • cynosure-2: Fix errors when calling get[ug]id()-family system calls from kernel space.
  • cynosure-2: Implemented the chroot() system call.
  • cynosure-2: Added /proc/mounts.
  • cynosure-2: Fixed automatic TTY creation. Multi-terminal setups should function correctly now.
  • cynosure-2: Implemented the klogctl() system call.
  • cynosure-2: Fixed several features related to TTY signals. Keyboard shortcuts e.g. ^C should now work properly.
  • cynosure-2: Fixed several issues related to sessions and process groups. Basic job control should now function.
  • cynosure-2: Error messages should now have almost-correct line numbers.
  • cynosure-2: Implemented block device support.
  • cynosure-2: Fixed a slow but very noticeable memory leak.
  • reknit: Start /bin/login.lua automatically on all present TTYs.
  • liblua: Implemented io.lines() (whoops).
  • liblua: component.list() now also returns the device path as a third value. This is used in components when the -d option is given.
  • liblua: Added getopt.build() for even simpler argument parsing.
  • liblua: Implemented posix.syslog (mostly).
  • liblua: Implemented posix.signal.
  • liblua: Implemented posix.glob.
  • liblua: Fleshed out posix.sys.wait.
  • liblua: Added a simple default completion function to readline.
  • liblua: Fixed posix.libgen.dirname returning incorrect results sometimes.
  • liblua: New library: serialization.
  • liblua: New library: treeutil.
  • liblua: Fixed posix.grp.update_group not properly adding groups.
  • liblua: Implemented posix.sys.stat.chmod and posix.sys.stat.umask
  • coreutils: Added the components command.
  • coreutils: mount will now read /proc/mounts when run with no arguments.
  • coreutils: Made ls's output a little more consistent.
  • coreutils: Made useradd's defaults a little smarter.
  • coreutils: Implemented chmod and chown.
  • vbls: Fixed \h appearing as the system name (e.g. Linux, Cynosure) rather than the hostname (nodename).
  • vbls: Implemented very simple "job control" - ^C should terminate programs but not the shell.
  • vbls: Implemented glob expansion using posix.glob.
  • misc: New errno, ENOTBLK.
  • misc: Networking support is now enabled in the default kernel configuration.
  • misc: Removed lgin from /etc/inittab.