Fixes
- Fix invalid type annotation in test_pydev_monkey comprehension by @pdepetro in #2033
- Fix PEP 768 code injection SyntaxError when temp path contains backslashes by @rchiodo with @Copilot in #2038
- Fix race between adapter connection publication and session attachment by @aperez in #2049
- Fix debugger hang when expanding objects with blocking property getters (#2053) by @rchiodo in #2055
- Fix duplicate stopped event when two threads hit a breakpoint at once by @aperez in #2056
- Avoid exceptions in environment diagnostics by @rchiodo in #2059
- Fix thread identity when the first traced call is another thread's is_alive() by @aperez in #2061
- Respect isolated mode when patching sys.path by @karandhaodiyal28-hash in #2050
Enhancements
- Add trigger_exception_handler() for post-mortem debugging of caught exceptions by @nshepperd in #1996
- Add lldb attach-to-PID option for debugpy on Linux by @pdepetro in #2052
- Populate hitBreakpointIds in the DAP stopped event by @aperez in #2060
- Return the endpoint from listen() with the in-process adapter by @karandhaodiyal28-hash in #2051
Infrastructure work
- Add Dependabot configuration for pip and GitHub Actions by @rchiodo in #2041
- Update vendored pydevd 3.4.1 -> 3.5.0 (maintenance refresh) by @rchiodo in #2044
- Pin secure test dependency floors and drop EOL Python 3.9/3.8 by @rchiodo in #2045
- Add more typing to debugpy and switch to 'standard' type checking mode by @rchiodo in #1637
- Add debugpy release agent by @rchiodo in #2062
- Pin GitHub Actions to full-length commit SHAs by @danfiedler-msft in #2063
- Add python 3.15 to tests by @finnagin in #2069
Thanks to @pdepetro, @rchiodo, @nshepperd, @aperez, @karandhaodiyal28-hash, @danfiedler-msft, and @finnagin for the commits.
Full Changelog: v1.8.21...v1.8.22