Merge main into feature/build-execute#6345
Open
aws-toolkit-automation wants to merge 75 commits intofeature/build-executefrom
Open
Merge main into feature/build-execute#6345aws-toolkit-automation wants to merge 75 commits intofeature/build-executefrom
aws-toolkit-automation wants to merge 75 commits intofeature/build-executefrom
Conversation
… run concurrently
…-toolkit-jetbrains into breedloj/coreDeprecation
…NoClassDefFoundError on startup (#6291) * fix(amazonq): adding changelog * fix(amazonq): Fix for incorrect TriggerToResponseLatencyMilliseconds values in JetBrains telemetry * fix: lazy-init languageIds in NodeJsRuntimeGroup to prevent NoClassDefFoundError Fixes #6289 NodeJsRuntimeGroup was eagerly initializing languageIds at construction time, which caused JavascriptLanguage to be loaded immediately when the plugin extension point was instantiated at IDE startup. In IDEs where the JavaScript plugin is unavailable (e.g. PyCharm), this resulted in a NoClassDefFoundError crashing the plugin. Making languageIds a lazy delegate defers the class loading until the property is actually accessed, avoiding the crash on startup. --------- Co-authored-by: chungjac <chungjac@amazon.com>
* fix(amazonq): adding changelog * fix(amazonq): Fix for incorrect TriggerToResponseLatencyMilliseconds values in JetBrains telemetry * fix: lazy-init languageIds in NodeJsRuntimeGroup to prevent NoClassDefFoundError Fixes #6289 NodeJsRuntimeGroup was eagerly initializing languageIds at construction time, which caused JavascriptLanguage to be loaded immediately when the plugin extension point was instantiated at IDE startup. In IDEs where the JavaScript plugin is unavailable (e.g. PyCharm), this resulted in a NoClassDefFoundError crashing the plugin. Making languageIds a lazy delegate defers the class loading until the property is actually accessed, avoiding the crash on startup. * fix: Adding try catch to catch NoClassDefFoundError --------- Co-authored-by: chungjac <chungjac@amazon.com>
…n branch (#6304) * feat(cloudformation): Add CloudFormation Language Server integration (#6188) * feat(cloudformation): add CloudFormation LSP * update imports as per toolkits to toolkit rename * address PR comments on 1/26 * add didConfigurationChange notification to server * revert unintended package-lock.json changes * Add auto-update, manifest caching, hash verification, and legacy Linux support for LSP server * address comments * reduce class scopes * remove unused imports * add ldconfig lookup and binary check fallback for legacy linux * address detekt issues * create extension config, update init params * feat(cloudformation): add CloudFormation tool window, stacks tree view (#6215) * feat(cloudformation): add CloudFormation tool window and stacks tree view * remove seperate cfn region picker and subscribe to AwsConnectionManager for region info * address PR comments, no major change - 02/05 * fix(cloudformation): rename properties to fix failing test (#6241) * fix(cloudformation): rename properties to fix failing test * use gson serializer to fix detekt issue with PascalCase * feat(cloudformation): add resources exploration node (#6236) * Add CloudFormation resources node * Remove duplicated message bundles * gradle check fixes * Fixed imports and nested data classes * fix(cloudformation): persist resource types list (#6253) * fix(cloudformation): Skip credential resolution during transient connection states (#6252) * feat(cloudformation): Prompt for CloudFormation Language Server telem… (#6249) * feat(cloudformation): Prompt for CloudFormation Language Server telemetry opt-in * update changelog and reuse learn more message bundle * revert to using cfn dedicated learn more message * fix(cloudformation): dedupe resource pagination and add load more right click action (#6256) * feat(cloudformation): validate template via change set and add actions toolbar (#6255) * fix(cloudformation): suppress noisy LSP logMessage notifications from surfacing as balloon popups (#6259) * feat(cloudformation): add stack view panel and overview contents (#6250) * feat(cloudformation): add semantic versioning and limit server versio… (#6262) * feat(cloudformation): add semantic versioning and limit server version for compatibility * use isLatest, remove gh release api * fix(cloudformation): Fix imports and gradle properties (#6272) * feat(cloudformation): Add document manager to list available templates * Lint fixes * Addressed comments * Move DocumentMetadata to manager class, remove relative path parsing logs * Use absolute paths on hover, fix folder icon, fix imports * fix(cloudformation): auto focus search bar, allow for entire checkbox row to be selectable (#6266) * Merge pull request #6265 from Zee2413/lsp-integ-test feat(cloudformation): add cfn lsp integration test * feat(cloudformation): add stack resources panel (#6271) * feat(cloudformation): add stack resources panel * Move auto refresh logic into new listener and interface * feat(cloudformation): Add outputs panel to CloudFormation template (#6275) * feat(cloudformation): Add outputs panel to CloudFormation template * Addressed comments * Fix merge conflicts and api contract changes * feat(cloudformation): view change set diff and add deployment configu… (#6279) * feat(cloudformation): view change set diff and add deployment configurations * revert package lock * add live aware changeset drift in diff view * add titles to tables, rename change set tab, add diff view button * Minor code cleanup and detekt fix * Address PR feedback: 1. Silent catch → Now shows notifyError to the user with the failure reason 2. .get() without timeout → All 5 calls now use get(30, TimeUnit.SECONDS) — existing catch blocks handle TimeoutException 3. Scheduler lifecycle → Added project.isDisposed check at the start of each poll tick, and a MAX_POLL_COUNT of 3600 (1 hour at 1s intervals) to prevent infinite polling * feat(cloudformation): update README with CloudFormation language server features (#6283) * feat(cloudformation): Add stack events panel (#6277) * feat(cloudformation): Add stack events panel * Add changelog * Fixes * Created shared table panel method, using arn sdk methods * Make hook invocation column conditional, set console links dynamically, fix console icon spacing, fix display messages * Remove unused const * UI tweaks * Make changelog more concise * fix(cloudformation): add Node.js download link to error notification * fix(cloudformation): add extension name and version to the lsp init options * fix(cloudformation): convert cfn-guard settings rule pack to be a checkbox list * feat(cloudformation): add status bar showing CloudFormation deployment operations in-flight (#6287) * fix(cloudformation): Start CloudFormation LSP upon toolkit activation (#6293) * fix(cloudformation): Restart polling and switch to events panel after executing change set (#6290) Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com> * fix(cloudformation): Update plugin description to include CloudFormation support (#6296) * fix(cloudformation): Fix CI (#6301) * feat(cloudformation): Add CloudFormation LSP Introduction notification (#6303) * fix(cloudformation): add credentials listener to cloudformation tool window * fix(cloudformation): Fix CI for 2025-3 version * fix lsp server shutdown * Add robust handling around cfn lsp server shutdown * Added comments * Move cfn resources into correct xml * Move all cfn lsp resources to correct xml * Remove unnecessary whitespace * Add explicit disposal of server following project close * Modify logging * feat(cloudformation): Add CloudFormation LSP Introduction notification * fix(cloudformation): consolidated change logs (#6305) --------- Co-authored-by: aws-toolkit-automation <43144436+aws-toolkit-automation@users.noreply.github.com> Co-authored-by: Zeeshan Ahmed <37942674+Zee2413@users.noreply.github.com> Co-authored-by: Laxman Reddy <141967714+laileni-aws@users.noreply.github.com> Co-authored-by: Zeeshan Ahmed <zeemed@amazon.com> Co-authored-by: invictus <149003065+ashishrp-aws@users.noreply.github.com>
… for 4.0 release (#6330) * fix(cloudformation): update marketplace docs to highlight cfn lsp and remove Q and CodeWhisperer (#6312) * fix(cloudformation): change cloudformation language server path (#6310) * fix(cloudformation): change cloudformation language server path * cleanup legacy dir * fix(cloudformation): fix platform detection for linux (#6315) * fix(cloudformation): update Node.js resolution to include common path… (#6321) * fix(cloudformation): update Node.js resolution to be more robust for all operating systems and improve node failure prompt * make throw foldable * Update main owner to be aws-toolkits-team (#6325) Changing the owner team * fix(cloudformation): update assertion to be seperator agnostic for windows (#6326) * Updating version to 3.108 * feat(cloudformation): enable CloudFormation Language Server beta via environemnt variable (#6327) * fix(cloudformation): migrate to ProjectActivity (#6329) * fix(toolkit): remove duplicate AwsSettings import in CfnLspServerSupportProvider Cherry-pick conflict resolution introduced a duplicate import. Removed the extra line, keeping the correct toolkitOnly package path (software.aws.toolkit.jetbrains.settings.AwsSettings). --------- Co-authored-by: Zeeshan Ahmed <37942674+Zee2413@users.noreply.github.com> Co-authored-by: amzn-kvk <kavukcut@amazon.com> Co-authored-by: aws-toolkit-automation <>
#6333) * feat(toolkit): Add notification for AWS Core plugin no longer required Add a ProjectActivity that checks if the AWS Core plugin (aws.toolkit.core) is installed and notifies users that it is no longer needed starting with AWS Toolkit 4.0. The notification includes a button to open the Plugins settings page and a dismiss option. * docs: Add changelog entry for AWS Core dependency removal
Add 2026.1 profile with stable SDK and marketplace plugin versions. Full buildPlugin passes for both 2025.3 and 2026.1. Build config: - IdeVersions.kt: add 2026.1 profile (community, ultimate, rider) - BuildScriptUtils.kt: add 2026.1 to kotlinTarget - kotlinResolution: add coroutines 1.10.2-intellij-1 - toolkit-intellij-subplugin: fix IC->IU and collaboration modules checks for stable version format - Rider build.gradle.kts: update for rd-gen 2026.1.3 API changes (hashFolder/sources/classpath removed, SystemInfo replaced) - generateConfigs.py: add 2026.1 run configs - settings.gradle.kts: exclude Gateway for 2026.1 Version-specific source dirs: - S3TreeTableModel (src-251-253 + src-261+): TreeVisitor.Acceptor return type nullability change - PyCharmSdkUtil (src-251-253 + src-261+): PyAddSdkPanel removed - DotNetDebuggerUtils (src-243-253 + src-261+): RiderEnvironment moved to com.jetbrains.rider.environment - CodeCatalystGatewayClientCustomizer (src-253 + src-261+ no-op): rdserver APIs moved to remoteController module - RebuildDevfileRequiredNotification (src-253 + src-261+ no-op): codeWithMe metrics APIs moved to remoteController module Known limitations: - Gateway excluded (Gradle plugin 2.7.1 cannot resolve Gateway SDK) - Two CodeCatalyst remote dev features are no-op in 261
#6337) Commit 292181d removed hashFolder, classpath, and sources from the RdGenExtension config to accommodate rd-gen 2026.1 API changes, but this broke the 2025.3 build and left 2026.1 model generation non- functional. For pre-2026 profiles, restore the extension properties via reflection to avoid script compilation failures when the 2026.1 rd-gen jar is on the buildscript classpath. For 2026.1+, add a compileModelSources task that pre-compiles model sources with an external Kotlin compiler, since rd-gen 2026.1 removed its built-in Kotlin compilation support.
…ter adding try new cfn node (#6338)
…#6355) The 2026.1 test failures (ToolkitTelemetryOTelSpanProcessorTest, AwsClientManagerTest) are caused by a debug metadata version mismatch: kotlin-stdlib 2.2.0 on the test classpath only understands metadata version 1, but IntelliJ 2026.1 bundles Kotlin 2.3.20 which produces metadata version 2. The coroutines debug probes crash when inspecting platform coroutines. Add a per-profile kotlinStdlib version in the settings resolution that matches each IDE's bundled Kotlin version. Update the resolution strategy so that only stdlib-like artifacts (kotlin-stdlib, kotlin-reflect, kotlin-test) on runtime/test configurations use the IDE-bundled version, and only when it is newer than the KGP version (2.2.0). Compiler plugins (kotlin-scripting-*, kotlin-build-tools-*) always stay at the KGP version to avoid internal API mismatches. Profile -> stdlib resolved version: 2025.1 -> 2.2.0 (KGP version, IDE bundles older 2.1.10) 2025.2 -> 2.2.0 (KGP version, IDE bundles older 2.1.20) 2025.3 -> 2.2.20 (upgraded to match IDE) 2026.1 -> 2.3.20 (upgraded to match IDE)
* fix(261): handle CompilerTestUtil and MavenServerManager changes across versions * fix(261): suppress issues for detekt
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Automatic merge failed
Command line hint
To perform the merge from the command line, you could do something like the following (where "origin" is the name of the remote in your local git repo):