Skip to content

Note open source

All posts
Oct 28, 202610 min readopen source · pharo · smalltalk · programming languages · live programming · virtual machineRead in:ENID

Pharo 14: The Open Source Smalltalk That Rebuilt Its Tools, Commands, and Virtual Machine

Pharo 14 rebuilds the Smalltalk live environment: new tools Mission Control and Pulse, a unified command system, and a VM with RISC-V JIT support. MIT-licensed, released October 26, 2026.

A monitor displaying lines of code, seen close up in a dark workspace.

Most programming environments keep a hard line between writing code and running it: you edit, compile, run, and only then see what happened. Pharo erases that line. It is a live environment. The program keeps running while you change it, inspect it, and fix it in place. The Pharo team released Pharo 14 on October 26, 2026. This release is mostly about the daily work inside that environment. It covers new tools, a rebuilt command system, and a modernized virtual machine. The full stack is released under the MIT License and is available on GitHub (pharo-project/pharo, retrieved 2026-10-28). Pharo 14 is also the first release under a new fall schedule, moving from the spring window of March to May to a September to November window.

Key Takeaways

  • Pharo 14 was released on October 26, 2026, as a pure object oriented Smalltalk language and live programming environment under the MIT License.

  • New and reworked tools headline the release: Mission Control, Pulse as the replacement for Spotter, a reworked Method Browser, and a rewritten Settings Browser now used by default.

  • Refactoring commands moved to a driver based architecture behind a unified command registry, and command line work expanded with testing, a debugger, and Sindarin scripting.

  • The virtual machine gained unified frames and stack management, RISC-V JIT support, direct old-space allocation, and garbage collection improvements.

  • The release reports 978 pull requests integrated in the Pharo repository and 616 issues closed since Pharo 13.

The timing matters because Pharo 14 is not a single feature launch. It is a consolidation release: the kind that makes an existing environment feel less patched together. The announcement groups the work into three areas, and each one targets a different layer of the developer experience. The tools are what you see. The command infrastructure is how actions are organized and reused. The virtual machine is what runs everything underneath.

What Is Pharo?

Pharo is a pure object oriented programming language and a powerful environment focused on simplicity and immediate feedback. That is how the project describes itself, and the description is literal: there are no constructors, no type declarations, no interfaces, and no primitive types. The full syntax fits on one postcard, in the project's own phrase, because in Pharo everything is objects and messages. You do not call a function on data from outside. You send a message to an object, and the object decides what to do.

Pharo is released under the MIT License. Our Understanding the MIT License guide explains that license in detail.

A live environment is a system where the program stays alive while you work on it. Pharo's announcement stresses immediate feedback at any moment of development. That includes testing and debugging. It also says that even in production you are never stuck in compiling and deploying steps again. In practice that means you can inspect a running object, change a method, and see the effect without restarting the program. The debugger is part of the same idea: it lets you step through code, restart the execution of methods, and create methods on the fly. If you come from a compile and run workflow, that is the single biggest adjustment, and also the main reason people stay with Smalltalk systems.

Pharo descends from Smalltalk, a language family that pioneered object oriented programming, graphical interfaces, and live development in the 1970s. That heritage explains both its strengths and its limits. The environment is unusually coherent because the language, the tools, and the runtime were designed together. The ecosystem is also far smaller than those of mainstream languages. A developer trying Pharo today is choosing depth of environment over breadth of libraries. Pharo 14 does not change that trade. It sharpens the environment side of it.

Aspect

Pharo 14

Released

October 26, 2026

License

MIT License, full stack

Language

Pure object oriented Smalltalk, no constructors or type declarations

Release schedule

First release under the new fall window, September to November

Pull requests integrated

978, in the Pharo repository alone

Issues closed since Pharo 13

616

GitHub, as reported in the announcement

1,494 stars and 432 forks

Get it

Pharo Launcher, or the zeroconf script from the download page

Read the effort numbers with care. The 978 pull requests count only the main Pharo repository. The announcement notes separate work in the projects bundled with each release. They include NewTools, Spec, Iceberg, Roassal, Microdown, and the virtual machine repository. Stars and forks are measures of attention, not quality, and they describe the project at announcement time.

The New Tools

The most visible changes are in the tools developers open every day. Mission Control is a new system monitoring utility, and Pulse is the replacement for Spotter, the long time launcher and search tool. The Method Browser has been reworked, and the Settings Browser has been rewritten and switched to the default configuration interface. Epicea, the version control integration, and ProfStef, the interactive tutorial system, have both been consolidated into NewTools. The announcement frames all of this as continuing the migration of the development tools to the Spec based tooling stack.

That consolidation matters more than any single renamed tool. In older Pharo versions, related tools could feel like separate islands, each with its own conventions. Moving Epicea and ProfStef into NewTools helps here. Rebuilding the browsers on a shared stack also helps. Together they make the environment feel like one system again. The announcement also lists smaller tooling work in the same release. It includes TestRunner integration and command line testing, Calypso fixes, work on window profiles, and improvements to the File Browser, Finder, and Transcript. It also lists code editor and code presenter work. Together they are the kind of polish that decides whether a developer enjoys opening the environment each morning.

Independent coverage agrees on where the emphasis lies. AlternativeTo's release coverage describes a comprehensive modernization of the tooling ecosystem. It names Mission Control, Pulse, the redesigned Method Browser, and the rewritten Settings Browser. It also notes the same strategic shift in release cadence. When a project's own announcement and an independent summary point at the same short list, that list is a safe guide to what actually changed.

Commands Rebuilt, From the Inside Out

The second workstream is less visible and arguably more important for long term maintenance. A refactoring command is an action that restructures code without changing what it does, such as renaming or extracting a method. In Pharo 14, refactoring commands were migrated to a driver based architecture behind a unified command registry. In plain terms, commands are now organized through one registry and driven through a common architecture, instead of each command carrying its own plumbing. That makes commands easier to reuse, test, and extend, and it gives tool builders a consistent way to add new actions.

The same release expands what you can do without opening the graphical environment at all. Command line capabilities now include command line testing through TestRunner integration, a command line debugger, and enhanced Sindarin script tooling. Sindarin is Pharo's scripting and debugging toolkit for working with running programs from scripts. For teams that run tests in continuous integration, command line testing and debugging close a gap. A purely graphical environment would otherwise leave that gap open. The same applies to teams that automate checks on a server. The announcement lists related system work alongside it. That work includes scoped extensions and selector semantics, clean blocks and debugger behavior, and ClassBuilder, trait, and superclass correctness. It also includes a compiler API split and package and baseline modularization.

If you use version control in Pharo, the Epicea migration matters here too. Epicea is the integration that tracks changes. Moving it into NewTools puts version control work in the same tooling family as the browsers and the rest of the daily workflow. Our Git explainer covers the underlying ideas, such as commits and history, that tools like Epicea and Iceberg build on. The concepts transfer even though Pharo's live image model gives version control a different shape from a file based project.

A Modernized Virtual Machine

A virtual machine (VM) is the runtime that executes a language's programs, sitting between the program and the operating system. Pharo's VM work in this release starts with frame unification and stack management improvements. The announcement describes them as substantial cleanups to the interpreter and execution engine. Cleaner interpreter internals make the runtime easier to maintain, which is what a long lived project needs before adding new platforms.

The headline platform change is RISC-V JIT support. A just-in-time compiler (JIT) is a compiler that turns program code into native machine code while the program runs, instead of ahead of time. Adding RISC-V JIT support expands the hardware Pharo's VM can target with compiled performance, and the announcement presents it as future proofing VM development. Memory management gets direct old-space allocation plus garbage collection and allocation improvements. Garbage collection is the runtime's automatic reclaiming of memory that a program no longer uses. Better allocation and collection behavior matters most in long running live images, where objects are created, inspected, and discarded all day.

The rest of the VM work is the unglamorous kind that keeps a runtime healthy. It includes extensive Slang and C translation work, with correctness fixes, new tests, and improved inspection tools. It also includes SDL updates, improved continuous integration, cross-build support, and refreshed third party dependencies. Slang is the subset of Smalltalk used to write parts of the Pharo VM itself, which are then translated to C. Work at that layer is invisible to most users, but it is where performance bugs and platform bugs live. AlternativeTo's coverage makes the same point in plainer language. It calls the VM changes substantial performance and architectural improvements. Those changes clean up the interpreter and open the door to new hardware.

Who Should Try Pharo 14, and Who Should Wait

Pharo 14 is easiest to recommend to a specific kind of developer. Think of someone curious about live programming, language design, or debugging as a craft. If you have ever wished you could inspect a running program, change it, and continue without restarting, Pharo is worth a look. It is one of the few environments built entirely around that wish. Educators teaching object oriented ideas may also find the postcard sized syntax an advantage.

Wait if your deciding factor is the size of the hiring pool. The same applies if it is the library ecosystem for a mainstream stack. In that case, treat Pharo as a second environment. Pharo's community is active, as the 978 pull requests show. But it is small compared with Python, JavaScript, or Java. Most job descriptions will not ask for it. That is not a flaw in the release. It is the honest shape of a niche language that optimizes for a different experience. The right test is a weekend project, not a migration plan. Build something small. Live inside the image for a few hours. Judge the debugger and the browsers by use, not by reputation.

How to Get Started

The fastest route, according to the download page, is Pharo Launcher. It downloads a Pharo image and automatically gets the matching virtual machine. An image is a snapshot of a live object space, including the Pharo core libraries, that the VM runs. For automated setups, the download page also offers a zeroconf script that detects your platform and fetches what you need. Start with the stable image and the interactive tutorials that ProfStef provides. The features page is a useful second stop for what the environment promises beyond this release.

Frequently Asked Questions

Is Pharo 14 free? Yes. The Pharo full stack is released under the MIT License, and the announcement says it is available on GitHub. You pay nothing for the language, the environment, or the virtual machine itself, although you still need your own computer and time to learn it.

Is Pharo a new programming language? No. Pharo is a modern Smalltalk, a language family that dates to the 1970s, and Pharo 14 is its latest major release. What is new in this version is the tooling, the command infrastructure, and the virtual machine, not the idea of the language.

What does a live environment actually mean? It means the program keeps running while you develop. You can inspect live objects, change methods, and debug in place without a separate compile and run cycle. Pharo's debugger lets you step through code and restart methods. It also lets you create methods on the fly. That is the clearest example of the idea in daily use.

What changed most in Pharo 14? Three things. First, the tools: Mission Control, Pulse, a reworked Method Browser, and a rewritten Settings Browser. Second, the command system: refactoring commands on a driver based architecture and a unified registry. Third, the virtual machine: unified frames, RISC-V JIT support, and memory management improvements.

Does Pharo 14 run on RISC-V hardware? Pharo 14 adds RISC-V JIT support to the virtual machine, which expands platform coverage toward RISC-V hardware. That is a VM capability. It is not a promise that every Pharo image or library is already tuned for a specific RISC-V board. Check the platform notes for your hardware before planning a deployment.

The Bottom Line

Pharo 14 is a release about craft: better browsers, a cleaner command system, and a runtime prepared for new hardware. It will not make Smalltalk mainstream, and it does not try to. It makes the live environment that existing Pharo developers already value noticeably more coherent. It also gives curious developers a good entry point under a new fall schedule. If that idea appeals to you, start with the official announcement and the GitHub repository, grab a stable image from the download page, or read the Indonesian version of this article.

Tags: open source · pharo · smalltalk · programming languages · live programming · virtual machine

All posts