What’s new in Undo 10.1 for C, C++, Go and Rust

See the sections below for the headline product improvements in Undo 10.1.

Improvements in Undo AI

Undo AI gives your AI agent the runtime context it needs to investigate complex problems and answer questions about what your program actually did. Release 10.1 makes it quicker to start an investigation, frees up licenses that are not being used, and gives the ai command in UDB a second agent to choose from.

Faster start to an investigation

Before Undo AI can answer anything, it gathers data about the recorded program. That phase is considerably faster in 10.1 and uses less memory: for programs with a lot of debug information it can be up to ten times faster. This is on top of the improvements made in 10.0.1, so the wait at the start of an investigation is much shorter than it was in the first Undo AI release.

Floating licenses are released while Undo AI is idle

The undo mcp MCP server now releases its floating license after a period of inactivity, so that another user can take it. The timeout is configured in your license and is the same one that applies when UDB quits after inactivity.

The server itself keeps running, as an AI agent would otherwise consider it broken, and takes a license again when the agent next uses Undo AI. The ai command in UDB is unaffected, as UDB manages the license itself and already quits after long periods of inactivity.

Support for OpenAI’s Codex

The ai command in UDB is no longer limited to Claude Code: Codex is now supported as well. Where more than one agent is available, you choose which one to use the first time you run ai, and can change your choice later with the config ai agent command.

This applies to the ai command, which drives an agent itself and so needs specific integration with each one. The undo mcp MCP server is not restricted in this way: it works with any agent that supports the Model Context Protocol.

Teaching your AI agent about your system

Undo teaches your AI agent how to debug, but it knows nothing about your system. The new Teaching your AI agent about your system page describes how to teach an agent about your build, your test environment and your codebase, and suggests prompts you can give an agent so that it writes that guidance for itself.

Improvements in UDB

All Undo users are licensed to use UDB, Undo’s interactive time travel debugger. Release 10.1 benefits from the improvements listed below.

Faster recording and replay

The code that the Undo Engine generates on x86-64 has been improved and uses less memory. Programs with a large amount of code benefit most, and can be recorded and replayed up to 60% faster. Code generation and memory usage on ARM64 have been improved in the same way.

Programs that modify their own code, such as those running on a Java virtual machine, are faster to record and replay as well, and a number of individual system calls are cheaper to record than they were in 10.0.

Updated Python interpreter

The Python interpreter shipped with UDB has been updated from Python 3.10 to Python 3.14. Every piece of Python that UDB runs now uses the newer interpreter: scripts written against the Automation API, and scripts loaded with the source command or with the udb --command and udb --init-command options.

Watchpoints of unlimited size

Restarting UDB with UNDO_unlimited_watchpoints set to true makes the Undo Engine support up to 32 watchpoints, each one of unlimited size. These are slower than hardware watchpoints, but much faster than software watchpoints, so they are worth trying when a watchpoint is too large for the hardware to cover. The feature is experimental, and may cause the Undo Engine to crash, hang or fail to hit a watchpoint.

Driving UDB directly from Visual Studio Code

Version 3.0 of Undo’s Time Travel Debug for C/C++ extension adds an undo debug type that talks to UDB over the Debug Adapter Protocol, rather than going through the Microsoft C/C++ extension. Every command can be interrupted with the Pause button, breakpoints set at the UDB command line appear in the VS Code breakpoints pane, and startup errors are reported more clearly. The undo debug type is experimental and is not yet the default; see Migrating to the undo debug type for how to migrate to it.

More…

Further product changes relating to UDB are described in the CHANGELOG-udb.md file included in your Undo release archive.

Improvements in Undo Team & OEM Editions

Undo Team & OEM Editions v10.1 benefit from the faster recording and replay described above, in addition to the following improvements.

Annotations

Annotations let a program add extra information to its own execution history while it is recorded, so that the history is easier to navigate later. A unit test program might annotate the start of each test case with its name, and a server might annotate the start of each request. Annotations are added by the functions in the libundoex library, and queried in UDB with the info annotations and ugo annotation commands. The info annotation command prints the full contents of a single annotation.

New live-record options

live-record has two new ways to control when and for how long it records:

  • --save-on signal:NAME saves a recording when the program receives the named signal, for example --save-on signal:SEGV, even if the program installs a handler for that signal. The recording is saved at the point the signal is delivered, so the signal handler does not appear in it.

  • live-record --try-for limits a recording to a wall-clock duration, so that live-record --try-for 10s stops recording after ten seconds.

More…

Further product changes relating to Undo Team & OEM Editions are described in the following changelog files included in your Undo release archive:

  • undolr/CHANGELOG.md for changes to LiveRecorder

  • keyserver/CHANGELOG.md for changes to the Undo Keyserver

Removals

Release 10.1 removes some legacy product features as described below.

  • The deprecated success, failure and signal aliases for the live-record --save-on option have been removed. Use exit-zero, exit-non-zero and exit-signal instead.

  • The undodb_load_get_times function, deprecated in version 6.3, has been removed from the Engine API. Use undodb_get_log_extent instead.

System requirements

Ubuntu 26.04 LTS and Red Hat Enterprise Linux / Rocky Linux 9.8 and 10.2 are now supported. Ubuntu 25.10 and Red Hat Enterprise Linux / Rocky Linux 9.4 and 9.5 are no longer supported, and Amazon Linux 2 has moved to extended support.

For a list of the system requirements for a given release, see the documentation at docs/userguide/html/SystemRequirements.html in the release directory. The system requirements for the latest Undo release are always provided in full at System requirements.