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:NAMEsaves 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-forlimits a recording to a wall-clock duration, so thatlive-record --try-for 10sstops 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.mdfor changes to LiveRecorderkeyserver/CHANGELOG.mdfor changes to the Undo Keyserver
Removals¶
Release 10.1 removes some legacy product features as described below.
The deprecated
success,failureandsignalaliases for the live-record--save-onoption have been removed. Useexit-zero,exit-non-zeroandexit-signalinstead.The
undodb_load_get_timesfunction, deprecated in version 6.3, has been removed from the Engine API. Useundodb_get_log_extentinstead.
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.