Skip to content

v2.61.0: snc and traces

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Oct 20:32
6e1db96

v2.61.0 — new since v2.60.0

Reach SNC-only systems from one vsp.exe, and read ABAP traces as they really are.

New: SNC single sign-on through SAP's sapnwrfc.dll (Windows). A system with an snc block in ~/.vsp.json logs on with Kerberos through the SAP NW RFC SDK and carries ADT over RFC, with no password and no browser. The block names the SAP Logon entry, system, client, user and production. vsp.exe runs itself as the helper (vsp snc-serve) and loads the SDK only in a guarded worker:

  • tracing is off and the worker's directory refuses files;
  • DLLs are searched only beside the SDK and in System32;
  • the logon is never retried;
  • the system, client and user are checked after logon.

The channel is read-only. On "production": true it forwards GETs only; elsewhere it forwards bounded data preview SELECTs too. In .mcp.json it is just ["-s", "dev"]. From WSL, a Linux vsp uses the Windows vsp.exe as its transport_cmd. The SDK itself is SAP's: download it from the SAP Software Center. See SNC single sign-on through sapnwrfc.dll.

New: transport command. transport_cmd in ~/.vsp.json (or --transport-cmd, SAP_TRANSPORT_CMD) carries every ADT request over a helper process's stdin/stdout, and the helper does its own sign-on (#373). -s NAME gives the MCP server its logon from such a system. See Transport command.

Fixed:

  • ABAP traces read as they are (#376).
    • get_trace returned empty hit-list entries on 7.58. It now parses the real format: event, program, line, calls, own and total time.
    • It sorts by own time and returns the top 50 (top, sort_by). It also reads dbAccesses and the call tree, and returns raw XML on request.
    • list_traces shows state, aggregation, size and runtime, newest first.
    • A trace cut off at its size limit now says so instead of returning a bare 416.

Behaviour changes:

  • A transport_cmd program must be an absolute path. The helper runs in its own directory and starts from vsp's environment as it was before ./.env was loaded, so a project's files and .env cannot reach it.
  • The snc block requires "production".

Downloads

Platform Architecture File
Linux x64 vsp-linux-amd64
Linux ARM64 vsp-linux-arm64
macOS x64 vsp-darwin-amd64
macOS Apple Silicon vsp-darwin-arm64
Windows x64 vsp-windows-amd64.exe
Windows ARM64 vsp-windows-arm64.exe

Checksums: checksums.txt. Or run vsp update from an older version on one of these platforms; elsewhere: go install github.com/oisee/vibing-steampunk/cmd/vsp@latest.
LICENSE and NOTICE travel with the binaries (Apache-2.0 components are embedded).

Changelog: https://github.com/oisee/vibing-steampunk/blob/v2.61.0/CHANGELOG.md