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.jsonwith 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.htmlto 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 compilein the subdirectory) to automatically update the documentation. Commit it to themainbranch. - 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-dapornpm run sync-next-dapand run theGenerate debugProtocol.tslaunch configuration to update theDebugProtocolTypeScript module. - Run
./bump-version.sh preminor --preid prein 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 minorwith steps 2-4 again.
- Whenever there are worthwhile DAP changes, pull the updated DAP schema by running