Repository navigation
ci: notify Slack when promote-to-prerelease fails - W-24443944 - #8379
Conversation
promote-to-prerelease.yml had no failure notification, unlike nightly-release which gets one for free via a different reusable workflow. Add a final job gated on failure() across the pipeline that calls the existing (currently test-only) slackNotification.yml reusable workflow.
|
This PR lacks any commits of the 'fix' or 'feat' type, and therefore will not trigger a release. To silence all further warnings, react to this warning comment (or any other) with the 👀 emoji. NOTE: If your repo uses squash commits, make sure to add the appropriate conventional commit prefix (e.g., 'fix:', 'feat:', 'chore:', etc) in the squash commit message. |
|
Converting to draft — the wiring/gating logic is verified correct (see run https://github.com/forcedotcom/salesforcedx-vscode/actions/runs/37510239517:
Holding this PR until |
…tions IDEE_MAIN_SLACK_WEBHOOK is dead (Slack returns 404 webhook_not_found), which also meant nightly-release's real (non-dry-run) failure/success Slack notifications in the upstream vscode-publish-extensions.yml have likely been silently broken. IDEE_RELEASE_SLACK_WEBHOOK verified alive via a diagnostic dispatch. Repoint this reusable workflow's failure and general-notification jobs to it; drop the now-unused secret.
…trigger A new Slack Workflow Builder webhook trigger was created specifically for this notification (IDEE_PROMOTE_FAILURE_WEBHOOK), replacing the IDEE_RELEASE_SLACK_WEBHOOK stopgap. Its payload contract is a flat set of input variables (title, run_url, repository) defined on the trigger itself, not a free-form incoming-webhook message, so this posts directly via curl instead of going through slackNotification.yml. run_url now deep-links to the exact failing run (github.run_id) rather than the workflow's generic run-history page.
Mirrors notify-on-failure for the happy path, gated on dry-run != true since mark-release-published (the real "did this actually publish" signal) is skipped during dry-run and wouldn't otherwise block success(). Switched both titles to Slack emoji shortcode syntax (:x:, :check-green:, :rocket:) to match how the workflow actually renders them.
…BHOOK The secret now backs both notify-on-success and notify-on-failure, so "FAILURE" in the name was misleading.
…1678 (#8564) * fix: show a toast when SOQL Builder Run Query fails - W-24361163 (#8305) * fix: Show a toast when SOQL Builder Run Query fails - W-24361163 * chore: eslint typed rule: ban raw number for Duration params - W-24293098 (#8303) * ci: pr bot approval criteria - W-24344776 (#8290) * ci: approve settled diffs that match a category union The author merges after the bot approves a covered diff. Doc-only admin merge is removed. * ci: cover .claude markdown in category approve Skills, agents, and plans under .claude join the union. Non-markdown files under .claude stay out. * ci: cover eslint and all of .claude ESLint configs and packages/eslint-local-rules join the union. Every file under .claude is covered. * ci: cover .vscode and metadata type artifacts The editor folder joins the union. The scraped metadata map and the generated XSD join the union. * ci: cover diagnostics config, changelog constants, and plans config/effect-diagnostics.json joins the union. scripts/change-log-constants.* and root plans/ join the union. * ci: run category approve as an Effect TypeScript script Node runs the script with type stripping. Shared decision code and the GitHub client live under scripts/shared. * ci: drop the category-approve workflow header comment The model and the diff rule are already in the script. * test: drive category approve with GitHub pull and check fields - W-24344776 Wire @salesforce/effect-octokit into workspace lint and test. Fixtures match pull, check-run, and review fields. * feat: approve categories through an Effect GitHub client - W-24344776 Replace the fetch client with @salesforce/effect-octokit. Start the job when a skip gate can flip without a new check run. * build: pin pnpm 12.8.2 and stop vendoring Node - W-24344776 pmOnFail ignore let a direct pnpm 12 binary rewrite the lockfile while CI stayed on 11. Scripts now use the Node on PATH. Add @effect/platform so category-approve resolves after install. * test(e2e): verify outline is present without apex ext (using apexTSLS) * refactor: Dispose services OutputChannels on deactivate via extension-scoped finalizer - W-23526297 (#8309) * chore: Dispose services OutputChannels on deactivate via extension-scoped finalizer - W-23526297 * chore: Dispose services OutputChannels on deactivate via extension-scoped finalizer - W-23526297 * chore: gitignore junit-custom-unitTests.xml - W-23526297 * refactor: 5 Migrate ARD checkpoint commands to Effect command registration - W-23711395 (#8315) * test(e2e): playwright lint: no-conditional-expect - W-22888210 (#8313) * ci: Fix category-approve Cursor key secret - W-24375199 (#8317) * ci: Manual test plan section on PR open - W-24330048 (#8297) * ci: Manual test plan section on PR open - W-24330048 * chore: Unpin github-workflows SHA refs to @main - W-24351692 (#8319) * chore: update CHANGELOG.md [skip ci] (#8325) * ci: configure pnpm for nightly release workflow (#8324) * ci: configure pnpm for nightly release workflow The nightly-release job delegates to vscode-publish-extensions.yml without overriding its npm/package-lock.json defaults, so setup-node's cache step fails looking for a package-lock.json that no longer exists since the repo migrated to pnpm. * ci: avoid pnpm version mismatch in nightly release workflow package-manager-version: '12' conflicted with the pnpm@12.8.2 pin in package.json's packageManager field, causing pnpm/action-setup to fail with ERR_PNPM_BAD_PM_VERSION. Pass an empty string instead so it auto-detects the version from packageManager, matching how the local .github/actions/setup-pnpm composite action already does it. * chore: bump versions for release [skip ci] * ci: trust workspace in category approval (#8330) * refactor: Move debugger-only CLI helpers from salesforcedx-utils into salesforcedx-apex-debugger - W-24212764 (#8326) * test: isolate manual test plan Git from hook environment (#8331) * fix: isolate manual test plan Git from hook environment * fix: package legacy extensions without copied workspace modules * ci: run category approve from trusted develop copy (#8332) * ci: enable wireit caching for code-quality lint job (#8333) * feat(lwc): add support for custom templates for SFDX: Create Lightning Web Component - W-23950041 (#8289) * feat: support custom templates for SFDX: Create Lightning Web Component * fix: invalid values for defaultLwcLanguage should be treated as unset instead of throwing error * chore: use the beta version of @salesforce/templates with the changes for this branch * fix: use uri.path instead of uri.fspath in templateService.test.ts to pass on Windows * fix: fix E2E test – first option is "default" not "Javascript" * chore: all PRs in the stack should use @salesforce/templates 66.17.0-beta.3 * fix: use the newly published version of @salesforce/templates v66.16.3 instead of the beta version * fix: ignore the minimumReleaseAge for @salesforce packages * chore(release): eslint-plugin-vscode-extensions-v65.14.0 [skip ci] * docs(packages): add package index, fix extension list and telemetry guidance (#8334) * chore: bump versions for release [skip ci] * feat(aura): add support for custom templates for Aura extension create commands - W-23950565 (#8311) * feat: add support for custom templates in Aura extension * fix: different prompts for Aura app, event, and interface * chore: Move @salesforce/core to devDependencies in salesforcedx-vscode-core - W-24266273 (#8343) * chore: Move @salesforce/core to devDependencies in salesforcedx-vscode-core - W-24266273 * Merge remote-tracking branch 'origin/sm/W-24266273' into sm/W-24266273 * fix: do not offer Generate Manifest on the Output panel - W-24267720 (#8344) * fix: Do not offer Generate Manifest on the Output panel - W-24267720 * ci: pass pnpm inputs to shared dependabot automerge (#8345) * chore: 8 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-log - W-23371055 (#8348) * build: Bundle applicationinsights and move core to modern vscode:package - W-24386591 (#8349) * Merge remote-tracking branch 'origin/develop' into sm/W-24386591 * build(core): reconcile direct packaging PRs * chore: bump versions for release [skip ci] * feat(visualforce): add support for custom templates for Visualforce extension create commands - W-23950591 (#8323) * ci: /ai-auto approve: latest green run supersedes a cancel - W-24361310 (#8341) * chore: /ai-auto approve: latest green run supersedes a cancel - W-24361310 * chore: /ai-auto approve: latest green run supersedes a cancel - W-24361310 * refactor: use Effect and effect-octokit for auto-approve - W-24361310 * review-feedback: W-24361310 * review-feedback: W-24361310 * ci-repair: W-24361310 * ci-repair: W-24361310 * review-feedback: W-24361310 * ci: set up pnpm for approval workflows (#8350) * fix(ci): auto-detect pnpm version for dependabot * fix(ci): install dependencies for AI auto-approve * chore: 6 Migrate ARD test-debug commands to Effect command registration - W-23711396 (#8351) * chore: 6 Migrate ARD test-debug commands to Effect command registration - W-23711396 * chore: 6 Migrate ARD test-debug commands to Effect command registration - W-23711396 * refactor(apex-replay-debugger): route telemetry through Effect spans - W-24163046 (#8337) * refactor(apex-replay-debugger): route telemetry through Effect spans - W-24163046 * fix(apex-replay-debugger): preserve selection range semantics - W-24163046 * review-feedback: W-24163046 * chore(deps): bump morgan from 1.12.0 to 1.12.1 (#8286) Bumps [morgan](https://github.com/expressjs/morgan) from 1.12.0 to 1.12.1. - [Release notes](https://github.com/expressjs/morgan/releases) - [Changelog](https://github.com/expressjs/morgan/blob/master/HISTORY.md) - [Commits](https://github.com/expressjs/morgan/compare/1.12.0...1.12.1) --- updated-dependencies: - dependency-name: morgan dependency-version: 1.12.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Set Web Console auth flags in AccessTokenOptions - W-24380286 (#8342) * chore: Set Web Console auth flags in AccessTokenOptions - W-24380286 * chore: Set Web Console auth flags in AccessTokenOptions - W-24380286 * chore: Set Web Console auth flags in AccessTokenOptions - W-24380286 * ci-repair: W-24380286 * review-feedback: W-24380286 * chore(deps): bump @opentelemetry/resources from 2.8.0 to 2.11.0 (#8210) Bumps [@opentelemetry/resources](https://github.com/open-telemetry/opentelemetry-js) from 2.8.0 to 2.11.0. - [Release notes](https://github.com/open-telemetry/opentelemetry-js/releases) - [Changelog](https://github.com/open-telemetry/opentelemetry-js/blob/main/CHANGELOG.md) - [Commits](https://github.com/open-telemetry/opentelemetry-js/compare/v2.8.0...v2.11.0) --- updated-dependencies: - dependency-name: "@opentelemetry/resources" dependency-version: 2.11.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: bump versions for release [skip ci] * chore(deps): bump undici and @cursor/sdk in /scripts/changelogBody (#8310) Removes [undici](https://github.com/nodejs/undici). It's no longer used after updating ancestor dependency [@cursor/sdk](https://github.com/cursor/cursor). These dependencies need to be updated together. Removes `undici` Updates `@cursor/sdk` from 1.0.32 to 1.0.34 - [Commits](https://github.com/cursor/cursor/commits) --- updated-dependencies: - dependency-name: undici dependency-version: dependency-type: indirect - dependency-name: "@cursor/sdk" dependency-version: 1.0.34 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Replace Set-based add/remove diff with Arr.differenceWith - W-23574071 (#8355) * chore: 2 ESLint ban in-repo telemetryService usage except frozen core export - W-24163050 (#8354) * chore(skills): set review never frontmatter (#8353) * chore: 10 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-oas - W-23371058 (#8352) * ci: allow dependabot[bot] past rerunPushE2E actor gate (#8360) * ci(category-approve): cover .cursor, approve before CI settles (#8358) * ci(category-approve): cover .cursor, approve before CI settles * ci(category-approve): include .cursor/rules and .cursor/commands in cursor category * chore: Size the SOQL walkthrough GIF to the media slot - W-24367253 (#8361) * feat(services): persist semantic artifact revisions - W-23973887 (#8046) * chore(apex): update signed Jorje LSP jar - W-23491128 (#8364) * chore: Mute Effect version-mismatch WARN on vscode extension runtimes - W-24209158 (#8359) * chore: Mute Effect version-mismatch WARN on vscode extension runtimes - W-24209158 * chore: Mute Effect version-mismatch WARN on vscode extension runtimes - W-24209158 * revert(apex): restore previous Jorje LSP jar - W-23491128 (#8367) * chore: 11 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-replay-debugger - W-23371059 (#8366) * chore: delete plan files older than 14 days (#8356) * chore: eslint rule: Effect.fn catch middleware must be last - W-24293124 (#8362) * chore: Skip category-approve before install when the decision is already a skip - W-24373307 (#8368) * chore: bump versions for release [skip ci] * chore: 12 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-lightning - W-23371060 (#8372) * chore: 5 Enforce schemaUnionOfLiterals on Effect packages - W-24293818 (#8371) * chore: Upgrade standard workspace to Rollup 4.59+ - W-24418006 (#8369) * fix(services, apex-testing): don't block callers on success toasts with action buttons - W-24378601 (#8370) * fix: don't block callers on success toasts with action buttons * fix: correct comment in executeAnonymous.ts now that there is no workaround needed * fix: workaround no longer needed in dataQuery.ts to get around blocking notification buttons * fix: E2E test should check that there is no Apex test run in progress when checking for test run completion * fix: all E2E tests that run Apex tests should verify that the test run actually completed * chore(release): playwright-vscode-ext-v1.7.1 [skip ci] * feat(apex): add Effect foundation - W-23839365 (#8139) * feat(apex): add Effect foundation - W-23839365 * refactor(apex): simplify Effect connection capability * refactor: use apex-node Effect execute anonymous in services * refactor(apex): use Effect retry and discriminate execute results * fix(services): preserve shadow revision order within a millisecond * fix(apex): support packed web validation on Windows * fix(apex): execute npm cmd through Windows shell * feat(services): persist typed semantic projections - W-23973887 (#8047) * feat(services): persist typed semantic projections - W-23973887 * fix(services): preserve semantic persistence errors - W-23973887 * chore: Ban jsforce connection.query outside QueryService - W-24361359 (#8363) * chore: Ban jsforce connection.query outside QueryService - W-24361359 * chore: mock AuthInfo in Web Console unit tests, drop real-FS core test - W-24361359 Real AuthInfo.create writes proper-lockfile .lock files under a mkdtemp home, then rm() races the background save/lock on Windows. The late ENOENT gets attributed to whichever suite runs next in the same Jest worker, so the victim rotates (configFileWatcher, metadataChangeNotificationService). Unit tests assert our accessTokenOptions args incl. flags; real core behavior stays in e2e. * review-feedback: W-24361359 * chore: isv eslint exception for direct tooling.query - W-24361359 * review-feedback: W-24361359 * chore: make jsforce query lint type-aware - W-24361359 * build: Remove Core VSIX from Apex Testing desktop E2E - W-24397959 (#8373) * chore: Remove Core VSIX from Apex Testing desktop E2E - W-24397959 * Merge remote-tracking branch 'origin/sm/W-24397959' into sm/W-24397959 * Merge remote-tracking branch 'origin/develop' into sm/W-24397959 * chore: Adopt Effect Record for mechanical Object.entries/keys swaps (effect-packages) - W-23573609 (#8377) * chore: Adopt Effect Record for mechanical Object.entries/keys swaps (effect-packages) - W-23573609 * chore: Adopt Effect Record for mechanical Object.entries/keys swaps (effect-packages) - W-23573609 * chore: Adopt Effect Record for mechanical Object.entries/keys swaps (effect-packages) - W-23573609 * refactor: streamline Effect Record transforms - W-23573609 * chore: bump versions for release [skip ci] * chore(deps): bump @salesforce/templates from 66.15.0 to 66.16.2 (#8357) Bumps [@salesforce/templates](https://github.com/forcedotcom/salesforcedx-templates) from 66.15.0 to 66.16.2. - [Release notes](https://github.com/forcedotcom/salesforcedx-templates/releases) - [Changelog](https://github.com/forcedotcom/salesforcedx-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/forcedotcom/salesforcedx-templates/compare/66.15.0...66.16.2) --- updated-dependencies: - dependency-name: "@salesforce/templates" dependency-version: 66.16.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mshanemc <shane.mclaughlin@salesforce.com> * chore: changelog for prerelease v67.27.6 [skip ci] * chore(deps): bump the eslint-tooling group across 1 directory with 7 updates (#8216) Bumps the eslint-tooling group with 7 updates in the / directory: | Package | From | To | | --- | --- | --- | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.70.0` | `8.71.0` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.70.0` | `8.71.0` | | [eslint](https://github.com/eslint/eslint) | `10.10.0` | `10.12.0` | | [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.16.2` | `29.16.6` | | [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.11.0` | `2.12.0` | | [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.70.0` | `8.71.0` | | [@typescript-eslint/rule-tester](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/rule-tester) | `8.70.0` | `8.71.0` | Updates `@typescript-eslint/eslint-plugin` from 8.70.0 to 8.71.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.70.0 to 8.71.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/parser) Updates `eslint` from 10.10.0 to 10.12.0 - [Release notes](https://github.com/eslint/eslint/releases) - [Commits](https://github.com/eslint/eslint/compare/v10.10.0...v10.12.0) Updates `eslint-plugin-jest` from 29.16.2 to 29.16.6 - [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/v29.16.2...v29.16.6) Updates `eslint-plugin-playwright` from 2.11.0 to 2.12.0 - [Release notes](https://github.com/mskelton/eslint-plugin-playwright/releases) - [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md) - [Commits](https://github.com/mskelton/eslint-plugin-playwright/compare/v2.11.0...v2.12.0) Updates `@typescript-eslint/utils` from 8.70.0 to 8.71.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/utils) Updates `@typescript-eslint/rule-tester` from 8.70.0 to 8.71.0 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/rule-tester/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.0/packages/rule-tester) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.70.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/parser" dependency-version: 8.70.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/rule-tester" dependency-version: 8.70.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/utils" dependency-version: 8.70.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: eslint-tooling - dependency-name: eslint dependency-version: 10.10.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint-tooling - dependency-name: eslint-plugin-jest dependency-version: 29.16.6 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: eslint-plugin-playwright dependency-version: 2.12.0 dependency-type: direct:development update-type: version-update:semver-minor dependency-group: eslint-tooling ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * feat: Remove the unused sf.open.documentation command - W-24431682 (#8382) * chore: Remove the unused sf.open.documentation command - W-24431682 * chore: Remove the unused sf.open.documentation command - W-24431682 * chore: 8 Adopt Predicate.isNumber/isBoolean/isDate in effect packages - W-23358836 (#8381) * chore: 8 Adopt Predicate.isNumber/isBoolean/isDate in effect packages - W-23358836 * chore: 8 Adopt Predicate.isNumber/isBoolean/isDate in effect packages - W-23358836 * chore: 9 Record org catalog Effect.Service seam decisions - W-24010147 (#8386) * chore(apex): update language server - W-24392371 (#8380) * chore(apex): update language server - W-24392371 * chore(apex): update language server - W-24392371 signed * refactor(telemetry): route legacy sends through services spans - W-24365561 (#8346) * refactor: route legacy telemetry through services spans * refactor(telemetry): move CLI identity handling into services * refactor(telemetry): remove dead reporter refresh shim * refactor: move cliId lookup and degraded-session warning to services - utils-vscode/telemetry.ts: remove getCliIdFromServices, warnDegradedSession, and identity snapshot logic; now uses deferred sender from services - services/legacyTelemetrySender.ts: add warnDegradedTelemetrySession using ChannelService; capture identity at factory time (for warning) and send time (for each event); return deferred sender (() => Promise<void>) - update core and utils tests for new sender signature - delete obsolete getCliIdFromServices test - remove unused UNAUTHENTICATED_USER constant from utils-vscode - bump services-types version * refactor(telemetry): remove unused OrgIdentity type * fix: remove utils-vscode error export - W-24365561 * chore: 13 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-org-browser - W-23371063 (#8388) * chore: 15 Enforce consistent-type-imports eslint rule for salesforcedx-visualforce-language-server - W-23371067 (#8390) * chore: update git2gus config default build to 68 (#8392) * chore: 16 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-core - W-23371068 (#8391) * build: Approve .git2gus/config.json changes - W-24447101 (#8394) * chore: bump versions for release [skip ci] * chore(deps-dev): bump @cursor/sdk from 1.0.32 to 1.0.35 (#8384) Bumps [@cursor/sdk](https://github.com/cursor/cursor) from 1.0.32 to 1.0.35. - [Commits](https://github.com/cursor/cursor/commits) --- updated-dependencies: - dependency-name: "@cursor/sdk" dependency-version: 1.0.35 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore(deps): bump @salesforce/templates from 66.16.2 to 66.16.3 (#8383) Bumps [@salesforce/templates](https://github.com/forcedotcom/salesforcedx-templates) from 66.16.2 to 66.16.3. - [Release notes](https://github.com/forcedotcom/salesforcedx-templates/releases) - [Changelog](https://github.com/forcedotcom/salesforcedx-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/forcedotcom/salesforcedx-templates/compare/66.16.2...66.16.3) --- updated-dependencies: - dependency-name: "@salesforce/templates" dependency-version: 66.16.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: Use workspace protocol for internal package dependencies - W-24445326 (#8396) * chore: 17 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex - W-23371071 (#8398) * chore: bump develop to 68.1.0 for the next major release (#8393) Deliberate major version bump via scripts/update-release-versions.js, ahead of the planned 68 release (see #8392, which already updated .git2gus's defaultBuild to offcore.tooling.68). Sets the new baseline to the first odd minor (68.1.0) matching the nightly odd/even convention, so the next nightly run picks this up directly without relying on the self-correcting even-minor branch in vscode-publish-extensions.yml's bump-versions job. * chore: Fix deleted scratch-org cleanup workflow - W-24449956 (#8399) * chore: Fix deleted scratch-org cleanup workflow - W-24449956 * chore: Fix deleted scratch-org cleanup workflow - W-24449956 * chore: remove Salesforce logout from cleanup workflow - W-24449956 * chore: Fold vscode-apex into Effect-services ESLint block - W-24347453 (#8387) * chore: Fold vscode-apex into Effect-services ESLint block - W-24347453 * chore: Fold vscode-apex into Effect-services ESLint block - W-24347453 * chore: reuse getMessageFromError, drop local formatters - W-24347453 * Merge remote-tracking branch 'origin/sm/W-24347453' into sm/W-24347453 * Merge remote-tracking branch 'origin/develop' into sm/W-24347453 * refactor: use Schedule for orphan checks - W-24347453 * chore: 18 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-metadata - W-23371074 (#8402) * chore(deps): bump @salesforce/templates from 66.16.3 to 66.16.4 (#8406) * ci: notify Slack when promote-to-prerelease fails - W-24443944 (#8379) * ci: notify Slack when promote-to-prerelease fails promote-to-prerelease.yml had no failure notification, unlike nightly-release which gets one for free via a different reusable workflow. Add a final job gated on failure() across the pipeline that calls the existing (currently test-only) slackNotification.yml reusable workflow. * ci: use IDEE_RELEASE_SLACK_WEBHOOK for failure/general Slack notifications IDEE_MAIN_SLACK_WEBHOOK is dead (Slack returns 404 webhook_not_found), which also meant nightly-release's real (non-dry-run) failure/success Slack notifications in the upstream vscode-publish-extensions.yml have likely been silently broken. IDEE_RELEASE_SLACK_WEBHOOK verified alive via a diagnostic dispatch. Repoint this reusable workflow's failure and general-notification jobs to it; drop the now-unused secret. * ci: post promote-to-prerelease failures to a dedicated Slack webhook trigger A new Slack Workflow Builder webhook trigger was created specifically for this notification (IDEE_PROMOTE_FAILURE_WEBHOOK), replacing the IDEE_RELEASE_SLACK_WEBHOOK stopgap. Its payload contract is a flat set of input variables (title, run_url, repository) defined on the trigger itself, not a free-form incoming-webhook message, so this posts directly via curl instead of going through slackNotification.yml. run_url now deep-links to the exact failing run (github.run_id) rather than the workflow's generic run-history page. * ci: add Slack success notification, update titles with emoji shortcodes Mirrors notify-on-failure for the happy path, gated on dry-run != true since mark-release-published (the real "did this actually publish" signal) is skipped during dry-run and wouldn't otherwise block success(). Switched both titles to Slack emoji shortcode syntax (:x:, :check-green:, :rocket:) to match how the workflow actually renders them. * ci: rename IDEE_PROMOTE_FAILURE_WEBHOOK to IDEE_PROMOTE_PRERELEASE_WEBHOOK The secret now backs both notify-on-success and notify-on-failure, so "FAILURE" in the name was misleading. * chore: 7 Enforce instanceOfSchema on Effect packages - W-24293823 (#8407) * chore: fail fast on other side closed and split Apex E2E timeouts - W-24289597 (#8405) * chore: fail fast on other side closed and split Apex E2E timeouts - W-24289597 * Merge remote-tracking branch 'origin/develop' into sm/W-24289597 * feat(services): pass Web Console session context to AuthInfo - W-24198462 (#8395) * feat(services): pass Web Console session context to AuthInfo - W-24198462 * feat(services): forward session org metadata - W-24198462 * chore: 14 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-i18n - W-23371066 (#8404) * chore: 8 Enforce extendsNativeError on Effect packages - W-24293825 (#8410) * chore: 8 Enforce extendsNativeError on Effect packages - W-24293825 * review-feedback: W-24293825 * chore: 19 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-org - W-23371075 (#8411) * chore: eslint rule: inline single-use yield* bindings - W-24293118 (#8409) * chore: eslint rule: inline single-use yield* bindings - W-24293118 * chore: rewrite yield inlinings as Effect.map/flatMap pipes - W-24293118 * chore: 20 Enforce consistent-type-imports eslint rule for salesforcedx-utils-vscode - W-23371077 (#8413) * chore: 20 Enforce consistent-type-imports eslint rule for salesforcedx-utils-vscode - W-23371077 * chore: 20 Enforce consistent-type-imports eslint rule for salesforcedx-utils-vscode - W-23371077 * chore: 21 Enforce consistent-type-imports eslint rule for salesforcedx-apex-debugger - W-23371080 (#8417) * chore: 10 Enforce globalFetch on Effect packages - W-24293830 (#8414) * chore: 10 Enforce globalFetch on Effect packages - W-24293830 * chore: 10 Enforce globalFetch on Effect packages - W-24293830 * fix(services): handle local telemetry export errors * fix(apex): set Diagnostic.source for Apex Language Server problems - W-24491655 (#8418) * fix(apex): set Diagnostic.source for Apex Language Server problems Populate Problems panel Source when Jorje omits LSP diagnostic.source (fixes #7915). Co-authored-by: Cursor <cursoragent@cursor.com> * fix: address review findings - W-24491655 Use nls.localize('client_name') instead of hardcoded string in handleDiagnostics test. Type handleDiagnostics via Middleware['handleDiagnostics']; forEach plus ??= per lint rules. Co-authored-by: Muse Spark 1.3 Free * docs: add Problems Source verification screenshot - W-24491655 Manual verification evidence for Adopt #8415. Co-authored-by: Muse Spark 1.3 Free --------- Co-authored-by: Rajesh Ediga <67407547+rediga@users.noreply.github.com> Co-authored-by: Cursor <cursoragent@cursor.com> * chore: bump versions for release [skip ci] * chore: changelog for prerelease v68.1.1 [skip ci] * chore: delete legacy release workflows superseded by the develop-only pipeline - W-24231154 (#8408) * chore: delete legacy release workflows superseded by the develop-only pipeline Removes 9 dead workflow files tied to the old main+release/vX.Y.Z branch model (merge-conflict-prone, pre-dating the single-branch automated pipeline in docs/release-workflow-architecture.md): - release.yml + tagAndRelease.yml: the old entrypoint that tagged on main and merged main back into develop - createAndTestBetaReleaseBranch.yml + approveAndPublishBeta.yml + publishBeta.yml: old beta release-branch chain - publishBetaRelease.yml: superseded by nightly.yml + promote-to-prerelease.yml's automated pre-release publishing - nightlyBuildMain.yml + nightlyBuildDevelop.yml: old build-only nightly jobs, superseded by nightly.yml's richer build+e2e+publish pipeline - generateChangelog.yml: old non-AI changelog generator, superseded by changelog-body.yml (AI-based, called from promote-to-prerelease.yml) Also removes scripts/create-release-notes.ts (+ its test) and the "changelog" npm script, since generateChangelog.yml was their only caller. Cascaded from there: scripts/change-log-constants.ts and scripts/change-log-generator-utils.ts (+ their tests) were only consumed by create-release-notes.ts and nothing else -- confirmed via `check:knip` flagging their exports as unused once the caller was gone. change-log-constants.ts's RELEASE_REGEX etc. were themselves tied to the old origin/release/vX.Y.Z branch pattern, so this is the same dead cluster. Verified via `npm run check:actions` (0 failed) and confirmed no current workflow or doc references any of the deleted files. Out of scope (tracked separately in W-24231154, needs its own decision): closePendingReleaseIssues.yml, whose workflow_run trigger is currently orphaned (watches a workflow name publishVSCode.yml was renamed away from) and still reads the version off main. * fix(ci): repair closePendingReleaseIssues' orphaned trigger and main-branch reads Two independent breakages, both tied to the retired main-branch release model: - workflow_run watched a workflow named "Publish in Microsoft Marketplace" -- publishVSCode.yml was renamed to "Publish Release to Marketplace" in September, silently orphaning the trigger ever since. - Checked out main and read the version from package.json. develop's package.json reflects the *next* nightly baseline (bumped by bump-develop-nightly-minor after every stable release), not the version that was just published, so this would have read the wrong version even if main still existed. Fix: retarget the trigger to the current workflow name, read the version from the latest non-prerelease GitHub release instead (exactly matches what this workflow run is actually about, since it only fires right after that release's publish completes), and read CHANGELOG.md from develop -- publishVSCode.yml's own relabel-changelog job commits the stable-version-labeled changelog there before this workflow_run fires, so the issue/discussion parsing now finds the right section under the right header. * chore: delete orphaned create-release-branch.js and its stale beta-pre-release doc scripts/create-release-branch.js's only caller was createAndTestBetaReleaseBranch.yml, already deleted earlier in this branch -- missed it the first pass since check:knip doesn't flag plain scripts the way it flagged the changelog cluster. Also removes contributing/publishing.md's "Publishing a Beta Pre-Release" section, which documented exactly that dead chain (create-release-branch.js -> createAndTestBetaReleaseBranch.yml -> "Publish Beta Release to GitHub Only" i.e. publishBetaRelease.yml). * docs: correct the major version bump process in publishing.md Step 1 claimed bumping develop to an even-minor version like 68.0.0 would make nightlies tag v68.0.0-nightly.develop.YYYYMMDD. In reality, vscode-publish-extensions.yml's bump-versions job always enforces an odd minor for nightly builds, so the very first nightly after that would silently correct it to 68.1.0 instead -- exactly what happened when bumping develop for real via PR #8393. Corrected to bump directly to the first odd minor (68.1.0) via scripts/update-release-versions.js, and fixed the closing note's example (68.1.0 is an odd/nightly-only minor per this doc's own convention elsewhere, never a stable release number). * docs: drop unverified feat:/breaking-commit minor-bump claim per review Per @daphne-sfdc's review: that conventional-commit-driven auto-minor-bump only applies to the auto-publishing shared libraries, not this repo's actual VS Code extension release process. Keeping only the part that's fully confirmed (nightly increments patch each night from the manually-set odd-minor baseline). * ci: Migrate CI and Org Display off SF_TEMP_SHOW_SECRETS - W-24491712 (#8420) * chore: 22 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-soql - W-23371082 (#8423) * perf(apex-testing): defer discovery and batch catalog resolution - W-24492092 (#8419) * perf: defer Apex test discovery until Test Explorer opens (W-24492092) * perf: batch org catalog URI resolution (W-24492092) * refactor(apex-testing): filter org changes before handling - W-24492092 * test(apex-testing): defer output checks until assertions - W-24492092 * fix(apex-testing): create output channel during activation --------- Co-authored-by: mshanemc <shane.mclaughlin@salesforce.com> * chore: Fix drivable-vscode launch for long TMPDIR - W-24492073 (#8422) * chore: 23 Enforce consistent-type-imports eslint rule for eslint-local-rules - W-23371083 (#8425) * chore: 23 Enforce consistent-type-imports eslint rule for eslint-local-rules - W-23371083 * chore: 23 Enforce consistent-type-imports eslint rule for eslint-local-rules - W-23371083 * fix(soql): SFDX: Execute SOQL Query with Currently Selected Text and SFDX: Get SOQL Query Plan with Currently Selected Text only appear in .cls, .apex, and .trigger files - W-24494752 (#8426) * chore: 11 Replace stateless org catalog Effect.Service tags with effects - W-24010150 (#8403) * chore: 11 Enforce anyUnknownInErrorContext on Effect packages - W-24293833 (#8424) * chore: 11 Enforce anyUnknownInErrorContext on Effect packages - W-24293833 * chore: 11 Enforce anyUnknownInErrorContext on Effect packages - W-24293833 * chore: 24 Enforce consistent-type-imports eslint rule for salesforcedx-lwc-language-server - W-23371085 (#8427) * chore: delete plan files older than 14 days (#8416) * chore: delete plan files older than 14 days * fix: satisfy single-use Effect binding lint --------- Co-authored-by: mshanemc <shane.mclaughlin@salesforce.com> * chore: 12 Simplify org catalog integration test layers - W-24010149 (#8429) * chore: Remove explicit Effect, Layer, and Stream return types - W-24498549 (#8428) * chore: 25 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-services - W-23371088 (#8432) * chore: 25 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-services - W-23371088 * chore: 25 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-services - W-23371088 * chore: 12 Enforce globalConsoleInEffect on Effect packages - W-24293834 (#8430) * chore: bump versions for release [skip ci] * chore: 26 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-lwc - W-23371089 (#8435) * chore: 26 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-lwc - W-23371089 * chore: 26 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-lwc - W-23371089 * fix(org-browser): search partial metadata names without regex - W-24413274 (#8365) * fix: make Org Browser name search consistent (W-24413274) * feat: discover Org Browser search results - W-24413274 * feat(org-browser): preload configured metadata types - W-24413274 * feat(org-browser): improve metadata search - W-24413274 * feat(org-browser): improve discovery feedback - W-24413274 * fix(org-browser): honor loaded search scope and type filters * fix(org-browser): preserve loaded search results after workspace changes * test(org-browser): navigate to virtualized custom field in search test * test(org-browser): match custom field details in tree items * chore: bump nightly minor to 68.3.0 after v68.2.0 stable release [skip ci] Keeps develop's nightly minor odd and ahead of the stable minor that was just cut, per the VS Code Marketplace pre-release/stable convention. * fix(apex-testing): hide debug run profile on web - W-24510089 (#8437) * chore: 13 Enforce missingEffectServiceDependency on Effect packages - W-24293836 (#8436) * chore: remove channelService from SalesforceVSCodeOrgApi - W-23448306 (#8433) * chore: 27 Enforce consistent-type-imports eslint rule for salesforcedx-apex-replay-debugger - W-23371091 (#8445) * refactor: pin nestedEffectGenYield to error and enforce it; effectFnOpportunity warning - W-24293434 (#8443) * ci: hold /ai-auto approve until head CI green - W-24348607 (#8441) * feat(ci): hold /ai-auto approve until head CI green - W-24348607 * refactor(ci): move Actions event schemas into effect-octokit - W-24348607 * test: use selectQuickInputOption in Refresh SObject E2E - W-23711827 (#8440) * chore: bump versions for release [skip ci] * chore: changelog for prerelease v68.3.1 [skip ci] * test(services): make OrgMetadataShadowStore revision retention deterministic - W-24394823 (#8446) * refactor: 7 Migrate remaining ARD commands to Effect command registration - W-23711397 (#8438) * refactor: migrate remaining ARD commands to Effect registration - W-23711397 * review-feedback: W-23711397 * ci-repair: W-23711397 * refactor: model log debugger launch as Effect - W-23711397 * fix(org-browser): stop activation from waiting on org identity - W-24197241 (#8442) * fix(org-browser): stop activation from waiting on org id Remove getConnection kick and orgId Effect.repeat from activateEffect. Register tree provider and commands, then set sf:orgBrowser.initialized. Tree refresh forks off TargetOrgRef.changes. Initial empty snapshot is a no-op; later changes (including to no org) still refresh. * fix(org-browser): remove activation getConnection kick Services forks getConnection to populate the default-org snapshot. Activation no longer calls it; test asserts it is not called and that initialized is set before any org id. * chore: 28 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-testing - W-23371092 (#8448) * chore: 28 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-testing - W-23371092 * chore: 28 Enforce consistent-type-imports eslint rule for salesforcedx-vscode-apex-testing - W-23371092 * chore: 29 Enforce consistent-type-imports eslint rule for soql-model - W-23371093 (#8451) * refactor: Remove @salesforce/core runtime dependency from salesforcedx-vscode-org - W-24465805 (#8434) * chore: drop @salesforce/core runtime dep from vscode-org - W-24465805 * Merge remote-tracking branch 'origin/sm/W-24465805' into sm/W-24465805 * chore: Remove @salesforce/core runtime dependency from salesforcedx-vscode-org - W-24465805 * fix: keep services type package runtime-free - W-24465805 * test(org): serialize shared-auth desktop E2E - W-24465805 * refactor(services): centralize auth field errors - W-24465805 * chore(deps): bump the eslint-tooling group with 6 updates (#8453) Bumps the eslint-tooling group with 6 updates: | Package | From | To | | --- | --- | --- | | [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.71.0` | `8.71.1` | | [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.71.0` | `8.71.1` | | [eslint-plugin-jest](https://github.com/jest-community/eslint-plugin-jest) | `29.16.6` | `29.16.11` | | [eslint-plugin-playwright](https://github.com/mskelton/eslint-plugin-playwright) | `2.12.0` | `2.12.1` | | [@typescript-eslint/utils](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/utils) | `8.71.0` | `8.71.1` | | [@typescript-eslint/rule-tester](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/rule-tester) | `8.71.0` | `8.71.1` | Updates `@typescript-eslint/eslint-plugin` from 8.71.0 to 8.71.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/eslint-plugin) Updates `@typescript-eslint/parser` from 8.71.0 to 8.71.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/parser) Updates `eslint-plugin-jest` from 29.16.6 to 29.16.11 - [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/v29.16.6...v29.16.11) Updates `eslint-plugin-playwright` from 2.12.0 to 2.12.1 - [Release notes](https://github.com/mskelton/eslint-plugin-playwright/releases) - [Changelog](https://github.com/mskelton/eslint-plugin-playwright/blob/main/CHANGELOG.md) - [Commits](https://github.com/mskelton/eslint-plugin-playwright/compare/v2.12.0...v2.12.1) Updates `@typescript-eslint/utils` from 8.71.0 to 8.71.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/utils/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/utils) Updates `@typescript-eslint/rule-tester` from 8.71.0 to 8.71.1 - [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases) - [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/rule-tester/CHANGELOG.md) - [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.71.1/packages/rule-tester) --- updated-dependencies: - dependency-name: "@typescript-eslint/eslint-plugin" dependency-version: 8.71.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/parser" dependency-version: 8.71.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: eslint-plugin-jest dependency-version: 29.16.11 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: eslint-plugin-playwright dependency-version: 2.12.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/utils" dependency-version: 8.71.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: eslint-tooling - dependency-name: "@typescript-eslint/rule-tester" dependency-version: 8.71.1 dependency-type: direct:development update-type: version-update:semver-patch dependency-group: eslint-tooling ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: bump versions for release [skip ci] * ci: use npm trusted publishing in vscode packages - W-24351416 (#8456) * ci: Split check:effect-diagnostics into per-package wireit tasks - W-24236571 (#8461) * refactor: split Effect diagnostics by package - W-24236571 * chore: avoid duplicate effect diagnostic inputs - W-24236571 * chore: Collapse Playwright E2E YAML into a composite runner - W-24251825 (#8459) * ci: collapse Playwright E2E workflows into a composite - W-24251825 * ci-repair: W-24251825 * ci-repair: W-24251825 * build(deps): bump SDR 13.5.0 and source-tracking 8.1.7 - W-24534214 (#8462) * build(deps): bump source-deploy-retrieve to 13.5.0 - W-24534214 * test(services): isolate registry setup from SDR imports * build(deps): bump source-tracking to 8.1.7 - W-24534214 * chore: Expand @salesforce dependency range lint to root manifest - W-24541423 (#8463) * chore: enforce consistent-type-imports in lightning-lsp-common - W-23371056 (#8455) * chore: 30 Enforce consistent-type-imports eslint rule for salesforcedx-apex - W-23371097 (#8452) * fix(release): pass package-manager: pnpm to ctcOpen reusable workflow (#8465) salesforcecli/github-workflows's ctcOpen.yml added a package-manager input defaulting to npm, which made its setup-node cache step look for package-lock.json and fail with "Some specified paths were not resolved" in this pnpm monorepo -- blocking the ctc-open gate (and therefore publish) on both publishVSCode.yml and publishOpenVSX.yml. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> * fix(release): avoid pinning ctcOpen's pnpm version against package.json (#8466) ctcOpen.yml's package-manager-version input defaults to '10', which pnpm/action-setup treats as an explicit version and compares against package.json's packageManager field (pnpm@12.8.2) -- a real mismatch that fails with "Multiple versions of pnpm specified". Passing an empty string instead skips that explicit-version branch entirely (it's a truthy check in pnpm/action-setup), so it reads packageManager from package.json the same way our own .github/actions/setup-pnpm does -- no drift to maintain on future pnpm bumps. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> * chore: ban standalone pipe on pipeable values - W-24293086 (#8458) * chore: improve VS Code extension profiling and launch tooling - W-24525562 (#8450) * chore: improve ability to use vscode native profiling * chore: improve ability to use vscode native profiling * fix: prepare SOQL text before query API - W-24267540 (#8457) * chore: bump versions for release [skip ci] * chore: 31 Enforce consistent-type-imports eslint rule globally (cleanup) - W-23371101 (#8469) * chore: bump nightly minor to 68.5.0 after v68.4.0 stable release [skip ci] Keeps develop's nightly minor odd and ahead of the stable minor that was just cut, per the VS Code Marketplace pre-release/stable convention. * fix(apex-testing): show failure notification for failing Apex test runs and debugs + handle race condition when debugging multiple Apex classes at a time - W-24417592 (#8397) * fix: show failure notification for failing Apex test runs * fix: notificationModeService.ts now supports action buttons for failure notifications too * fix: race condition when debugging multiple Apex tests via sidebar + failure notifications for debug Apex tests * fix: remove duplicate code in showRunOutcomeNotification() * chore: suggestions to improve notifications (#8464) * fix: test explorer produces 1 log per class instead of 1 log per method * fix: fix flaky shared helper due to group label * fix: breakpoint support in debugApexTests.desktop.spec.ts to test the new debug Apex tests progress spinner counter --------- Co-authored-by: peternhale <peternhale@users.noreply.github.com> * chore(release): playwright-vscode-ext-v1.7.2 [skip ci] * test: Migrate unit tests from Jest to Vitest - W-24179402 (#8223) * chore: Migrate unit tests from Jest to Vitest - W-24179402 * chore: Migrate unit tests from Jest to Vitest - W-24179402 * chore: Migrate unit tests from Jest to Vitest - W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/develop' into sm/W-24179402 * ci-repair: W-24179402 * chore: ignore cursor worktrees - W-24179402 Retrigger Commit Workflow after a develop merge that only touched .claude paths. * ci-repair: W-24179402 * ci-repair: W-24179402 * test: run rerunPushE2EGate under vitest - W-24179402 Develop added this script test with Jest types after script tests moved to Vitest. * docs: say Vitest where unit-test docs still said Jest - W-24179402 Align leftover Jest wording with the migration and contributing/tests.md. * test: move Vitest unit tests to test/unit and drop junit-custom-unitTests.xml - W-24179402 * test: exclude soql builder ui tests from the extension test compile - W-24179402 * test: read LWC language server fixtures with node:fs - W-24179402 * chore: keep services-types lock version at 67.25.0 - W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * test: drop leftover Jest setup and keep Vitest inside its timeout - W-24179402 Connection tests were waiting on a real sf telemetry call. Same-millisecond shadow revisions kept the oldest copy. Package Vitest configs that only repeated the shared base are gone. * test: stub sf telemetry and keep the newest shadow revision - W-24179402 Connection tests were waiting on a real sf telemetry call. Same-millisecond shadow revisions kept the oldest copy. * test: replace leftover jest spies in ProjectService tests - W-24179402 Services test compile still called jest.spyOn after the Vitest migration. * test: keep Vitest mocks when merging develop settings tests - W-24179402 * docs: call the language client test runtime a Vitest mock - W-24179402 * fix(soql): treat a missing field type as AnyType in the query builder - W-24179402 * test: use vi.fn in the merged Apex test tree suite - W-24179402 * test: give Playwright ESLint spawn tests time to finish - W-24179402 * build: record vitest in the pnpm lockfile - W-24179402 * test: finish jest to vi migration in projectService unit test - W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * chore: Migrate unit tests from Jest to Vitest - W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * ci-repair: W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/develop' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * chore: Migrate unit tests from Jest to Vitest - W-24179402 * chore: Migrate unit tests from Jest to Vitest - W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * ci-repair: W-24179402 * Merge remote-tracking branch 'origin/sm/W-24179402' into sm/W-24179402 * chore: address Vitest migration review feedback - W-24179402 * Merge remote-tracking branch 'origin/develop' into sm/W-24179402 * chore: drop redundant Wireit test inputs - W-24179402 * docs: update Windows test parallelism comment - W-24179402 * chore: bump versions for release [skip ci] * chore: bump versions for release [skip ci] * chore: bump versions for release [skip ci] * chore: 14 Enforce strictEffectProvide on Effect packages - W-24293839 (#8447) * chore: 14 Enforce strictEffectProvide on Effect packages - W-24293839 * fix: reuse extension runtimes for service checks - W-24293839 * refactor: derive workspace runtime type - W-24293839 * refactor: require workspace handler runtime - W-24293839 * refactor: use Apex runtime for scan config - W-24293839 * refactor: share HTTP export status mapping - W-24293839 * refactor: use ProjectService precondition - W-24293839 * refactor: use ProjectService precondition - W-24293839 * perf: reuse local telemetry HTTP runtimes - W-24293839 * build(apex-debugger): use direct VSIX packaging (#8476) * perf(services): exclude cache-hit connection spans - W-24573058 (#8477) * perf(services): suppress cache-hit connection spans * refactor(services): compose cache-hit telemetry effects * chore: Standardize Apex OAS VSIX packaging - W-24572786 (#8482) * chore: Standardize Apex OAS VSIX packaging - W-24572786 * chore: Standardize Apex OAS VSIX packaging - W-24572786 * ci-repair: W-24572786 * chore(launch): simplify extension selection - W-24511426 (#8481) * chore(launch): simplify extension selection - W-24511426 * fix: pass in --disable-extensions * fix: org management extension is now required * feat: add ARD, LWC, and SOQL options in shortlist * chore: alphabetize the options * fix: disable a fixed list of monorepo extensions --------- Co-authored-by: Daphne Yang <daphne.yang@salesforce.com> * chore: Snapshot nested SOQL CSV output - W-24582801 (#8483) * test: Move ARD adapter integration tests to Vitest - W-24582805 (#8485) * chore(deps): bump @salesforce/templates from 66.16.4 to 66.17.2 (#8479) Bumps [@salesforce/templates](https://github.com/forcedotcom/salesforcedx-templates) from 66.16.4 to 66.17.2. - [Release notes](https://github.com/forcedotcom/salesforcedx-templates/releases) - [Changelog](https://github.com/forcedotcom/salesforcedx-templates/blob/main/CHANGELOG.md) - [Commits](https://github.com/forcedotcom/salesforcedx-templates/compare/66.16.4...66.17.2) --- updated-dependencies: - dependency-name: "@salesforce/templates" dependency-version: 66.17.2 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: delete plan files older than 14 days (#8478) * chore: bump versions for release [skip ci] * chore(deps): bump @modelcontextprotocol/sdk from 1.30.0 to 1.31.0 in /packages/drivable-vscode (#8378) * chore(deps): bump @modelcontextprotocol/sdk in /packages/drivable-vscode Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.30.0 to 1.31.0. - [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases) - [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.30.0...1.31.0) --- updated-dependencies: - dependency-name: "@modelcontextprotocol/sdk" dependency-version: 1.31.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * chore(deps): update pnpm lockfile for MCP SDK --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: mshanemc <shane.mclaughlin@salesforce.com> * fix(services): ignore telemetry upload connection span - W-24581539 (#8484) * test: snapshot combined OpenAPI output - W-24582193 (#8486) * chore: bump versions for release [skip ci] * chore: changelog for prerelease v68.5.5 [skip ci] * chore: bump nightly minor to 68.7.0 after v68.6.0 stable release [skip ci] Keeps develop's nightly minor odd and ahead of the stable minor that was just cut, per the VS Code Marketplace pre-release/stable convention. * fix: Org Browser file presence indicators fail when workspace contains a -meta.xml without its source file - W-21413974 (#8460) * fix: handle orphaned metadata XML in Org Browser - W-21413974 * fix: prefilter orphaned metadata XML - W-21413974 * fix: mark failed workspace presence scans unknown - W-21413974 * test: remove Apex source before workspace scan - W-21413974 * fix(org-browser): distinguish unknown workspace presence - W-21413974 * refactor(org-browser): model workspace presence states - W-21413974 * chore: Use pnpmInstallWithRetries for CI installs - W-24597179 (#8492) * fix(services): stop org switch leaving stale alias on default org ref - W-23891671 (#8493) * fix(services): stop org switch leaving stale alias on default org ref * fix: apply code review suggestions * fix: make org browser e2e test pass + add unit test * chore: bump versions for release [skip ci] * fix(release): pass package-manager: pnpm to ctcClose job calls too (#8467) ctcCloseSuccess/ctcCloseFail call ctcClose.yml without package-manager, so it defaults to npm/package-lock.json same as ctc-open did before #8465 -- confirmed failing on the v68.2.0 publish runs with "Some specified paths were not resolved, unable to cache dependencies." This doesn't block publishing (ctc-open/publish already succeeded by the time ctcClose runs) but the Change Case ticket never gets closed. Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com> * chore: adjust docs based on my stumbling around with new process (#8495) * chore: bump versions for release [skip ci] * build(extensions): ship ESM desktop entrypoints - W-24567061 (#8475) * build(org): ship ESM bundle and measure VSIX size - W-24567061 * build(org): add dual shared ESM outputs and verify consumers - W-24567061 * build(extensions): ship ESM desktop entrypoints - W-24567061 * fix(build): use script tsconfigs for ts-node on Windows - W-24567061 * fix(services): default-import cross-spawn for ESM - W-24567061 * feat(apex): add configurable Jorje capability policy - W-24591552 (#8498) * feat: expose settings to control jorje features * chore: ignore indexer done notification in capabilities * chore: remove enable and disable for custom endpoints * chore(deps): bump zod and @cursor/sdk in /scripts/changelogBody (#8504) Bumps [zod](https://github.com/colinhacks/zod) to 4.6.7 and updates ancestor dependency [@cursor/sdk](https://github.com/cursor/cursor). These dependencies need to be updated together. Updates `zod` from 4.6.1 to 4.6.7 - [Release notes](https://github.com/colinhacks/zod/releases) - [Commits](https://github.com/colinhacks/zod/compare/v4.6.1...v4.6.7) Updates `@cursor/sdk` from 1.0.34 to 1.0.40 - [Commits](https://github.com/cursor/cursor/commits) --- updated-dependencies: - dependency-name: zod dependency-version: 4.6.7 dependency-type: indirect - dependency-name: "@cursor/sdk" dependency-version: 1.0.40 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * chore: 8 Resolve Apex Replay Debugger source URIs through the metadata catalog - W-24573040 (#8488) * chore: 8 Resolve Apex Replay Debugger source URIs through the metadata catalog - W-24573040 * ci-repair: W-24573040 * fix: remove replay source warning - W-24573040 * Merge remote-tracking branch 'origin/sm/W-24573040' into sm/W-24573040 * fix(apex): preserve SOAP session header namespace for WebConsole - W-24642753 (#8505) * fix(ci): refresh pnpm lockfile for Dependabot PRs (#8508) * build: node24 engine targets and TypeScript defaults - W-24578336 (#8480) * chore: Update VS Code and Node.js engine targets and TypeScript defaults - W-24578336 * review-feedback: W-24578336 * chore: add DOM lib to Playwright config - W-24578336 * chore: remove redundant LWC build target - W-24578336 * fix(services): scope DOM lib to services package - W-24578336 * chore(types): inline Node 24 preset options - W-24578336 * chore(types): scope DOM libs to browser projects - W-24578336 * chore(deps): bump @modelcontextprotocol/sdk from 1.31.0 to 1.32.0 in /packages/drivable-vscode (#8489) * chore(deps): bump @modelcontextprotocol/sdk in /packages/drivable-vscode Bumps [@modelcontextprotocol/sdk](https://github.com/modelcontextprotocol/typescript-sdk) from 1.31.0 to 1.32.0. - [Release notes](https://github.com/modelcontextprotocol/typescript-sdk/releases) - [Commits](https://github.com/modelcontextprotocol/typescript-sdk/compare/1.31.0...1.32.0) --- updated-dependencies: - dependency-name: "@modelcontextprotocol/sdk" dependency-version: 1.32.0 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * chore(deps): update pnpm lockfile --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> * chore(deps): bump undici from 7.29.1 to 7.30.1 in /scripts/changelogBody (#8512) Bumps [undici](https://github.com/nodejs/undici) from 7.29.1 to 7.30.1. - [Release notes](https://github.com/nodejs/undici/releases) - [Commits](https://github.com/nodejs/undici/compare/v7.29.1...v7.30.1) --- updated-dependencies: - dependency-name: undici dependency-version: 7.30.1 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ci: Ignore fork-targeted PRs in AI Auto Approve - W-24647649 (#8510) * chore: Ignore fork-targeted PRs in AI Auto Approve - W-24647649 * chore: Ignore fork-targeted PRs in AI Auto Approve - W-24647649 * chore: 1 Set Node floor and script type-check contract - W-24556337 (#8473) * chore: Update VS Code and Node.js engine targets and TypeScript defaults - W-24578336 * review-feedback: W-24578336 * chore: add DOM lib to Playwright config - W-24578336 * chore: remove redundant LWC build target - W-24578336 * fix(services): scope DOM lib to services package - W-24578336 * chore(types): inline Node 24 preset options - W-24578336 * chore(types): scope DOM libs to browser projects - W-24578336 * chore: 1 Set Node floor and script type-check contract - W-24556337 * chore: 1 Set Node floor and script type-check contract - W-24556337 * review-feedback: W-24556337 * refactor: Migrate ARD checkpoint operations to Effect and ConnectionService - W-24578719 (#8513) * chore: Migrate ARD checkpoint operations to Effect and ConnectionService - W-24578719 * refactor(apex-replay-debugger): compose checkpoint effects - W-24578719 *…
Summary
promote-to-prerelease.ymlhad no Slack notification on success or failure.notify-on-failure(gated onif: failure()) andnotify-on-success(gated onif: success() && inputs.dry-run != true) jobs across all pipeline jobs.curlto a dedicated Slack Workflow Builder webhook trigger (hooks.slack.com/triggers/...), not a classic incoming webhook — its payload contract is a flat set of variables (title,run_url,repository), not a free-form Block Kit message.IDEE_PROMOTE_PRERELEASE_WEBHOOK(repo-level secret on this repo) — renamed from an earlierIDEE_PROMOTE_FAILURE_WEBHOOKonce the success path was added, since "FAILURE" was no longer accurate.run_urldeep-links to the exact failing/succeeding run (github.run_id), not the workflow's generic run-history page.IDEE_MAIN_SLACK_WEBHOOK(used bynightly-release's own Slack jobs) returns{"ok":false,"error":"webhook_not_found"}(404) — tracked and fixed separately in salesforcecli/github-workflows#192.What issues does this PR fix or reference?
@W-24443944@
Test plan
promote-to-prerelease.ymlwith a bogusreleaseTag(forces a clean, side-effect-free failure infind-nightly) — confirmednotify-on-failurefires and the Slack POST succeeds: https://github.com/forcedotcom/salesforcedx-vscode/actions/runs/37546172347 (job:notify-on-failure)curlreplicating the exact payloadnotify-on-successsends, confirmed the webhook accepts it with no error.Manual test plan
Nothing worth manually testing.