Script
Here is today's Pi Project Update for Wednesday October 28th. Pi has added a more informative extension-update experience. Extension authors can now declare a changelog path in their package manifest, while packages without that field can fall back to a standard CHANGELOG.md file. After an extension update, Pi records the installed version and, on the next interactive launch, displays the entries users missed under an Extension Updates section. First-time installs remain quiet, and a collapse setting can reduce updates to one line per package. It gives extension users a clearer answer to the question: what actually changed after an update? [1]
A major internal refactor also modernizes Pi’s model catalog. Rather than deriving every model from one generator, the project now defines providers individually, applies shared rules for major model families including Claude, GPT, DeepSeek, Kimi, and Google, and reads models.dev through its version-two API. Command-line behavior stays the same, but the new structure should make it easier to maintain providers and respond to rapidly changing model inventories.
Pi is also reducing unnecessary prompt churn and token overhead. When an extension re-submits the same active tools in a different order, Pi now preserves the existing order instead of generating a needless system-prompt update. That avoids cache misses on providers that cannot apply mid-conversation system messages. Separately, Code Mode now summarizes union-shaped tool outputs by their fields rather than embedding massive rendered TypeScript types. One reported tool had been adding roughly 8,000 characters to every request; complex multiline types now point users to a dedicated description command instead.
Finally, several quality-of-life fixes target terminal use and resilience. Fullscreen mode moves the model-scope notice into Pi’s header so it does not remain in shell scrollback after exit. Starting Pi from a deleted directory now produces a clear instruction to change to an existing directory instead of an uncaught Node error. The Markdown renderer also correctly ends bare links at Chinese punctuation.
The theme today is efficient clarity: better update communication, a more maintainable provider foundation, and fewer hidden costs or confusing artifacts in everyday sessions. Thank you for listening to Pi Project Update from The Daily FM. See you tomorrow!
- earendil-works/pi: development activity
...arks the current version as seen. The first time an extension is seen, its version is recorded without showing a changelog, same as Pi's own on a fresh install. `collapseChangelog` condenses this to one line per package. Any update that bumps the extension's version shows this on the next launch, e.g.: ```bash pi update --extensions pi update --all pi update <extension-source> pi update --extension <extension-source> pi update --self --extensions pi update pi --extensions pi update self --extensions ``` <img width="798" height="626" alt="Screenshot 2026-08-28 at 16 34 15" src="https://github.com/user-attachments/assets/c882f01c-94b9-4857-b9b7-243d88c0d437" /> Files: packages/coding-agent/CHANGELOG.md (+1/-0), packages/coding-agent/docs/packages.md (+20/-0), packages/coding-agent/docs/settings.md (+1/-1), packages/coding-agent/schemas/settings.schema.json (+9/...