Releases: oisee/vibing-steampunk
v2.12.3 - 404 Detection + Auto-Reconnect
Bug Fixes
Class Include Filename Parsing (v2.12.2)
- Fixed parsing of
.clas.testclasses.abapand other class includes - Parent class name now correctly extracted from filename, not content
404 Detection in DeployFromFile
- Only HTTP 404 treated as "object doesn't exist"
- Session timeouts no longer trigger false "parent class does not exist" errors
New Features
Auto-Reconnect on Session Timeout
Transport layer automatically handles SAP session expiration:
- Detects
ICMENOSESSIONand "Session Timed Out" errors - Refreshes session and retries request transparently
- No more manual reconnection needed for long operations
New Helper Functions
IsNotFoundError(err)- check for 404 errorsIsSessionExpiredError(err)- check for session timeout
Full Changelog
v2.12.2 - Class Includes Fix
Bug Fix
Class Include Filename Parsing
Fixed a bug where ImportFromFile would incorrectly parse the object name for class include files.
Before (broken):
zcl_foo.clas.testclasses.abap→ would parseLTCL_XXXfrom local test class in content- Result: "parent class LTCL_XXX does not exist"
After (fixed):
zcl_foo.clas.testclasses.abap→ correctly extractsZCL_FOOfrom filename- Result: test classes imported into the correct parent class
Affected File Types
.clas.testclasses.abap(CCAU include).clas.locals_def.abap(CCDEF include).clas.locals_imp.abap(CCIMP include).clas.macros.abap(CCMAC include)
New Unit Tests
Added 5 new tests for class include filename parsing.
Full Changelog
v2.12.1 - CreatePackage in Focused Mode
What's New
CreatePackage Tool Now in Focused Mode
- 42 tools now available in focused mode (was 41)
- Create local packages (
$-prefixed) directly from AI assistant - Optional parent package support for organized structure
Usage
CreatePackage:
name: "$ZLOCAL_TEST" # must start with $
description: "My package"
parent: "$TMP" # optional
Full Changelog
v2.12.0 - abapGit-Compatible Format & Batch Operations
New Features
Class Includes Support (abapGit-Compatible)
- Import/export
.clas.testclasses.abap,.clas.locals_def.abap,.clas.locals_imp.abap,.clas.macros.abap - Auto-detect include type from file extension
ExportToFilenow supportsincludeparameter for selective export
DSL Batch Import/Export
dsl.Import(client).FromDirectory("./src/").ToPackage("$PKG").Execute(ctx)dsl.Export(client).Classes("ZCL_*").ToDirectory("./backup/").Execute(ctx)- Priority ordering:
DDLSFirst(),RAPOrder(),CustomOrder(map[string]int{...}) FromFilesOrdered()for explicit import sequence
Pipeline Builder
DeployPipeline: import → activate → testRAPPipeline: import → activate → publish → verify (full RAP deployment)ExportPipeline: search → export- New pipeline actions: Import, Export, Publish, Query, Create, WriteSource
File Extension Mapping
| Extension | SAP Include |
|---|---|
.clas.abap |
Main class |
.clas.testclasses.abap |
Test classes (CCAU) |
.clas.locals_def.abap |
Local definitions (CCDEF) |
.clas.locals_imp.abap |
Local implementations (CCIMP) |
.clas.macros.abap |
Macros (CCMAC) |
Usage Examples
// Deploy from git repository
dsl.Import(client).
FromDirectory("./src/").
ToPackage("$ZRAY").
RAPOrder().
Execute(ctx)
// Export class with all includes
dsl.Export(client).
Classes("ZCL_TRAVEL").
ToDirectory("./backup/").
Execute(ctx)
// Full RAP deployment pipeline
dsl.RAPPipeline(client, "./src/", "$ZRAY", "ZTRAVEL_SB")Full Changelog: v2.11.0...v2.12.0
v2.11.0: Transport Management & Safety Controls
What's New
Transport Management (5 New Tools)
- ListTransports - List transport requests for a user
- GetTransport - Get detailed transport information with objects & tasks
- CreateTransport - Create new transport request (expert mode)
- ReleaseTransport - Release transport (expert mode, irreversible)
- DeleteTransport - Delete modifiable transport (expert mode)
Safety Controls for Transports
- Default disabled - Transports require
--enable-transportsorSAP_ENABLE_TRANSPORTS=true - Read-only mode -
--transport-read-onlyblocks write operations - Whitelist -
--allowed-transports "A4HK*,DEV*"restricts to specific patterns - Tool group -
--disabled-groups Cdisables all transport tools
Documentation
- Report 020: Transport Management Implementation Plan
- Report 021: Comprehensive Project Status (68 tools, 28k LOC)
- Report 022: Future Vision - AI-Native ABAP Development
- Report 023: VSP for ABAP Developers & DevOps article
Project Status
| Metric | Value |
|---|---|
| Total Tools | 68 (41 focused, 68 expert) |
| Lines of Code | ~28,000 |
| Unit Tests | 155+ passing |
| Platforms | 9 |
| Reports | 51 |
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x64 | vsp-linux-amd64 |
| Linux | ARM64 | vsp-linux-arm64 |
| Linux | x86 | vsp-linux-386 |
| Linux | ARM | vsp-linux-arm |
| macOS | Intel | vsp-darwin-amd64 |
| macOS | Apple Silicon | vsp-darwin-arm64 |
| Windows | x64 | vsp-windows-amd64.exe |
| Windows | ARM64 | vsp-windows-arm64.exe |
| Windows | x86 | vsp-windows-386.exe |
Quick Start
# Download (Linux x64)
curl -LO https://github.com/oisee/vibing-steampunk/releases/download/v2.11.0/vsp-linux-amd64
chmod +x vsp-linux-amd64
# Configure
export SAP_URL="https://your-sap:44300"
export SAP_USER="your_user"
export SAP_PASSWORD="your_password"
export SAP_CLIENT="100"
# Run with transports enabled
./vsp-linux-amd64 --enable-transportsFull Changelog
v2.10.1: UI5 Write Ops Disabled (ADT Filestore Read-Only)
🔧 Patch Release
Disabled UI5 write operations - the ADT filestore API is read-only (returns 405 on POST/PUT/DELETE).
Kept (3 read-only ADT tools)
UI5ListApps- List UI5/Fiori BSP applications ✅UI5GetApp- Get UI5 app details ✅UI5GetFileContent- Read file content ✅
Disabled (need custom plugin via /UI5/CL_REPOSITORY_LOAD)
UI5UploadFile- PUT not supportedUI5DeleteFile- DELETE not supportedUI5CreateApp- POST returns 405UI5DeleteApp- DELETE not supported
📊 Stats
- Total Tools: 76 (49 focused, 76 expert)
- Change: -4 tools from v2.10.0
Future: Implement UI5 write ops via self-deployable custom ABAP plugin.
v2.10.0: UI5/BSP Management, AMDP Debugger & Tool Groups
🎉 New Features
UI5/BSP Management (7 tools)
UI5ListApps- List UI5/Fiori BSP applicationsUI5GetApp- Get UI5 app details and file structureUI5GetFileContent- Read file content from UI5 appUI5UploadFile- Upload file to UI5 appUI5DeleteFile- Delete file from UI5 appUI5CreateApp- Create new UI5 app (⚠️ 405 - filestore API read-only)UI5DeleteApp- Delete UI5 app
AMDP/HANA Debugger (5 tools)
AMDPDebuggerStart- Start AMDP debug sessionAMDPDebuggerResume- Resume/wait for AMDP events (long-poll)AMDPDebuggerStop- Stop AMDP debug sessionAMDPDebuggerStep- Step through SQLScript codeAMDPGetVariables- Get variable values during debugging
Tool Group Disablement
New --disabled-groups flag / SAP_DISABLED_GROUPS env var:
| Code | Group | Tools Disabled |
|---|---|---|
5 or U |
UI5/BSP | 7 tools |
T |
Tests | RunUnitTests, RunATCCheck |
H |
HANA | 5 AMDP debugger tools |
D |
Debug | 9 ABAP debugger tools |
# Disable UI5 and HANA tools
./vsp --disabled-groups "5H" ...
# Via environment variable
SAP_DISABLED_GROUPS="TH" ./vsp ...📊 Stats
- Total Tools: 80 (53 focused, 80 expert)
- New Files:
pkg/adt/ui5.go,pkg/adt/amdp_debugger.go - Lines Added: 1,320+
📦 Downloads
Pre-built binaries for all platforms below.
v2.9.0: Full Interactive Debugging
🎉 Full Interactive Debugging!
This release confirms that the complete ABAP debugging workflow is now operational via vsp MCP tools!
What's New
- Fix:
DebuggerListenAccept header corrected (application/vnd.sap.as+xml) - Verified: Complete debugging workflow against real SAP system
- Discovery:
stepOver(F6) keeps debug sessions alive interactively - Docs: Comprehensive session timeout analysis report
Debugging Workflow
SetExternalBreakpoint → DebuggerListen → DebuggerAttach
→ DebuggerGetStack → DebuggerStep(stepOver) → repeat
Key Finding
| Step Type | Eclipse | Behavior |
|---|---|---|
stepInto |
F5 | Enter methods, keep control |
stepOver |
F6 | Execute line, keep control |
stepReturn |
F7 | Return from method, keep control |
stepContinue |
F8 | Run to next breakpoint or end |
Session stays alive as long as you keep stepping!
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x64 | vsp-linux-amd64 |
| Linux | ARM64 | vsp-linux-arm64 |
| Linux | ARM | vsp-linux-arm |
| Linux | x86 | vsp-linux-386 |
| macOS | x64 | vsp-darwin-amd64 |
| macOS | Apple Silicon | vsp-darwin-arm64 |
| Windows | x64 | vsp-windows-amd64.exe |
| Windows | ARM64 | vsp-windows-arm64.exe |
| Windows | x86 | vsp-windows-386.exe |
Installation
# Download and make executable
chmod +x vsp-linux-amd64
./vsp-linux-amd64 --url http://your-sap:50000 --user USER --password PASSFull Changelog: v2.8.0...v2.9.0
v2.8.0 - Full Debug Session Support
Full Debug Session Support
This release enables AI-powered debugging with complete debug session control:
New MCP Tools (6)
- DebuggerListen - Wait for debuggee to hit breakpoint (long-poll)
- DebuggerAttach - Attach to caught debuggee
- DebuggerDetach - Release debuggee and end session
- DebuggerStep - Step into/over/return/continue through code
- DebuggerGetStack - Get call stack with program/line info
- DebuggerGetVariables - Get variable values during debugging
AI Debugging Workflow
1. SetExternalBreakpoint → Place breakpoint on code
2. DebuggerListen → Wait for debuggee to hit breakpoint
3. DebuggerAttach → Connect to the debuggee
4. DebuggerGetStack → See where we are in the code
5. DebuggerGetVariables → Inspect variable values
6. DebuggerStep → Step through code
7. DebuggerDetach → Release the debuggee
Changes
- 8 new client methods for debug session management
- 14 new unit tests
- Tool count: 37 focused (was 31), 74 expert (was 68)
🤖 Generated with Claude Code
v2.7.0: External Debugger & Listener
What's New
External Debugger Support
- External Breakpoints: Set line, exception, statement, and message breakpoints
- Debug Listener: Long-polling listener for autonomous debugging
- Breakpoint Validation: Validate breakpoint conditions before setting
- Debuggee Parsing: Parse debuggee response when breakpoint is hit
Foundation for AI-Powered Debugging
This release lays the groundwork for AI-powered debugger scripting:
- Autonomous debugging workflows
- Automated root cause analysis
- CI/CD pipeline integration
New MCP Tools
| Tool | Description |
|---|---|
SetExternalBreakpoint |
Set external breakpoints (line, exception, statement, message) |
GetExternalBreakpoints |
List all external breakpoints for a user |
DeleteExternalBreakpoint |
Delete an external breakpoint |
ValidateBreakpointCondition |
Validate breakpoint condition syntax |
Technical Details
- Protocol: Long-polling HTTP (not WebSocket) - ADT debugger uses REST
- Timeout: Configurable (default 240 seconds)
- Session: Terminal ID for IDE instance identification
Stats
- Lines of Code: 2,357 added
- Unit Tests: 270 (21 new debugger tests)
- Integration Tests: 34
Downloads
| Platform | Architecture | File |
|---|---|---|
| Linux | x64 | vsp-linux-amd64 |
| Linux | ARM64 | vsp-linux-arm64 |
| Linux | x86 | vsp-linux-386 |
| Linux | ARM | vsp-linux-arm |
| macOS | x64 | vsp-darwin-amd64 |
| macOS | Apple Silicon | vsp-darwin-arm64 |
| Windows | x64 | vsp-windows-amd64.exe |
| Windows | ARM64 | vsp-windows-arm64.exe |
| Windows | x86 | vsp-windows-386.exe |
Installation
# Linux/macOS
curl -LO https://github.com/oisee/vibing-steampunk/releases/download/v2.7.0/vsp-linux-amd64
chmod +x vsp-linux-amd64
./vsp-linux-amd64 --url http://your-sap:50000 --user USER --password PASS