Skip to content

v26.1-Alpha.5 — Live instrumentation scope

Pre-release
Pre-release

Choose a tag to compare

@StarsailsClover StarsailsClover released this 05 Sep 07:38
· 6 commits to v26.1 since this release
v26.1-Alpha.5
8311a47

BCDebugJavaAgent v26.1-Alpha.5

Pre-Release — Alpha builds are functional but unstable. Do not run in production environments.

Highlights

Live instrumentation scope — recording extends without a restart:

POST /filters?add=aqu,dcd&remove=oldprefix
-> {"added":1,"removed":0,"activeFilters":3,"retransformed":1,"failed":0}
  • InstrumentationTracker claims per-class instrumentation exactly once
    across load and retransform passes: classes OUT of scope at load time get
    instrumented on a retransform pass (their bytes are clean), while
    already-instrumented classes are left untouched — no double counting.
    Failed transforms release claims for retry.
  • POST /filters?add=&remove= (both frontends) mutates the recorder
    prefixes and retransform-classes every loaded class matching an ADDED
    prefix. AgentBootstrap retains its BCTransformer reference for the op.

Validation

Live on MC 1.21.1 dedicated server, default filters (no dcd):

POST /filters?add=dcd -> {"added":1,"retransformed":1,"failed":0}
export: "className": "net/minecraft/server/level/ServerLevel",
        "methodName": "a",
        "descriptor": "(Lnet/minecraft/world/level/ChunkPos;)Z",
        "entryCount": 34325

One record demonstrates BOTH features: hot scope extension (34325 entries
for a previously unrecorded class) and cross-class descriptor reverse
translation (dcd → ChunkPos inside the descriptor).

51 unit tests green.

Build Information

Item Value
Artifact bcdebug-javaagent-v26.1-Alpha.5.jar (bytecode 52 — JDK 8+)
Commit 8311a47 (SSH-signed, Verified)
Tag v26.1-Alpha.5 (SSH-signed, Verified)

安装说明(中文)

  1. 下载 bcdebug-javaagent-v26.1-Alpha.5.jar。
  2. 运行中扩展录制范围:POST /filters?add=<混淆前缀> —— 立即生效,无需重启。
  3. Alpha 版本不稳定,请勿用于生产环境。

MIT License — Copyright (c) 2026 BlockConnect