From f4f1212c880fdec8162ea9a6493f4495191887b4 Mon Sep 17 00:00:00 2001 From: Haritha <73516759+HarithaVattikuti@users.noreply.github.com> Date: Wed, 16 Apr 2025 11:13:56 -0500 Subject: [PATCH 1/5] Update publish-immutable-actions.yml (#798) --- .github/workflows/publish-immutable-actions.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/publish-immutable-actions.yml b/.github/workflows/publish-immutable-actions.yml index 7c258347..9f6953ee 100644 --- a/.github/workflows/publish-immutable-actions.yml +++ b/.github/workflows/publish-immutable-actions.yml @@ -2,7 +2,8 @@ name: 'Publish Immutable Action Version' on: release: - types: [published] + types: [released] + workflow_dispatch: jobs: publish: From ebb356cc4e59bcf94f518203228485f5d40e4b58 Mon Sep 17 00:00:00 2001 From: gowridurgad <159780674+gowridurgad@users.noreply.github.com> Date: Mon, 23 Jun 2025 23:02:03 +0530 Subject: [PATCH 2/5] Improve Error Handling for Setup-Java Action to Help Debug Intermittent Failures (#848) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * error-handling * Logic update --------- Co-authored-by: “gowridurgad” <“hgowridurgad@github.com> --- dist/setup/index.js | 39 +++++++++++++++++++++++------ src/distributions/base-installer.ts | 38 ++++++++++++++++++++++------ 2 files changed, 61 insertions(+), 16 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index 08107f09..8bf08ef2 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -128793,15 +128793,38 @@ class JavaBase { } else { core.info('Trying to resolve the latest version from remote'); - const javaRelease = yield this.findPackageForDownload(this.version); - core.info(`Resolved latest version as ${javaRelease.version}`); - if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) { - core.info(`Resolved Java ${foundJava.version} from tool-cache`); + try { + const javaRelease = yield this.findPackageForDownload(this.version); + core.info(`Resolved latest version as ${javaRelease.version}`); + if ((foundJava === null || foundJava === void 0 ? void 0 : foundJava.version) === javaRelease.version) { + core.info(`Resolved Java ${foundJava.version} from tool-cache`); + } + else { + core.info('Trying to download...'); + foundJava = yield this.downloadTool(javaRelease); + core.info(`Java ${foundJava.version} was downloaded`); + } } - else { - core.info('Trying to download...'); - foundJava = yield this.downloadTool(javaRelease); - core.info(`Java ${foundJava.version} was downloaded`); + catch (error) { + if (error instanceof tc.HTTPError) { + if (error.httpStatusCode === 403) { + core.error('HTTP 403: Permission denied or access restricted.'); + } + else if (error.httpStatusCode === 429) { + core.warning('HTTP 429: Rate limit exceeded. Please retry later.'); + } + else { + core.error(`HTTP ${error.httpStatusCode}: ${error.message}`); + } + } + else { + const message = error instanceof Error ? error.message : JSON.stringify(error); + core.error(`Java setup failed due to network issue or timeout: ${message}`); + } + if (error instanceof Error && error.stack) { + core.debug(error.stack); + } + throw error; } } // JDK folder may contain postfix "Contents/Home" on macOS diff --git a/src/distributions/base-installer.ts b/src/distributions/base-installer.ts index 258ac9f4..4a83897f 100644 --- a/src/distributions/base-installer.ts +++ b/src/distributions/base-installer.ts @@ -51,14 +51,36 @@ export abstract class JavaBase { core.info(`Resolved Java ${foundJava.version} from tool-cache`); } else { core.info('Trying to resolve the latest version from remote'); - const javaRelease = await this.findPackageForDownload(this.version); - core.info(`Resolved latest version as ${javaRelease.version}`); - if (foundJava?.version === javaRelease.version) { - core.info(`Resolved Java ${foundJava.version} from tool-cache`); - } else { - core.info('Trying to download...'); - foundJava = await this.downloadTool(javaRelease); - core.info(`Java ${foundJava.version} was downloaded`); + try { + const javaRelease = await this.findPackageForDownload(this.version); + core.info(`Resolved latest version as ${javaRelease.version}`); + if (foundJava?.version === javaRelease.version) { + core.info(`Resolved Java ${foundJava.version} from tool-cache`); + } else { + core.info('Trying to download...'); + foundJava = await this.downloadTool(javaRelease); + core.info(`Java ${foundJava.version} was downloaded`); + } + } catch (error: any) { + if (error instanceof tc.HTTPError) { + if (error.httpStatusCode === 403) { + core.error('HTTP 403: Permission denied or access restricted.'); + } else if (error.httpStatusCode === 429) { + core.warning('HTTP 429: Rate limit exceeded. Please retry later.'); + } else { + core.error(`HTTP ${error.httpStatusCode}: ${error.message}`); + } + } else { + const message = + error instanceof Error ? error.message : JSON.stringify(error); + core.error( + `Java setup failed due to network issue or timeout: ${message}` + ); + } + if (error instanceof Error && error.stack) { + core.debug(error.stack); + } + throw error; } } From 67aec007b3fcabe15ca665bfccc1e255dd52e30d Mon Sep 17 00:00:00 2001 From: Priya Gupta <147705955+priyagupta108@users.noreply.github.com> Date: Thu, 3 Jul 2025 22:33:51 +0530 Subject: [PATCH 3/5] Fix: prevent default installation of JetBrains pre-releases (#859) * fix: prevent default installation of JetBrains pre-releases * simplify prerelease filter logic * fix basic validation checks --- __tests__/data/jetbrains.json | 2906 ++++++++--------- .../distributors/jetbrains-installer.test.ts | 4 +- dist/setup/index.js | 17 +- src/distributions/jetbrains/installer.ts | 23 +- src/distributions/jetbrains/models.ts | 3 +- 5 files changed, 1486 insertions(+), 1467 deletions(-) diff --git a/__tests__/data/jetbrains.json b/__tests__/data/jetbrains.json index bf59d620..535bb5cb 100644 --- a/__tests__/data/jetbrains.json +++ b/__tests__/data/jetbrains.json @@ -1,1454 +1,1454 @@ [ - { - "tag_name": "jbr-release-21.0.3b465.3", - "semver": "21.0.3", - "build": 465.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b458.1", - "semver": "21.0.3", - "build": 458.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b453.2", - "semver": "21.0.3", - "build": 453.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.11b1207.24", - "semver": "17.0.11", - "build": 1207.24, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.11b1207.23", - "semver": "17.0.11", - "build": 1207.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b446.1", - "semver": "21.0.3", - "build": 446.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.14", - "semver": "17.0.10", - "build": 1207.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b829.27", - "semver": "17.0.10", - "build": 829.27, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.23", - "semver": "17.0.10", - "build": 1087.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.12", - "semver": "17.0.10", - "build": 1207.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.21", - "semver": "17.0.10", - "build": 1087.21, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.6", - "semver": "17.0.10", - "build": 1207.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b375.1", - "semver": "21.0.2", - "build": 375.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.1", - "semver": "17.0.10", - "build": 1207.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1186.1", - "semver": "17.0.10", - "build": 1186.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1171.14", - "semver": "17.0.10", - "build": 1171.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b829.26", - "semver": "17.0.10", - "build": 829.26, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b346.3", - "semver": "21.0.2", - "build": 346.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1000.48", - "semver": "17.0.10", - "build": 1000.48, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b341.4", - "semver": "21.0.2", - "build": 341.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.17", - "semver": "17.0.10", - "build": 1087.17, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1166.2", - "semver": "17.0.9", - "build": 1166.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1162.7", - "semver": "17.0.9", - "build": 1162.7, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.11", - "semver": "17.0.9", - "build": 1087.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.9", - "semver": "17.0.9", - "build": 1087.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.7", - "semver": "17.0.9", - "build": 1087.7, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1000.47", - "semver": "17.0.9", - "build": 1000.47, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1000.46", - "semver": "17.0.9", - "build": 1000.46, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.3", - "semver": "17.0.9", - "build": 1087.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1080.1", - "semver": "17.0.8.1", - "build": 1080.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1072.1", - "semver": "17.0.8.1", - "build": 1072.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1070.2", - "semver": "17.0.8.1", - "build": 1070.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1063.1", - "semver": "17.0.8.1", - "build": 1063.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1000.32", - "semver": "17.0.8.1", - "build": 1000.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1059.3", - "semver": "17.0.8.1", - "build": 1059.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8b1000.22", - "semver": "17.0.8", - "build": 1000.22, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8b1000.8", - "semver": "17.0.8", - "build": 1000.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.6", - "semver": "17.0.7", - "build": 1000.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.5", - "semver": "17.0.7", - "build": 1000.5, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.2", - "semver": "17.0.7", - "build": 1000.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b985.2", - "semver": "17.0.7", - "build": 985.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b979.4", - "semver": "17.0.7", - "build": 979.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b829.16", - "semver": "17.0.7", - "build": 829.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b966.2", - "semver": "17.0.7", - "build": 966.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b964.1", - "semver": "17.0.7", - "build": 964.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b829.14", - "semver": "17.0.7", - "build": 829.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b953.1", - "semver": "17.0.7", - "build": 953.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.9", - "semver": "17.0.6", - "build": 829.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b469.82", - "semver": "17.0.6", - "build": 469.82, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.5", - "semver": "17.0.6", - "build": 829.5, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b653.34", - "semver": "17.0.6", - "build": 653.34, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.4", - "semver": "17.0.6", - "build": 829.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.1", - "semver": "17.0.6", - "build": 829.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b653.32", - "semver": "17.0.6", - "build": 653.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b802.4", - "semver": "17.0.6", - "build": 802.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b802.1", - "semver": "17.0.6", - "build": 802.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b785.1", - "semver": "17.0.6", - "build": 785.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b779.1", - "semver": "17.0.6", - "build": 779.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b762.1", - "semver": "17.0.5", - "build": 762.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.25", - "semver": "17.0.5", - "build": 653.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b759.1", - "semver": "17.0.5", - "build": 759.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.23", - "semver": "17.0.5", - "build": 653.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.14", - "semver": "17.0.5", - "build": 653.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b469.71", - "semver": "17.0.5", - "build": 469.71, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" - }, - { - "tag_name": "jbr11_0_16b2043.64", - "semver": "11.0.16", - "build": 2043.64, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.6", - "semver": "17.0.5", - "build": 653.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b469.67", - "semver": "17.0.5", - "build": 469.67, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b653.1", - "semver": "17.0.4.1", - "build": 653.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b646.8", - "semver": "17.0.4.1", - "build": 646.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b629.2", - "semver": "17.0.4.1", - "build": 629.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b617.2", - "semver": "17.0.4.1", - "build": 617.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b469.62", - "semver": "17.0.4.1", - "build": 469.62, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b597.1", - "semver": "17.0.4.1", - "build": 597.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4b469.53", - "semver": "17.0.4", - "build": 469.53, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4b469.44", - "semver": "17.0.4", - "build": 469.44, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.3b469.37", - "semver": "17.0.3", - "build": 469.37, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.32", - "semver": "17.0.3", - "build": 469.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.30", - "semver": "17.0.3", - "build": 469.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.19", - "semver": "17.0.3", - "build": 469.19, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" - }, - { - "tag_name": "jbr17.0.3b498.3", - "semver": "17.0.3", - "build": 498.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.16", - "semver": "17.0.3", - "build": 469.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.12", - "semver": "17.0.3", - "build": 469.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.3", - "semver": "17.0.3", - "build": 469.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b463.3", - "semver": "17.0.3", - "build": 463.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b423.10", - "semver": "17.0.3", - "build": 423.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.1.tar.gz" - }, - { - "tag_name": "jbr11_0_15b2043.56", - "semver": "11.0.15", - "build": 2043.56, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.45", - "semver": "11.0.14.1", - "build": 2043.45, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" - }, - { - "tag_name": "jbr17.0.2b396.4", - "semver": "17.0.2", - "build": 396.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.25", - "semver": "11.0.14.1", - "build": 2043.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.22", - "semver": "11.0.14.1", - "build": 2043.22, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.17", - "semver": "11.0.14.1", - "build": 2043.17, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.14", - "semver": "11.0.14.1", - "build": 2043.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.11", - "semver": "11.0.14.1", - "build": 2043.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" - }, - { - "tag_name": "jbr11_0_14b2043.2", - "semver": "11.0.14", - "build": 2043.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b1751.46", - "semver": "11.0.14.1", - "build": 1751.46, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" - }, - { - "tag_name": "jbr11_0_14b1993.2", - "semver": "11.0.14", - "build": 1993.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" - }, - { - "tag_name": "jbr17_0_2b315.1", - "semver": "17.0.2", - "build": 315.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" - }, - { - "tag_name": "jbr11_0_14b1982.1", - "semver": "11.0.14", - "build": 1982.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1890.3", - "semver": "11.0.13", - "build": 1890.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.25", - "semver": "11.0.13", - "build": 1751.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.24", - "semver": "11.0.13", - "build": 1751.24, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.21", - "semver": "11.0.13", - "build": 1751.21, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" - }, - { - "tag_name": "jbr17_0_1b164.8", - "semver": "17.0.1", - "build": 164.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.19", - "semver": "11.0.13", - "build": 1751.19, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" - }, - { - "tag_name": "jb11_0_13-b1504.49", - "semver": "11.0.13", - "build": 1504.49, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" - }, - { - "tag_name": "jbr17_0_1b164.4", - "semver": "17.0.1", - "build": 164.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.16", - "semver": "11.0.13", - "build": 1751.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1751.11", - "semver": "11.0.12", - "build": 1751.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1729.1", - "semver": "11.0.12", - "build": 1729.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1715.4", - "semver": "11.0.12", - "build": 1715.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1692.9", - "semver": "11.0.12", - "build": 1692.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.37", - "semver": "11.0.12", - "build": 1504.37, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1665.1", - "semver": "11.0.12", - "build": 1665.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.28", - "semver": "11.0.12", - "build": 1504.28, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.27", - "semver": "11.0.12", - "build": 1504.27, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.16", - "semver": "11.0.11", - "build": 1504.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.13", - "semver": "11.0.11", - "build": 1504.13, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.12", - "semver": "11.0.11", - "build": 1504.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1542.1", - "semver": "11.0.11", - "build": 1542.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.8", - "semver": "11.0.11", - "build": 1504.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" - }, - { - "tag_name": "11_0_11b1536.2", - "semver": "11.0.11", - "build": 1536.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b465.3", - "semver": "21.0.3", - "build": 465.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b458.1", - "semver": "21.0.3", - "build": 458.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b453.2", - "semver": "21.0.3", - "build": 453.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.11b1207.24", - "semver": "17.0.11", - "build": 1207.24, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.11b1207.23", - "semver": "17.0.11", - "build": 1207.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.3b446.1", - "semver": "21.0.3", - "build": 446.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.14", - "semver": "17.0.10", - "build": 1207.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b829.27", - "semver": "17.0.10", - "build": 829.27, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.23", - "semver": "17.0.10", - "build": 1087.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.12", - "semver": "17.0.10", - "build": 1207.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.21", - "semver": "17.0.10", - "build": 1087.21, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.6", - "semver": "17.0.10", - "build": 1207.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b375.1", - "semver": "21.0.2", - "build": 375.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1207.1", - "semver": "17.0.10", - "build": 1207.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1186.1", - "semver": "17.0.10", - "build": 1186.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1171.14", - "semver": "17.0.10", - "build": 1171.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b829.26", - "semver": "17.0.10", - "build": 829.26, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b346.3", - "semver": "21.0.2", - "build": 346.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1000.48", - "semver": "17.0.10", - "build": 1000.48, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" - }, - { - "tag_name": "jbr-release-21.0.2b341.4", - "semver": "21.0.2", - "build": 341.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.10b1087.17", - "semver": "17.0.10", - "build": 1087.17, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1166.2", - "semver": "17.0.9", - "build": 1166.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1162.7", - "semver": "17.0.9", - "build": 1162.7, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.11", - "semver": "17.0.9", - "build": 1087.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.9", - "semver": "17.0.9", - "build": 1087.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.7", - "semver": "17.0.9", - "build": 1087.7, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1000.47", - "semver": "17.0.9", - "build": 1000.47, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1000.46", - "semver": "17.0.9", - "build": 1000.46, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.9b1087.3", - "semver": "17.0.9", - "build": 1087.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1080.1", - "semver": "17.0.8.1", - "build": 1080.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1072.1", - "semver": "17.0.8.1", - "build": 1072.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1070.2", - "semver": "17.0.8.1", - "build": 1070.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1063.1", - "semver": "17.0.8.1", - "build": 1063.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1000.32", - "semver": "17.0.8.1", - "build": 1000.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8.1b1059.3", - "semver": "17.0.8.1", - "build": 1059.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8b1000.22", - "semver": "17.0.8", - "build": 1000.22, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.8b1000.8", - "semver": "17.0.8", - "build": 1000.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.6", - "semver": "17.0.7", - "build": 1000.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.5", - "semver": "17.0.7", - "build": 1000.5, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b1000.2", - "semver": "17.0.7", - "build": 1000.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b985.2", - "semver": "17.0.7", - "build": 985.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b979.4", - "semver": "17.0.7", - "build": 979.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b829.16", - "semver": "17.0.7", - "build": 829.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b966.2", - "semver": "17.0.7", - "build": 966.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b964.1", - "semver": "17.0.7", - "build": 964.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b829.14", - "semver": "17.0.7", - "build": 829.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.7b953.1", - "semver": "17.0.7", - "build": 953.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.9", - "semver": "17.0.6", - "build": 829.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b469.82", - "semver": "17.0.6", - "build": 469.82, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.5", - "semver": "17.0.6", - "build": 829.5, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b653.34", - "semver": "17.0.6", - "build": 653.34, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.4", - "semver": "17.0.6", - "build": 829.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b829.1", - "semver": "17.0.6", - "build": 829.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b653.32", - "semver": "17.0.6", - "build": 653.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b802.4", - "semver": "17.0.6", - "build": 802.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b802.1", - "semver": "17.0.6", - "build": 802.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b785.1", - "semver": "17.0.6", - "build": 785.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.6b779.1", - "semver": "17.0.6", - "build": 779.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b762.1", - "semver": "17.0.5", - "build": 762.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.25", - "semver": "17.0.5", - "build": 653.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b759.1", - "semver": "17.0.5", - "build": 759.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.23", - "semver": "17.0.5", - "build": 653.23, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.14", - "semver": "17.0.5", - "build": 653.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b469.71", - "semver": "17.0.5", - "build": 469.71, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" - }, - { - "tag_name": "jbr11_0_16b2043.64", - "semver": "11.0.16", - "build": 2043.64, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b653.6", - "semver": "17.0.5", - "build": 653.6, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.5b469.67", - "semver": "17.0.5", - "build": 469.67, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b653.1", - "semver": "17.0.4.1", - "build": 653.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b646.8", - "semver": "17.0.4.1", - "build": 646.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b629.2", - "semver": "17.0.4.1", - "build": 629.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b617.2", - "semver": "17.0.4.1", - "build": 617.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b469.62", - "semver": "17.0.4.1", - "build": 469.62, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4.1b597.1", - "semver": "17.0.4.1", - "build": 597.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4b469.53", - "semver": "17.0.4", - "build": 469.53, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.4b469.44", - "semver": "17.0.4", - "build": 469.44, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" - }, - { - "tag_name": "jbr-release-17.0.3b469.37", - "semver": "17.0.3", - "build": 469.37, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.32", - "semver": "17.0.3", - "build": 469.32, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.30", - "semver": "17.0.3", - "build": 469.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.19", - "semver": "17.0.3", - "build": 469.19, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" - }, - { - "tag_name": "jbr17.0.3b498.3", - "semver": "17.0.3", - "build": 498.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.16", - "semver": "17.0.3", - "build": 469.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.12", - "semver": "17.0.3", - "build": 469.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" - }, - { - "tag_name": "jbr17.0.3b469.3", - "semver": "17.0.3", - "build": 469.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b463.3", - "semver": "17.0.3", - "build": 463.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" - }, - { - "tag_name": "jbr17.0.3b423.10", - "semver": "17.0.3", - "build": 423.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.1.tar.gz" - }, - { - "tag_name": "jbr11_0_15b2043.56", - "semver": "11.0.15", - "build": 2043.56, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.45", - "semver": "11.0.14.1", - "build": 2043.45, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" - }, - { - "tag_name": "jbr17.0.2b396.4", - "semver": "17.0.2", - "build": 396.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.25", - "semver": "11.0.14.1", - "build": 2043.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.22", - "semver": "11.0.14.1", - "build": 2043.22, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.17", - "semver": "11.0.14.1", - "build": 2043.17, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.14", - "semver": "11.0.14.1", - "build": 2043.14, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b2043.11", - "semver": "11.0.14.1", - "build": 2043.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" - }, - { - "tag_name": "jbr11_0_14b2043.2", - "semver": "11.0.14", - "build": 2043.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" - }, - { - "tag_name": "jbr11_0_14_1b1751.46", - "semver": "11.0.14.1", - "build": 1751.46, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" - }, - { - "tag_name": "jbr11_0_14b1993.2", - "semver": "11.0.14", - "build": 1993.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" - }, - { - "tag_name": "jbr17_0_2b315.1", - "semver": "17.0.2", - "build": 315.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" - }, - { - "tag_name": "jbr11_0_14b1982.1", - "semver": "11.0.14", - "build": 1982.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1890.3", - "semver": "11.0.13", - "build": 1890.3, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.25", - "semver": "11.0.13", - "build": 1751.25, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.24", - "semver": "11.0.13", - "build": 1751.24, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.21", - "semver": "11.0.13", - "build": 1751.21, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" - }, - { - "tag_name": "jbr17_0_1b164.8", - "semver": "17.0.1", - "build": 164.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.19", - "semver": "11.0.13", - "build": 1751.19, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" - }, - { - "tag_name": "jb11_0_13-b1504.49", - "semver": "11.0.13", - "build": 1504.49, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" - }, - { - "tag_name": "jbr17_0_1b164.4", - "semver": "17.0.1", - "build": 164.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" - }, - { - "tag_name": "jbr11_0_13b1751.16", - "semver": "11.0.13", - "build": 1751.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1751.11", - "semver": "11.0.12", - "build": 1751.11, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1729.1", - "semver": "11.0.12", - "build": 1729.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1715.4", - "semver": "11.0.12", - "build": 1715.4, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1692.9", - "semver": "11.0.12", - "build": 1692.9, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.37", - "semver": "11.0.12", - "build": 1504.37, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" - }, - { - "tag_name": "jbr11_0_12b1665.1", - "semver": "11.0.12", - "build": 1665.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.28", - "semver": "11.0.12", - "build": 1504.28, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" - }, - { - "tag_name": "jb11_0_12-b1504.27", - "semver": "11.0.12", - "build": 1504.27, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.16", - "semver": "11.0.11", - "build": 1504.16, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.13", - "semver": "11.0.11", - "build": 1504.13, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.12", - "semver": "11.0.11", - "build": 1504.12, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1542.1", - "semver": "11.0.11", - "build": 1542.1, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" - }, - { - "tag_name": "jb11_0_11-b1504.8", - "semver": "11.0.11", - "build": 1504.8, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" - }, - { - "tag_name": "11_0_11b1536.2", - "semver": "11.0.11", - "build": 1536.2, - "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" - } - ] \ No newline at end of file + { + "tag_name": "jbr-release-21.0.3b465.3", + "semver": "21.0.3", + "build": "465.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b458.1", + "semver": "21.0.3", + "build": "458.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b453.2", + "semver": "21.0.3", + "build": "453.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.11b1207.24", + "semver": "17.0.11", + "build": "1207.24", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.11b1207.23", + "semver": "17.0.11", + "build": "1207.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b446.1", + "semver": "21.0.3", + "build": "446.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.14", + "semver": "17.0.10", + "build": "1207.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b829.27", + "semver": "17.0.10", + "build": "829.27", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.23", + "semver": "17.0.10", + "build": "1087.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.12", + "semver": "17.0.10", + "build": "1207.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.21", + "semver": "17.0.10", + "build": "1087.21", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.6", + "semver": "17.0.10", + "build": "1207.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b375.1", + "semver": "21.0.2", + "build": "375.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.1", + "semver": "17.0.10", + "build": "1207.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1186.1", + "semver": "17.0.10", + "build": "1186.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1171.14", + "semver": "17.0.10", + "build": "1171.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b829.26", + "semver": "17.0.10", + "build": "829.26", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b346.3", + "semver": "21.0.2", + "build": "346.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1000.48", + "semver": "17.0.10", + "build": "1000.48", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b341.4", + "semver": "21.0.2", + "build": "341.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.17", + "semver": "17.0.10", + "build": "1087.17", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1166.2", + "semver": "17.0.9", + "build": "1166.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1162.7", + "semver": "17.0.9", + "build": "1162.7", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.11", + "semver": "17.0.9", + "build": "1087.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.9", + "semver": "17.0.9", + "build": "1087.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.7", + "semver": "17.0.9", + "build": "1087.7", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1000.47", + "semver": "17.0.9", + "build": "1000.47", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1000.46", + "semver": "17.0.9", + "build": "1000.46", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.3", + "semver": "17.0.9", + "build": "1087.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1080.1", + "semver": "17.0.8.1", + "build": "1080.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1072.1", + "semver": "17.0.8.1", + "build": "1072.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1070.2", + "semver": "17.0.8.1", + "build": "1070.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1063.1", + "semver": "17.0.8.1", + "build": "1063.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1000.32", + "semver": "17.0.8.1", + "build": "1000.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1059.3", + "semver": "17.0.8.1", + "build": "1059.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8b1000.22", + "semver": "17.0.8", + "build": "1000.22", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8b1000.8", + "semver": "17.0.8", + "build": "1000.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.6", + "semver": "17.0.7", + "build": "1000.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.5", + "semver": "17.0.7", + "build": "1000.5", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.2", + "semver": "17.0.7", + "build": "1000.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b985.2", + "semver": "17.0.7", + "build": "985.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b979.4", + "semver": "17.0.7", + "build": "979.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b829.16", + "semver": "17.0.7", + "build": "829.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b966.2", + "semver": "17.0.7", + "build": "966.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b964.1", + "semver": "17.0.7", + "build": "964.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b829.14", + "semver": "17.0.7", + "build": "829.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b953.1", + "semver": "17.0.7", + "build": "953.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.9", + "semver": "17.0.6", + "build": "829.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b469.82", + "semver": "17.0.6", + "build": "469.82", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.5", + "semver": "17.0.6", + "build": "829.5", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b653.34", + "semver": "17.0.6", + "build": "653.34", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.4", + "semver": "17.0.6", + "build": "829.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.1", + "semver": "17.0.6", + "build": "829.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b653.32", + "semver": "17.0.6", + "build": "653.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b802.4", + "semver": "17.0.6", + "build": "802.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b802.1", + "semver": "17.0.6", + "build": "802.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b785.1", + "semver": "17.0.6", + "build": "785.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b779.1", + "semver": "17.0.6", + "build": "779.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b762.1", + "semver": "17.0.5", + "build": "762.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.25", + "semver": "17.0.5", + "build": "653.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b759.1", + "semver": "17.0.5", + "build": "759.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.23", + "semver": "17.0.5", + "build": "653.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.14", + "semver": "17.0.5", + "build": "653.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b469.71", + "semver": "17.0.5", + "build": "469.71", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" + }, + { + "tag_name": "jbr11_0_16b2043.64", + "semver": "11.0.16", + "build": "2043.64", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.6", + "semver": "17.0.5", + "build": "653.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b469.67", + "semver": "17.0.5", + "build": "469.67", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b653.1", + "semver": "17.0.4.1", + "build": "653.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b646.8", + "semver": "17.0.4.1", + "build": "646.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b629.2", + "semver": "17.0.4.1", + "build": "629.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b617.2", + "semver": "17.0.4.1", + "build": "617.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b469.62", + "semver": "17.0.4.1", + "build": "469.62", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b597.1", + "semver": "17.0.4.1", + "build": "597.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4b469.53", + "semver": "17.0.4", + "build": "469.53", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4b469.44", + "semver": "17.0.4", + "build": "469.44", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.3b469.37", + "semver": "17.0.3", + "build": "469.37", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.32", + "semver": "17.0.3", + "build": "469.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.30", + "semver": "17.0.3", + "build": "469.30", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.30.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.19", + "semver": "17.0.3", + "build": "469.19", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" + }, + { + "tag_name": "jbr17.0.3b498.3", + "semver": "17.0.3", + "build": "498.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.16", + "semver": "17.0.3", + "build": "469.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.12", + "semver": "17.0.3", + "build": "469.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.3", + "semver": "17.0.3", + "build": "469.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b463.3", + "semver": "17.0.3", + "build": "463.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b423.10", + "semver": "17.0.3", + "build": "423.10", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.10.tar.gz" + }, + { + "tag_name": "jbr11_0_15b2043.56", + "semver": "11.0.15", + "build": "2043.56", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.45", + "semver": "11.0.14.1", + "build": "2043.45", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" + }, + { + "tag_name": "jbr17.0.2b396.4", + "semver": "17.0.2", + "build": "396.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.25", + "semver": "11.0.14.1", + "build": "2043.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.22", + "semver": "11.0.14.1", + "build": "2043.22", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.17", + "semver": "11.0.14.1", + "build": "2043.17", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.14", + "semver": "11.0.14.1", + "build": "2043.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.11", + "semver": "11.0.14.1", + "build": "2043.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" + }, + { + "tag_name": "jbr11_0_14b2043.2", + "semver": "11.0.14", + "build": "2043.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b1751.46", + "semver": "11.0.14.1", + "build": "1751.46", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" + }, + { + "tag_name": "jbr11_0_14b1993.2", + "semver": "11.0.14", + "build": "1993.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" + }, + { + "tag_name": "jbr17_0_2b315.1", + "semver": "17.0.2", + "build": "315.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" + }, + { + "tag_name": "jbr11_0_14b1982.1", + "semver": "11.0.14", + "build": "1982.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1890.3", + "semver": "11.0.13", + "build": "1890.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.25", + "semver": "11.0.13", + "build": "1751.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.24", + "semver": "11.0.13", + "build": "1751.24", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.21", + "semver": "11.0.13", + "build": "1751.21", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" + }, + { + "tag_name": "jbr17_0_1b164.8", + "semver": "17.0.1", + "build": "164.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.19", + "semver": "11.0.13", + "build": "1751.19", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" + }, + { + "tag_name": "jb11_0_13-b1504.49", + "semver": "11.0.13", + "build": "1504.49", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" + }, + { + "tag_name": "jbr17_0_1b164.4", + "semver": "17.0.1", + "build": "164.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.16", + "semver": "11.0.13", + "build": "1751.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1751.11", + "semver": "11.0.12", + "build": "1751.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1729.1", + "semver": "11.0.12", + "build": "1729.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1715.4", + "semver": "11.0.12", + "build": "1715.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1692.9", + "semver": "11.0.12", + "build": "1692.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.37", + "semver": "11.0.12", + "build": "1504.37", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1665.1", + "semver": "11.0.12", + "build": "1665.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.28", + "semver": "11.0.12", + "build": "1504.28", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.27", + "semver": "11.0.12", + "build": "1504.27", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.16", + "semver": "11.0.11", + "build": "1504.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.13", + "semver": "11.0.11", + "build": "1504.13", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.12", + "semver": "11.0.11", + "build": "1504.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1542.1", + "semver": "11.0.11", + "build": "1542.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.8", + "semver": "11.0.11", + "build": "1504.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" + }, + { + "tag_name": "11_0_11b1536.2", + "semver": "11.0.11", + "build": "1536.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b465.3", + "semver": "21.0.3", + "build": "465.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b465.3.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b458.1", + "semver": "21.0.3", + "build": "458.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b458.1.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b453.2", + "semver": "21.0.3", + "build": "453.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b453.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.11b1207.24", + "semver": "17.0.11", + "build": "1207.24", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.24.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.11b1207.23", + "semver": "17.0.11", + "build": "1207.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.11-linux-x64-b1207.23.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.3b446.1", + "semver": "21.0.3", + "build": "446.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.3-linux-x64-b446.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.14", + "semver": "17.0.10", + "build": "1207.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b829.27", + "semver": "17.0.10", + "build": "829.27", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.27.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.23", + "semver": "17.0.10", + "build": "1087.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.23.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.12", + "semver": "17.0.10", + "build": "1207.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.12.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.21", + "semver": "17.0.10", + "build": "1087.21", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.21.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.6", + "semver": "17.0.10", + "build": "1207.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.6.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b375.1", + "semver": "21.0.2", + "build": "375.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b375.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1207.1", + "semver": "17.0.10", + "build": "1207.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1207.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1186.1", + "semver": "17.0.10", + "build": "1186.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1186.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1171.14", + "semver": "17.0.10", + "build": "1171.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1171.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b829.26", + "semver": "17.0.10", + "build": "829.26", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b829.26.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b346.3", + "semver": "21.0.2", + "build": "346.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b346.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1000.48", + "semver": "17.0.10", + "build": "1000.48", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1000.48.tar.gz" + }, + { + "tag_name": "jbr-release-21.0.2b341.4", + "semver": "21.0.2", + "build": "341.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-21.0.2-linux-x64-b341.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.10b1087.17", + "semver": "17.0.10", + "build": "1087.17", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.10-linux-x64-b1087.17.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1166.2", + "semver": "17.0.9", + "build": "1166.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1166.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1162.7", + "semver": "17.0.9", + "build": "1162.7", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1162.7.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.11", + "semver": "17.0.9", + "build": "1087.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.11.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.9", + "semver": "17.0.9", + "build": "1087.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.9.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.7", + "semver": "17.0.9", + "build": "1087.7", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.7.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1000.47", + "semver": "17.0.9", + "build": "1000.47", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.47.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1000.46", + "semver": "17.0.9", + "build": "1000.46", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1000.46.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.9b1087.3", + "semver": "17.0.9", + "build": "1087.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.9-linux-x64-b1087.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1080.1", + "semver": "17.0.8.1", + "build": "1080.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1080.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1072.1", + "semver": "17.0.8.1", + "build": "1072.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1072.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1070.2", + "semver": "17.0.8.1", + "build": "1070.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1070.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1063.1", + "semver": "17.0.8.1", + "build": "1063.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1063.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1000.32", + "semver": "17.0.8.1", + "build": "1000.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1000.32.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8.1b1059.3", + "semver": "17.0.8.1", + "build": "1059.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8.1-linux-x64-b1059.3.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8b1000.22", + "semver": "17.0.8", + "build": "1000.22", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.22.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.8b1000.8", + "semver": "17.0.8", + "build": "1000.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.8-linux-x64-b1000.8.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.6", + "semver": "17.0.7", + "build": "1000.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.6.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.5", + "semver": "17.0.7", + "build": "1000.5", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.5.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b1000.2", + "semver": "17.0.7", + "build": "1000.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b1000.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b985.2", + "semver": "17.0.7", + "build": "985.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b985.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b979.4", + "semver": "17.0.7", + "build": "979.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b979.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b829.16", + "semver": "17.0.7", + "build": "829.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.16.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b966.2", + "semver": "17.0.7", + "build": "966.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b966.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b964.1", + "semver": "17.0.7", + "build": "964.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b964.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b829.14", + "semver": "17.0.7", + "build": "829.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b829.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.7b953.1", + "semver": "17.0.7", + "build": "953.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.7-linux-x64-b953.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.9", + "semver": "17.0.6", + "build": "829.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.9.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b469.82", + "semver": "17.0.6", + "build": "469.82", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b469.82.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.5", + "semver": "17.0.6", + "build": "829.5", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.5.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b653.34", + "semver": "17.0.6", + "build": "653.34", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.34.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.4", + "semver": "17.0.6", + "build": "829.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b829.1", + "semver": "17.0.6", + "build": "829.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b829.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b653.32", + "semver": "17.0.6", + "build": "653.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b653.32.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b802.4", + "semver": "17.0.6", + "build": "802.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.4.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b802.1", + "semver": "17.0.6", + "build": "802.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b802.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b785.1", + "semver": "17.0.6", + "build": "785.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b785.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.6b779.1", + "semver": "17.0.6", + "build": "779.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.6-linux-x64-b779.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b762.1", + "semver": "17.0.5", + "build": "762.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b762.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.25", + "semver": "17.0.5", + "build": "653.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.25.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b759.1", + "semver": "17.0.5", + "build": "759.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b759.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.23", + "semver": "17.0.5", + "build": "653.23", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.23.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.14", + "semver": "17.0.5", + "build": "653.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.14.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b469.71", + "semver": "17.0.5", + "build": "469.71", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.71.tar.gz" + }, + { + "tag_name": "jbr11_0_16b2043.64", + "semver": "11.0.16", + "build": "2043.64", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_16-linux-x64-b2043.64.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b653.6", + "semver": "17.0.5", + "build": "653.6", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b653.6.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.5b469.67", + "semver": "17.0.5", + "build": "469.67", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.5-linux-x64-b469.67.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b653.1", + "semver": "17.0.4.1", + "build": "653.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b653.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b646.8", + "semver": "17.0.4.1", + "build": "646.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b646.8.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b629.2", + "semver": "17.0.4.1", + "build": "629.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b629.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b617.2", + "semver": "17.0.4.1", + "build": "617.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b617.2.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b469.62", + "semver": "17.0.4.1", + "build": "469.62", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b469.62.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4.1b597.1", + "semver": "17.0.4.1", + "build": "597.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4.1-linux-x64-b597.1.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4b469.53", + "semver": "17.0.4", + "build": "469.53", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.53.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.4b469.44", + "semver": "17.0.4", + "build": "469.44", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.4-linux-x64-b469.44.tar.gz" + }, + { + "tag_name": "jbr-release-17.0.3b469.37", + "semver": "17.0.3", + "build": "469.37", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.37.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.32", + "semver": "17.0.3", + "build": "469.32", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.32.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.30", + "semver": "17.0.3", + "build": "469.30", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.30.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.19", + "semver": "17.0.3", + "build": "469.19", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.19.tar.gz" + }, + { + "tag_name": "jbr17.0.3b498.3", + "semver": "17.0.3", + "build": "498.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b498.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.16", + "semver": "17.0.3", + "build": "469.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.16.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.12", + "semver": "17.0.3", + "build": "469.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.12.tar.gz" + }, + { + "tag_name": "jbr17.0.3b469.3", + "semver": "17.0.3", + "build": "469.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b469.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b463.3", + "semver": "17.0.3", + "build": "463.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b463.3.tar.gz" + }, + { + "tag_name": "jbr17.0.3b423.10", + "semver": "17.0.3", + "build": "423.10", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.3-linux-x64-b423.10.tar.gz" + }, + { + "tag_name": "jbr11_0_15b2043.56", + "semver": "11.0.15", + "build": "2043.56", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_15-linux-x64-b2043.56.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.45", + "semver": "11.0.14.1", + "build": "2043.45", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk_nomod-11_0_14_1-linux-x64-b2043.45.tar.gz" + }, + { + "tag_name": "jbr17.0.2b396.4", + "semver": "17.0.2", + "build": "396.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17.0.2-linux-x64-b396.4.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.25", + "semver": "11.0.14.1", + "build": "2043.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.25.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.22", + "semver": "11.0.14.1", + "build": "2043.22", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.22.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.17", + "semver": "11.0.14.1", + "build": "2043.17", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.17.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.14", + "semver": "11.0.14.1", + "build": "2043.14", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.14.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b2043.11", + "semver": "11.0.14.1", + "build": "2043.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b2043.11.tar.gz" + }, + { + "tag_name": "jbr11_0_14b2043.2", + "semver": "11.0.14", + "build": "2043.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b2043.2.tar.gz" + }, + { + "tag_name": "jbr11_0_14_1b1751.46", + "semver": "11.0.14.1", + "build": "1751.46", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14_1-linux-x64-b1751.46.tar.gz" + }, + { + "tag_name": "jbr11_0_14b1993.2", + "semver": "11.0.14", + "build": "1993.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1993.2.tar.gz" + }, + { + "tag_name": "jbr17_0_2b315.1", + "semver": "17.0.2", + "build": "315.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_2-linux-x64-b315.1.tar.gz" + }, + { + "tag_name": "jbr11_0_14b1982.1", + "semver": "11.0.14", + "build": "1982.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_14-linux-x64-b1982.1.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1890.3", + "semver": "11.0.13", + "build": "1890.3", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1890.3.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.25", + "semver": "11.0.13", + "build": "1751.25", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.25.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.24", + "semver": "11.0.13", + "build": "1751.24", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.24.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.21", + "semver": "11.0.13", + "build": "1751.21", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.21.tar.gz" + }, + { + "tag_name": "jbr17_0_1b164.8", + "semver": "17.0.1", + "build": "164.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.8.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.19", + "semver": "11.0.13", + "build": "1751.19", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.19.tar.gz" + }, + { + "tag_name": "jb11_0_13-b1504.49", + "semver": "11.0.13", + "build": "1504.49", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1504.49.tar.gz" + }, + { + "tag_name": "jbr17_0_1b164.4", + "semver": "17.0.1", + "build": "164.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-17_0_1-linux-x64-b164.4.tar.gz" + }, + { + "tag_name": "jbr11_0_13b1751.16", + "semver": "11.0.13", + "build": "1751.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_13-linux-x64-b1751.16.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1751.11", + "semver": "11.0.12", + "build": "1751.11", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1751.11.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1729.1", + "semver": "11.0.12", + "build": "1729.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1729.1.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1715.4", + "semver": "11.0.12", + "build": "1715.4", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1715.4.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1692.9", + "semver": "11.0.12", + "build": "1692.9", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1692.9.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.37", + "semver": "11.0.12", + "build": "1504.37", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.37.tar.gz" + }, + { + "tag_name": "jbr11_0_12b1665.1", + "semver": "11.0.12", + "build": "1665.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1665.1.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.28", + "semver": "11.0.12", + "build": "1504.28", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.28.tar.gz" + }, + { + "tag_name": "jb11_0_12-b1504.27", + "semver": "11.0.12", + "build": "1504.27", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_12-linux-x64-b1504.27.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.16", + "semver": "11.0.11", + "build": "1504.16", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.16.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.13", + "semver": "11.0.11", + "build": "1504.13", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.13.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.12", + "semver": "11.0.11", + "build": "1504.12", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.12.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1542.1", + "semver": "11.0.11", + "build": "1542.1", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1542.1.tar.gz" + }, + { + "tag_name": "jb11_0_11-b1504.8", + "semver": "11.0.11", + "build": "1504.8", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1504.8.tar.gz" + }, + { + "tag_name": "11_0_11b1536.2", + "semver": "11.0.11", + "build": "1536.2", + "url": "https://cache-redirector.jetbrains.com/intellij-jbr/jbrsdk-11_0_11-linux-x64-b1536.2.tar.gz" + } +] \ No newline at end of file diff --git a/__tests__/distributors/jetbrains-installer.test.ts b/__tests__/distributors/jetbrains-installer.test.ts index 02316e44..241843cc 100644 --- a/__tests__/distributors/jetbrains-installer.test.ts +++ b/__tests__/distributors/jetbrains-installer.test.ts @@ -41,9 +41,7 @@ describe('getAvailableVersions', () => { expect(availableVersions).not.toBeNull(); const length = - os.platform() === 'win32' - ? manifestData.length - 1 - : manifestData.length + 1; + os.platform() === 'win32' ? manifestData.length : manifestData.length + 2; expect(availableVersions.length).toBe(length); }, 10_000); }); diff --git a/dist/setup/index.js b/dist/setup/index.js index 8bf08ef2..8c9aad13 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -129695,7 +129695,12 @@ class JetBrainsDistribution extends base_installer_1.JavaBase { // url is identical except page_index so print it once for debug core.debug(`Gathering available versions from '${rawUrl}'`); } - const paginationPage = (yield this.http.getJson(rawUrl, requestHeaders)).result; + const paginationPageResult = (yield this.http.getJson(rawUrl, requestHeaders)).result; + if (!paginationPageResult || paginationPageResult.length === 0) { + // break infinity loop because we have reached end of pagination + break; + } + const paginationPage = paginationPageResult.filter(version => this.stable ? !version.prerelease : version.prerelease); if (!paginationPage || paginationPage.length === 0) { // break infinity loop because we have reached end of pagination break; @@ -129703,9 +129708,11 @@ class JetBrainsDistribution extends base_installer_1.JavaBase { rawVersions.push(...paginationPage); page_index++; } - // Add versions not available from the API but are downloadable - const hidden = ['11_0_10b1145.115', '11_0_11b1341.60']; - rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag }))); + if (this.stable) { + // Add versions not available from the API but are downloadable + const hidden = ['11_0_10b1145.115', '11_0_11b1341.60']; + rawVersions.push(...hidden.map(tag => ({ tag_name: tag, name: tag, prerelease: false }))); + } const versions0 = rawVersions.map((v) => __awaiter(this, void 0, void 0, function* () { var _a; // Release tags look like one of these: @@ -129724,7 +129731,7 @@ class JetBrainsDistribution extends base_installer_1.JavaBase { .replace('-', ''); const vsplit = vstring.split('b'); let semver = vsplit[0]; - const build = +vsplit[1]; + const build = vsplit[1]; // Normalize semver if (!semver.includes('.') && !semver.includes('_')) semver = `${semver}.0.0`; diff --git a/src/distributions/jetbrains/installer.ts b/src/distributions/jetbrains/installer.ts index ed0b49fe..b9e9b30b 100644 --- a/src/distributions/jetbrains/installer.ts +++ b/src/distributions/jetbrains/installer.ts @@ -113,9 +113,18 @@ export class JetBrainsDistribution extends JavaBase { core.debug(`Gathering available versions from '${rawUrl}'`); } - const paginationPage = ( + const paginationPageResult = ( await this.http.getJson(rawUrl, requestHeaders) ).result; + if (!paginationPageResult || paginationPageResult.length === 0) { + // break infinity loop because we have reached end of pagination + break; + } + + const paginationPage: IJetBrainsRawVersion[] = + paginationPageResult.filter(version => + this.stable ? !version.prerelease : version.prerelease + ); if (!paginationPage || paginationPage.length === 0) { // break infinity loop because we have reached end of pagination break; @@ -125,9 +134,13 @@ export class JetBrainsDistribution extends JavaBase { page_index++; } - // Add versions not available from the API but are downloadable - const hidden = ['11_0_10b1145.115', '11_0_11b1341.60']; - rawVersions.push(...hidden.map(tag => ({tag_name: tag, name: tag}))); + if (this.stable) { + // Add versions not available from the API but are downloadable + const hidden = ['11_0_10b1145.115', '11_0_11b1341.60']; + rawVersions.push( + ...hidden.map(tag => ({tag_name: tag, name: tag, prerelease: false})) + ); + } const versions0 = rawVersions.map(async v => { // Release tags look like one of these: @@ -148,7 +161,7 @@ export class JetBrainsDistribution extends JavaBase { const vsplit = vstring.split('b'); let semver = vsplit[0]; - const build = +vsplit[1]; + const build = vsplit[1]; // Normalize semver if (!semver.includes('.') && !semver.includes('_')) diff --git a/src/distributions/jetbrains/models.ts b/src/distributions/jetbrains/models.ts index 7daaea06..bad2ec68 100644 --- a/src/distributions/jetbrains/models.ts +++ b/src/distributions/jetbrains/models.ts @@ -3,11 +3,12 @@ export interface IJetBrainsRawVersion { tag_name: string; name: string; + prerelease: boolean; } export interface IJetBrainsVersion { tag_name: string; semver: string; - build: number; + build: string; url: string; } From c190c18febcf6c040d80b10ea201a05a2c320263 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 7 Jul 2025 13:51:25 -0500 Subject: [PATCH 4/5] Bump eslint-plugin-jest from 27.9.0 to 29.0.1 (#730) * Bump eslint-plugin-jest from 27.9.0 to 29.0.1 Bumps [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) from 27.9.0 to 28.11.0. - [Release notes](https://github.com/jest-community/eslint-plugin-jest/releases) - [Changelog](https://github.com/jest-community/eslint-plugin-jest/blob/main/CHANGELOG.md) - [Commits](https://github.com/jest-community/eslint-plugin-jest/compare/v27.9.0...v28.11.0) --- updated-dependencies: - dependency-name: eslint-plugin-jest dependency-type: direct:development update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] * Fix failures * Fix lint error --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> --- dist/setup/index.js | 2 +- package-lock.json | 447 +++++++++++------------ package.json | 6 +- src/distributions/microsoft/installer.ts | 2 +- 4 files changed, 226 insertions(+), 231 deletions(-) diff --git a/dist/setup/index.js b/dist/setup/index.js index 8c9aad13..50c668c8 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -130215,7 +130215,7 @@ class MicrosoftDistributions extends base_installer_1.JavaBase { } } catch (err) { - core.debug(`Http request for microsoft-openjdk-versions.json failed with status code: ${response === null || response === void 0 ? void 0 : response.statusCode}`); + core.debug(`Http request for microsoft-openjdk-versions.json failed with status code: ${response === null || response === void 0 ? void 0 : response.statusCode}. Error: ${err}`); return null; } if (response.result) { diff --git a/package-lock.json b/package-lock.json index eaea09f1..5685236e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,12 +23,12 @@ "@types/jest": "^29.5.14", "@types/node": "^20.11.24", "@types/semver": "^7.5.8", - "@typescript-eslint/eslint-plugin": "^5.54.0", - "@typescript-eslint/parser": "^5.54.0", + "@typescript-eslint/eslint-plugin": "^8.35.1", + "@typescript-eslint/parser": "^8.35.1", "@vercel/ncc": "^0.38.1", "eslint": "^8.57.0", "eslint-config-prettier": "^8.6.0", - "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jest": "^29.0.1", "eslint-plugin-node": "^11.1.0", "jest": "^29.7.0", "jest-circus": "^29.7.0", @@ -835,16 +835,19 @@ "dev": true }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz", + "integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } @@ -1638,12 +1641,6 @@ "pretty-format": "^29.0.0" } }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, "node_modules/@types/node": { "version": "20.11.24", "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", @@ -1710,117 +1707,159 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", - "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.35.1.tgz", + "integrity": "sha512-9XNTlo7P7RJxbVeICaIIIEipqxLKguyh+3UbXuT2XQuFp6d8VOeDEGuz5IiX0dgZo8CiI6aOFLg4e8cF71SFVg==", "dev": true, + "license": "MIT", "dependencies": { - "@eslint-community/regexpp": "^4.4.0", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/type-utils": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/type-utils": "8.35.1", + "@typescript-eslint/utils": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "graphemer": "^1.4.0", - "ignore": "^5.2.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "ignore": "^7.0.0", + "natural-compare": "^1.4.0", + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.35.1", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" } }, "node_modules/@typescript-eslint/parser": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", - "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.35.1.tgz", + "integrity": "sha512-3MyiDfrfLeK06bi/g9DqJxP5pV74LNv4rFTyvGDmT3x2p1yp1lOd+qYZfiRPIOf/oON+WRZR5wxxuF85qOar+w==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/typescript-estree": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "debug": "^4.3.4" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.35.1.tgz", + "integrity": "sha512-VYxn/5LOpVxADAuP3NrnxxHYfzVtQzLKeldIhDhzC8UHaiQvYlXvKuVho1qLduFbJjjy5U5bkGwa3rUGUb1Q6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.35.1", + "@typescript-eslint/types": "^8.35.1", + "debug": "^4.3.4" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.35.1.tgz", + "integrity": "sha512-s/Bpd4i7ht2934nG+UoSPlYXd08KYz3bmjLEb7Ye1UVob0d1ENiT3lY8bsCmik4RqfSbPw9xJJHbugpPpP5JUg==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", - "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.35.1.tgz", + "integrity": "sha512-K5/U9VmT9dTHoNowWZpz+/TObS3xqC5h0xAIjXPw+MNcKV9qg6eSatEnmeAwkjHijhACH0/N7bkhKvbt1+DXWQ==", "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "5.62.0", - "@typescript-eslint/utils": "5.62.0", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "*" + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.35.1.tgz", + "integrity": "sha512-HOrUBlfVRz5W2LIKpXzZoy6VTZzMu2n8q9C2V/cFngIC5U1nStJgv0tMV4sZPzdf4wQm9/ToWUFPMN9Vq9VJQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "8.35.1", + "@typescript-eslint/utils": "8.35.1", + "debug": "^4.3.4", + "ts-api-utils": "^2.1.0" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" } }, "node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.35.1.tgz", + "integrity": "sha512-q/O04vVnKHfrrhNAscndAn1tuQhIkwqnaW+eu5waD5IPts2eX1dgJxgqcPx5BX109/qAz7IG6VrEPTOYKCNfRQ==", "dev": true, + "license": "MIT", "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -1828,73 +1867,113 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.35.1.tgz", + "integrity": "sha512-Vvpuvj4tBxIka7cPs6Y1uvM7gJgdF5Uu9F+mBJBPY4MhvjrjWGK4H0lVgLJd/8PWZ23FTqsaJaLEkBCFUk8Y9g==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", + "@typescript-eslint/project-service": "8.35.1", + "@typescript-eslint/tsconfig-utils": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/visitor-keys": "8.35.1", "debug": "^4.3.4", - "globby": "^11.1.0", + "fast-glob": "^3.3.2", "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^2.1.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + "typescript": ">=4.8.4 <5.9.0" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, + "license": "MIT", "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.35.1.tgz", + "integrity": "sha512-lhnwatFmOFcazAsUm3ZnZFpXSxiwoa1Lj50HphnDe1Et01NF4+hrdXONSUHIcbVu2eFb1bAf+5yjXkGVkXBKAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.7.0", + "@typescript-eslint/scope-manager": "8.35.1", + "@typescript-eslint/types": "8.35.1", + "@typescript-eslint/typescript-estree": "8.35.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <5.9.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.35.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.35.1.tgz", + "integrity": "sha512-VRwixir4zBWCSTP/ljEo091lbpypz57PoeAQ9imjG+vbeof9LplljsL1mos4ccG6H9IjfrVGM359RozUnuFhpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "8.35.1", + "eslint-visitor-keys": "^4.2.1" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/@ungap/structured-clone": { @@ -2030,15 +2109,6 @@ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/async": { "version": "3.2.6", "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", @@ -2514,18 +2584,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -2695,19 +2753,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", - "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "version": "29.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-29.0.1.tgz", + "integrity": "sha512-EE44T0OSMCeXhDrrdsbKAhprobKkPtJTbQz5yEktysNpHeDZTAL1SfDTNKmcFfJkY6yrQLtTKZALrD3j/Gpmiw==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^8.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^20.12.0 || ^22.0.0 || >=24.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "eslint": "^8.57.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -2748,19 +2806,6 @@ "semver": "bin/semver.js" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, "node_modules/eslint-utils": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", @@ -2893,15 +2938,6 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -2982,16 +3018,17 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", + "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", "dev": true, + "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "micromatch": "^4.0.8" }, "engines": { "node": ">=8.6.0" @@ -3002,6 +3039,7 @@ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, + "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -3260,26 +3298,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", @@ -4320,6 +4338,7 @@ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, + "license": "MIT", "engines": { "node": ">= 8" } @@ -4389,12 +4408,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "node_modules/node-fetch": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", @@ -4609,15 +4622,6 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", @@ -5191,6 +5195,18 @@ "node": ">=8.0" } }, + "node_modules/ts-api-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", + "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", + "dev": true, + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, "node_modules/ts-jest": { "version": "29.3.0", "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.3.0.tgz", @@ -5259,27 +5275,6 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, "node_modules/tunnel": { "version": "0.0.6", "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz", diff --git a/package.json b/package.json index db57615e..400a585c 100644 --- a/package.json +++ b/package.json @@ -40,12 +40,12 @@ "@types/jest": "^29.5.14", "@types/node": "^20.11.24", "@types/semver": "^7.5.8", - "@typescript-eslint/eslint-plugin": "^5.54.0", - "@typescript-eslint/parser": "^5.54.0", + "@typescript-eslint/eslint-plugin": "^8.35.1", + "@typescript-eslint/parser": "^8.35.1", "@vercel/ncc": "^0.38.1", "eslint": "^8.57.0", "eslint-config-prettier": "^8.6.0", - "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jest": "^29.0.1", "eslint-plugin-node": "^11.1.0", "jest": "^29.7.0", "jest-circus": "^29.7.0", diff --git a/src/distributions/microsoft/installer.ts b/src/distributions/microsoft/installer.ts index 63c5b0d2..0d80c3f9 100644 --- a/src/distributions/microsoft/installer.ts +++ b/src/distributions/microsoft/installer.ts @@ -116,7 +116,7 @@ export class MicrosoftDistributions extends JavaBase { } } catch (err) { core.debug( - `Http request for microsoft-openjdk-versions.json failed with status code: ${response?.statusCode}` + `Http request for microsoft-openjdk-versions.json failed with status code: ${response?.statusCode}. Error: ${err}` ); return null; } From ae2b61dbc685e60e4427b2e8ed4f0135c6ea8597 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 15 Jul 2025 12:32:37 -0500 Subject: [PATCH 5/5] Bump undici from 5.28.5 to 5.29.0 (#833) * Bump undici from 5.28.5 to 5.29.0 Bumps [undici](https://github.com/nodejs/undici) from 5.28.5 to 5.29.0. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](https://github.com/nodejs/undici/compare/v5.28.5...v5.29.0) --- updated-dependencies: - dependency-name: undici dependency-version: 5.29.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] * Fix CI failures --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: HarithaVattikuti <73516759+HarithaVattikuti@users.noreply.github.com> --- .licenses/npm/undici.dep.yml | 2 +- dist/cleanup/index.js | 62 ++++++++++++++++++------------------ dist/setup/index.js | 62 ++++++++++++++++++------------------ package-lock.json | 6 ++-- 4 files changed, 66 insertions(+), 66 deletions(-) diff --git a/.licenses/npm/undici.dep.yml b/.licenses/npm/undici.dep.yml index 961089c6..fadecf4a 100644 --- a/.licenses/npm/undici.dep.yml +++ b/.licenses/npm/undici.dep.yml @@ -1,6 +1,6 @@ --- name: undici -version: 5.28.5 +version: 5.29.0 type: npm summary: An HTTP/1.1 client, written from scratch for Node.js homepage: https://undici.nodejs.org diff --git a/dist/cleanup/index.js b/dist/cleanup/index.js index b8d03ca1..b360134f 100644 --- a/dist/cleanup/index.js +++ b/dist/cleanup/index.js @@ -71116,7 +71116,7 @@ module.exports = { const { parseSetCookie } = __nccwpck_require__(4408) -const { stringify, getHeadersList } = __nccwpck_require__(3121) +const { stringify } = __nccwpck_require__(3121) const { webidl } = __nccwpck_require__(1744) const { Headers } = __nccwpck_require__(554) @@ -71192,14 +71192,13 @@ function getSetCookies (headers) { webidl.brandCheck(headers, Headers, { strict: false }) - const cookies = getHeadersList(headers).cookies + const cookies = headers.getSetCookie() if (!cookies) { return [] } - // In older versions of undici, cookies is a list of name:value. - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)) + return cookies.map((pair) => parseSetCookie(pair)) } /** @@ -71627,14 +71626,15 @@ module.exports = { /***/ }), /***/ 3121: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +/***/ ((module) => { "use strict"; -const assert = __nccwpck_require__(9491) -const { kHeadersList } = __nccwpck_require__(2785) - +/** + * @param {string} value + * @returns {boolean} + */ function isCTLExcludingHtab (value) { if (value.length === 0) { return false @@ -71895,31 +71895,13 @@ function stringify (cookie) { return out.join('; ') } -let kHeadersListNode - -function getHeadersList (headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList] - } - - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === 'headers list' - ) - - assert(kHeadersListNode, 'Headers cannot be parsed') - } - - const headersList = headers[kHeadersListNode] - assert(headersList) - - return headersList -} - module.exports = { isCTLExcludingHtab, - stringify, - getHeadersList + validateCookieName, + validateCookiePath, + validateCookieValue, + toIMFDate, + stringify } @@ -75923,6 +75905,7 @@ const { isValidHeaderName, isValidHeaderValue } = __nccwpck_require__(2538) +const util = __nccwpck_require__(3837) const { webidl } = __nccwpck_require__(1744) const assert = __nccwpck_require__(9491) @@ -76476,6 +76459,9 @@ Object.defineProperties(Headers.prototype, { [Symbol.toStringTag]: { value: 'Headers', configurable: true + }, + [util.inspect.custom]: { + enumerable: false } }) @@ -85652,6 +85638,20 @@ class Pool extends PoolBase { ? { ...options.interceptors } : undefined this[kFactory] = factory + + this.on('connectionError', (origin, targets, error) => { + // If a connection error occurs, we remove the client from the pool, + // and emit a connectionError event. They will not be re-used. + // Fixes https://github.com/nodejs/undici/issues/3895 + for (const target of targets) { + // Do not use kRemoveClient here, as it will close the client, + // but the client cannot be closed in this state. + const idx = this[kClients].indexOf(target) + if (idx !== -1) { + this[kClients].splice(idx, 1) + } + } + }) } [kGetDispatcher] () { diff --git a/dist/setup/index.js b/dist/setup/index.js index 50c668c8..8131e9c6 100644 --- a/dist/setup/index.js +++ b/dist/setup/index.js @@ -95970,7 +95970,7 @@ module.exports = { const { parseSetCookie } = __nccwpck_require__(24408) -const { stringify, getHeadersList } = __nccwpck_require__(43121) +const { stringify } = __nccwpck_require__(43121) const { webidl } = __nccwpck_require__(21744) const { Headers } = __nccwpck_require__(10554) @@ -96046,14 +96046,13 @@ function getSetCookies (headers) { webidl.brandCheck(headers, Headers, { strict: false }) - const cookies = getHeadersList(headers).cookies + const cookies = headers.getSetCookie() if (!cookies) { return [] } - // In older versions of undici, cookies is a list of name:value. - return cookies.map((pair) => parseSetCookie(Array.isArray(pair) ? pair[1] : pair)) + return cookies.map((pair) => parseSetCookie(pair)) } /** @@ -96481,14 +96480,15 @@ module.exports = { /***/ }), /***/ 43121: -/***/ ((module, __unused_webpack_exports, __nccwpck_require__) => { +/***/ ((module) => { "use strict"; -const assert = __nccwpck_require__(39491) -const { kHeadersList } = __nccwpck_require__(72785) - +/** + * @param {string} value + * @returns {boolean} + */ function isCTLExcludingHtab (value) { if (value.length === 0) { return false @@ -96749,31 +96749,13 @@ function stringify (cookie) { return out.join('; ') } -let kHeadersListNode - -function getHeadersList (headers) { - if (headers[kHeadersList]) { - return headers[kHeadersList] - } - - if (!kHeadersListNode) { - kHeadersListNode = Object.getOwnPropertySymbols(headers).find( - (symbol) => symbol.description === 'headers list' - ) - - assert(kHeadersListNode, 'Headers cannot be parsed') - } - - const headersList = headers[kHeadersListNode] - assert(headersList) - - return headersList -} - module.exports = { isCTLExcludingHtab, - stringify, - getHeadersList + validateCookieName, + validateCookiePath, + validateCookieValue, + toIMFDate, + stringify } @@ -100777,6 +100759,7 @@ const { isValidHeaderName, isValidHeaderValue } = __nccwpck_require__(52538) +const util = __nccwpck_require__(73837) const { webidl } = __nccwpck_require__(21744) const assert = __nccwpck_require__(39491) @@ -101330,6 +101313,9 @@ Object.defineProperties(Headers.prototype, { [Symbol.toStringTag]: { value: 'Headers', configurable: true + }, + [util.inspect.custom]: { + enumerable: false } }) @@ -110506,6 +110492,20 @@ class Pool extends PoolBase { ? { ...options.interceptors } : undefined this[kFactory] = factory + + this.on('connectionError', (origin, targets, error) => { + // If a connection error occurs, we remove the client from the pool, + // and emit a connectionError event. They will not be re-used. + // Fixes https://github.com/nodejs/undici/issues/3895 + for (const target of targets) { + // Do not use kRemoveClient here, as it will close the client, + // but the client cannot be closed in this state. + const idx = this[kClients].indexOf(target) + if (idx !== -1) { + this[kClients].splice(idx, 1) + } + } + }) } [kGetDispatcher] () { diff --git a/package-lock.json b/package-lock.json index 5685236e..8c0c9701 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5330,9 +5330,9 @@ } }, "node_modules/undici": { - "version": "5.28.5", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.28.5.tgz", - "integrity": "sha512-zICwjrDrcrUE0pyyJc1I2QzBkLM8FINsgOrt6WjA+BgajVq9Nxu2PbFFXUrAggLfDXlZGZBVZYw7WNV5KiBiBA==", + "version": "5.29.0", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.29.0.tgz", + "integrity": "sha512-raqeBD6NQK4SkWhQzeYKd1KmIG6dllBOTt55Rmkt4HtI9mwdWtJljnrXjAFUBLTSN67HWrOIZ3EPF4kjUw80Bg==", "license": "MIT", "dependencies": { "@fastify/busboy": "^2.0.0"