0.2.0 - 2 Years of Redox
🎉 🍰 As of 2017-04-20
, Redox OS has been on GitHub for two years! 🍰 🎉
Due to the number of positive changes that have happened, the version has been bumped to 0.2!
Please discuss this release on Reddit.
The most major changes are an increase in kernel performance, a complete implementation of frame allocation (and deallocation) in the kernel, a new sys:iostat
to inspect all open file handles, resizing and scrolling in the editor
, and more ion
shell features.
This list of changes came from a line-by-line review of all changes since 0.1.5, which was released 13 days before this release.
Redox Distribution
- Add Cargo.lock, to track dependencies in GIT
- Add the following as submodules, to track changes: event, extra, jpeg-decoder, mio, orbclient, orbfont, orbimage, orbtk, pager, ralloc, ransid, same-file, syscall, tar, termion
- Readd binutils, games, and sodium as submodules
- Update recommended
rustc
to2017-04-22
nightly - Increase default size of filesystem to 128 MB
- Update Rust submodule
- Implement
fcntl
inptyd
- Implement
fpath
inrandd
Kernel
- Add
__rust_allocate_zeroed
inalloc_kernel
- Fix
initfs
generation listing bug - Remove
Copy
implementation fromcontext::File
- Add
flags
tocontext::File
- Increase performance of
memcpy
,memmove
,memset
, andmemcmp
- Implement kernel closest-fit page frame allocator (removes memory leak from the old bump allocator)
- Free page frames recursively, to free all empty tables
- Implement handles in
debug:
, so thatO_NONBLOCK
andfcntl
can be used - Implement
fcntl
andfpath
fordebug:
,env:
,event:
,initfs:
,irq:
,live:
,memory:
,null:
,pipe:
,root:
,time:
, andzero:
- Create a
sys:iostat
that can be used to inspect all open file descriptors - Implement
O_CLOEXEC
in the kernel - Implement
#!
interpreted scripts inexec
- Fix bug causing grandparents of exited parents of exited children to not receive the error status of exited children
- Add
linker-flavor
to targets
Coreutils
- Add
uniq
command - Use buffered output in
ls
- Add
-f
,-F
, and-s
totail
- Fix issue with
-a
intee
not creating files - Calculate characters with UTF-8 in
wc
- Cleanup
coreutils
library inlib.rs
- Add a UTF-8 test file
Drivers
- Implement
fpath
inahcid
ande1000d
- Switch
vesad
to use handles and support per-handle flags, likeO_NONBLOCK
- Fix bug in port layout in
xhcid
Extrautils
- Add
keymap
utility (not yet functional) - Human readable format for
screenfetch
uptime - Move
tar
intoextrautils
Init
- Open stdio without O_CLOEXEC
- Cleanup
run.d
Ion
- Add script arguments
$0
,$1
,$2
, ... - Improve syntax and performance
- Implement piping for built-ins
- Add
echo
,calc
,test
, andtime
as built-ins - Add description to all built-ins
- Refactor modules
- Update
README.md
Netutils
- Exit wget with error when remote server returns an error status
Orbutils
- Implement URL dialog in
browser
(press enter to open) - Implement resizing for
character_map
,editor
, andfile_manager
- Implement scrolling in
editor
- Refactor
launcher
- Add time to
launcher
- Remove
O_CLOEXEC
from stdio interminal
- Reduce redraws in
terminal
- Close
terminal
afterexit
Orbdata
- Convert orbital configuration to TOML
Orbital
- Use TOML for configuration
- Refactor to use
fevent
, rather than using two blocking threads
Pkgutils
- Implement install of local packages
- Use
io:copy
to reduce memory usage for package downloads
RedoxFS
- Fix
seek
bug - Implement
O_APPEND