Repository navigation
Publish regular pre-release builds to VS Code Marketplace #1751
Description
Activity
I support this. But if not (or perhaps in addition), we should at least do a better job of telling people how to install the development version from GitHub. I'd probably just add a folded
detailssection to the README, e.g.Install dev version from GitHub
curl -fsSL \ https://github.com/REditorSupport/vscode-R/releases/download/latest/vscode-R.vsix \ -o vscode-R.vsix code --install-extension vscode-R.vsix
- added a commit that references this issue
on Oct 4, 2026 Publishing development builds through the VS Code Marketplace's pre-release channel would make it easier for users to try the latest features and give maintainers more timely feedback before stable releases.
The existing pre-release workflow already updates the GitHub
latestrelease after successful verification of a push tomain. The README documents downloading that VSIX and installing it manually, but users still need to repeat those steps to stay current.I suggest extending this workflow to publish verified builds to the pre-release channel of the existing
REditorSupport.rMarketplace listing. Users could then select Switch to Pre-Release Version in VS Code and receive subsequent pre-release updates automatically.The implementation should:
- Preserve the existing build, lint, and test gates before publication.
- Assign unique, increasing Marketplace-compatible versions, accounting for version ordering between pre-release builds and stable releases.
- Document how to opt in, return to the release version, and report feedback with the extension version and reproduction steps.
This would make testing upcoming features more accessible and help us catch regressions earlier across users' real environments.
I looked into how some existing VS Code extensions handle Marketplace-compatible pre-release versions.
I think a daily pre-release, published only when
mainhas changed since the previous one, would be sufficient. We could reserve odd minor versions for pre-releases and even minor versions for stable releases, for example:3.0.1 stable 3.1.20261006 pre-release 3.1.20261007 pre-release ... 3.2.0 stableThis follows the odd/even minor scheme recommended by VS Code while keeping the patch useful as the build date. A future major release could similarly reserve a high odd minor such as
3.999.<date>before4.0.0.Some prior art:
- GitHub Pull Requests generates nightly versions programmatically as
<major>.<odd minor>.<YYYYMMDDHH>. Its build script creates a temporary package manifest rather than changing the committed stable version. - Python has code for generating a numeric timestamp-derived patch version (
1<Julian day><hour><minute>) for pre-release builds; its current pipeline delegates versioning to Microsoft's shared build templates. - Konveyor Editor Extensions also reserves odd minors for pre-releases, but computes the patch by scanning existing Git tags and incrementing it sequentially.
- TypeScript-Go injects the Marketplace version only while packaging, using
vsce ... --pre-release --no-update-package-json, so the generated pre-release version does not need to be committed topackage.json.
For vscode-R, I would favor the GitHub Pull Requests approach: generate a date-based version in the release workflow and use it only for the Marketplace artifact. The existing development VSIX could still be updated on every verified push, independently of the daily Marketplace pre-release.
- GitHub Pull Requests generates nightly versions programmatically as
Would that distinguish stable but bug fix and feature updates?
Would that distinguish stable but bug fix and feature updates?
Looks like:
3.0.1 stable 3.1.20261006 pre-release 3.0.2 stable bug-fix release 3.1.20261007 pre-release 3.0.3 stable bug-fix release 3.1.20261008 pre-release 3.2.0 next stable feature release 3.3.20261009 pre-releaseReacted by Fred-Wu- added a commit that references this issue
on Oct 7, 2026
We currently publish a development VSIX to a GitHub pre-release on every push to
master, but users cannot opt into automatic pre-release updates through the VS Code Marketplace.We cannot simply publish the current version such as
3.0.0-rc.0: Marketplace pre-releases still require a plainmajor.minor.patchversion and do not support SemVer pre-release identifiers.I propose that we:
vsce publish --pre-release;This would make testing upcoming 3.x releases much easier without requiring users to manually download and install VSIX files.