Skip to content

AmiPilot v1.0

Choose a tag to compare

@github-actions github-actions released this 09 Aug 08:00
· 11 commits to main since this release
5c63b13

The first full release. Everything the implementation plan's 1.0 gate asked for — getting files and programs onto the machine the way a real user would, seeing what's actually on screen, manipulating whole windows, and promoting the wire protocol itself to stable — verified end to end, including on a completely bare machine profile and against real Picasso96/RTG.

What's in 1.0

  • FSPUT: push a file from the host onto the Amiga, completing the file API's round trip. The wire's first request to carry a raw binary body — deliberately wire-only, no ARexx form at all, since ARexx messages can only ever carry string arguments (a real, permanent transport asymmetry).
  • WBLAUNCH: launch a program the way Workbench itself does — a genuine WBStartup/WBArg message to a real non-CLI process — with TOOLTYPE= overrides (merged into a scratch copy of the icon in T:, never the application's own .info) and ARG= project-file arguments.
  • SCREENSHOT: capture a screen or window as raw pixels — classic planar screens and genuine Picasso96/RTG bitmaps in their native pixel formats — decoded host-side to PNG and IFF ILBM, stdlib-only. Verified against real Picasso96 under emulation, both CLUT and truecolor.
  • WINDOWMOVE/WINDOWSIZE: move or resize a whole window via the same synthesized press/move/release drags gadgets already get.
  • WAITFOR REQUESTER: wait for a genuine Intuition Requester to appear — detection-only first slice (window-attached requesters only).
  • Every wire verb promoted from EXPERIMENTAL to STABLE: the implementation plan's own 1.0 gate ("protocol verbs promoted to stable"). Everything the VERSION handshake reports — except VERSION itself, which was always stable — now won't break within a major.
  • Fixed: CLICK with a ROLE=/INDEX= locator could silently act on the wrong system gadget (close/depth/drag) instead of the application gadget the locator actually matched.
  • Verification hardened for 1.0: the implementation plan's own "bare machine" lifecycle check, an automated TCP-transport check (real bsdsocket.library over Copperline's host networking), and an automated P96 SCREENSHOT capture-path check — plus a dedicated pre-1.0 code review, all findings fixed.

Full detail in Changelog.md.

Known gaps

  • Requester support is detection-only — no addressing or clicking a requester's own gadgets yet.
  • Menu selection still needs a keyboard shortcut; pointer-based selection for shortcut-less items isn't built.
  • A window.class window's layout.gadget-nested children remain unreachable on classic OS 3.x — a documented platform limit, not a bug. See Locator Tiers and Limits.
  • TCP remains LAN-only trust — no TLS. Verb stability doesn't change this. See Securing TCP.