Skip to content

drm‐cli v1.2.0

Levin Alexey edited this page Apr 25, 2026 · 3 revisions

Home

DRM-CLI Release Notes — Version 1.2.0

Release Date: April 2026
Previous Version: 1.1.0
Version: 1.2.0


Overview

DRM-CLI 1.2.0 introduces an AI integration layer that enables natural language control of DRM operations through Claude. This release also ships drm-cli as an npm package on npmjs.com, making installation a single command. All existing v1.1.0 deployment capabilities are fully preserved.


🤖 New Features — AI Layer

MCP Server

drm-cli now ships an MCP (Model Context Protocol) server that exposes 8 DRM tools directly to Claude Code.
The server is auto-discovered via .mcp.json — no manual configuration needed.

npm run mcp                    # start MCP server
DRM_SECRET=mykey npm run mcp  # with encryption key

Tools available via MCP:

Tool Description
drm_status Show installation info and DB counts
drm_list_releases List all releases with last deployment status
drm_list_connections List all connections
drm_dryrun Generate scripts without executing
drm_deploy Generate and execute deployment scripts
drm_align Align target DBs to release state
drm_install Install DRM to a new path
drm_crypto_encrypt Encrypt a string with the DRM encryption key

AI Agent

A natural language interface that translates plain English instructions into DRM operations.
Requires ANTHROPIC_API_KEY.

ANTHROPIC_API_KEY=sk-ant-... node ai/agent/agent.js "list all releases"
ANTHROPIC_API_KEY=sk-ant-... DRM_SECRET=mykey node ai/agent/agent.js "deploy release 11 to dev"
npm run agent -- "run dryrun for connection dev release 11"
  • Model: claude-sonnet-4-6
  • Always runs drm_dryrun before drm_deploy (unless explicitly skipped)
  • Max 10 agentic turns with guard against infinite loops

Claude Code Skills

Four slash commands available inside any Claude Code session in this repository:

Skill Usage What it does
/drm-status /drm-status Installation health + last 5 deployments
/drm-release /drm-release [id] List all releases or inspect one in detail
/drm-plan /drm-plan <conn> <rel> Dryrun + structured deployment plan
/drm-deploy /drm-deploy <conn> <rel> Guided flow: dryrun → confirm → deploy

📦 npm Package

drm-cli is now published on npmjs.com.

npm install -g @d-band-drm/drm-cli
drm-cli install -f /path/to/install -d sqlite -p mykey
drm-cli deploy -c dev -r 11 --dryrun

See Install drm-cli for full setup guide.


🔧 Improvements

  • WSL2 compatibility — hostname and username resolution now falls back to environment variables (USER, HOSTNAME) throughout the logger and installer modules, fixing failures on WSL2 where getpass.getuser() and socket.gethostname() can fail.

🔄 Upgrade from 1.1.0

No database schema changes in this release. The upgrade config upgrade/1.2.0.config applies no bin or DB migrations.

drm-cli install -f /path/to/existing/drm
# or
python3 install.py -f /path/to/existing/drm

🖥️ System Requirements

Core Requirements

  • Python >= 3.10
  • Windows, Linux, or macOS

AI Features (new in v1.2)

  • Node.js >= 16
  • ANTHROPIC_API_KEY (for AI agent only)

✅ Verification Checklist

After upgrading to 1.2.0, verify:

  • Existing deployments work as before (drm-cli deploy -c <conn> -r <id> --dryrun)
  • MCP server starts: echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | node ai/mcp/mcp-server.js
  • AI agent responds: ANTHROPIC_API_KEY=... node ai/agent/agent.js "list all releases"
  • /drm-status skill works in Claude Code

Version Timeline

Version Status Key Additions
1.2.0 Current AI layer (MCP, agent, skills), npm package, WSL2 fixes
1.1.0 Archived PostgreSQL, Oracle, Liquibase, Flyway
1.0.x Archived SQL Server, basic deployment, encryption

Home

Clone this wiki locally