{"id":17439360,"url":"https://github.com/danielchristianschroeter/vscode-git-tag-release-tracker","last_synced_at":"2026-04-02T15:43:01.634Z","repository":{"id":257922504,"uuid":"860677476","full_name":"danielchristianschroeter/vscode-git-tag-release-tracker","owner":"danielchristianschroeter","description":"Git Tag Release Tracker is a VS Code extension that simplifies managing Git tags and releases for GitHub and GitLab directly from your editor, allowing you to increment semantic versions and track CI/CD build statuses with ease.","archived":false,"fork":false,"pushed_at":"2024-10-21T19:49:56.000Z","size":1485,"stargazers_count":0,"open_issues_count":5,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-10-25T09:27:57.599Z","etag":null,"topics":["build","build-status","ci","git-tag","git-versioning","github","github-ci","github-workflows","gitlab","gitlab-ci","gitlab-pipelines","pipelines","semver","semver-release","vscode","vscode-extension","vscode-extensions","workflows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/danielchristianschroeter.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["danielchristianschroeter"]}},"created_at":"2024-09-20T22:58:00.000Z","updated_at":"2024-10-19T21:56:12.000Z","dependencies_parsed_at":"2024-10-19T12:39:12.776Z","dependency_job_id":"6524a36b-9f93-4841-9679-1d529d26619c","html_url":"https://github.com/danielchristianschroeter/vscode-git-tag-release-tracker","commit_stats":null,"previous_names":["danielchristianschroeter/vscode-git-tag-release-tracker"],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielchristianschroeter%2Fvscode-git-tag-release-tracker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielchristianschroeter%2Fvscode-git-tag-release-tracker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielchristianschroeter%2Fvscode-git-tag-release-tracker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danielchristianschroeter%2Fvscode-git-tag-release-tracker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danielchristianschroeter","download_url":"https://codeload.github.com/danielchristianschroeter/vscode-git-tag-release-tracker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228557178,"owners_count":17936452,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["build","build-status","ci","git-tag","git-versioning","github","github-ci","github-workflows","gitlab","gitlab-ci","gitlab-pipelines","pipelines","semver","semver-release","vscode","vscode-extension","vscode-extensions","workflows"],"created_at":"2024-10-17T13:07:05.191Z","updated_at":"2026-04-02T15:43:01.625Z","avatar_url":"https://github.com/danielchristianschroeter.png","language":"TypeScript","funding_links":["https://github.com/sponsors/danielchristianschroeter"],"categories":[],"sub_categories":[],"readme":"# Git Tag Release Tracker\n\n[![Visual Studio Marketplace](https://img.shields.io/visual-studio-marketplace/v/DanielChristianSchroeter.git-tag-release-tracker?style=flat\u0026label=Visual%20Studio%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=DanielChristianSchroeter.git-tag-release-tracker) [![Visual Studio Marketplace Installs](https://img.shields.io/visual-studio-marketplace/i/DanielChristianSchroeter.git-tag-release-tracker?style=flat\u0026label=Visual%20Studio%20Marketplace%20Installs\u0026logo=visual-studio-code)](https://marketplace.visualstudio.com/items?itemName=DanielChristianSchroeter.git-tag-release-tracker) [![OpenVSX Registry Downloads](https://img.shields.io/open-vsx/dt/DanielChristianSchroeter/git-tag-release-tracker?style=flat\u0026label=OpenVSX%20Downloads)](https://open-vsx.org/extension/DanielChristianSchroeter/git-tag-release-tracker)\n\nThe **Git Tag Release Tracker** extension for VS Code simplifies Git tag and release management. Increment semantic versions (Major, Minor, Patch) with a single click in the hover menu. Automatically tracks and displays CI/CD build status for your tags and branches for GitHub Actions and GitLab Pipelines.\n\n## Features\n\n- **Automatic Detection**: Identifies Git repository, branch, latest tags, and CI/CD system (GitHub Actions or GitLab Pipelines).\n- **Multi-Repo Dashboard**: Hover over the status bar item to see a detailed dashboard with the status of all repositories in your workspace.\n- **Status Bar Integration**: Displays an aggregated count of unmerged and unreleased commits from all repositories with loading indicators.\n- **Tag Management**: Increment major, minor, or patch version tags while preserving existing prefixes and suffixes.\n- **CI/CD Integration**: Shows build status for the latest tag and current branch with clickable links to pipelines.\n- **Compare Commits**: Open a GitHub/GitLab compare link to view changes between tags/branches.\n- **Automatic Updates**: Status bar updates build status on repository/branch changes and after any push.\n- **Real-Time Polling \u0026 Smart Caching**: In-progress build statuses are polled every 15 seconds at first, then backed off automatically to reduce API pressure, while completed results are cached for 1 minute to keep the extension responsive.\n- **Startup-Safe CI Loading**: Repository status data loads in small batches, and transient GitHub/GitLab transport errors such as connection resets are retried automatically.\n- **Active-File Aware Actions**: Version-increment buttons and Quick Pick menus automatically target the repository of your currently active file.\n\n**Note**: This extension only supports [Semantic Versioning](https://semver.org/) for tag management. Make sure your project follows the SemVer specification for optimal use of this extension.\n\n### Multi-Repo Dashboard\n\nThe status bar provides an at-a-glance summary of all your repositories. For a detailed breakdown, simply hover over the status bar item. A rich tooltip will appear, showing a table with the following information for each repository:\n\n- **Repository Name**: The name of the repository folder.\n- **Current Branch**: The currently checked-out branch and its relationship to the default branch.\n- **Latest Tag**: The most recent version tag.\n- **Build Status**: CI/CD build status for the current branch or tag with clickable links to pipelines.\n- **Unreleased Commits**: The number of commits on the default branch since the latest tag.\n- **Unmerged Commits**: The number of commits on your feature branch that are not yet in the default branch.\n- **Actions**: Icons for comparing changes and creating new version tags.\n\n### Version Management\n\nWhen working on the default branch with unreleased commits, you'll see version increment buttons in the hover menu:\n\n- **Major (M)**: Increment the first number (e.g., 1.0.0 → 2.0.0)\n- **Minor (m)**: Increment the second number (e.g., 1.0.0 → 1.1.0)\n- **Patch (p)**: Increment the third number (e.g., 1.0.0 → 1.0.1)\n- **Initial**: Create first tag (1.0.0) for repositories with no tags\n\nAll version increments preserve any existing prefixes or suffixes in your tags (e.g., \"v1.0.0-beta\" → \"v1.1.0-beta\").\n\n### Build Status Indicators\n\nThe extension shows build status for both branches and tags with intuitive icons:\n\n- **Success**: ✓ (green checkmark)\n- **Failure**: ✗ (red X)\n- **Running**: ↻ (spinning icon)\n- **Pending**: ⏱ (clock icon)\n- **Cancelled**: ⊘ (cancelled icon)\n\nClicking on a build status icon takes you directly to the corresponding CI/CD pipeline.\n\n### Screenshots\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"images/dashboard-branch-and-tag-build-status.png\" alt=\"Dashboard with Branch and Tag Build Status\" width=95%\u003e\n\u003cbr/\u003e\n\u003cem\u003eSee all your repos in one view with your unreleased / unmerged commits with your current GitHub or GitLab branch or tag build status\u003c/em\u003e\n\u003c/p\u003e\n\n## Requirements\n\n- A Git repository with a configured remote (GitHub or GitLab).\n- For CI/CD status checks, create a Personal Access Token with the following scopes:\n  - For GitHub:\n    - Go to Settings \u003e Developer settings \u003e Personal access tokens \u003e Generate new token.\n    - Select the `workflow` scope.\n  - For GitLab:\n    - Go to User Settings \u003e Access Tokens.\n    - Create a new token with the `read_api` scope.\n\n## Extension Settings\n\n- `gitTagReleaseTracker.ciProviders`: Configure CI providers (GitHub and GitLab).\n\n## Setting up CI/CD Status Checks\n\n1. Generate Personal Access Tokens as per the requirements.\n2. Open VS Code settings (File \u003e Preferences \u003e Settings).\n3. Add the following to `settings.json`:\n\n   ```json\n   \"gitTagReleaseTracker.ciProviders\": {\n     \"github\": {\n       \"token\": \"your-github-token\",\n       \"apiUrl\": \"https://api.github.com\"\n     },\n     \"gitlab\": {\n       \"token\": \"your-gitlab-token\",\n       \"apiUrl\": \"https://gitlab.com/api/v4\"  // or your self-hosted GitLab URL\n     }\n   }\n   ```\n\n   Replace token placeholders with actual tokens.\n\n4. Update `apiUrl` for self-hosted GitLab instances.\n5. Save your settings.\n\nThe extension will detect and use the appropriate CI system for each repository.\n\nWhen a provider is close to its API limit, the extension temporarily serves cached CI results and pauses fresh status checks until the reset window, which helps avoid exhausting the remaining quota.\n\n## Commands\n\n- `Git Tag Release Tracker: Show Logs`: Open the extension's log output channel.\n- `Git Tag Release Tracker: Refresh Dashboard`: Manually clear the cache and refresh build status / commit counts.\n\nAccess these commands through the Command Palette (Ctrl+Shift+P or Cmd+Shift+P on macOS).\n\n## Semantic Versioning\n\nThis extension adheres to [Semantic Versioning 2.0.0](https://semver.org/). Understand the principles of SemVer:\n\n1. MAJOR version for incompatible API changes,\n2. MINOR version for adding functionality in a backwards compatible manner,\n3. PATCH version for backwards compatible bug fixes.\n\n## Troubleshooting\n\n- Check extension logs via \"Git Tag Release Tracker: Show Logs\".\n- Ensure CI tokens are correctly configured.\n- Verify repository has a valid remote URL and is connected to GitHub or GitLab.\n- Transient provider transport issues such as `ECONNRESET` or `socket hang up` are retried automatically; if they persist, the extension temporarily shows an unknown CI state and retries on the next refresh.\n- If build status updates pause for a while under heavy API usage, the extension may be in a temporary rate-limit cooldown and will resume fresh checks after the provider reset window.\n- If you see \"Loading...\" for an extended period, try switching between files or refreshing VS Code.\n- If build status isn't showing, verify your CI/CD configuration and tokens.\n\n## Feedback and Contributions\n\nFeedback and contributions are welcome! Submit issues or pull requests on the [GitHub repository](https://github.com/danielchristianschroeter/vscode-git-tag-release-tracker).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielchristianschroeter%2Fvscode-git-tag-release-tracker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanielchristianschroeter%2Fvscode-git-tag-release-tracker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanielchristianschroeter%2Fvscode-git-tag-release-tracker/lists"}