Welcome to Undo for Java!

Version:

10.1.0

Undo for Java brings time travel debugging to Java. Record your application’s execution, then go backwards and forwards through it to see exactly what happened: every line that ran and the values it produced, right up to the failure. Have an AI agent investigate the recording and find the root cause, or debug it yourself in IntelliJ IDEA. This documentation explains how to use it; Feature Overview gives a quick tour.

Undo for Java comprises:

  • the MCP server and agent skill that let an AI agent debug recordings;

  • the Undo for Java IntelliJ plugin;

  • the LiveRecorder for Java recording agent and live-record, which record a Java application;

  • the Undo for Java replay tool.

Version History

Release 10.1

  • The MCP server (lr4j_mcp_server) keeps several recordings loaded within the memory available, suspending idle replay engines and resuming them on demand. New options tune its memory use, and it writes a log file.

  • The agent skill covers recording with live-record, and can be used with any AI agent by pointing the agent’s instructions file at it.

  • live-record is now included in the distribution. It records a JVM without the recording agent, either from startup or by attaching to a JVM that is already running, so you can start and stop recording a running application knowing only its process ID. See Recording with live-record.

  • Recording no longer requires -XX:-Inline: breakpoints, stepping and variable inspection work in code that the JIT compiler has inlined. See JVM options.

  • Replay accepts recordings made without -XX:UseAVX=2 or -XX:UseSVE=0, such as those made with live-record. The recording agent still requires the option. See JVM options.

  • New Recording Properties action in the IntelliJ plugin, which shows a summary of the recording loaded in a replay session, or of a .undo file in the Project view without starting replay.

  • On Linux, the plugin selects the Undo (Live Debug) run configuration when it creates its default run configurations.

Release 10.0

  • Undo for Java AI: this release makes AI-assisted debugging a central part of Undo for Java. An AI agent replays a recording through Undo’s time travel debugging capabilities, so it sees not just the source code but the values the program produced, the paths it actually took, and the order in which things happened.

    • New multi-recording MCP server (lr4j_mcp_server): register it with your AI agent once, then open recordings during the conversation, including several at once.

    • New bundled agent skill teaching an AI agent the complete workflow: record, replay, and debug to a root cause without a human driving each step.

    • New MCP help tool providing task-specific guidance, and improved MCP tools: execution and navigation tools now return the session state in every response.

  • Recording no longer requires -XX:TieredStopAtLevel=1: the JIT compiler (C2) is now fully supported, which substantially improves the performance of recorded applications.

  • New lr4j_recording_info command to inspect a recording file, including which Java version it needs, without an engine or license key.

  • Recordings made with Undo’s live-record tool, without the recording agent, can now be replayed and debugged like agent recordings.

  • New record_on_startup agent option to record from startup and still stop and save on demand through a command channel.

  • Plugin improvements: setup is now offered via a notification instead of a startup dialog, and version mismatches between the plugin and the replay tools are reported more clearly.

Release 9.2

  • Plugin rebranded to Undo for Java with new run configurations: Undo Record, Undo Replay, and Undo Replay (Remote).

  • Default Undo run configurations are auto-created when opening a project.

  • Right-click .undo files to replay directly.

  • Set up remote host via SSH for remote replay from within IntelliJ.

  • Plugin validates that recordings were made with the required JVM flags.

  • Thread fuzzing now accepts human-readable mode names (e.g. starve, random, in-bb).

  • MCP server configuration documented for Claude Desktop, Claude Code, and Codex.

Release 9.1

  • AI-assisted debugging via MCP server: Use AI assistants such as Claude to automatically investigate recordings, diagnose root causes, and report findings.

  • Python API for scripting analysis against recordings.

  • Copy Object ID action in the IntelliJ debugger variables panel.

  • Step Across now supports Java RMI calls in addition to HTTP/REST and reactive clients.

  • Added support for Java 25.

  • Added support for Amazon Corretto 17 with Lilliput (compact object headers).

  • Added support for Amazon Linux 2 and Amazon Linux 2023.

  • JDK version no longer needs to match for replay: any supported JDK can replay recordings made with any other supported JDK.

Release 8.2

Release 8.1

  • Uses latest 8.1 version of the Undo Engine.

  • Added support for Java 21

  • Added support for ARM64

Release 7.2

Release 6.12

  • Revamped IntelliJ plugin.

  • Added support for IntelliJ IDEA 2023.1.

  • Support for other JVM languages such as Kotlin and Scala.

  • New Log Viewer window.

  • Improved Bookmarks support.

  • Ability to start/stop recording by sending a signal.

  • New method profiling command.

  • Step across (and new jump to span id) supports OpenTelemetry span ids.

  • New command to extract class files from a recording.

Release 6.11

  • Improved performance.

Release 6.10

  • Added support for stepping backwards and forwards between the component services in an application architected as a set of Microservices.

Release 6.9

  • Added support for IntelliJ IDEA 2022.2.

  • Added support for Java 18.

Release 6.8

  • Added support for recording and replaying applications under WSL2 on Windows.

  • Added support for IntelliJ IDEA 2022.1. Dropped support for IntelliJ IDEA 2020 and earlier.

Release 6.7

  • >20% faster than 6.6 on typical Spring Boot applications.

  • Added support for Java 17.

Release 6.6

  • Adds “Log Jump” - jump from a log line of interest to the exact point in time in your application’s execution where it was emitted.

  • Added support for IntelliJ IDEA 2021.3. Dropped support for IntelliJ IDEA 2019 and earlier.

Release 6.5

Release 6.4

  • Faster interactive performance in IntelliJ when replaying recordings.

  • Added support for Java 16.

Release 6.3

  • Improved variable display when replaying JIT-optimzed code.

  • Faster interaction in IntelliJ when stepping through recordings with a deep call stack.

  • Added support for IntelliJ IDEA 2021.1.

Release 6.2

  • Added support for time travel debugging of “live” applications, in addition to time travel debugging of recorded applications.

  • Added support for Java 15.

Release 6.1

  • Added support for IntelliJ IDEA 2020.2. Dropped support for IntelliJ IDEA 19.1 and earlier.

Release 6.0

  • First Undo release with support for the Java language.