CHANGELOG 0.2.0.md — Notepad

Added

  • A desktop-first session with the desktop compositor, the shellapp fullscreen shell, client surfaces shared through a SectionObject and graphical app launching through fd 3..6.
  • An extended public ABI on /dev/gpu0 with GPU_IOC_SET_MODE, GPU_IOC_IMPORT_SECTION, GPU_IOC_RELEASE_SURFACE, GPU_IOC_PRESENT_SURFACE_REGION and GPU_IOC_WAIT_IDLE.
  • A new public ABI for audio with SAVANXP_IOCTL_GROUP_AUDIO, AUDIO_IOC_GET_INFO and struct savanxp_audio_info.
  • A playback-only virtio-sound driver over virtio_pci, exposing /dev/audio0 with the fixed S16LE stereo 48 kHz format.
  • A new audiotest utility and automated coverage in .\build.ps1 smoke to validate /dev/audio0.
  • A minimal object manager with generic kernel handles for I/O, events, timers and sections.
  • New EVENT_*, WAIT_ONE, WAIT_MANY, TIMER_*, SECTION_CREATE, MAP_VIEW and UNMAP_VIEW syscalls, with updated wrappers in userland and SDK v1.
  • Initial anonymous Section/View support in the kernel, including shared memory between processes, shared vs private inheritance on fork() and new eventtest, timertest, sectiontest and mmaptest tests.
  • A new POSIX layer for anonymous mmap / munmap in subsystems/posix/sdk/v1, plus the standard sys/mman.h header.

Changed

  • The system reports itself as v0.2.0 in the kernel, the shell, uname, sysinfo and the components consuming the shared version.
  • The normal boot now supervises desktop from init; /SMOKE still avoids the desktop and keeps the automated headless smoke.
  • gfx_open and the graphics runtime become compositor-first, with a direct fallback over /dev/gpu0; the legacy /dev/fb0 node is no longer exposed in the current system.
  • The main build now installs the ported BusyBox multicall in /bin and /disk/bin for ls, cat, echo, mkdir, rm, mv, cp and ps.
  • virtio-gpu moves to presenting over an internal set of three surfaces and the legacy FB_IOC_* path leaves the current ABI.
  • The run and smoke QEMU profiles add virtio-sound-pci with an audiodev separate from the pcspeaker path.
  • sleep_ms() now runs over kernel waitable timers instead of a separate special path, and fork() preserves anonymous views as shared or private according to the mapping type.
  • The Start menu no longer offers Exit Desktop, and shellapp can be closed with exit to return to the desktop and reopened later from Menu -> Shell.
  • The desktop compositor cuts some redundant work in the presentation path and better fixes input routing/polling for fullscreen clients.
Version 0.2.02026-03-220 changes