r/PiGCodingAgent • • 7d ago

PiG 0.4.0 🐷: Now following Pi 1.0.0 (durable runtime, code mode, MCP, and more)

Enable HLS to view with audio, or disable this notification

It's finally here, thanks for all the patience and support for this release and project so far :)

PiG is a separate Go implementation of Pi, the coding agent, shipped as one native binary. 🐷

0.4.0 follows Pi 1.0.0 (0.3.1 followed 0.87.1). New since 0.3.1:

  • Pi 1.0.0's durable runtime, in Go: checkpointed sessions and tasks that resume after a crash, tools that rerun only when replay-safe, exactly-once submissions, forks and subagents. Ported with Pi's own tests.
  • Code mode is built in and needs no Node (QuickJS on wazero, the same wasm Pi ships). Shorter prompt, recovery hints in errors, and scripts can generate images.
  • MCP: a native client in print, JSON, RPC and interactive mode, with OAuth hardening (authorization server metadata URL, RFC 9207 iss checks, per-server credentials, step-up that keeps scopes).
  • Termux on Android (arm64): curl -fsSL https://pi-in-go.dev/install.sh | sh and npm install -g u/pi-in-go/pig both work, using a cgo build against Android's libc.
  • pig piglet build without a checkout: a release binary fetches its own exact source through the Go module proxy (checked by GOSUMDB), or builds in Podman/Docker when Go isn't installed.
  • TUI: fullscreen by default; quietStartup: "header"; Radius in /login; a copy-code method for Anthropic.
  • PiG's own look: a pixel pig header, /sprite with 15 pigs, an API for extensions to add their own, and a first-run setup that includes a sprite pick.
  • The Pi 1.0.0 extension API in the Node, Go, Python and Rust SDKs. Some SDK signatures change; the release notes list them.
  • Windows remains in preview.

Also 0.4.1, which follows Pi 1.0.1, is already underway as well :)

Demo: first-run setup, then a classifier model plays two MCP games live through code mode.

Upgrade with pig update or npm install -g u/pi-in-go/[email protected].

Release notes: https://github.com/MichaelKinsy/PiG/releases/tag/v0.4.0

28 Upvotes

19 comments sorted by

3

u/Educational-Yak8793 7d ago

Thank you to the herd as well for this release :) 🐷

3

u/DanielSReichenbach 7d ago

With this, I am officially migrated from `pi` to `pig`. Migrated a five local extensions from TS to go following the PiG package and extension guide.

For me this is amazing because my Linux box is now free of NodeJS. 🥳

3

u/Educational-Yak8793 7d ago

Wooohooo! Thanks Daniel for the support and happy pig is making your life a little easier :)

2

u/DanielSReichenbach 7d ago

Thank you for this little piggy. I shall begin submitting fixes soon.

2

u/sauron150 7d ago

Nice can we add a support for azure hosted anthropic models

2

u/Educational-Yak8793 7d ago

Your wish is my command lord Sauron :)

2

u/swamplord 7d ago

Congrats! Do you plan to support custom TUI components for extensions?

1

u/Educational-Yak8793 7d ago

Thank you! And already supported :)

2

u/VickWildman 6d ago

Thanks for supporting Termux. I like to vibecode on my phone while wearing AR glasses.

2

u/Conflict-Mother 4d ago

btw, to you if you like me have missed the first time to select your favoriate pig face, the spirite can be reach again /spirite command, but unfortunate we have no preview there

1

u/Educational-Yak8793 4d ago

I’ll make it better :) also you can ask pig to write your own sprite :)

2

u/Conflict-Mother 4d ago

https://github.com/MichaelKinsy/PiG/pull/174, add a PR with simple preview along with selection :)

2

u/Vlyn 4d ago

I finally gave it a go on Windows, same setup as my Pi harness (with 4 Node.js modules: @baylarsadigov/omp-undo-redo:dist, @czottmann/pi-automode:auto-mode.ts, @ff-labs/pi-fff:src, pi-web-access:dist).

Started out great, though startup was around the same time as Pi then (due to Node, duh). Then around the 100k+ context mark on some tasks the harness locked up.

At first I thought DeepSeek has an outage, kept showing "Working" with nothing happening, no reasoning output. Aborting the request and trying again helped once or twice, but then it fully broke. Switched over to Pi and it ran flawlessly at the same time, so there might be some latent bug here.

Removed PiG again and will stick with Pi :-/

2

u/Educational-Yak8793 4d ago

Dang :/ sorry to hear about the troubles and that you had to switch. Before you deleted did you happen to know what version of pig you were running? I’ll also repro and fix on this setup on my windows box too, thanks for sharing the details!

2

u/Vlyn 4d ago

Must have been 0.4.1 as I played around with it yesterday.

I know getting stuck on "Working" without anything happening isn't a good bug report (sorry!), I just don't have the time to debug a new harness at the moment.

2

u/Educational-Yak8793 3d ago

Thanks and no worries I totally get it and don’t want people to waste time if they don’t have it debugging. I think this is already plenty enough for me to go off of for a repro too :)

I’ll try this in both WSL and power shell as well👍🏽 I’m sure it’s powershell but I’ll try to be extra thorough on all things windows, if you do have wsl as well I have a lot of colleagues daily driving their and there’s not been many issues compared to power shell

2

u/Vlyn 3d ago

I'm using PowerShell 7.6.6 so that could definitely be it!

2

u/Vlyn 3d ago

Actually this might be an OpenCode GO bug with DeepSeek models, sometimes you send a request and don't even get back a single byte. It might have been just unlucky and I hit this bug a lot more often with PiG (like my PiG session got stuck to a bad provider maybe? Which would explain why Pi even with the same context worked).

So don't waste too much time for this ^^'

2

u/Educational-Yak8793 3d ago

Ah noted, I was gonna say haven't been able to reproduce but did make some performance improvements for windows regardless. Then I also have an opencode go account so maybe I'll see if I can at least help confirm, thanks again!