# Release process You need to perform the following steps to release a new version of the extension. These examples use version `3.0.0`: 1. Do a quick test of the extension in your local development. At this stage, you are only verifying there is no complete failure of the extension. 1. Update the package version in `npm version 3.0.0`. This automatically generates a changelog entry. 1. If there have been community contributions: 1. Manually add attribution to the `CHANGELOG.md` and `CONTRIBUTORS.md`. For example: ```plaintext (Implemented|Fixed) by [@flood4life](https://gitlab.com/flood4life) with [MR !90](https://gitlab.com/gitlab-org/gitlab-vscode-extension/-/merge_requests/90) 👍 ``` 1. Add the contributor's entry to `CONTRIBUTORS.md`, if it doesn't exist. 1. `git push origin main` and `git push --tags` 1. Trigger the **Publish** step on the tag pipeline. 1. When the extension updates in your VS Code, do another quick check. ## Access tokens for Marketplaces *This section applies once a year when the Microsoft VS Code Marketplace token automatically expires.* Our [CI jobs](https://gitlab.com/gitlab-org/gitlab-vscode-extension/blob/e80e5798dbac5944ebaa52dc0dc2cb861509588e/.gitlab-ci.yml#L110-124) use the access tokens for publishing packaged extension to market places. ### How to generate tokens #### Open VSX 1. Log in to [github.com](https://github.com/) with `GitHub vscode account` credentials from the "VS Code Extension" 1Password Vault. 1. Log in to [open-vsx.org](https://open-vsx.org/) with the GitHub account. 1. Go to the [Access Tokens Settings page](https://open-vsx.org/user-settings/tokens). 1. Create a new token. #### Microsoft VS Code Marketplace 1. Sign in to [Microsoft Azure](https://azure.microsoft.com/) with `VScode Marketplace` credentials from the "VS Code Extension" 1Password Vault. 1. Go to **Personal Access Tokens**. ([Official VS Code publishing documentation](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#get-a-personal-access-token)). 1. You can either: - Extend the expiration date of an existing token. **This is the best solution when you receive token expiration email.** - Generate a new token. Assign it the least privileges possible - it probably only needs **Marketplace - publish**.