CHANGELOG 0.1.0.md — Notepad

The experiment's first published version.

Added

  • Kernel bootstrap over x86_64 + UEFI + Limine, receiving bootloader info, framebuffer, memory map, HHDM and initramfs.
  • A text console over the framebuffer with scrolling and a cursor, plus early serial output over COM1 / debugcon.
  • GDT/IDT with user segments, TSS, basic exceptions and a syscall gate through int 0x80.
  • An early physical allocator, a kernel heap and a minimal VMM for user address spaces.
  • A PS/2 keyboard driver, a canonical TTY and an initial interactive shell.
  • A minimal VFS mounting a cpio newc initramfs, with dynamic in-memory files and a persistent SVFS volume mounted at /disk.
  • A static ELF64 loader for simple ring 3 processes.
  • A preemptive round-robin scheduler with blocking on wait, read and sleep.
  • A shell with pipes, redirection (|, <, >, >>, 2>, 2>>, 2>&1), a single/double quote parser and the exec, which and mkdir builtins.
  • Refcounted handles with dup, dup2, waitpid(-1) and zombie/reap processes.
  • Page reclaim on exit/exec, VmSpace destruction and freeing of kernel stacks when reaping processes.
  • SVFS with simple persistent subdirectories under /disk, mkdir, rmdir of empty directories, explicit truncate and persistent rename.
  • A minimal SDK v1 in C, with crt0, libc, a linker script, the savanxp/* headers, host tooling to install external apps into build/disk.img and base examples (sdk/hello, sdk/errdemo, sdk/fsdemo, sdk/pathops, sdk/procpeek, sdk/spawnwait, sdk/statusdemo, sdk/multifile, sdk/template).
  • An initial userland with init, sh, echo, uname, ls, cat, sleep, ticker, demo, true, false, ps, fdtest, waittest, pipestress, spawnloop, badptr, rm, rmdir, truncate, seektest, truncatetest and errtest.

Changed

  • Processes, pipes and persistence were consolidated so that /disk is operational as the main working flow across reboots.
  • The syscall surface and the minimal libc were widened with the filesystem and process operations needed for the shell, pipes and external apps.
  • The repository and SDK v1 documentation was frozen to leave a useful public base from the first numbered version onwards.
Version 0.1.02026-03-080 changes