diff --git a/.github/workflows/security.yml b/.github/workflows/security.yml index 6a830413..8c19e891 100644 --- a/.github/workflows/security.yml +++ b/.github/workflows/security.yml @@ -34,6 +34,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -77,6 +79,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -126,6 +130,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Setup Node.js uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0 @@ -163,6 +169,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Initialize CodeQL uses: github/codeql-action/init@e46ed2cbd01164d986452f91f178727624ae40d7 # v4 @@ -195,6 +203,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Run Semgrep uses: semgrep/semgrep-action@713efdd345f3035192eaa63f56867b88e63e4e5d # v1 (v0.58.0, verified 2026-03-17) @@ -204,6 +214,38 @@ jobs: p/security-audit p/secrets + gitleaks: + name: Gitleaks Secret Scan + runs-on: ubuntu-latest + permissions: + contents: read + + steps: + - name: Harden Runner + uses: step-security/harden-runner@a5ad31d6a139d249332a2605b85202e8c0b78450 # v2.19.1 + with: + egress-policy: audit + + - name: Checkout repository + uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + + - name: Install gitleaks + env: + GITLEAKS_VERSION: "8.30.1" + GITLEAKS_SHA256: "551f6fc83ea457d62a0d98237cbad105af8d557003051f41f3e7ca7b3f2470eb" + run: | + curl -sSfL "https://github.com/gitleaks/gitleaks/releases/download/v${GITLEAKS_VERSION}/gitleaks_${GITLEAKS_VERSION}_linux_x64.tar.gz" \ + -o gitleaks.tar.gz + echo "${GITLEAKS_SHA256} gitleaks.tar.gz" | sha256sum -c - + tar -xz -C /usr/local/bin gitleaks < gitleaks.tar.gz + rm gitleaks.tar.gz + gitleaks version + + - name: Run gitleaks + run: gitleaks detect --source . --no-git --verbose + socket-security: name: Socket.dev Security runs-on: ubuntu-latest @@ -221,6 +263,8 @@ jobs: - name: Checkout repository uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false - name: Socket Security Review uses: SocketDev/action@ba6de6cc0565af1f42295590380973573297e31f # v1.3.2 diff --git a/.gitignore b/.gitignore index e570a5a5..212ce136 100644 --- a/.gitignore +++ b/.gitignore @@ -1,35 +1,128 @@ -# Dependencies -node_modules/ +# ============================================================ +# Security baseline (SSOT: _meta/_templates/infra/gitignore-security-baseline.md) +# ============================================================ -# Build output -out/ -dist/ +# --- Secret insurance (STD-00020 R3) --- +**/.env +**/.env.local +**/.env.*.local +**/.envrc +**/.envrc.local -# Coverage reports -coverage/ +**/*.pem +**/*.key +**/*.p12 +**/*.pfx +**/*.jks +**/*.keystore +**/*.gpg -# VS Code extension packages -*.vsix +**/id_rsa +**/id_rsa.* +**/id_dsa +**/id_ecdsa +**/id_ecdsa.* +**/id_ed25519 +**/id_ed25519.* -# VS Code test downloads -.vscode-test/ +**/credentials +**/credentials.json +**/credentials.yaml +**/credentials.yml +**/*.credentials.json +**/.git-credentials +**/.netrc +**/.npmrc +**/.pgpass +**/.htpasswd +**/.vault_pass +**/vault_pass.txt + +**/service_account*.json +**/*-service-account*.json +**/firebase-adminsdk*.json +**/gcp-credentials*.json +**/aws-credentials*.json +**/client_secret*.json + +**/secret.yaml +**/secret.yml +**/secrets.yaml +**/secrets.yml +**/private.asc +**/privkey.asc +**/secret.asc + +**/.aws/config +**/.config/gcloud/application_default_credentials.json +**/.config/gcloud/credentials.db +**/.credentials/ +**/sensitive/ +**/kubeconfig +**/*.kubeconfig + +# --- OS generated files --- +**/.DS_Store +**/.DS_Store? +**/._* +**/.Spotlight-V100 +**/.Trashes +**/Thumbs.db +**/ehthumbs.db +**/Desktop.ini -# TypeScript cache -*.tsbuildinfo +# --- Editor / IDE --- +**/.vscode/ +**/.idea/ +**/*.swp +**/*.swo +**/*~ +**/.project +**/.classpath +**/.settings/ -# ESLint cache -.eslintcache +# --- Node.js / TypeScript --- +**/node_modules/ +**/.npm/ +**/*.tsbuildinfo +**/.eslintcache -# OS files -.DS_Store +# --- Python --- +**/__pycache__/ +**/*.py[cod] +**/*$py.class +**/*.egg-info/ +**/.mypy_cache/ +**/.ruff_cache/ +**/.pytest_cache/ +**/venv/ +**/.venv/ -# IDE -.idea/ +# --- Build output / coverage --- +**/dist/ +**/coverage/ +**/.nyc_output/ -# Logs -*.log -npm-debug.log* +# --- Logs / temp files --- +**/*.log +**/npm-debug.log* +**/yarn-debug.log* +**/yarn-error.log* +**/*.tmp +**/*.temp -# Environment -.env -.env.local +# ============================================================ +# Project-specific exclusions (add below) +# ============================================================ + +# VS Code workspace configs (intentionally tracked for extension development) +!extensions/*/.vscode/ + +# Build output +out/ + +# VS Code extension packages +*.vsix + +# VS Code test downloads +.vscode-test/ diff --git a/.gitleaks.toml b/.gitleaks.toml new file mode 100644 index 00000000..d17d8559 --- /dev/null +++ b/.gitleaks.toml @@ -0,0 +1,10 @@ +[extend] +useDefault = true + +[allowlist] +paths = [ + '''(src|out)/test/''', + '''(src|out)/ssh/sshAgent\.(ts|js)''', + '''\.vscode-test/''', + '''node_modules/''', +] diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index d5c557c6..48b4cd6d 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -26,3 +26,9 @@ repos: args: ['--maxkb=1000'] - id: mixed-line-ending args: ['--fix=lf'] + + # Secret detection + - repo: https://github.com/gitleaks/gitleaks + rev: v8.30.1 + hooks: + - id: gitleaks diff --git a/README.md b/README.md index 71ac8ff0..2b9253e7 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ [![Snyk monitored](https://img.shields.io/badge/Snyk-monitored-4C4A73?logo=snyk&logoColor=white)](https://snyk.io/) [![Socket.dev](https://img.shields.io/badge/Socket.dev-monitored-7042F5)](https://socket.dev/dashboard/org/null-variant/repo/nullvariant-vscode-extensions) [![GitGuardian](https://img.shields.io/badge/GitGuardian-monitored-7042F5?logo=gitguardian)](https://www.gitguardian.com/) +[![Gitleaks](https://img.shields.io/badge/Gitleaks-enabled-blue?logo=git&logoColor=white)](https://github.com/gitleaks/gitleaks) [![Renovate](https://img.shields.io/badge/renovate-enabled-brightgreen?logo=renovatebot)](https://renovatebot.com) [![FOSSA License](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fnullvariant%2Fnullvariant-vscode-extensions.svg?type=shield&issueType=license)](https://app.fossa.com/projects/git%2Bgithub.com%2Fnullvariant%2Fnullvariant-vscode-extensions?ref=badge_shield&issueType=license) [![FOSSA Security](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fnullvariant%2Fnullvariant-vscode-extensions.svg?type=shield&issueType=security)](https://app.fossa.com/projects/git%2Bgithub.com%2Fnullvariant%2Fnullvariant-vscode-extensions?ref=badge_shield&issueType=security) diff --git a/SECURITY.md b/SECURITY.md index bea50c31..96762266 100644 --- a/SECURITY.md +++ b/SECURITY.md @@ -67,6 +67,7 @@ This repository contains VS Code extensions with the following security measures - **Fork Protection**: Sensitive workflows skip on fork repositories - **SAST (Snyk Code)**: [Snyk](https://snyk.io/) runs static analysis; test fixtures are excluded via `.snyk` policy - **License & Vulnerability Scanning**: [FOSSA](https://app.fossa.com/) runs license compliance, dependency quality, and security analysis on every commit (GitHub App integration) +- **Secret Detection**: [Gitleaks](https://github.com/gitleaks/gitleaks) scans for hardcoded secrets in both CI (`security.yml`) and pre-commit hooks (`.pre-commit-config.yaml`) - **Runtime Security Monitoring**: [StepSecurity Harden-Runner](https://github.com/step-security/harden-runner) monitors all workflow runs for suspicious network egress, file access, and process execution - **Branch Protection**: Main branch requires PR approval (1 reviewer minimum). All PRs are automatically approved by nullvariant-justice[bot] after CI passes (solo-developer workflow for [OpenSSF Scorecard](https://securityscorecards.dev/) compliance). Dependency bot PRs receive additional safety review before approval. Enforced by [Allstar](https://github.com/ossf/allstar/) diff --git a/extensions/git-id-switcher/CHANGELOG.md b/extensions/git-id-switcher/CHANGELOG.md index b810bd25..68efec20 100644 --- a/extensions/git-id-switcher/CHANGELOG.md +++ b/extensions/git-id-switcher/CHANGELOG.md @@ -7,6 +7,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +## [0.19.5] - 2026-05-09 + +### Added + +- **Gitleaks secret detection**: Added gitleaks v8.30.1 for multi-layered secret scanning via pre-commit hook and CI job with SHA256 checksum verification +- **Gitleaks badge**: Added Gitleaks badge to the root README, extension README, and all 26 localized READMEs + +### Changed + +- **.gitignore security baseline**: Rewrote .gitignore with comprehensive secret insurance patterns (`**/` prefix, credential files, key files) and project-specific negation for extension `.vscode/` dev configs +- **Workflow hardening**: Added `persist-credentials: false` to all 8 checkout steps in `security.yml` + ## [0.19.4] - 2026-04-16 ### Removed diff --git a/extensions/git-id-switcher/README.md b/extensions/git-id-switcher/README.md index d6f0cc1d..b930bb90 100644 --- a/extensions/git-id-switcher/README.md +++ b/extensions/git-id-switcher/README.md @@ -25,6 +25,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/ain/README.md b/extensions/git-id-switcher/docs/i18n/ain/README.md index 53825cfb..c6dacf6b 100644 --- a/extensions/git-id-switcher/docs/i18n/ain/README.md +++ b/extensions/git-id-switcher/docs/i18n/ain/README.md @@ -43,6 +43,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/bg/README.md b/extensions/git-id-switcher/docs/i18n/bg/README.md index b0924113..506d7429 100644 --- a/extensions/git-id-switcher/docs/i18n/bg/README.md +++ b/extensions/git-id-switcher/docs/i18n/bg/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/cs/README.md b/extensions/git-id-switcher/docs/i18n/cs/README.md index a287312e..489556ed 100644 --- a/extensions/git-id-switcher/docs/i18n/cs/README.md +++ b/extensions/git-id-switcher/docs/i18n/cs/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/de/README.md b/extensions/git-id-switcher/docs/i18n/de/README.md index 18560573..399dee43 100644 --- a/extensions/git-id-switcher/docs/i18n/de/README.md +++ b/extensions/git-id-switcher/docs/i18n/de/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/en/README.md b/extensions/git-id-switcher/docs/i18n/en/README.md index 03288a25..dbf11e75 100644 --- a/extensions/git-id-switcher/docs/i18n/en/README.md +++ b/extensions/git-id-switcher/docs/i18n/en/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/eo/README.md b/extensions/git-id-switcher/docs/i18n/eo/README.md index 03f5ceea..3d556ffb 100644 --- a/extensions/git-id-switcher/docs/i18n/eo/README.md +++ b/extensions/git-id-switcher/docs/i18n/eo/README.md @@ -26,6 +26,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/es/README.md b/extensions/git-id-switcher/docs/i18n/es/README.md index decab6e3..46da25ce 100644 --- a/extensions/git-id-switcher/docs/i18n/es/README.md +++ b/extensions/git-id-switcher/docs/i18n/es/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/fr/README.md b/extensions/git-id-switcher/docs/i18n/fr/README.md index 610a42a4..37747c6f 100644 --- a/extensions/git-id-switcher/docs/i18n/fr/README.md +++ b/extensions/git-id-switcher/docs/i18n/fr/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/haw/README.md b/extensions/git-id-switcher/docs/i18n/haw/README.md index 237fe763..5a38c6b2 100644 --- a/extensions/git-id-switcher/docs/i18n/haw/README.md +++ b/extensions/git-id-switcher/docs/i18n/haw/README.md @@ -41,6 +41,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/hu/README.md b/extensions/git-id-switcher/docs/i18n/hu/README.md index de8bfda5..283e8e00 100644 --- a/extensions/git-id-switcher/docs/i18n/hu/README.md +++ b/extensions/git-id-switcher/docs/i18n/hu/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/it/README.md b/extensions/git-id-switcher/docs/i18n/it/README.md index 781455fe..75f5d536 100644 --- a/extensions/git-id-switcher/docs/i18n/it/README.md +++ b/extensions/git-id-switcher/docs/i18n/it/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/ja/README.md b/extensions/git-id-switcher/docs/i18n/ja/README.md index 5e7ec852..28126df2 100644 --- a/extensions/git-id-switcher/docs/i18n/ja/README.md +++ b/extensions/git-id-switcher/docs/i18n/ja/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/ko/README.md b/extensions/git-id-switcher/docs/i18n/ko/README.md index 5e0faf08..a2930f9e 100644 --- a/extensions/git-id-switcher/docs/i18n/ko/README.md +++ b/extensions/git-id-switcher/docs/i18n/ko/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/pl/README.md b/extensions/git-id-switcher/docs/i18n/pl/README.md index dd8995aa..0e1f2fb1 100644 --- a/extensions/git-id-switcher/docs/i18n/pl/README.md +++ b/extensions/git-id-switcher/docs/i18n/pl/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/pt-BR/README.md b/extensions/git-id-switcher/docs/i18n/pt-BR/README.md index f9865d6e..423d159f 100644 --- a/extensions/git-id-switcher/docs/i18n/pt-BR/README.md +++ b/extensions/git-id-switcher/docs/i18n/pt-BR/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/ru/README.md b/extensions/git-id-switcher/docs/i18n/ru/README.md index 0d04af15..d42cca49 100644 --- a/extensions/git-id-switcher/docs/i18n/ru/README.md +++ b/extensions/git-id-switcher/docs/i18n/ru/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/ryu/README.md b/extensions/git-id-switcher/docs/i18n/ryu/README.md index 2a11c060..12cefc42 100644 --- a/extensions/git-id-switcher/docs/i18n/ryu/README.md +++ b/extensions/git-id-switcher/docs/i18n/ryu/README.md @@ -43,6 +43,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/tlh/README.md b/extensions/git-id-switcher/docs/i18n/tlh/README.md index a9f3657e..a70843a6 100644 --- a/extensions/git-id-switcher/docs/i18n/tlh/README.md +++ b/extensions/git-id-switcher/docs/i18n/tlh/README.md @@ -27,6 +27,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/tok/README.md b/extensions/git-id-switcher/docs/i18n/tok/README.md index 6ebf6268..fc9cd7a8 100644 --- a/extensions/git-id-switcher/docs/i18n/tok/README.md +++ b/extensions/git-id-switcher/docs/i18n/tok/README.md @@ -27,6 +27,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/tr/README.md b/extensions/git-id-switcher/docs/i18n/tr/README.md index d5e54787..0bb7f8a2 100644 --- a/extensions/git-id-switcher/docs/i18n/tr/README.md +++ b/extensions/git-id-switcher/docs/i18n/tr/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/uk/README.md b/extensions/git-id-switcher/docs/i18n/uk/README.md index 566f6aac..de269ebf 100644 --- a/extensions/git-id-switcher/docs/i18n/uk/README.md +++ b/extensions/git-id-switcher/docs/i18n/uk/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/x-lolcat/README.md b/extensions/git-id-switcher/docs/i18n/x-lolcat/README.md index 352e819c..5e5447b2 100644 --- a/extensions/git-id-switcher/docs/i18n/x-lolcat/README.md +++ b/extensions/git-id-switcher/docs/i18n/x-lolcat/README.md @@ -25,6 +25,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/x-pirate/README.md b/extensions/git-id-switcher/docs/i18n/x-pirate/README.md index ddefa94f..95c2f0bd 100644 --- a/extensions/git-id-switcher/docs/i18n/x-pirate/README.md +++ b/extensions/git-id-switcher/docs/i18n/x-pirate/README.md @@ -25,6 +25,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md b/extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md index 85f8960f..d7e31af5 100644 --- a/extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md +++ b/extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md @@ -26,6 +26,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/zh-CN/README.md b/extensions/git-id-switcher/docs/i18n/zh-CN/README.md index 2496f76f..73520930 100644 --- a/extensions/git-id-switcher/docs/i18n/zh-CN/README.md +++ b/extensions/git-id-switcher/docs/i18n/zh-CN/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/docs/i18n/zh-TW/README.md b/extensions/git-id-switcher/docs/i18n/zh-TW/README.md index 262d5536..71674996 100644 --- a/extensions/git-id-switcher/docs/i18n/zh-TW/README.md +++ b/extensions/git-id-switcher/docs/i18n/zh-TW/README.md @@ -21,6 +21,7 @@ codecov Quality Gate Status Snyk monitored + Gitleaks Harden-Runner Karesansui Architecture
diff --git a/extensions/git-id-switcher/package.json b/extensions/git-id-switcher/package.json index a09b1d7c..d28f3a1e 100644 --- a/extensions/git-id-switcher/package.json +++ b/extensions/git-id-switcher/package.json @@ -2,7 +2,7 @@ "name": "git-id-switcher", "displayName": "%extension.displayName%", "description": "%extension.description%", - "version": "0.19.4", + "version": "0.19.5", "publisher": "nullvariant", "icon": "images/icon.png", "engines": { diff --git a/extensions/git-id-switcher/src/ui/documentationInternal.ts b/extensions/git-id-switcher/src/ui/documentationInternal.ts index 1ec898ca..e5969187 100644 --- a/extensions/git-id-switcher/src/ui/documentationInternal.ts +++ b/extensions/git-id-switcher/src/ui/documentationInternal.ts @@ -33,44 +33,44 @@ export const DOCUMENT_HASHES: Record = { 'AGENTS.md': 'c4918e12fd7900bfc41e708992ebc4b7326600ce9327e8020a986fe4dd807f8d', 'CODE_OF_CONDUCT.md': 'a0e9cb2e004663cdedef4e1adc0e429417ccfc479e367cbc17b869f62ae759d2', 'CONTRIBUTING.md': 'ed4d1f391ffe04e3031dfc9f16fd8fd5dcd54ba23af3b3202c07adac5ba23da7', - 'extensions/git-id-switcher/CHANGELOG.md': '02f268557fbdd94f4a94f84192e0b5db11dcad83406e3f8bc38975bddc7dc7c8', + 'extensions/git-id-switcher/CHANGELOG.md': 'df6ccd555473bdab19e6e3b278af41d32f9827ea0284655f2913e4c51d7f87cf', 'extensions/git-id-switcher/docs/ARCHITECTURE.md': 'd5d879d988054d208739497962a0f937f2f21bdaab51776c4e8363cba99d634c', 'extensions/git-id-switcher/docs/CONTRIBUTING.md': '7d6ad2bc4d8c838790754cb9df848cb65f9fdce7e1a13e5c965b83a3d5b6378c', 'extensions/git-id-switcher/docs/DESIGN_PHILOSOPHY.md': 'f9718b61ac161cb466dbc76845688e7acacf4e5fdc4b8b9553269dba4a094f6b', - 'extensions/git-id-switcher/docs/i18n/ain/README.md': '0c638970cc577a25b980041fd0c5f9b79d39208bb69a6cc00a11cc6d4d83b2d8', - 'extensions/git-id-switcher/docs/i18n/bg/README.md': '63cb98db0328666baf239eda99dd642cd53e68a2d78030a335683ce40c6a527e', - 'extensions/git-id-switcher/docs/i18n/cs/README.md': '07e1054e61d43b41c7841ef46bc1118249e1c6885d5f4f349d242c3addaf8d2e', - 'extensions/git-id-switcher/docs/i18n/de/README.md': '1c63e2de0e1000ffbdb73a7e557e1fd1409f2a9465e413b8f484c1fe798918aa', - 'extensions/git-id-switcher/docs/i18n/en/README.md': '2ac255601a854e3915d5f03b30bec1b8ea9ebf9d44acabfe298e1ef76892d74e', - 'extensions/git-id-switcher/docs/i18n/eo/README.md': '643d73b77910c3eb8d3ed25a762bed14d856701f420a71c0bfedcc61afc17697', - 'extensions/git-id-switcher/docs/i18n/es/README.md': '67b6cc576fee5aa30831e15223de832f5b7961764d47e645ed8bfd6166b9e862', - 'extensions/git-id-switcher/docs/i18n/fr/README.md': '0efd22ac58d0fa2cac8ed7e4e820bdceb48de82465a9aa0023fdb1321fe29cea', - 'extensions/git-id-switcher/docs/i18n/haw/README.md': '80738803e9f673a00815921896cfd305a4378d04405e13bdc0cd8843523d372b', - 'extensions/git-id-switcher/docs/i18n/hu/README.md': 'ec1fd0786deb9e9dfde06df11ad8fc93320bd669489e124aaa09ccb77a571d41', - 'extensions/git-id-switcher/docs/i18n/it/README.md': '5efa2399a110b2f35ebb5484c6daa3c7bc2a29bb1a2deda305b44a35e2948aec', - 'extensions/git-id-switcher/docs/i18n/ja/README.md': 'dbb76d355ac7d0fdf13a4b5c10cd10a4f255297ddddee849d22395dd23e773b6', - 'extensions/git-id-switcher/docs/i18n/ko/README.md': 'ed76c11cfe55c8cf916dcf4ee0536c5795e9958954ddad3c5be6b0261abd8308', - 'extensions/git-id-switcher/docs/i18n/pl/README.md': '6482aca9402770730edb0fb9bdb4d12239026c225e291932fea62fe2612308f9', - 'extensions/git-id-switcher/docs/i18n/pt-BR/README.md': '12bef72da576bd4fa97394f08a095a4ae62e304ae7546cb3d21948580f5770a6', - 'extensions/git-id-switcher/docs/i18n/ru/README.md': '7b13bdd4012e64768ab466a12756097655a9aad13e989bfa2f2691a4957cfd52', - 'extensions/git-id-switcher/docs/i18n/ryu/README.md': '471c4be0dd95e28f5cb6edd24aff4656133c803572ae45da63a1a5d2d3188914', - 'extensions/git-id-switcher/docs/i18n/tlh/README.md': '475e34b837dec6ba19216892dbf55700852f870c0989659d6e1646ccfd8dbd00', - 'extensions/git-id-switcher/docs/i18n/tok/README.md': 'fea76a3e2615d9b2ec265e0f2e3ba56106c79a01f855cac96670c1b9e49ed0f2', - 'extensions/git-id-switcher/docs/i18n/tr/README.md': 'e57bc6a550ccc35e155d4f40a51d4714d802dffa0b33ea372af3005a551aa5f8', - 'extensions/git-id-switcher/docs/i18n/uk/README.md': '421c7a43bbbadbb8f936e0328ba58a18fdca26aac2d60f84d26e050ad6d631c4', - 'extensions/git-id-switcher/docs/i18n/x-lolcat/README.md': '2e24b3deb949fdc0de74a09d5ddee9c3f142d23e6f286213e4272f112bbc361b', - 'extensions/git-id-switcher/docs/i18n/x-pirate/README.md': 'c3d91cd293dc07dac59166bd4f6cd2d37747e4c1ad3deb1067947601b247a01a', - 'extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md': '2753c710e867542c7840070377946e3345f88aec211053a628033c5cd5599be8', - 'extensions/git-id-switcher/docs/i18n/zh-CN/README.md': '1086c9e40ada92c728e2bb0adc0373f322a29d227943a110b4e307df2c42673f', - 'extensions/git-id-switcher/docs/i18n/zh-TW/README.md': 'c3ea971daaaf1ad2a956ea5559d92b5b201c6cac11d5935d7fff43a87522f21b', + 'extensions/git-id-switcher/docs/i18n/ain/README.md': '1527fc1e93751169f6c7d58b1996c204c5eb01262f01f2005e671b637dd5ce42', + 'extensions/git-id-switcher/docs/i18n/bg/README.md': '0f7252154dfef22384a61998365285c922491cd234bb8bec5c567395f933249c', + 'extensions/git-id-switcher/docs/i18n/cs/README.md': '9d2d3d4955c27b6bcd61a1fcefe121300380846ba4548712da6ba22a51e9f088', + 'extensions/git-id-switcher/docs/i18n/de/README.md': '89b328366a7d64aefc263c11506b7afd413e882ba6c679636e968326994eaa08', + 'extensions/git-id-switcher/docs/i18n/en/README.md': 'e4099eac97c476a9c699f833b13ef0562ef82b106eea2366c0734ad972f284e8', + 'extensions/git-id-switcher/docs/i18n/eo/README.md': 'c2b33c2568c675feb0f8441378802bacdb0bd3423812cffa6e7c0d2d84a1cef9', + 'extensions/git-id-switcher/docs/i18n/es/README.md': '320d4480ec7e626c64a1f676d1d7c8fe6b978cf2e3f9fd38612e403a561fee1c', + 'extensions/git-id-switcher/docs/i18n/fr/README.md': 'd15c2081a7d90f45303946d9a4b2c10eb79a02a56307268b105b3159a1174cc8', + 'extensions/git-id-switcher/docs/i18n/haw/README.md': 'c8fef38ef3a675d5cda4702d297a6686e84bfaee46aa5ede17d6c433e6db483b', + 'extensions/git-id-switcher/docs/i18n/hu/README.md': '19a33f9cd4d1012d26a5c600d42903be193d62e16dc761a9eca951181d1a0371', + 'extensions/git-id-switcher/docs/i18n/it/README.md': '6b1676892e7c159f3d6c3b92e32fcb6fa6be457fd0dbe2203549264d9138094a', + 'extensions/git-id-switcher/docs/i18n/ja/README.md': 'e1ba11114e41f1112cdd0eef5b93ceeae777a36894bddca0f53a6823ebaeb3a5', + 'extensions/git-id-switcher/docs/i18n/ko/README.md': '446095c471d27fdda5ec27e60c3d1d4cba54399f0c13e481ea07ff144553533d', + 'extensions/git-id-switcher/docs/i18n/pl/README.md': '48e82820671610bd3983c563a1f0cb57d41902a7ed3c97b837be44cb01c77602', + 'extensions/git-id-switcher/docs/i18n/pt-BR/README.md': 'b1f185906a2b1751845116e784b8fcd5f68875de5d9e86c8eeaa6fa33018639e', + 'extensions/git-id-switcher/docs/i18n/ru/README.md': '73069e6538bf8335853960b424356d82c2f67997f8d9e6a697513b60c69f0a52', + 'extensions/git-id-switcher/docs/i18n/ryu/README.md': '951af5978558b838e5f7de9d9b93371355210d6d045987503cc3b1cbbdaf679a', + 'extensions/git-id-switcher/docs/i18n/tlh/README.md': '7e84655f015086812a43557ea6721988d473ef389cec49fb1488b71902e58c8a', + 'extensions/git-id-switcher/docs/i18n/tok/README.md': '3e92636a52dbc6c24bdff7e4712bfae41f58ce3116cb95b87e84d2f7c4bf38e9', + 'extensions/git-id-switcher/docs/i18n/tr/README.md': 'a5e7730f994d0b188a46136a70d471be67620b0f3a5b7bdc5522ecd0a48e453a', + 'extensions/git-id-switcher/docs/i18n/uk/README.md': 'aba6d008621123ee7ba989df6bf28c493c607bcc5cb43b9b064bee6dd137b7e2', + 'extensions/git-id-switcher/docs/i18n/x-lolcat/README.md': '76a9f0da6d547518267bf547b93ef230da2b610aeb55d2f05acfce15bfaa3f2b', + 'extensions/git-id-switcher/docs/i18n/x-pirate/README.md': 'ba6e7adcb3b2970fca2d76cf73d37df0054f446d51659024196849a6773491e9', + 'extensions/git-id-switcher/docs/i18n/x-shakespeare/README.md': '0c52644c0e6e206f329bd81763fa52a59d28fd7feb8a2af30742d860201aafc1', + 'extensions/git-id-switcher/docs/i18n/zh-CN/README.md': '158f5ce8a505ac3bacd796235cbb84526c62f6e1495cdf5345d3b5437185e476', + 'extensions/git-id-switcher/docs/i18n/zh-TW/README.md': '4f90deffda2848b4e1d9d069bc5127be314f18b7abc843a134babd4fe15ed601', 'extensions/git-id-switcher/docs/LANGUAGES.md': 'da50222843094479fd826837038dd62d619ecbc87d67f0b2c299973587abe8e9', 'extensions/git-id-switcher/docs/THREAT_MODEL.md': '1947cc3c940b872641a8f291bc7ad52eac02df1e91f8b91f67588149bc6fa6f7', 'extensions/git-id-switcher/LICENSE': 'e2383295422577622666fa2ff00e5f03abd8f2772d74cca5d5443020ab23d03d', - 'extensions/git-id-switcher/README.md': 'd34dfb2a9ce27f3008a628105f9d355c84c6e827c094aa8d175bf9b60cfb4508', + 'extensions/git-id-switcher/README.md': '1af546f7162c7447c3decfc36a9c78486cc8d649ea0bb2789912c482ac4ccc4f', 'GOVERNANCE.md': '806cf32ec9fe9fd964a782927f8eaa7696d408c42d31f554eebd6755bd911c71', 'LICENSE': 'e2383295422577622666fa2ff00e5f03abd8f2772d74cca5d5443020ab23d03d', - 'README.md': '1cac085ef93a167dc1dbda72c535050fbf4ce3041cb73f6f25ddd0ce9371747c', - 'SECURITY.md': '7d2eaaf610c99a00d76e83c505354dd91841bbe842ea19f47da6e0220fc4e2c5', + 'README.md': 'd90d96a773889c52a2342d343201df2200fa49f214128a457fd84e60bd35454b', + 'SECURITY.md': '7a077ab0a536586d7e14c288a1d776c307906b2347c9fc4072c4ffb40d4254eb', }; /** Supported locales for documentation */