Skip to content

v0.23-beta.3

Choose a tag to compare

@MinecAnton209 MinecAnton209 released this 09 Feb 17:25
· 128 commits to main since this release

πŸš€ Release Notes - NovumOS v0.23-beta.3

Date: February 9, 2026
Version: v0.23-beta.3

🌟 Highlights - The SDK & Application Development Update

This milestone release introduces the official NovumOS SDK, empowering developers to create native user-mode applications. With a standardized C/Zig API, pre-built static libraries, and automated build scripts, NovumOS now offers a complete ecosystem for extending the operating system's capabilities.

πŸ› οΈ NovumOS SDK & Developer Tools

  • Complete Development Kit: Introduced the sdk/ directory with everything needed to build, link, and run user-mode programs.
  • Universal Static Library (libnovum.a): A pre-compiled library providing a stable interface between user applications and the kernel's system calls.
  • Multi-Language Support: First-class support for both C and Zig application development, including header files (novum.h) and Zig source modules.
  • Automated Build Scripts: Added build-app.bat (Windows) and build-app.sh (Linux) to streamline the compilation and linking process into a single command.
  • Optimized Linker Logic: Custom linker_app.ld script ensures applications are correctly mapped for User Mode execution with proper entry points.

πŸ“ž Unified Syscall API (LibNovum)

  • Stable Wrappers: Provided high-level wrappers for core system functions:
    • nv_print(): Text rendering with transparent console handling.
    • nv_getchar(): Interactive keyboard input support.
    • nv_set_cursor() / nv_get_cursor(): Full hardware screen management.
    • nv_clear_screen(): Terminal reset functionality.
    • nv_exit(): Graceful program termination and return to kernel.
  • Error Safety: Built-in safeguards in syscall wrappers to prevent invalid memory access from user-mode code.

πŸ“š Documentation & Reference Examples

  • Comprehensive Guides: Added README.md and QUICKSTART.md within the SDK folder, detailing API usage, build instructions, and troubleshooting.
  • Practical Examples:
    • hello_world: A minimal example demonstrating basic printing and input.
    • calculator: A UI-focused demo showing advanced cursor positioning and screen management.
  • Main Documentation Sync: Updated the primary project README with a dedicated SDK section and quick-start instructions.

πŸš€ Release Notes - NovumOS v0.23-beta.2

Date: February 8, 2026
Version: v0.23-beta.2

🌟 Highlights - The User Mode & Security Update

This major release introduces User Mode (Ring 3) support, a standardized System Call Interface, and a complete migration of the Nova Language interpreter into a protected environment. This update provides the foundation for system stability and application isolation.

πŸ›‘οΈ User Mode & Privilege Isolation

  • Ring 3 Support: The kernel now supports execution at privilege level 3. This implements memory protection and prevents user-mode code from executing privileged instructions.
  • Stable Transition (IRET): Implemented a robust entry/exit mechanism via the iret instruction, ensuring consistent stack and register states during transitions.
  • Hardened IRQ Handling: Enhanced interrupt wrappers (Keyboard, Timer) to safely save and restore all segment registers (DS, ES, FS, GS), preventing cross-privilege state corruption.
  • SSE & Alignment: Enabled SSE support for user processes and enforced 16-byte stack alignment (at 0x3FFFF0) to support modern compiler optimizations (Zig/Clang).

πŸ“ž System Call Interface (int 0x80)

  • Standard Gateway: Provided a unified entry point for user applications.
  • Initial API Surface:
    • 0: Exit process
    • 1: Print string (with automatic carriage return handling)
    • 2: Get character (blocking keyboard input)
    • 3/4: VGA Hardware Cursor control (Set/Get)
    • 5: Clear Screen
  • Transparent Redirection: Core Zig modules (vga, keyboard, common) now automatically detect the privilege level and redirect I/O requests through syscalls when running in Ring 3.

πŸ“¦ Nova Language in Ring 3

  • Protected Environment: The Nova interpreter now runs entirely in User Mode. Any potential interpreter faults are now safely caught by the kernel's exception handlers.
  • Enhanced I/O Safety: Integrated privilege checks in VGA and Serial drivers to prevent General Protection Faults (#GP) during accidental direct hardware access.

Full changelog

Full Changelog: v0.23-beta.2...v0.23-beta.3