Skip to content

Apache RocketMQ Studio 3.0.0

Latest

Choose a tag to compare

@lizhimins lizhimins released this 29 Oct 08:57
· 1 commit to master since this release
v3.0.0
7abf8ad

Apache RocketMQ Studio 3.0.0 is the first stable release of the 3.x line and the successor to
RocketMQ Dashboard 2.x — a rebranded, AI-native management console for Apache RocketMQ.

About the names. The Git repository remains apache/rocketmq-dashboard, the product is
RocketMQ Studio, and the Maven artifact is org.apache.rocketmq:rocketmq-studio. If you are on
Dashboard 2.x, this is the 3.x upgrade of the same codebase.

Highlights

AI-native operations console

  • Built-in AI conversation platform with streaming responses, tool calling, and multi-turn context
  • Agent integration over MCP (Model Context Protocol) — Claude Code and Qoder CLI work as backend agents
  • Natural-language cluster diagnostics across topics, consumer groups, messages, and broker health
  • Tool playground for interactive MCP tool exploration, plus LiteTopic list/session/quota read tools
    and the rmq.litetopic.extend_ttl mutation tool
  • Bounded prose history in HTTP conversations, and bounded DLQ resend failure details so tool output
    stays readable instead of truncating arbitrarily

Multi-cloud instance management

  • One console for self-hosted Apache RocketMQ, Alibaba Cloud RocketMQ 5.x, and Tencent Cloud Trocket
  • Provider abstraction with instance-scoped API isolation per cloud vendor
  • Instance region filter, and Lite-topic (LMQ) management with explicit TTL and subscription cleanup
  • Direct message consumption against cloud instances

Resource ownership isolation

  • Global topic / consumer-group ownership guard prevents cross-instance write conflicts on shared
    open-source clusters
  • Uniqueness is scoped to the nameserver domain, so two clusters behind different nameservers may
    reuse a name while one nameserver domain stays globally unique
  • Deterministic write-target resolution replaces the previous "first cluster wins" fallback
  • Idempotent schema migration validates existing names at startup, and the naming rule is surfaced
    directly on the create forms

Authentication, session and ACL lifecycle

  • Complete account lifecycle: role change, deletion, lockout visibility, forced password rotation
  • Complete session lifecycle: idle timeout, revocation controls, client attribution, expiry redirect
  • Stored ACL accounts and policies can be pushed to Apache brokers; the ACL page is restructured
    around that flow
  • HttpOnly session cookies for browsers, explicit bearer tokens for API clients

Alerting, audit and metrics

  • Native alerting with rule evaluation fencing, so stale evaluations cannot overwrite fresh state
  • Cluster-alerts hub, operator filter on the audit feed, and readable audit operation names
  • Notification delivery filtering by time and text
  • Metrics jobs stop at checkpoints instead of running on after cancellation

rmqctl CLI and MCP server

  • rmqctl ships as a Go CLI with a generated tool catalog that CI verifies against the server-side
    definition, cross-platform builds, and shell completions

Since the 3.0.0 preview

415 commits from 34 contributors landed between v3.0.0-preview (2026-09-23) and this release —
18 features and 369 fixes, concentrated in the web console, AI conversations, alerting, rmqctl,
and metrics.

Release hardening in the same window:

  • Apache RAT license-header gate over the whole repository (not just Java), with its own CI job
  • A per-artifact license determination gate on the distributed fat JAR: every embedded dependency
    carries either its own license text or an explicit recorded determination, and an unrecorded
    dependency fails the build
  • groupId corrected to org.apache.rocketmq
  • fastjson 1.x excluded from the dependency tree (only fastjson2 remains)
  • The bundled demo RocketMQ cluster is pinned to the released rocketmq-all-5.5.0 tag instead of
    tracking develop, matching the rocketmq.version baseline

The trunk commit this release is cut from (3a443e9a1) is green across all six CI jobs: backend
build and tests against a real MySQL, frontend lint / test / license-test / build / Docker build,
rmqctl fmt / catalog-verify / race / vet / build-all, and the RAT license-header gate. The one
commit on top of it (#7368) touches only
deploy/rocketmq/ and the .claude/ tooling — no Java, TypeScript or Go source — and was verified
locally with a passing apache-rat:check and a real deploy/rocketmq/build.sh image build.

Release artifacts

This release is published as a signed Git tag; the tag is the source of truth.

  • Tag: v3.0.0, GPG-signed with key
    09D58134D2DA90B296ABCB77D5C871BAC9D394D2 (lizhimin <lizhimin@apache.org>), recorded in
    KEYS
  • The Source code archives attached below are generated by GitHub from that tag
  • No binary distribution and no pre-built Docker images are published. Build from source as
    described in the README; server/Dockerfile and web/Dockerfile produce the runtime images locally
  • This release was not distributed through dist.apache.org and did not go through a PMC vote, so
    treat the tag — not a downloaded archive — as the release

Deployment

# 1. Create the shared Docker network (the compose files attach to it as external)
docker network inspect rocketmq_net >/dev/null 2>&1 || docker network create rocketmq_net

# 2. Build and start RocketMQ Studio (mysql + rocketmq-server + rocketmq-web)
docker compose -f deploy/docker-compose.yml up -d --build

Then visit http://127.0.0.1:6789. This starts Studio and its own MySQL database only — register an
instance pointing at your own RocketMQ to manage real resources, or start the optional bundled demo
cluster (nameserver, two brokers, proxy, a 1 TPS load generator, Prometheus) with
docker compose -f deploy/rocketmq/docker-compose.yml up -d.

To build the backend jar directly:

cd server && mvn package -DskipTests
java -jar target/rocketmq-studio-3.0.0.jar    # H2 only — see Upgrade notes for MySQL

See the README
for full setup instructions, including AI agent configuration and login protection
(STUDIO_AUTH_LOGIN_REQUIRED).

Upgrade notes

  • Database schema migrates automatically on first startup (H2 or MySQL)
  • deploy/mysql/upgrade-*.sql are sample-data loaders, not upgrade migrations — never import
    them into a production database
  • Topic and group uniqueness is now scoped to the nameserver domain. Existing names are validated at
    startup; if a conflict is detected inside one domain, startup fails with a clear error — resolve it
    before upgrading
  • The bundled demo cluster now builds from rocketmq-all-5.5.0. If you previously built
    apache-rocketmq:develop, rebuild (deploy/rocketmq/build.sh) so the compose image tag resolves
  • mysql-connector-j is GPL and is deliberately excluded from the fat jar (provided scope). The
    Dockerfile downloads it into /app/lib and starts the app with
    -Dloader.path=/app/lib org.springframework.boot.loader.launch.PropertiesLauncher, because
    java -jar runs JarLauncher, which ignores loader.path. Running the jar outside Docker against
    MySQL needs the same launcher — a plain java -jar has no MySQL driver and fails with
    Cannot load driver class: com.mysql.cj.jdbc.Driver

What's Changed

3.0.0 is 1155 commits from 53 contributors since Dashboard 2.1.0 (2025-08-01): 1902 files changed,
329644 insertions and 46987 deletions.