feat: release - 0.2.0

This commit is contained in:
daniel committed 2026-10-14 07:46:40 +02:00
1 parent 278b208258
commit f3d475a0d5
4 files changed
+83 -3

No files matched your search

+5
View File
@@ -252,6 +252,10 @@ ifeq ($(ARCH),loongarch64)
endif
rm -rf iso_root
# Example and regression-test programs that are built into 0:/os for
# development but have no place on a release image.
RELEASE_EXCLUDE_PROGRAMS := rusthello.elf futextest.elf memtest.elf
.PHONY: release
release: limine/limine kernel ramdisk
rm -rf iso_root .release-tmp
@@ -281,6 +285,7 @@ ifeq ($(RELEASE_WITHOUT_SDK),1)
rm -rf .release-tmp/sdk/bin .release-tmp/sdk/lib .release-tmp/sdk/include \
.release-tmp/sdk/libexec .release-tmp/sdk/x86_64-montauk
endif
rm -f $(addprefix .release-tmp/os/,$(RELEASE_EXCLUDE_PROGRAMS))
find .release-tmp -name '*.elf' -exec strip {} +
# The ramdisk carries its own copy of the kernel at 0:/boot/kernel -- that is
# the image the Installer lays down on the target disk -- and it is not named
+75
View File
@@ -1,3 +1,78 @@
MontaukOS 0.2.0 (October 14, 2026)
(278b20825815ec04a22fd1c2fcfedbd38e116e6d)
New
====
* Kernel capability model - processes run with a capability set, and protected paths and privileged syscalls are gated on it
* Permission consent prompts - apps ask before first use of a protected capability, and answers are remembered
* New Capabilities app for reviewing and managing app permissions
* Unified system status codes; the shell and Files now print a readable message on failure
* Text is now UTF-8 throughout, with Unicode key events and dead keys
* Keyboard layout support, with English, Norwegian, Czech, Swedish, and Danish layouts
* NumLock support
* Battery percentage reporting via ACPI, with a battery indicator in the desktop panel
* Display brightness control, including on hybrid graphics laptops, with a slider in the desktop panel
* Discrete GPUs are powered down automatically on hybrid graphics laptops
* ext2 block cache with readahead, speeding up disk-heavy work such as on-OS compilation
* Userspace system logging: klog is now syslog, logs identify the user and program, and system services log through montauk::service_log
* The system log is written to disk (0:/state/logs) during shutdown
* Desktop sessions now own the processes started in them, and those processes are ended on logout
* Rust userspace support (no_std)
* Futex syscalls (SYS_FUTEX_WAIT/SYS_FUTEX_WAKE) as groundwork for Rust std and pthreads
* Process termination codes; abort() now ends the whole process from any thread
* isatty() now reports whether a terminal is actually attached
* Settings panel and a Pure Black theme in Terminal (the default for Console sessions)
* Syntax highlighting for C++, HTML, CSS, and JavaScript in edit and Text Editor
* Expanded SVG renderer
* New vol command for listing mounted volumes
* Revamped desktop application categories
* Fonts, icons, and manual pages moved to 0:/os; persistent state now lives in 0:/state
* RTL-SDR driver moved from the kernel to userspace
Fixed
=====
* Opening a directory as a file is now rejected on ext2 and FAT32, fixing on-OS gcc on installed systems
* Fixed several syscall result and status code comparisons
* Fixed a TLS layout bug for binaries whose TLS segment has an alignment below 16
* A fault in one thread now ends the whole process instead of leaving its sibling threads running
* Fixed an ACPI hardware ID endianness bug
* Fixed a race in Wi-Fi event processing and other Wi-Fi bugs
* DHCP no longer runs when no network device has an active link
* Reduced idle CPU wakeups and deferred-work polling
* Redirected consoles are now inherited by processes spawned with capabilities
* Fixed numpad navigation
* Fixed a timezone formatting bug
* Fixed the login wallpaper startup delay
* Fixed text overlap in file dialogs
* Persisted kernel logs are no longer double-spaced
* Files lists now scroll with the arrow keys, and volume labels are consistent
* mbrtowc added to libc
Included in ISO
================
Two x86_64 images are published for this release.
montauk-0.2.0-sdk-x86_64.iso additionally carries the
Montauk SDK (gcc, binutils, etc.)
* MontaukOS SMP kernel
* Userspace bootstrap (0:/os/init.elf) and other essential system utilities
* MontaukOS desktop environment and graphical apps
* NetSurf web browser (0:/apps/netsurf)
* Manual pages (0:/os/man), readable via man command
* Service and system configuration (0:/config: init.toml, capabilities.toml, ssh.toml, ntp.toml)
* System CA certificates (0:/os/certs/ca-certificates.crt)
* Intel Bluetooth controller and Wi-Fi (iwlwifi) firmware (0:/os/firmware/intel)
* Third-party license texts and notices (0:/os/licenses)
* Tiny C Compiler (tcc) with MontaukOS headers and libraries (0:/sdk/tcc)
* Lua 5.4 interpreter (lua) with headers and static library (0:/sdk/lua)
* Montauk SDK - native GCC/G++ and binutils (0:/sdk) - SDK image only
* Flat Remix icon pack
* JetBrains Mono, Noto Serif, Roboto, and C059 Roman (open Century Schoolbook) TrueType fonts
* DOOM engine with SDL_mixer audio support (game data not included)
* Experimental HTTP server (httpd) and default page (0:/www/index.html)
* Default wallpaper - blossoms by Nikhil Kumar, Unsplash (0:/os/wallpapers)
MontaukOS 0.1.9 (August 13, 2026)
(a28b8ad0b2932203b812e967f35f029f060fd6b5)
+1 -1
View File
@@ -12,4 +12,4 @@
#pragma once
#define MONTAUK_BUILD_NUMBER 308
#define MONTAUK_BUILD_NUMBER 1
+2 -2
View File
@@ -17,13 +17,13 @@ namespace montauk::abi {
// Copy strings into fixed-size arrays (user-accessible)
const char* name = "MontaukOS";
const char* ver = "0.2.0";
const char* ver = "0.2.1";
for (int i = 0; name[i]; i++) outInfo->osName[i] = name[i];
outInfo->osName[9] = '\0';
for (int i = 0; ver[i]; i++) outInfo->osVersion[i] = ver[i];
outInfo->osVersion[5] = '\0';
outInfo->apiVersion = 11;
outInfo->apiVersion = 12;
outInfo->maxProcesses = Sched::MaxProcesses;
outInfo->buildNumber = MONTAUK_BUILD_NUMBER;
}