Releases: jordanhubbard/pythonos
Releases · jordanhubbard/pythonos
v0.1.2
v0.1.1
PythonOS v0.1.1
Validation
- Local validation:
scripts/validate-release.sh - CI: green for
4882ef7
Statistics
- Commits since v0.1.0: 5
Added
-
Add CHANGELOG.md + auto-categorized release entries
-
release.sh: stage changelog entry through tempfile (macOS awk)
Changed
- docs: update CHANGELOG for v0.1.1
- release.sh: fix unbound-variable in EXIT trap after main returns
Fixed
- release.sh: render_changelog_entry must always return 0
v0.1.0
PythonOS v0.1.0
Validation
- Local validation:
scripts/validate-release.sh - CI: green for
3c0dce6
Statistics
- Commits since v0.0.0: 127
Changes
- Wire
make releaseto scripts/release.sh (nanolang methodology) - Dockerfile: fix x86 cross-build + bootable ISO from arm64-native builder
- Update beads for release follow-ups
- Fix GUI terminal newline and release gate
- Fix desktop terminal editing
- Quiet TCP bridge logs and fix terminal routing
- Implement native TCP GUI bridge
- Refactor run-gui bridge transport
- Fix run-gui on Linux arm64 host
- bd: record Dolt sync repair
- bd: update sync.remote
- Fix Docker builder on arm64 hosts
- Menu bar: render via SDL_ttf (anti-aliased) + freeze _py_warnings
- The turtle: Logo graphics + Spirograph patterns
- Editor: File menu (Open / Save / Save As / Close) + footer minibuffer
- The 1982 hobbyist's wishlist: Mandelbrot + an in-kernel chat BBS
- Add Keyboard demo: live event-queue visualizer
- REPL: tab completion for Python attributes
- docs: refresh README + gui.md for current app/demo set
- Add Clock app: big-digit uptime display with bespoke 5x7 font
- About PythonOS window + serialize history persistence
- Add Game of Life demo + register paint, broaden gui-smoke check
- REPL: persistent history at /home/.repl_history
- Freeze _py_warnings so codeop works → multi-line def at REPL
- Smoke: regression guards for compound-stmt compile + vfs_import
- Fix strncmp returning wrong result for prefix-equal-but-truncated case
- Add System Monitor app: live kernel state in a window
- Add Paint demo: mouse-driven SDL bridge showcase
- Preserve content when terminal scrolls; consume ANSI CSI
- Add VFS-backed importer (blocked on pythonos-0ta)
- macOS-style menu bar: system menu (PythonOS / Apps / Demos)
- Add desktop background image + top menu bar
- Fix two boot regressions on main: deferred json + sdl_text
- Draft QEMU bug report for HVF GIC-MMIO ISV assertion
- Add GICv3 driver with GICv2/v3 auto-detect
- Mirror-SDL slice 2: SDL_ttf wrappers + typed handle table
- Mirror-SDL bridge: generic sdl.call op + dispatch table (foundation)
- run-gui: detach QEMU stdin so kshell can't eat host keystrokes
- Batch fire-and-forget bridge ops to fix unbearable graphics perf
- Consolidate run-gui as canonical (drop run-desktop), fix files+editor
- Add three SDL graphics demos: starfield, rainfall, plasma
- Fix dock click handler: unpack 3-tuple, not 2
- Close ef6.4 in bd; epic ef6 (persistent storage milestone) complete
- ef6.4: mount /home and /apps from virtio-blk at boot (arm64); tmpfs fallback
- Close ef6.1, ef6.3, ef6.5 in bd
- Wire virtio-blk on x86 boot path; smoke-test driver bind on x86
- Add write_sector to arm64 virtio-mmio block driver
- Add pure-Python ext2 read/write driver (ef6.5)
- Add virtio-blk-pci driver for x86_64 (ef6.3)
- VFS: longest-prefix mount table, mount-boundary readdir, flushing unmount
- Add disk-image target: ext2 build/disk.img with /home and /apps
- Bridge desktop: handle-based SDL surface API + dock icons + window mgmt
- Wire pythonos_bridge end-to-end (Slice 2: transport + guest client)
- Add pythonos_bridge companion (Slice 1: protocol + selftest)
- Add bulk-MMIO framebuffer + double-buffered compositor
- Add make help + sync README/docs with the GUI subsystem
- Add baseline JPEG decoder
- Add arm64 virtio-snd audio backend
- Fix arm64 build path and add
make buildalias - Add PNG decoder + pure-Python deflate
- Add tile-hash golden screendump verification
- Add arm64 virtio-tablet/mouse + audio capture smoke
- Add arm64 virtio-input keyboard + arm64 GUI smoke
- Ship audio_tone, image_viewer, files apps + verified desktop render
- Add editor app + factor shared TextWin out of terminal
- Add sdl2.render (SDL_Renderer / SDL_Texture) and sdl2.sdlttf
- Add terminal app — REPL in a compositor window
- Add PS/2 mouse + compositor click-to-focus and title-bar drag
- Add QEMU monitor helper + pixel-level GUI smoke assertion
- Add GUI smoke test (make test-gui)
- Add pythonos_gui launcher command + frozen-Python None fixups
- Add apps/ package + registry + bouncing_ball demo
- Add image.load() with BMP + PPM decoders
- Add stacking compositor with Tab focus cycling
- Add PySDL2-compatible sdl2 package (corpus minimum)
- Add kernel.sound.mixer with HDA backend
- Add kernel.gui.input EventQueue with PS/2 keyboard bridge
- Add opt-in GUI framebuffer support on x86_64 and arm64
- Add REPL filename completion
- Get arm64 fully working
- Default Make targets to host architecture
- Drive Python REPL and sh() through linenoise
- Close out arm64 + linenoise beads end-to-end
- Vendor linenoise + arm64 substrate end-to-end wiring
- Bring up arm64 SMP + pthread substrate
- Track arm64 SMP and pthread substrate in beads
- Track linenoise line editing bead
- Default PYTHONOS_FREE_THREADING to 1
- Cover no-GIL pthread critical path with tests and docs
- Track no-GIL pthread critical path beads
- Stabilize SMP no-GIL PythonOS
- bd init: initialize beads issue tracking
- Add ed editor and expand examples
- Add cat command and shell discoverability
- Fix ftp TCP lifecycle cleanup
- Add ftp-style file copy command
- Add frozen Python examples and vi command
- README: document unix-like shell experience and command set
- sh() with no args drops into interactive $ sub-shell
- Add shell command dispatch: bare words auto-run /bin/*.py scripts
- Fix console echo newlines, ls, VFS resolve, and boot message
- shell: wrap help in lambda so bare 'help' calls it instead of printing the method
- Fix TCP networking and smoke test: all 6 tests pass
- Split Makefile into GNUMakefile + BSD stub; fix source dependencies
- Fix VirtIO-net RX: poll used ring instead of waiting for IRQ
- Fix shell crash on missing codeop; improve smoke test diagnostics
- Update documentation: arm64, TCP REPL, smoke tests, provenance Part 6
- Fix shell future crash, REPL port conflict, and add smoke tests
- Fix keyboard I/O and add multi-session TCP REPL server
- Fix keyboard input: COM1 serial on x86_64, CR→LF translation on both arches
- arm64 port: GIC+timer, VirtIO-MMIO block, PL011 serial shell, ECAM PCI
- Fix dataclasses stub for Python 3.14 lazy annotations; simplify to Docker-only build
- Use disabled section to suppress configure-detected modules
- Fix _blake2/_hashlib/_ssl skips in Modules.Setup.local
- Add EINTR to errno definitions in libc.h
- Fix collections.abc path for CPython 3.14
- Skip _blake2 in CPython 3.14 — now requires HACL library
- Fix _blake2 module path for CPython 3.14
- Add strdup/strndup to stdlib.h, pause to unistd.h for CPython 3.14
- Upgrade CPython 3.13 → 3.14.4
- Auto-detect cross-compiler in Makefile
- Track grub.cfg in repo for reproducible ISO builds
- Also copy pyconfig.h to deps/cpython/ after build
- Track pyconfig.h in repo; fix cpython-build on fresh clone
- docs: rewrite README with build instructions and architecture overview
- Initial commit: PythonOS boots to interactive kernel shell
- Initial commit