Repository navigation
v0.4.32
Changelog
[0.4.32] — 2026
Fixed
- The Debug Launcher no longer shows an empty panel after selecting org/space/folder — When cf-sync had synced the org/space structure but not yet the space's apps (or stored spaces in the legacy string format), the launcher served the empty topology list as-is: a READY screen with zero app rows and no live fetch — reported by users as "the Debug Launcher is completely blank". An empty topology app list is now treated as no data on both the webview and extension side, falling through to the cached/live
cf appsfetch. - Webview render failures are visible and recoverable instead of a blank/frozen panel — A renderer exception used to leave the panel blank (on first render) or frozen on a stale screen, with no diagnostics. The launcher now has a render error boundary that shows a recovery screen with a "Reload Launcher" button, reports the error (with stack) to the CDS Debug output channel via a new
WEBVIEW_ERRORmessage, forwardswindow.onerror/unhandledrejectionthe same way, and ships static fallback content inside the panel so even a script that never runs is not a silent blank page. An unknown screen state now renders the recovery screen instead of an empty string. - Loading screens can no longer hang forever when the extension config is missing —
LOAD_SPACES/LOAD_APPS/START_DEBUGused to return silently when the saved configuration was absent (e.g. after Reset Configuration while the webview retained old state), stranding the user on a spinner. They now post an explicit error back to the panel. - Stopping from VS Code's debug toolbar (red square) now also clears remote breakpoints — Only the panel's Stop button ran the defensive
setBreakpoints([])pass; the toolbar stop skipped it, leaving the remote Node inspector holding breakpoints untilcf restart. The clear now also runs on externally-terminated sessions, through the child sessions that briefly outlive the root (best-effort, time-bounded), and removes the now-dead Package-browser breakpoints from VS Code state when no session survives. - Breakpoint-clear timeouts sized for slow CF regions — the per-request/total/
loadedSourcesbudgets (0.5 s/2 s/1.5 s) could expire on high-latency regions (ap10,jp10), silently resurrecting the "breakpoint survives until cf restart" bug there. Raised to 1.5 s/4 s/3 s; they only bite when the tunnel is half-open. - Foreign
Debug:-named sessions are left alone — a user-defined launch configuration namedDebug: <x>no longer triggers CDS Debug's exited-session cleanup on terminate (notifications, status broadcasts, or the opt-incf restartof an app the extension does not own).
[0.4.31] — 2026
Fixed
- Package Browser loads reliably on slow / high-latency CF regions — Clicking Package after starting a debug session could intermittently fail to load any packages (or time out after ~60 s) on slow orgs such as
ca10, because the warm-up depended on polling theloadedSourcesrequest at exactly the right moment while the child "Remote Process" session appeared. This is now addressed on three fronts:- Push-based source collection — CDS Debug now records the DAP
loadedSourceevents that vscode-js-debug emits for every (including child) session, accumulating package sources continuously instead of relying solely on polling. Sources that arrive between polls — or before the browser is opened — are no longer missed. - A single slow
loadedSourcesrequest no longer aborts the whole warm-up — a per-request timeout is treated as "not ready yet" and retried, instead of failing the entire load. One laggy request on a slow inspector tunnel used to kill the attempt outright. - Deadline instead of a fixed attempt count — the warm-up now waits up to a total budget (180 s) for the child session to appear, rather than a hard 60-attempt ceiling, and wakes immediately when a new session starts or a source event arrives.
- Push-based source collection — CDS Debug now records the DAP
- More reliable inspector readiness probe — the pre-attach probe now waits for a non-empty
/json/list(a real debuggable target) instead of/json/version(inspector metadata only), so vscode-js-debug finds a target immediately and the child session appears dependably.
[0.4.23-pre.1] — 2026
Fixed
- Package Browser (
debug:) breakpoints now turn verified (red) once bound — Breakpoints set innode_modules/package sources opened from the Package Browser asdebug:URIs (when the.tsis not on disk) were bound and paused execution, but VS Code's gutter stayed gray because the bind happened viacustomRequest, which the gutter ignores. The breakpoint mirror now nudges VS Code to re-issue its ownsetBreakpointsby re-adding the breakpoint once per verifying session (keyed by session + path + line, so no repeated flicker), flipping the dot to red. This complements thefile:re-verify fix from0.4.22.
[0.4.23-pre.0] — 2026
Fixed
- The Package Browser returns to the launcher when its debug session ends — Stopping the debugger from VS Code (or the remote server detaching/crashing/reconnecting) while the Package Browser was open used to leave an empty Packages screen with no sources. CDS Debug now detects that the browsed app is no longer attached and navigates back to the app-selection (launcher) screen automatically.
[0.4.23] — 2026
Stable release consolidating the 0.4.7-pre.x line (changes since 0.4.4).
Highlights
- No-install package debugging — the Package Browser opens dependency sources from the running app and no longer writes files into
node_modules. - Reliable package breakpoints — breakpoints in
node_modules/package sources show as verified (red) once their script loads; stopping a session clears remote breakpoints so the app no longer stays paused in the Node inspector (nocf restart). - CF instance counts & safe scaling from the panel, and auto-retrying background topology sync after a failed or canceled run.
[0.4.7-pre.14] — 2026
Fixed
- node_modules breakpoints now show as verified (red) instead of staying gray after the script loads — When a CAP handler in
node_modulesloads lazily,BreakpointResolveralready re-bound the breakpoint via acustomRequest(working around vscode-js-debug#1510) so execution paused — but acustomRequestdoes not update VS Code's gutter, so the dot stayed gray. It now also removes and re-adds the matchingfile:breakpoint once per session (deduped by session + path + line, so no repeated flicker), forcing VS Code to re-issue its ownsetBreakpointsagainst the now-loaded script and flip the dot to red.debug:URIs are left to the Package Browser mirror.
[0.4.7-pre.13] — 2026
Fixed
- Stopping a debug session no longer leaves Package Browser breakpoints stuck in the remote Node inspector —
clearBreakpointsBeforeStopnow clearsfile:package breakpoints (opened from the Package Browser) using each session's ownsourceReferenceagainst the original source path the breakpoint mirror bound, broadcast to every app session, instead of a path-only clear of the localfsPath. The path-only clear silently missed reference-bound copies, leaving the app paused at the breakpoint until acf restart.
Changed
- CDS Debug no longer writes package source files into
node_modules— The Package Browser previously materialized a.tsserved only viasourcesContentto disk. It now opens an already-existing local file read-only when present, otherwise adebug:URI served by the debugger; breakpoints there bind bysourceReferenceand are cleared on stop. This removes thenode_modulespollution and the instability tied to writing files on Windows/WSL.
[0.4.7-pre.9] — 2026
Diagnostics
- Adds Package Browser breakpoint mirror diagnostics — Logs breakpoint event counts, session/source lookup timings, per-session
setBreakpointsverification counts, promotion target selection, same-URI refresh counts, and total mirror duration to make no-src breakpoint flicker and latency diagnosable without changing binding behavior.
[0.4.7-pre.8] — 2026
Reverts
- Rolls back the unstable
0.4.7-pre.7Package Browser breakpoint refresh attempt — Restores the0.4.7-pre.6code path after real no-src debugging showed the follow-up refresh/cache change did not improve breakpoint behavior.
[0.4.7-pre.6] — 2026
Reverts
- Reverts the Package Browser breakpoint refresh optimization from
0.4.7-pre.3— Restores the previous full-file refresh and all-session mirror completion behavior after real no-src package debugging showed the narrower refresh path was not stable enough. The WSL file-URI anchoring fix remains in place.
[0.4.7-pre.5] — 2026
Tests
- Raises enforced unit coverage above the branch threshold — Adds focused unit coverage for Package Browser source normalization/search/URI tracking, package breakpoint mirroring failure paths, and safe package source materialization.
pnpm test:coveragenow passes with global branch coverage above 80%.
[0.4.7-pre.4] — 2026
Fixes
- Cache sync recovers after canceled or failed attempts — Settings still shows the last successful sync plus the latest failed attempt, but retryable failures now schedule an automatic retry outside the normal cache interval. CDS Debug also reconciles stale Settings progress with newer shared
cf-syncsnapshots so an old canceled attempt no longer appears stuck after another tool has produced a fresh topology.
[0.4.7-pre.3] — 2026
Fixes
- Reduces Package Browser breakpoint flicker on no-src WSL sessions — Breakpoint mirroring still sends the full source breakpoint set to the debug adapter, but VS Code now refreshes only the breakpoint that was added or edited instead of removing and re-adding every breakpoint in the package file. The UI also refreshes as soon as the first session verifies the breakpoint, without waiting for slower sibling session source lookups.
[0.4.7-pre.2] — 2026
Fixes
- Keeps no-src Package Browser breakpoints anchored to local file editors on WSL — URI-like debugger paths such as
vscode-remote://...are still mirrored to the debug adapter, but verified path-only package breakpoints now refresh the existingfile:editor breakpoint instead of migrating it to the remote URI. This preserves VS Code's filesystem-path breakpoint identity so the margin breakpoint stays visible and can bind when the package source executes.
[0.4.7-pre.1] — 2026
Fixes
- Stabilizes no-src Package Browser breakpoints on WSL-style paths — When a Package Browser file opens through a local
file:fallback but the debugger reports the same package source asvscode-remote://..., breakpoint mirroring now promotes the visible breakpoint to that parsed remote URI after the adapter verifies it. This keeps the editor breakpoint identity aligned with the debugger source path without reintroducing the previous double-encodeddebug:URI issue. - Clears high-severity dev dependency audit findings — Pins transitive
fast-uriresolution to the patched3.1.2release used under the VSIX packaging toolchain.
[0.4.7-pre.0] — 2026
Reverts
- Hard-reset code to the v0.4.1-pre.0 baseline — Subsequent fix attempts (
9cbe750,f02ba3f,7907a62,b447ac5) layered on top of the 0.4.1-pre.0 baseline introduced regressions in breakpoint binding for mapped folders. They are preserved on theattempt/materialize-removalbranch for future re-investigation, whilemasterrolls back to the last known-good package handling code (commitc535d8c). Only the version is bumped on top of the rolled-back tree to keep the pre-release version monotonically increasing past the previously published0.4.4.
[0.4.1-pre.0] — 2026
Fixes
- Stable Package Browser breakpoints for mapped apps — Package Browser now avoids inventing or materializing missing package files under a mapped app folder's
node_modulespath. Existing local package files still open normally, while missing package sources keep the debugger's source identity so mapped-app package breakpoints behave like the stable no-src flow. - No double-encoded verified source URIs — Path-only package sources whose debugger path is already a URI, such as
vscode-remote://..., are no longer promoted throughasDebugSourceUri(). This prevents brokenvscode-remote://.../vscode-remote%3A/...editor focus attempts after breakpoint mirroring verifies the breakpoint.
[0.4.0] — 2026
Highlights
- Reliable breakpoints — Breakpoints now bind more consistently on first attach across CAP workers, lazily-loaded scripts, package sources, source maps, and Windows path casing edge cases.
- Faster CF navigation —
cf-synctopology now powers more of the org/space/app flow, refreshes orgs during login, keeps the 50-region catalog current, and defers regex remote-folder SSH discovery until Start Debug for selected apps. - Shared scope and folder mapping — CDS Debug now syncs the active CF scope through
sapCap.currentScope, handles cross-region external scope changes more safely, preserves region mappings, and supports explicitcdsDebug.appFolderMappings. - Safer debug lifecycle — Stop/restart now verifies local port cleanup, clears remote breakpoints defensively, detects stale tunnels, probes inspector readiness, and targets the likely main Node process by default.
[0.3.62-pre.34] — 2026
Changes
- Remote-folder SSH discovery is deferred to "Start Debug Sessions" — Selecting an org/space no longer SSHes into every started app to pre-resolve
regex:remoteRootsettings. The probe now runs only for the apps you tick when you click Start Debug, in parallel and cached for the rest of the VS Code session. A lightweight CF session keepalive after org/space selection is preserved so any token expiry is still handled up front. For spaces with dozens of apps the Output channel and CF audit log stay quiet until you actually debug, and each app card briefly shows "Discovering remote folder…" while its cold lookup runs.
[0.3.62-pre.33] — 2026
Changes
- Adds the
eu10-006Cloud Foundry region — Bumps@saptools/cf-syncto0.4.10, which adds theeu10-006(Europe/Frankfurt, AWS) landscape to the synced region catalog. CF topology sync and the region picker now cover all 50 SAP BTP Cloud Foundry regions.
[0.3.62-pre.32] — 2026
Changes
- Explicit CF app → local folder mappings via
cdsDebug.appFolderMappings— A new array setting maps a Cloud Foundry app name to a local source folder name when the two differ too much for the automatic-↔_normalization to find a match (previously such apps fell back to console-only debugging with no source maps or breakpoints). EachfolderNameis a folder basename resolved through the existing recursive group-folder scan (depth ≤ 6, must contain apackage.json); explicit mappings take the highest matching priority and apply consistently to debug start, target building, and regexremoteRootwarmup. Unset (default[]) keeps the previous behavior unchanged. v1 maps by folder basename only; pointing at an explicit path is a possible future addition.
[0.3.62-pre.31] — 2026
Fixes
- Package Browser breakpoints now bind visibly for path-only file sources — When a package source opens as a
file:URI withsourceReference: 0, CDS Debug mirrors the breakpoint to the live debug sessions, reads the adapter'sverified=trueresponse, and refreshes the same VS Code breakpoint so the editor UI changes from gray/unbound to red/bound. - Package source identity is tracked across file and debug URIs — Package Browser now keeps the originating source path, source reference, and session metadata for opened package files so breakpoint mirroring, tab dedupe, and cleanup all reason about the same logical source.
- Dependency source maps are included in generated attach configs — Generated
outFilesnow includes app, workspace, and bounded ancestornode_modulesroots, which lets vscode-js-debug verify package breakpoints through its native source-map pipeline. - Source-reference package files can be materialized safely — When a package source is only available through DAP
sourcecontent, CDS Debug can write it to a safe localnode_modulespath and open it as a normalfile:URI instead of forcing a virtual debug-source editor. - Auto-attached debug sessions are tracked by session id — Child and worker sessions with repeated display names are retained separately, improving Package Browser source collection and breakpoint propagation.
[0.3.62-pre.19] — 2026
Changes
- Region login now refreshes orgs through cf-sync — Updated
@saptools/cf-syncto0.4.9and use its region org-list refresh during Cloud Foundry login, so Step 2 shows the latest orgs without walking spaces or apps. - Org-list topology stays a live navigation hint — CDS Debug now treats topology accounts with empty
spacesas org-list-only data, preserving livecf spacesfallback until targeted space/app data is synced.
[0.3.62-pre.17] — 2026
Changes
- Cache sync now delegates topology recovery to cf-sync — Updated
@saptools/cf-syncto0.4.7, moved background CF topology commands back to cf-sync's timeout-backed helpers, and removed CDS Debug's local stale-lock recovery workaround while keeping Change Mapping cancellation responsive.
[0.3.62-pre.16] — 2026
Fixes
- Cache sync no longer strands Change Mapping — Change Mapping now asks the extension host to stop an in-flight cache sync, background CF sync commands use the extension's timeout-backed CF client, and stale cf-sync locks are recovered before a new manual Sync Now attempt.
[0.3.62-pre.15] — 2026
Changes
- Topology-first CF navigation — Synced cf-sync topology now carries spaces and apps, letting the launcher skip live
cf orgs,cf spaces, andcf appsround-trips on the cached happy path while keeping live fallbacks for misses and space sync errors. - Background CF session warmup — Apps loaded from topology render immediately while the extension warms the CF target/session in the background and serializes warmup with Start Debug.
- First-run cache bootstrap — Saving credentials triggers an immediate background sync, and first login warms the selected cf-sync region when topology is not already available.
[0.3.62-pre.14] — 2026
Fixes
- External CF scope changes are serialized — Rapid external updates to
sapCap.currentScopenow queue through one handler, preventing overlapping cross-region auto-logins from leaving the launcher and CF CLI on different targets. - CF auth failures return faster —
cfLoginnow skips retry backoff for clear credential/auth failures while still retrying transient network errors. - Remote root warmup is parallelized safely — Started apps now warm regex remote roots in bounded batches of four instead of one at a time.
- Cache sync skipped attempts are visible — Settings now preserves the last successful sync time and shows the latest skipped/failed attempt reason, such as missing credentials.
[0.3.62-pre.13] — 2026
Fixes
- Login-shell environment lookup now retries after spawn failures — A failed login-shell environment read no longer caches an empty result for the whole VS Code session, so credentials from shell dotfiles can be found on a later user-triggered retry.
- Settings preference toggles stay visually in sync — Late preference refresh messages now update the Settings toggle DOM in place, preventing CI-visible races where a saved debug preference could look disabled until reopening Settings.
[0.3.62-pre.12] — 2026
Changes
- Remote inspector stop reminder is now opt-in — Stopping debug no longer shows the Node inspector restart reminder by default. Teams that still want the reminder can enable
cdsDebug.warnRemoteInspectorAfterStop, while automatic app restart remains opt-in viacdsDebug.autoRestartAppAfterStop.
[0.3.62-pre.11] — 2026
Fixes
- Cross-region shared CF scope errors are now visible and safe — Failed external cross-region auto-login now reports
LOGIN_ERRORin the launcher, reuses the credential revocation flow for auth failures, clears stale pending external scopes when a newer credential-backed scope arrives, and redactscf authcommand arguments from CF CLI errors before they reach logs or UI.
[0.3.62-pre.10] — 2026
Fixes
- External CF scope changes stop active sessions first — CDS Debug now stops active debug sessions, clears breakpoint snapshots, and notifies the user before applying an externally synced org/space change, preventing stale tunnels and cross-region reconnect races.
[0.3.62-pre.9] — 2026
Fixes
- Shared CF scope folder mapping recovery — External scope sync now opens the
3/3 Select Local Folderstep when the target org/space has no saved mapping, and cross-region sync without stored credentials pre-fills the target region for manual login.
[0.3.62-pre.8] — 2026
Fixes
- Cross-region shared CF scope sync — External updates to
sapCap.currentScopefrom another CF region now trigger a credential-backed auto-login, preserve saved mappings, and reselect the target org/space when available instead of being silently ignored.
[0.3.62-pre.7] — 2026
Changes
- Remote inspector cleanup hardening — CDS Debug now clears remote breakpoints before stop, warns that the Node inspector may remain open until app restart, offers opt-in auto-restart after stop, detects stale local
cf sshinspector tunnels on activation, warns about localdebugger;statements after attach, and uses an app-level keepalive to recover faster from half-open debug tunnels. - Safer inspector activation — The default USR1 signal now targets a likely main Node process (
server.js,app.js, orindex.js) and avoids common sidecars such ascds-mtxs. SetcdsDebug.signalAllNodeProcessestotrueto restore the previous all-node behavior.
[0.3.62-pre.6] — 2026
Changes
- CF region catalog source cleanup — Updated
@saptools/cf-syncto0.4.6, using its catalog foreu10-*,eu20-*,us10-001, andus10-002region endpoints while keeping CDS Debug's local fallback only for upstream-missing endpoints such asus10-004.
[0.3.62-pre.5] — 2026
Changes
- Shared CF scope sync — CDS Debug now writes the verified
regionCode, org, and space to the VS Code globalsapCap.currentScopesetting after apps load, and compatible same-region updates from external tools automatically reselect the mapped scope in the launcher.
[0.3.62-pre.4] — 2026
Fixes
- Org folder mappings now survive CF region switches — Logging into another CF region now preserves all saved local folder mappings instead of deleting mappings for orgs outside the current region. Restore logic now only auto-loads mappings compatible with the active region and prefers the most recently used org/space mapping.
[0.3.62-pre.3] — 2026
Fixes
- Auto-reconnect can no longer stall on a hung pre-reconnect hook — The beforeReconnect hook that re-runs
mergeLaunchJsonis now bounded by a 3-second timeout. A locked launch.json, slow disk, or unresponsive cap-debug-config.json read will log a warning and proceed with the existing configuration instead of leaving the session stuck inTUNNELING…. - Breakpoints in lazily-loaded scripts now bind on Windows when drive-letter casing differs — The DAP loadedSource re-resolve now compares filesystem paths case-insensitively on Windows, where VS Code's
Uri.fsPath(C:\…) and the DAPsource.path(c:\…) can differ in casing despite referring to the same file.
[0.3.62-pre.2] — 2026
Fixes
- Breakpoint-bind Sprint 3 advanced cases — Generated launch configurations now set
autoAttachChildProcesses: trueso SAP CAP MTX sidecar / cluster workers are debugged automatically, ship defaultsourceMapPathOverridesfor the Cloud Foundry runtime layout (/home/vcap/app/*,/home/vcap/deps/0/node_modules/*, plus the existing webpack defaults), and a new debug-adapter tracker re-issuessetBreakpointsafterloadedSourceevents so breakpoints land in lazily-required scripts that were eagerly loaded before attach completed (workaround for microsoft/vscode-js-debug#1510). - Breakpoint snapshot handling default is now fail-safe — When the preferences store is unavailable, snapshot handling reports as disabled instead of accidentally enabling the auto-continue UX, and the first auto-continue per session surfaces an informational notification with shortcuts to the relevant settings.
[0.3.62-pre.1] — 2026
Fixes
- Breakpoint-bind Sprint 2 cleanup — Generated launch configurations no longer set
restart: trueso vscode-js-debug stops racing the extension's own auto-reconnect, the regexremoteRootwarning surfaces in a one-shot VS Code notification with actions to open the offendingcap-debug-config.jsonor the CDS Debug output channel instead of failing silently, and auto-reconnect re-runsmergeLaunchJsonbefore the next attach so edits tocap-debug-config.jsonmade mid-session are picked up.
Changes
cap-debug-config.jsonandcdsDebug.sharedCapDebugConfigschema extended — AddedoutFiles,outFilesExtra,resolveSourceMapLocations, andsourceMapPathOverridesfields with strict type guards so users can replace, append to, or refine the source-map handling produced by the extension without hand-editinglaunch.json.
[0.3.62-pre.0] — 2026
Fixes
- Breakpoints bind on the first attach (Sprint 1 of breakpoint-bind hardening) — Generated launch configurations now expand
outFilesto coversrv,gen/srv,app,lib,dist, andbuild(excludingnode_modules), setresolveSourceMapLocations: nullso source maps with embedded remote paths are no longer silently dropped, resolvelocalRootthroughfs.realpathto handle macOS/private/var/...symlink workspaces, and fall back tolocalRootwhen a regexremoteRootis configured but has not yet resolved — eliminating the "Stop and Start again to bind" workaround for several common configurations.
[0.3.61-pre.1] — 2026
Fixes
- Verified SSH tunnel cleanup — Stop and debug-session termination now await local debug port cleanup and verify the port is free before fast restarts, preventing confusing
address already in usefailures when restarting the same CF app quickly.
[0.3.61-pre.0] — 2026
Security
- Branch preparation RCE hardening — Replaced shell-based git and pnpm execution with
execFileargument arrays, added strict branch-name validation forcap-debug-config.jsonandcdsDebug.sharedCapDebugConfig, and surface unsafe branch config warnings without logging payloads.
[0.3.61] — 2026
Fixes
- Custom endpoint flow — Moved custom CF API endpoint entry out of the scrollable region list into a dedicated Region tab panel action, keeping the
1/3 CF Region / Orgheader, selector tabs, andLogin to Cloud Foundryfooter position stable.
[0.3.60] — 2026
Changes
- CF region catalog — Completed the
1/3 CF Region / Orgpicker supplemental endpoints from SAP's Cloud Foundry region table, addingeu10-002,eu10-003,eu10-005,eu20-001,eu20-002,us10-001, andus10-002while keeping the product-supportedus10-004endpoint.
[0.3.58] — 2026
Changes
- CF region catalog — Added the
eu10-004Cloud Foundry region to the1/3 CF Region / Orgpicker with endpointhttps://api.cf.eu10-004.hana.ondemand.com.
[0.3.57] — 2026
Fixes
- Change Mapping navigation — The launcher now returns to
1/3 CF Region / Orgwhen changing mappings, so users can choose a different CF region or org from the start of the mapping flow.
[0.3.54] — 2026
Changes
- Wider VS Code compatibility — Lowered the minimum required VS Code engine from
1.118to1.112, so users on VS Code versions from 1.112 onwards can install and use CDS Debug without needing to be on the very latest editor release.
[0.3.53] — 2026
New Highlights
- Dynamic remote roots — Regex-based
remoteRootsettings resolve per CF app before debug attach, covering services deployed under different remote folders such as/usr/sample-service-a. - Compatibility refresh — VS Code 1.118 engine support and refreshed CF sync, ESLint, TypeScript ESLint, and VS Code API dependencies.
[0.3.10] — 2026
New Features
- Package Browser — Browse every npm package loaded in an active debug session as a collapsible tree. Jump to any source file inside a package without navigating node_modules manually.
- Package Regex Filter — Filter the package list by name using a regex. Pre-configure a default via
cdsDebug.packageRegexFilterin workspace or user settings; edits in the UI sync back automatically. - Auto-reconnect — SSH tunnel reconnects automatically (up to 3 attempts) when a CF timeout or network blip drops it mid-session.
- Breakpoint Snapshots — Capture variable context at any breakpoint without pausing execution. Snapshots accumulate in the sidebar. Enable in Settings → Breakpoint Snapshot Handling.
- Branch Preparation — Stash local changes, check out the target git branch, and run
pnpm install && pnpm buildbefore attaching the debugger so local sources always match the remote service. - Shared CAP Debug Config — Set
cdsDebug.sharedCapDebugConfigonce in VS Code user settings to shareremoteRootandorgBranchMapacross all workspaces. - What's New panel — Displays automatically after a version upgrade so you always know what changed.
Bug Fixes
- Suppress VS Code's save-before-start behaviour for extension-managed debug sessions, preventing spurious permission-denied errors when an unrelated editor is open at a root path.
- Package entries reload correctly when a debug session is restarted.
- Source maps for generated CAP server files resolve from the correct output path.
[0.3.0]
- Breakpoint snapshot handling foundation (capture + display).
- Auto-continue after snapshot capture (configurable via
cdsDebug.pauseOnBreakpoint). - Performance improvements for snapshot capture latency.
[0.2.41]
- Shared
cdsDebug.sharedCapDebugConfigVS Code setting as a workspace-level fallback. - Region picker — 14 built-in CF regions plus custom endpoint support.
[0.1.0]
- Renamed "Auto-open app in browser" to "Open browser on debugger attach" with live state badge.
- Multi-select debug — tick any running apps and launch all sessions at once.
- Background app cache with configurable sync interval.
[0.0.25]
- Region-switch fix: stale CF session cleared before switching regions.
[0.0.21]
- Select-all, Stop-all, Refresh, port display, theme badges.
[0.0.19]
- Various UI bug fixes and webview polish.