TBD
This section describes how changes in the Debug Adapter Protocol are released; informational for most readers, and instructional for maintainers.
DAP versions are synchronized to VS Code's iterations, with a minor release being cut about every month. All DAP changes for an iteration are committed to the main
branch which is merged into the gh-pages
branch in endgame week.
We also maintain npm packages containing the DAP types and a Node.js adapter and a test support library. Typically we update those three libraries whenever we change DAP (and commit to the main
branch) so that interested stakeholders can try out latest DAP changes early. Since changes are considered to be "unofficial" until released to the gh-pages
branch, we publish the three npm modules as a "pre-release version" first, e.g. with a version number like 1.53.0-pre.1
.
Detailed steps:
- After discussion on the Github issue has come to a conclusion (typically with an agreed upon API proposal in TypeScript), update
debugAdapterProtocol.json
with the corresponding schema changes. - Add an entry in
changelog.md
. If this is the first change of the iteration, add a new new section header with the upcoming version number, e.g.* 1.53.X:
and bump the version number inindex.html
to the same number. The version number can be found in the sentence:The latest version of the protocol specification is version 1.53.0.
- Run
node spec-generator
(afternpm install && npm run compile
in the subdirectory) to automatically update the documentation. Commit it to themain
branch. - If this is a feature that VS Code would want to implement, open a corresponding issue in the VS Code repo.
- Updating the npm modules:
- Whenever there are worthwhile DAP changes, pull the updated DAP schema by running
npm run sync-dap
ornpm run sync-next-dap
and run theGenerate debugProtocol.ts
launch configuration to update theDebugProtocol
TypeScript module. - Run
./bump-version.sh preminor --preid pre
in the repo, which will create a prerelease tag and a branch namedrelease/<version name>
rece. - Create a PR for the release branch. Once merged, packages will get automatically published by CI.
- Adopt the three new npm modules in Mock Debug to verify that they still work.
- Commit and push the version changes to Mock Debug.
- At the end of each VS Code iteration (typically Wednesday of endgame week), publish the final version of the three npm packages by running
./bump-version.sh minor
with steps 2-4 again.
- Whenever there are worthwhile DAP changes, pull the updated DAP schema by running