Skip to content

Releases: dkattan/Copilot-Breakpoint-Debugger

0.0.59

27 Jan 23:19

Choose a tag to compare

Credit balance is too low

0.0.58

27 Jan 22:58

Choose a tag to compare

Credit balance is too low

0.0.57

27 Jan 22:42

Choose a tag to compare

Credit balance is too low

0.0.56

26 Jan 16:30

Choose a tag to compare

Credit balance is too low

0.0.55

26 Jan 14:52

Choose a tag to compare

Credit balance is too low

0.0.54

24 Jan 11:56

Choose a tag to compare

Version 0.0.54

Summary

This release introduces stricter breakpoint requirements and implements automatic step-over behavior for capture actions to improve the reliability of variable inspection during debugging.

Breaking Changes

Mandatory variable field for all breakpoints

  • All breakpoints now require a variable field (previously variableFilter was optional)
  • Use variable: "variableName" to focus on a single exact variable name (case-sensitive)
  • Use variable: "*" to opt into capture-all mode (auto-captures up to captureMaxVariables locals)
  • This change affects both startDebugSessionWithBreakpoints and resumeDebugSession tools

Schema changes:

  • variableFilter (array) → variable (string)
  • Matching is now simple string equality instead of list membership
  • No regex evaluation

New Features

Automatic step-over for capture actions

Capture actions (captureAndContinue and captureAndStopDebugging) now automatically perform a single step-over (F10 / DAP next) before capturing variables. This solves the common problem where breakpoints placed on assignment lines would capture pre-assignment values instead of the expected post-assignment values.

  • Applied when autoStepOver is not explicitly set
  • Can be disabled by setting autoStepOver: false
  • Enhanced with explicit autoStepOver: true for before/after variable snapshots

Improvements

  • Updated all documentation, examples, and test fixtures to reflect the new variable field requirement
  • Improved error messages to guide users toward the correct schema
  • Enhanced configuration descriptions to clarify capture-all mode (variable: "*")
  • Updated VS Code quick-insert command to prompt for single variable name or *

Documentation Updates

  • README.md: Updated breakpoint examples and usage instructions
  • agents.md: Revised variable filtering semantics documentation
  • package.json: Updated tool descriptions and schema definitions for both Language Model Tools

Technical Details

Modified files include:

  • src/BreakpointDefinition.ts: Updated interface with new variable field
  • src/session.ts: Implemented default step-over logic for capture actions
  • src/extension.ts: Updated VS Code command prompts for new schema
  • src/stopInfoMarkdown.ts: Updated variable display logic
  • src/resumeDebugSessionTool.ts: Applied new schema to resume operations
  • All test files updated to use new variable field instead of variableFilter

0.0.53

23 Jan 22:48

Choose a tag to compare

Version 0.0.53

Summary

This release focuses on improving test stability and code organization for the Debug Adapter Protocol (DAP) integration tests and demo workflows. The changes refactor DAP helper utilities into a shared module, add comprehensive unit tests for serverReady functionality, and enhance the Playwright-based demo specification with better accessibility-based selectors and error diagnostics.

Improvements

  • Code Organization: Refactored DAP type definitions and helper functions into a new startDebuggerToolTypes.ts module, improving code reusability and separation of concerns (src/debugUtils.ts:1, src/startDebuggerToolTypes.ts:1)

  • Enhanced DAP Helpers: Improved the DAPHelpers class with better timeout handling and more robust request management across debug sessions (src/debugUtils.ts:49-77)

  • Test Stability: Enhanced Playwright demo test with accessibility-based element selection, better error diagnostics including visible element dumps, and more reliable UI interaction patterns (playwright/demo.spec.ts:17-87, playwright/demo.spec.ts:167-186)

  • Demo Configuration: Added demoRequest.json configuration file to standardize demo parameters and enable sharing between unit tests and Playwright integration tests (demoRequest.json:1-24)

  • Test Coverage: Added comprehensive unit tests for serverReady functionality covering breakpoint triggers, pattern matching, HTTP requests, shell commands, and the full demo scenario workflow (src/test/serverReady.test.ts:1-394)

  • Updated Demo Video: Refreshed the demo video to reflect current functionality and stabilized test behaviors (docs/pw-videos/demo.mp4)

  • Test Infrastructure: Updated vscode-test-playwright submodule and adjusted Playwright configuration for better test isolation (external/vscode-test-playwright, playwright.config.ts:1)

Testing

  • Added 4 new comprehensive integration tests for serverReady breakpoint scenarios
  • Tests now validate breakpoint triggers, pattern matching, HTTP requests, and variable capture
  • Improved test timeout handling for CI/CD environments (240 second timeout for complex debug sessions)
  • Enhanced test server with marker comments for reliable line-based breakpoint targeting

Developer Experience

  • Better separation of type definitions makes the codebase easier to navigate
  • Shared demo configuration enables consistent testing across different test frameworks
  • Improved error messages and diagnostics for DAP request timeouts

0.0.52

23 Jan 10:57

Choose a tag to compare

Summary

This release focuses on improving the development workflow by decoupling the Playwright demo from the standard unit test suite, making the test process more reliable and flexible across different platforms.

Improvements

Testing & CI

  • Split Playwright demo from unit tests: The Playwright demo spec is now executed separately via npm run demo:pw instead of being embedded in npm pretest. This separation improves reliability on macOS and Windows by avoiding display server requirements during standard unit tests.
  • Removed run-demo-pw-smoke.cjs script: Eliminated the 69-line wrapper script that handled cross-platform xvfb execution. Developers now run xvfb-run -a npm run demo:pw directly on Linux when needed.
  • Simplified CI workflow: Removed PW_VSCODE_TEST_SKIP_SMOKE environment variable from GitHub Actions, as the demo is now handled by a dedicated job.

Documentation

  • Updated README: Enhanced testing section with clear instructions for running the Playwright demo separately, including Linux virtual display setup with xvfb-run.
  • Updated agents.md: Added documentation for the new npm run demo:pw command.

Configuration

  • Updated .gitignore: Added .gh-artifacts/ to ignore downloaded GitHub Actions artifacts in local development.
  • Test workspace configuration: Increased copilot-debugger.entryTimeoutSeconds to 60 seconds in the test workspace.

Breaking Changes

None.

0.0.51

23 Jan 03:12

Choose a tag to compare

Based on my analysis of the commits and code changes between version 0.0.50 and 0.0.51, here are the release notes:


Release 0.0.51

Summary

This release focuses on comprehensive CI/CD improvements, enhanced testing infrastructure with Playwright integration, better DAP (Debug Adapter Protocol) tracing, and improved Windows compatibility. The release includes significant refinements to the development workflow with video demonstration capabilities, automated testing, and better diagnostic output for debugging issues.

New Features

  • Playwright Integration: Added complete Playwright testing infrastructure with demo video generation capabilities

    • New playwright.config.ts and demo test specs for UI-driven testing
    • Automated demo video generation in CI pipeline with artifacts uploaded as MP4
    • PowerShell script (Test-Playwright.ps1) for local Playwright testing
    • Git submodules for playwright-test-videos and vscode-test-playwright
  • Enhanced DAP Tracing: Significantly improved Debug Adapter Protocol message visibility

    • Quieter, more intelligent trace output that filters noisy internal events
    • Better formatting of DAP messages for debugging timeout issues
    • De-duplication of DAP logs to prevent spam from multiple hook invocations
  • Local Development with Act: Added support for running GitHub Actions workflows locally using act

    • New .actrc configuration for GitHub Actions local testing
    • Documentation in docs/act.md for local CI workflow execution
    • Act artifact debug workflow for troubleshooting

Improvements

  • CI/CD Enhancements:

    • Stabilized Playwright smoke tests across platforms (Linux, macOS, Windows)
    • Run Linux CI jobs in Playwright Docker images for consistency
    • Fixed DBus environment configuration for headless VS Code testing
    • Increased CI timeouts to reduce flakiness
    • Enhanced CI handshake tracing for better debugging
    • Auto Release workflow now includes proper apt dependencies
  • Windows Compatibility:

    • Fixed Windows-specific issues with NODE_OPTIONS environment variable handling
    • Made npm scripts Windows-safe across the board
    • Improved task output capture for Windows environments
  • Build and Error Handling:

    • Unified JSON formatters across the codebase
    • Enhanced task command error handling for build failures
    • New test workspace for build error scenarios (stdout and stderr testing)
  • Test Infrastructure:

    • Stabilized serverReady vscodeCommand tests for deterministic behavior
    • Fixed test issue where capture breakpoints could incorrectly become logpoints
    • Improved task output capture stability
    • Better CI submodule initialization (only required submodules in PRs)
  • Code Quality:

    • Applied extensive ESLint autofixes and formatting improvements
    • Removed deprecated inspectJustification parameter (simplified API)
    • Better code style consistency across TypeScript source files
    • Added pre-commit git hooks for code quality enforcement
  • Documentation:

    • New agents.md file documenting agent workflows
    • Enhanced README with demo video integration
    • Comprehensive act.md documentation for local CI testing

Bug Fixes

  • CI Fixes:

    • Fixed Auto Release apt dependencies preventing proper workflow execution
    • Corrected Playwright demo workspace path to be portable across environments
    • Fixed issue where vscode-test-playwright needed to be built before typecheck
    • Resolved npm script compatibility issues on Windows
  • Test Fixes:

    • Prevented capture breakpoints from incorrectly becoming logpoints during tests
    • Made serverReady vscodeCommand test deterministic to avoid race conditions
    • Stabilized task output capture to prevent test flakiness

Breaking Changes

None

Technical Details

Changed Files: 85 files modified

  • Major CI/CD improvements in .github/workflows/ci.yml (+434 lines)
  • New Playwright infrastructure (config, tests, scripts)
  • Enhanced session management in src/session.ts (+2,236 lines modified)
  • Improved DAP event handling in src/events.ts (+813 lines)
  • Better logging in src/logger.ts (+135 lines)
  • Dependencies updated in package-lock.json (3,090 lines modified)

Platform Support:

  • Linux (fully tested in CI)
  • macOS (Playwright smoke tests skipped in CI, manual testing supported)
  • Windows (Playwright smoke tests skipped in CI, manual testing supported with fixed NODE_OPTIONS handling)

Development Workflow:

  • Added support for local GitHub Actions testing with act
  • Enhanced video generation pipeline for demos
  • Improved git submodule management for external dependencies

0.0.50

08 Jan 11:41

Choose a tag to compare

Summary

This release contains documentation improvements to the release notes generation process.

Improvements

  • Enhanced the release notes generation workflow instructions to provide clearer guidance on analyzing code changes and managing context window limitations

No breaking changes in this release.