Compare commits

..

1 Commits

7 changed files with 90 additions and 351 deletions

View File

@@ -1,12 +1,7 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2 version: 2
updates: updates:
# Enable version updates for GitHub Actions # Enable version updates for GitHub Actions
- package-ecosystem: "github-actions" # See documentation for possible values - package-ecosystem: "github-actions"
directory: "/" # Location of package manifests directory: "/" # Location of package manifests
schedule: schedule:
interval: "weekly" interval: "weekly"

View File

@@ -42,24 +42,17 @@ jobs:
- name: Summary - Repository checkout - name: Summary - Repository checkout
shell: pwsh shell: pwsh
run: | run: |
$summary = @" echo "## 📦 Build Cmder - Workflow Summary" >> $env:GITHUB_STEP_SUMMARY
## 📦 Build Cmder - Workflow Summary echo "" >> $env:GITHUB_STEP_SUMMARY
echo "### Repository Information" >> $env:GITHUB_STEP_SUMMARY
<small>Build started: $buildTime</small> echo "| Property | Value |" >> $env:GITHUB_STEP_SUMMARY
echo "| --- | --- |" >> $env:GITHUB_STEP_SUMMARY
### Repository Information echo "| Repository | \`${{ github.repository }}\` |" >> $env:GITHUB_STEP_SUMMARY
| Property | Value | echo "| Branch | \`${{ github.ref_name }}\` |" >> $env:GITHUB_STEP_SUMMARY
| --- | --- | echo "| Commit | \`${{ github.sha }}\` |" >> $env:GITHUB_STEP_SUMMARY
| Repository | [``${{ github.repository }}``](https://github.com/${{ github.repository }}) | echo "| Actor | @${{ github.actor }} |" >> $env:GITHUB_STEP_SUMMARY
| Branch | [``$branchName``]($branchLink) | echo "| Workflow | \`${{ github.workflow }}\` |" >> $env:GITHUB_STEP_SUMMARY
| Commit | [``${{ github.sha }}``](https://github.com/${{ github.repository }}/commit/${{ github.sha }}) | echo "" >> $env:GITHUB_STEP_SUMMARY
| Actor | [@${{ github.actor }}](https://github.com/${{ github.actor }}) |
| Workflow | ``${{ github.workflow }}`` |
| Cmder Version | **$cmderVersion** |
"@
$summary += "`n"
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Add MSBuild to PATH - name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v2 uses: microsoft/setup-msbuild@v2
@@ -73,17 +66,10 @@ jobs:
if: success() if: success()
shell: pwsh shell: pwsh
run: | run: |
$summary = @" echo "### ✅ Build Status" >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
--- echo "Cmder launcher successfully compiled." >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
### Build Status
✅ Cmder built successfully.
"@
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Pack the built files - name: Pack the built files
shell: pwsh shell: pwsh

View File

@@ -50,21 +50,20 @@ jobs:
- name: Summary - CodeQL analysis started - name: Summary - CodeQL analysis started
shell: pwsh shell: pwsh
run: | run: |
$summary = @" $summary = @(
## 🔒 CodeQL Security Analysis - Workflow Summary '## 🔒 CodeQL Security Analysis - Workflow Summary'
''
### Analysis Configuration '### Analysis Configuration'
''
| Property | Value | '| Property | Value |'
| --- | --- | '| --- | --- |'
| Repository | ``${{ github.repository }}`` | '| Repository | `${{ github.repository }}` |'
| Branch | ``${{ github.ref_name }}`` | '| Branch | `${{ github.ref_name }}` |'
| Language | ``${{ matrix.language }}`` | '| Language | `${{ matrix.language }}` |'
| Commit | ``${{ github.sha }}`` | '| Commit | `${{ github.sha }}` |'
''
"@ )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
# Initializes the CodeQL tools for scanning. # Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL - name: Initialize CodeQL
@@ -90,14 +89,13 @@ jobs:
if: success() if: success()
shell: pwsh shell: pwsh
run: | run: |
$summary = @" $summary = @(
### ✅ Build Completed '### ✅ Build Completed'
''
Cmder launcher built successfully for CodeQL analysis. 'Cmder launcher built successfully for CodeQL analysis.'
''
"@ )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Perform CodeQL Analysis - name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4 uses: github/codeql-action/analyze@v4
@@ -108,14 +106,13 @@ jobs:
if: success() if: success()
shell: pwsh shell: pwsh
run: | run: |
$summary = @" $summary = @(
### 🔍 CodeQL Analysis Results '### 🔍 CodeQL Analysis Results'
''
✅ CodeQL security analysis completed successfully. '✅ CodeQL security analysis completed successfully.'
''
**Language analyzed:** ``${{ matrix.language }}`` '**Language analyzed:** `${{ matrix.language }}`'
''
> Check the Security tab for detailed findings and recommendations. '> Check the Security tab for detailed findings and recommendations.'
"@ )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8

View File

@@ -39,8 +39,6 @@ jobs:
steps: steps:
- uses: actions/checkout@v6 - uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Summary - Test execution started - name: Summary - Test execution started
shell: pwsh shell: pwsh

View File

@@ -34,11 +34,10 @@ jobs:
$summary = @( $summary = @(
'## 📦 Update Vendor - Workflow Summary' '## 📦 Update Vendor - Workflow Summary'
'' ''
'🔍 Checking for vendor dependency updates...' 'Checking for vendor dependency updates...'
'' ''
) )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- id: make-changes - id: make-changes
name: Checking for updates name: Checking for updates
@@ -47,256 +46,72 @@ jobs:
run: | run: |
$currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) $currentVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
. .\scripts\update.ps1 -verbose . .\scripts\update.ps1 -verbose
# Export count of updated packages (update.ps1 is expected to set $count)
if (-not ($count)) { $count = 0 }
Set-GHVariable -Name COUNT_UPDATED -Value $count Set-GHVariable -Name COUNT_UPDATED -Value $count
$newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json) $newVersion = (Get-Content .\vendor\sources.json | ConvertFrom-Json)
$listUpdated = "" $listUpdated = ""
$updateMessage = "| Name | Old Version | New Version |`n| :--- | :---: | :---: |`n" $updateMessage = "| Name | Old Version | New Version |`n| :--- | ---- | ---- |`n"
$majorUpdates = @()
$singleDepName = ""
$singleDepOldVersion = ""
$singleDepNewVersion = ""
foreach ($s in $newVersion) { foreach ($s in $newVersion) {
$oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version $oldVersion = ($currentVersion | Where-Object {$_.name -eq $s.name}).version
if ($s.version -ne $oldVersion) { if ($s.version -ne $oldVersion) {
$repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases" $repoUrl = ($repoUrl = $s.Url.Replace("/archive/", "/releases/")).Substring(0, $repoUrl.IndexOf("/releases/")) + "/releases"
# Store single dependency info for messages (only if this is the only update)
if ($count -eq 1) {
$singleDepName = $s.name
$singleDepOldVersion = $oldVersion
$singleDepNewVersion = $s.version
}
# Determine change type and emoji
$changeType = "unknown"
$emoji = "🔄"
$isMajor = $false
try {
# Handle versions with more than 4 parts
$oldVerStr = $oldVersion.Split('-')[0]
$newVerStr = $s.version.Split('-')[0]
# Split by dots and take only numeric parts, first 4 max
$oldParts = $oldVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4
$newParts = $newVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4
# Ensure we have at least 2 parts (major.minor)
if ($oldParts.Count -ge 2 -and $newParts.Count -ge 2) {
$oldVerParseable = $oldParts -join '.'
$newVerParseable = $newParts -join '.'
$oldVer = [System.Version]::Parse($oldVerParseable)
$newVer = [System.Version]::Parse($newVerParseable)
if ($newVer.Major -gt $oldVer.Major) {
$changeType = "major"
$emoji = "🔥"
$isMajor = $true
} elseif ($newVer.Minor -gt $oldVer.Minor) {
$changeType = "minor"
$emoji = "🚀"
} else {
$changeType = "patch"
$emoji = "⬆️"
}
}
} catch {
$changeType = "unknown"
$emoji = "🔄"
}
# Track major updates for changelog section
if ($isMajor) {
$compareUrl = "$repoUrl/compare/v$oldVersion...v$($s.version)"
$majorUpdates += @{
name = $s.name
oldVersion = $oldVersion
newVersion = $s.version
compareUrl = $compareUrl
repoUrl = $repoUrl
}
}
$listUpdated += "$($s.name) v$($s.version), " $listUpdated += "$($s.name) v$($s.version), "
$updateMessage += "| $emoji **[$($s.name)]($repoUrl)** | \`$oldVersion\` | **\`$($s.version)\`** |`n" $updateMessage += "| **[$($s.name)]($repoUrl)** | $oldVersion | **$($s.version)** |`n"
} }
} }
if ($count -eq 0) { return } if ($count -eq 0) { return }
Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ') Set-GHVariable -Name LIST_UPDATED -Value $listUpdated.Trim(', ')
# Set single dependency variables (they will only be used if COUNT_UPDATED is 1) echo "UPDATE_MESSAGE<<<EOF`n$updateMessage`n<EOF" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
# Use safe fallback values in case variables weren't set (shouldn't happen but prevents errors)
if ([string]::IsNullOrEmpty($singleDepName) -and $count -eq 1) {
# This shouldn't happen, but if it does, log a warning
Write-Warning "Single dependency name not set despite count being 1"
$singleDepName = "unknown-package"
$singleDepOldVersion = "unknown"
$singleDepNewVersion = "unknown"
} elseif ([string]::IsNullOrEmpty($singleDepName)) {
# For multiple dependencies, set placeholder values (won't be used)
$singleDepName = ""
$singleDepOldVersion = ""
$singleDepNewVersion = ""
}
Set-GHVariable -Name SINGLE_DEP_NAME -Value $singleDepName
Set-GHVariable -Name SINGLE_DEP_OLD_VERSION -Value $singleDepOldVersion
Set-GHVariable -Name SINGLE_DEP_NEW_VERSION -Value $singleDepNewVersion
# Write multiline UPDATE_MESSAGE to GITHUB_ENV
Add-Content -Path $env:GITHUB_ENV -Value "UPDATE_MESSAGE<<EOF"
Add-Content -Path $env:GITHUB_ENV -Value $updateMessage
Add-Content -Path $env:GITHUB_ENV -Value "EOF"
# Generate major updates changelog section and export
if ($majorUpdates.Count -gt 0) {
$changelogSection = "`n<details>`n<summary>🔥 Major version updates - View changelog</summary>`n`n"
foreach ($update in $majorUpdates) {
$changelogSection += "### [$($update.name)]($($update.repoUrl))`n"
$changelogSection += "**$($update.oldVersion)** → **$($update.newVersion)**`n`n"
$changelogSection += "- [View full changelog]($($update.compareUrl))`n"
$changelogSection += "- [Release notes]($($update.repoUrl)/tag/v$($update.newVersion))`n`n"
}
$changelogSection += "</details>`n"
Add-Content -Path $env:GITHUB_ENV -Value "CHANGELOG_SECTION<<EOF"
Add-Content -Path $env:GITHUB_ENV -Value $changelogSection
Add-Content -Path $env:GITHUB_ENV -Value "EOF"
Add-Content -Path $env:GITHUB_ENV -Value "HAS_BREAKING_CHANGES=True"
} else {
Add-Content -Path $env:GITHUB_ENV -Value "CHANGELOG_SECTION="
Add-Content -Path $env:GITHUB_ENV -Value "HAS_BREAKING_CHANGES=False"
}
- name: Summary - Update check results - name: Summary - Update check results
shell: pwsh shell: pwsh
run: | run: |
$count = [int]$env:COUNT_UPDATED $count = [int]$env:COUNT_UPDATED
if ($count -eq 0) { if ($count -eq 0) {
$summary = @( $summary = @(
'### ✅ No Updates Available' '### ✅ No Updates Available'
'' ''
'All vendor dependencies are up to date! 🎉' 'All vendor dependencies are up to date.'
''
) )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
} else { } else {
$word = if ($count -eq 1) { 'dependency' } else { 'dependencies' } $word = if ($count -eq 1) { 'dependency' } else { 'dependencies' }
$summary = @( $summary = @(
'### 🔄 Updates Found' '### 🔄 Updates Found'
'' ''
"**$count** vendor $word updated:"
''
$env:UPDATE_MESSAGE
''
) )
$summary += '📦 **' + $env:SINGLE_DEP_NAME + '** updated from `' + $env:SINGLE_DEP_OLD_VERSION + '` to `' + $env:SINGLE_DEP_NEW_VERSION + '`' + [Environment]::NewLine + [Environment]::NewLine $summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
$summary += '📦 **' + $count + '** vendor ' + $word + ' updated:' + [Environment]::NewLine + [Environment]::NewLine
}
$summary += $env:UPDATE_MESSAGE + [Environment]::NewLine
# Check if we can auto-merge (only minor/patch changes)
$hasBreaking = $env:HAS_BREAKING_CHANGES -eq 'True'
if ($hasBreaking) {
$summary += '> ⚠️ **Note:** This update contains major version changes that may include breaking changes.'
} else {
$summary += '> **Note:** This update only contains minor or patch changes.'
}
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8
- name: Auto-merge minor updates
if: env.COUNT_UPDATED > 0 && env.HAS_BREAKING_CHANGES != 'True'
shell: pwsh
run: |
try {
echo "### 🚀 Auto-merging Updates" >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "Attempting to automatically merge non-breaking changes to master..." >> $env:GITHUB_STEP_SUMMARY
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
# Commit the changes
git add vendor/sources.json
$commitResult = git commit -m "⬆️ Update dependencies ($env:LIST_UPDATED)"
# Push directly to master
git push origin HEAD:master
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "✅ **Success!** Updates have been automatically merged to master." >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "**Updated dependencies:** $env:LIST_UPDATED" >> $env:GITHUB_STEP_SUMMARY
# Set a flag to skip PR creation
echo "AUTO_MERGED=true" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
} catch {
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "⚠️ **Warning:** Unable to automatically merge updates." >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "**Error:** $($_.Exception.Message)" >> $env:GITHUB_STEP_SUMMARY
echo "" >> $env:GITHUB_STEP_SUMMARY
echo "Falling back to creating a pull request..." >> $env:GITHUB_STEP_SUMMARY
Write-Warning "Failed to auto-merge: $($_.Exception.Message)"
# Reset the commit if one was made
if ($commitResult) {
git reset --hard HEAD~1
}
# Set flag to create PR instead
echo "AUTO_MERGED=false" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
} }
- uses: peter-evans/create-pull-request@v8 - uses: peter-evans/create-pull-request@v8
if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') if: env.COUNT_UPDATED > 0
with: with:
title: ${{ env.COUNT_UPDATED == '1' && format('⬆️ Update {0}', env.LIST_UPDATED) || format('⬆️ Update {0} vendored dependencies', env.COUNT_UPDATED) }} title: 'Updates to `${{ env.COUNT_UPDATED }}` vendored dependencies'
body: | body: |
### ${{ env.COUNT_UPDATED == 1 && format('📦 Updated {0} from `{1}` to `{2}`', env.SINGLE_DEP_NAME, env.SINGLE_DEP_OLD_VERSION, env.SINGLE_DEP_NEW_VERSION) || format('📦 Automatically updated `{0}` dependencies', env.COUNT_UPDATED) }} ### Automatically updated `${{ env.COUNT_UPDATED }}` dependencies:
${{ env.UPDATE_MESSAGE }} ${{ env.UPDATE_MESSAGE }}
${{ env.CHANGELOG_SECTION }}
--- ---
Please verify and then **Merge** the pull request to update.
${{ env.HAS_BREAKING_CHANGES == 'True' && '⚠️ **This update contains major version changes that may include breaking changes.**' || ' This update only contains minor or patch changes.' }}
Please verify and then **Merge** the pull request to apply the updates.
commit-message: '⬆️ Update dependencies (${{ env.LIST_UPDATED }})' commit-message: '⬆️ Update dependencies (${{ env.LIST_UPDATED }})'
branch: update-vendor branch: update-vendor
base: master base: master
- name: Summary - Pull request created - name: Summary - Pull request created
if: env.COUNT_UPDATED > 0 && (env.HAS_BREAKING_CHANGES == 'True' || env.AUTO_MERGED == 'false') if: env.COUNT_UPDATED > 0
shell: pwsh shell: pwsh
run: | run: |
$updatedLine = if (-not [string]::IsNullOrEmpty($env:LIST_UPDATED)) { "**Updated dependencies:** $env:LIST_UPDATED" } else { "**Updated dependencies:** " } $summary = @(
$summary = @" '### 🎉 Pull Request Created'
### 🎉 Pull Request Created ''
'A pull request has been created to update the vendor dependencies.'
A pull request has been created to update the vendor dependencies. ''
'**Branch:** `update-vendor`'
**Branch:** `update-vendor` ''
$env:LIST_UPDATED -and "**Updated dependencies:** $env:LIST_UPDATED" -or "**Updated dependencies:** "
$updatedLine ''
'> Please review and merge the pull request to apply the updates.'
"@ )
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY
if ($env:HAS_BREAKING_CHANGES -eq 'True') {
$summary += "> ⚠️ **Manual review required:** This update contains major version changes."
} else {
$summary += "> **Note:** Auto-merge failed, manual review required."
}
$summary += @"
> Please review and merge the pull request to apply the updates.
"@
$summary | Add-Content -Path $env:GITHUB_STEP_SUMMARY -Encoding utf8

View File

@@ -259,8 +259,6 @@ function Fetch-DownloadUrl {
} }
$count = 0 $count = 0
$hasBreakingChanges = $false
$updateDetails = @()
# Read the current sources content # Read the current sources content
$sources = Get-Content $sourcesPath | Out-String | ConvertFrom-Json $sources = Get-Content $sourcesPath | Out-String | ConvertFrom-Json
@@ -303,52 +301,6 @@ foreach ($s in $sources) {
# } # }
$count++ $count++
# Analyze version change type
$changeType = "unknown"
try {
# Try parsing as semantic version
# Handle versions with more than 4 parts by taking only the first 3-4 parts
$oldVerStr = $s.version.Split('-')[0]
$newVerStr = $version.Split('-')[0]
# Split by dots and take only numeric parts, first 4 max
$oldParts = $oldVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4
$newParts = $newVerStr.Split('.') | Where-Object { $_ -match '^\d+$' } | Select-Object -First 4
# Ensure we have at least 2 parts (major.minor)
if ($oldParts.Count -ge 2 -and $newParts.Count -ge 2) {
$oldVerParseable = $oldParts -join '.'
$newVerParseable = $newParts -join '.'
$oldVer = [System.Version]::Parse($oldVerParseable)
$newVer = [System.Version]::Parse($newVerParseable)
if ($newVer.Major -gt $oldVer.Major) {
$changeType = "major"
$hasBreakingChanges = $true
} elseif ($newVer.Minor -gt $oldVer.Minor) {
$changeType = "minor"
} else {
$changeType = "patch"
}
} else {
# Not enough numeric parts for semantic versioning
throw "Not enough numeric version parts"
}
} catch {
# If semantic versioning fails, treat as unknown (potentially breaking)
$changeType = "unknown"
$hasBreakingChanges = $true
Write-Verbose "Could not parse version as semantic version, treating as potentially breaking"
}
$updateDetails += @{
name = $s.name
oldVersion = $s.version
newVersion = $version
changeType = $changeType
}
} }
$s.url = $downloadUrl $s.url = $downloadUrl
@@ -362,16 +314,12 @@ if ($count -eq 0) {
return return
} }
# Export update details for GitHub Actions
if ($Env:GITHUB_ACTIONS -eq 'true') {
$updateDetailsJson = $updateDetails | ConvertTo-Json -Compress
Write-Output "UPDATE_DETAILS=$updateDetailsJson" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
Write-Output "HAS_BREAKING_CHANGES=$hasBreakingChanges" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8
Write-Output "::notice title=Task Complete::Successfully updated $count dependencies."
}
if ($Env:APPVEYOR -eq 'True') { if ($Env:APPVEYOR -eq 'True') {
Add-AppveyorMessage -Message "Successfully updated $count dependencies." -Category Information Add-AppveyorMessage -Message "Successfully updated $count dependencies." -Category Information
} }
if ($Env:GITHUB_ACTIONS -eq 'true') {
Write-Output "::notice title=Task Complete::Successfully updated $count dependencies."
}
Write-Host -ForegroundColor green "Successfully updated $count dependencies." Write-Host -ForegroundColor green "Successfully updated $count dependencies."

12
vendor/sources.json vendored
View File

@@ -1,13 +1,13 @@
[ [
{ {
"name": "git-for-windows", "name": "git-for-windows",
"version": "2.52.0.windows.1", "version": "2.53.0.windows.1",
"url": "https://github.com/git-for-windows/git/releases/download/v2.52.0.windows.1/PortableGit-2.52.0-64-bit.7z.exe" "url": "https://github.com/git-for-windows/git/releases/download/v2.53.0.windows.1/PortableGit-2.53.0-64-bit.7z.exe"
}, },
{ {
"name": "clink", "name": "clink",
"version": "1.9.5", "version": "1.9.17",
"url": "https://github.com/chrisant996/clink/releases/download/v1.9.5/clink.1.9.5.ee6b4f.zip" "url": "https://github.com/chrisant996/clink/releases/download/v1.9.17/clink.1.9.17.36e2ca.zip"
}, },
{ {
"name": "conemu-maximus5", "name": "conemu-maximus5",
@@ -16,8 +16,8 @@
}, },
{ {
"name": "windows-terminal", "name": "windows-terminal",
"version": "1.23.12811.0", "version": "1.23.20211.0",
"url": "https://github.com/microsoft/terminal/releases/download/v1.23.12811.0/Microsoft.WindowsTerminal_1.23.12811.0_x64.zip" "url": "https://github.com/microsoft/terminal/releases/download/v1.23.20211.0/Microsoft.WindowsTerminal_1.23.20211.0_x64.zip"
}, },
{ {
"name": "clink-completions", "name": "clink-completions",