Skip to content
Snippets Groups Projects

0.9.0 release notes

Merged Ron Williams requested to merge rw_van/website:release090 into master
Compare and Show latest version
3 files
+ 140
79
Compare changes
  • Side-by-side
  • Inline
Files
3
+ 140
79
+++
title = "Redox OS 0.9.0"
author = "Jeremy Soller and Ron Williams"
date = "2024-04-18"
author = "Ribbon, Ron Williams and Jeremy Soller"
date = "2024-09-9"
+++
(The following image needs to be uploaded, like the previous release it should show the Jeremy computers running the current Redox version)
<a href="/img/release/0.9.0.jpg"><img class="img-responsive" src="/img/release/0.9.0.jpg"/></a>
![Programs running in Redox 0.9.0](/img/screenshot/programs1.png)
![Orbital in Redox 0.9.0](/img/screenshot/orbital-0.9.0.png)
## Overview
It's been a while since we had our last release, but we have been heads-down working hard this whole time,
and Release 0.9.0 is packed with many improvements and cleanup. Here are just a few of the highlights!
It's been quite a while since we had our last release, but we have been heads-down working hard this whole time,
and Release 0.9.0 is packed with new features, improvements, bug fixes and cleanup.
We would like to thank all maintainers and contributors whose hard work has made this release possible.
Here are just a few of the highlights!
- Much improved process/thread lifecycle and signaling, thanks to funding from [NLnet](https://nlnet.nl/project/RedoxOS-Signals/)
- Massive performance improvements and stability
- Now featuring COSMIC Files, Editor and Terminal from the [COSMIC Desktop](https://system76.com/cosmic/)!
- Huge improvements to the portability of Linux/BSD programs
- Phase-One of the creation of a stable API
- USB Mouse and Keyboard support (with caveats)
- Userspace ABI improvements, towards the long-term goal of a stable ABI
- Improved paging and memory management
- Faster system calls
- Faster system calls and context switching
- Wide-ranging clean-up and debugging of the kernel, drivers and PCIe support
- Improved USB HID support
- Improved filesystem performance
## Other Key Improvements
- VirtIO drivers for better performance in virtual machines
- Virtualized [TSC](https://en.wikipedia.org/wiki/Time_Stamp_Counter) gives a massive boost to context switching speed in virtual machines
- Change to [Unix path format](https://en.wikipedia.org/wiki/Path_(computing)#Unix_style) from our previous [URI format](https://en.wikipedia.org/wiki/Uniform_Resource_Identifier) to improve source compatibility
- Relibc (our C library implementation) is now almost 100% Rust and much more complete
- The `libm` is now 100% written-in-Rust
- Improvements to the bootloader for more hardware compatibility
- Significant progress on the ARM64 (Aarch64) support, including partial support for Raspberry Pi 3B+
- Contain (Redox's sandboxing driver) has been expanded and is available as a demo (`desktop-contain.toml`)
- Slint, Iced and winit GUI libraries support the Redox Orbital Window Manager
- Key COSMIC Desktop programs available as demos
- GNU Nano and [Helix](https://helix-editor.com/) editors now supported
- [RustPython](https://rustpython.github.io/) is enabled by default
- Contain (Redox's sandbox driver) has been expanded and is available as a demo (`desktop-contain.toml`)
- Slint, Iced and winit GUI libraries support the Redox's display server (Orbital)
- GNU Nano and [Helix](https://helix-editor.com/) editors were ported
- [RustPython](https://rustpython.github.io/) is working
- New build system options and improvements
- Lots of new documentation, a complete book review and cleanup, almost 100% up-to-date information
- Lots of new documentation, lots of updates to reflect recent changes
- A [FAQ](https://www.redox-os.org/faq/) was added to the website
- A [developer FAQ](https://doc.redox-os.org/book/ch09-07-developer-faq.html) was added to the book
- The Redox software ports system was almost completely documented
- The [Libraries and APIs](https://doc.redox-os.org/book/ch09-06-libraries-apis.html) page documented our system APIs and libraries
- The [Performance](https://doc.redox-os.org/book/ch09-10-performance.html) page documented how to profile Redox to improve the performance
- Some sections of the website FAQ were copied to the book for better reading and easy to find information
- [Feature comparison](https://doc.redox-os.org/book/ch04-11-features.html) tables were added to the book
- The [References](https://doc.redox-os.org/book/ch09-08-references.html) page documents the best references to learn Rust, OS development and computer science
- Our [porting strategy](https://www.redox-os.org/news/porting-strategy/) was explained
## Stability and Performance Improvements
@@ -40,7 +57,7 @@ Jeremy Soller and 4lDO2 did massive improvements to stability and security, fixe
We would like to thank 4lDO2 a lot for his massive work to improve the kernel and user-space daemons.
You can read about part of the 4lDO2 journey to improve the kernel on the following posts:
You can read about parts of 4lDO2's journey to improve the kernel in the following posts:
- [RSoC: on-demand paging](https://www.redox-os.org/news/kernel-8/)
- [RSoC: on-demand paging II](https://www.redox-os.org/news/kernel-9/)
@@ -56,13 +73,13 @@ Beyond the toolchain updates, we also updated important cross-platform libraries
## Rust-first Program Porting!
We focus on Rust programs as they are more easy to port, Ribbon quickly ported hundreds of emerging Rust programs in 2023.
We focus on Rust programs as they are more easy to port, Ribbon created WIP ports for hundreds of emerging Rust programs in 2023.
## C/C++ Programs
Ribbon also partially-ported the classic and widely-used C and C++ programs and libraries, he focused to package the most used (and best) programs of the Linux/BSD world.
Ribbon also created WIP ports for classic and widely-used C/C++ programs and libraries, he focused to package the most used (and best) programs of the Linux/BSD world.
Currently there are 1,646 work-in-progress software ports, we need to write cross-compilation scripts and port/update some libraries to make them work.
Currently there are around 1,700 work-in-progress software ports, we need to write cross-compilation scripts and port/update some libraries to make them work.
## Relibc Improvements
@@ -94,9 +111,7 @@ Like mouse, keyboards, game controllers and other things.
## VirtIO Support
Anhad Singh from the [Aero](https://github.com/Andy-Python-Programmer/aero) project participated in our RSoC program from 2023 and implemented the VirtIO support on Redox.
He wrote some VirtIO drivers and improved the VirtIO GPU 2D acceleration to speed up our QEMU performance.
Anhad Singh from the [Aero OS](https://github.com/Andy-Python-Programmer/aero) project participated in our RSoC program from 2023 to write VirtIO drivers for Redox.
You can read about his work on the following posts:
@@ -123,25 +138,62 @@ We are glad to say that our website and book answer most of the end-user and dev
You can read about the Ribbon's documentation adventure on [this](https://www.redox-os.org/news/documentation-improvements/) post and on the monthly updates.
## This Month in Redox
We started monthly updates in 2024 to improve our status report for the community and bring more excitement to Redox, these posts offer more details about the changes present on this post.
You can read them on the following links:
- [This Month in Redox - January 2024](https://www.redox-os.org/news/this-month-240131/)
- [This Month in Redox - February 2024](https://www.redox-os.org/news/this-month-240229/)
- [This Month in Redox - March 2024](https://www.redox-os.org/news/this-month-240330/)
- [This Month in Redox - April 2024](https://www.redox-os.org/news/this-month-240430/)
- [This Month in Redox - May 2024](https://www.redox-os.org/news/this-month-240531/)
- [This Month in Redox - June 2024](https://www.redox-os.org/news/this-month-240630/)
- [This Month in Redox - July 2024](https://www.redox-os.org/news/this-month-240731/)
- [This Month in Redox - August 2024](https://www.redox-os.org/news/this-month-240831/)
## Software Showcase
We started a series of videos showing many programs running on Redox!
<iframe width="800" height="640" src="https://www.youtube.com/embed/s-gxAsBTPxA?si=EbIRLwIrnuiwfvYZ" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>
## Matrix
In 2023 we migrated from Mattermost to Matrix to fix some management problems, this big change helped us to improve many aspects of our community interaction.
The most important thing that Matrix fixed was the account creation approval for the chat and GitLab. Before Matrix you would need to wait the Mattermost approval of your account, but if the Mattermost email server went offline your account would never be approved, thus it was flooded with emails asking why their account was not approved, while Jeremy Soller didn't receive any emails.
In Matrix we fixed the account approval using the "Join Requests" room, where each new user request to join the Matrix space. The same applies for new GitLab accounts where each new contributor send its GitLab nickname on the "GitLab Approvals" room for approval.
You can read more about it on [this](https://www.redox-os.org/news/community-announcements-1/) post.
## Discussion
## Discord
Links where this release is discussed will be added here.
A Discord server was a long demand of the community because it's more convenient for most people, we didn't use Discord as the main chat platform because it's not free and open-source.
(To contact us, join in our Matrix space on [this](https://www.redox-os.org/community/) page)
Ribbon took the task and created the official Discord server, the Discord messages are bridged to Matrix and the moderation system is the same of Matrix.
- [Hacker News]()
- [Mastodon]()
## Organization Improvements
We also did many other organization improvements to save time in most tasks and satisfy more end-users and developers.
<!--
## Discussion
Here are some links to discussion about this news post:
- [Fosstodon @redox]()
- [Fosstodon @soller]()
- [Patreon]()
- [Phoronix]()
- [Reddit /r/redox]()
- [Reddit /r/rust]()
- [Redox OS Chat]()
- [X (previously known as Twitter)]()
- [X/Twitter @redox_os]()
- [X/Twitter @jeremy_soller]()
- [Hacker News]()
-->
## Images
@@ -149,14 +201,16 @@ It is recommended to try Redox OS in a virtual machine before trying on real har
the [supported hardware](https://www.redox-os.org/faq/#which-devices-does-redox-support) section for details on what
hardware to select for the best experience.
Remember to verify the images checksum with the `sha256sum` tool, use [this](https://static.redox-os.org/releases/0.9.0/x86_64/SHA256SUM) link for the x86_64 images.
- Read [this](https://doc.redox-os.org/book/ch02-01-running-vm.html) page to learn how to run the Redox images in a virtual machine
- Read [this](https://doc.redox-os.org/book/ch02-02-real-hardware.html) page to learn how to run the Redox images on real hardware
- Read [this](https://doc.redox-os.org/book/ch02-03-installing.html) page to learn how to install Redox
### Demo
A 1536 MiB image containing the Orbital desktop environment as well as pre-installed demo programs.
A 1536 MiB image containing the Orbital desktop environment as well as pre-installed demonstration programs.
- [Real Hardware Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_*_livedisk.iso)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_*_harddrive.img)
- [Real Hardware Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_demo_x86_64_2024-09-06_1221_harddrive.img.zst)
The demo image includes these additional packages:
@@ -177,15 +231,15 @@ The demo image includes these additional packages:
A 512 MiB image containing the Orbital desktop environment and some programs for common tasks. Use this if you want to download a smaller image.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_*_livedisk.iso)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_*_harddrive.img)
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_desktop_x86_64_2024-09-06_1221_harddrive.img.zst)
### Server
A 512 MiB image containing only the command-line environment. Use this if the desktop image is not working well for you.
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_*_livedisk.iso)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_*_harddrive.img)
- [Real Hardware](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_livedisk.iso.zst)
- [Virtual Machine Image](https://static.redox-os.org/releases/0.9.0/x86_64/redox_server_x86_64_2024-09-06_1221_harddrive.img.zst)
## Changes
@@ -206,11 +260,12 @@ The most important changes are shown below.
### RedoxFS
- The reading and writting performance was improved a lot by the introduction of the "records" concept, where RedoxFS use an optimal block size for the context switch
- The context switch roundtrips were reduced
- The copy-on-write reliability was improved with some bugs fixed
### System API
- All system components migrated from `redox_syscall` to `libredox` to have a stable ABI
- Virtually all system components migrated from `redox_syscall` to `libredox`, to allow an optimal unstable syscall ABI and eventually a stable userspace ABI
- The scheme path format is now converted at runtime (relibc/kernel) to avoid the patching of many libraries and programs, the Redox system interfaces are treated like the Linux target now
- New user-space schemes were introduced
- Many improvements to the scheme interface
@@ -220,7 +275,7 @@ The most important changes are shown below.
- A lot of new functions were added to relibc, improving the software compatibility
- Many bugs were fixed
- Many programs started to work
- More than 1500 programs and libraries were packaged (work-in-progress)
- More than 1600 programs and libraries were packaged (work-in-progress)
### Build System
@@ -245,45 +300,51 @@ The most important changes are shown below.
### Community
- Our chat migrated from Mattermost to Matrix
- We migrated the chat platform from Mattermost to Matrix
- A moderation system was implemented
- A nonprofit organization was created to help our money management
- A nonprofit organization was created to help the donation management
## Changelog
This section contains all commits since the 0.8.0 version, generated by the [changelog](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/changelog.sh) script:
- [redox]
- [cookbook]
- [rust]
- [audiod]
- [bootloader]
- [bootstrap]
- [contain]
- [coreutils]
- [drivers]
- [escalated]
- [extrautils]
- [installer]
- [ion]
- [ipcd]
- [kernel]
- [netstack]
- [netutils]
- [orbital]
- [orbterm]
- [orbutils]
- [pkgutils]
- [ptyd]
- [redoxfs]
- [relibc]
- [resist]
- [smith]
- [userutils]
- [uutils]
- [init]
- [logd]
- [nulld]
- [ramfs]
- [randd]
- [zerod]
\ No newline at end of file
As many changes happened it's not possible to write everything on this post, this section contains all commits since the 0.8.0 version generated by the [changelog](https://gitlab.redox-os.org/redox-os/redox/-/blob/master/changelog.sh) script:
- [redox](https://gitlab.redox-os.org/redox-os/redox/-/compare/c8634bd...f2fc8e6)
- [cookbook](https://gitlab.redox-os.org/redox-os/cookbook/-/compare/3d72057d...29bf5784)
- [audiod](https://gitlab.redox-os.org/redox-os/audiod/-/compare/20474ef...f7c2426)
- [bootloader](https://gitlab.redox-os.org/redox-os/bootloader/-/compare/d398e37...c7588a1)
- [bootstrap](https://gitlab.redox-os.org/redox-os/bootstrap/-/compare/1effea3...94ac220)
- [ca-certificates](https://gitlab.redox-os.org/redox-os/ca-certificates/-/compare/b42b9c5...4df67f2)
- [contain](https://gitlab.redox-os.org/redox-os/contain/-/compare/42b381b...e6b8856)
- [coreutils](https://gitlab.redox-os.org/redox-os/coreutils/-/compare/690460d...b52a1b2)
- [cosmic-edit](https://github.com/pop-os/cosmic-edit) - new project
- [cosmic-files](https://github.com/pop-os/cosmic-files) - new project
- [cosmic-icons](https://github.com/pop-os/cosmic-icons) - new project
- [cosmic-term](https://github.com/pop-os/cosmic-term) - new project
- [curl](https://gitlab.redox-os.org/redox-os/curl/-/compare/8b9c5bef9...f50c28394)
- [drivers](https://gitlab.redox-os.org/redox-os/drivers/-/compare/fc4a69c...897866d)
- [escalated](https://gitlab.redox-os.org/redox-os/escalated/-/compare/7e02fe4...06fe299)
- [extrautils](https://gitlab.redox-os.org/redox-os/extrautils/-/compare/1f9cf9c...2218a14)
- [findutils](https://gitlab.redox-os.org/redox-os/findutils/-/compare/2b3a88f...116c044)
- [initfs](https://gitlab.redox-os.org/redox-os/redox-initfs/-/compare/89b8fb8...7dd9b2e)
- [installer](https://gitlab.redox-os.org/redox-os/installer/-/compare/f710fa7...087810a)
- [installer-gui](https://gitlab.redox-os.org/redox-os/installer-gui) - new project
- [ion](https://gitlab.redox-os.org/redox-os/ion/-/compare/b9c354eb...b1b9475f)
- [ipcd](https://gitlab.redox-os.org/redox-os/ipcd/-/compare/c930dfd...db2322c)
- [kernel](https://gitlab.redox-os.org/redox-os/kernel/-/compare/d298459...0c99e1b)
- [netstack](https://gitlab.redox-os.org/redox-os/netstack/-/compare/54d64d6...640e548)
- [netutils](https://gitlab.redox-os.org/redox-os/netutils/-/compare/34d1ec9...c78b13c)
- [orbdata](https://gitlab.redox-os.org/redox-os/orbdata/-/compare/1d6d330...3ca60ee)
- [orbital](https://gitlab.redox-os.org/redox-os/orbital/-/compare/e93c270...8b5497a)
- [orbutils](https://gitlab.redox-os.org/redox-os/orbutils/-/compare/b5aaf1e...4878e07)
- [pkgutils](https://gitlab.redox-os.org/redox-os/pkgutils/-/compare/8cc4d84...87e2dc8)
- [pop-icon-theme](https://github.com/pop-os/icon-theme/-/compare/ab3e9b1497...3126c6a3f6)
- [ptyd](https://gitlab.redox-os.org/redox-os/ptyd/-/compare/d1709e5...ab26604)
- [redoxfs](https://gitlab.redox-os.org/redox-os/redoxfs/-/compare/f601b2a...5c8f22b)
- [relibc](https://gitlab.redox-os.org/redox-os/relibc/-/compare/ee0193aa...7a86d101)
- [resist](https://gitlab.redox-os.org/redox-os/resist/-/compare/8d420dc...1a09fad)
- [userutils](https://gitlab.redox-os.org/redox-os/userutils/-/compare/0621709...7a96dab)
- [init](https://gitlab.redox-os.org/redox-os/init/-/compare/0c87d80...f5aaf7f)
- [logd](https://gitlab.redox-os.org/redox-os/logd/-/compare/734bb92...e0f930a)
- [ramfs](https://gitlab.redox-os.org/redox-os/ramfs/-/compare/d3fd7f2...f404d64)
- [randd](https://gitlab.redox-os.org/redox-os/randd/-/compare/934f130...1c88eea)
- [zerod](https://gitlab.redox-os.org/redox-os/zerod/-/compare/4b1b17c...286bd4a)
\ No newline at end of file
Loading