Skip to content

Conversation

@aws-toolkit-automation
Copy link
Collaborator

Automatic merge failed

  • Resolve conflicts and push to this PR branch.
  • Do not squash-merge this PR. Use the "Create a merge commit" option to do a regular merge.

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):

git stash
git fetch --all
git checkout origin/feature/logs
git merge origin/master
git commit
git push origin HEAD:refs/heads/autoMerge/feature/logs

@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner May 15, 2025 15:01
@github-actions
Copy link

  • This pull request modifies code in src/* but no tests were added/updated.
    • Confirm whether tests should be added or ensure the PR description explains why tests are not required.

@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner May 19, 2025 20:05
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner June 19, 2025 18:32
@aws-toolkit-automation aws-toolkit-automation requested a review from a team as a code owner July 24, 2025 17:23
aws-toolkit-automation and others added 24 commits July 25, 2025 16:41
feat(smus): Enhance project switching functionality
## Github Issue #6902

## Problem

AWS Toolkit version 3.47.0 introduced a regression where profiles using
`source_profile` for role chaining fail to authenticate when the source
profile uses SSO credentials. Users get an "InvalidClientTokenId: The
security token included in the request is invalid" error.

## Root Cause

The issue was introduced in commit 6f6a8c2 (Feb 13, 2025) which
refactored the authentication code to remove deprecated AWS SDK
dependencies. The new implementation in
`makeSharedIniFileCredentialsProvider` method incorrectly assumed that
the source profile would have static credentials (aws_access_key_id and
aws_secret_access_key) directly in the profile data.

When the source profile uses SSO, these static credentials don't exist
in the profile data - they need to be obtained by calling the SSO
service first.

## Solution

The fix modifies the `makeSharedIniFileCredentialsProvider` method in
`packages/core/src/auth/providers/sharedCredentialsProvider.ts` to:

1. Check if the source profile already has resolved credentials (from
`patchSourceCredentials`)
2. If not, create a new `SharedCredentialsProvider` instance for the
source profile and resolve its credentials dynamically
3. Use those resolved credentials to assume the role via STS

This ensures that SSO profiles can be used as source profiles for role
assumption.

## Changed Files

- `packages/core/src/auth/providers/sharedCredentialsProvider.ts` -
Fixed the credential resolution logic
-
`packages/core/src/test/auth/providers/sharedCredentialsProvider.roleChaining.test.ts`
- Added tests to verify the fix

## Testing

The fix includes unit tests that verify:

1. Role chaining from SSO profiles works correctly
2. Role chaining from SSO profiles with MFA works correctly

## Configuration Example

This fix enables configurations like:

```ini
[sso-session aws1_session]
sso_start_url = https://example.awsapps.com/start
sso_region = us-east-1
sso_registration_scopes = sso:account:access

[profile Landing]
sso_session = aws1_session
sso_account_id = 111111111111
sso_role_name = Landing
region = us-east-1

[profile dev]
region = us-east-1
role_arn = arn:aws:iam::123456789012:role/dev
source_profile = Landing
```
Where `dev` profile assumes a role using credentials from the SSO-based
`Landing` profile.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem


## Solution
allow devs to configure Q endpoint via vscode settings.json
```
"aws.dev.codewhispererService": {
        "endpoint": "https://codewhisperer/endpoint/",
        "region": "us-east-1"
    }
```


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Eclipse Che-based workspaces on remote compute will change their
hostname if the backing compute changes, thus requiring a reauth.

## Solution
Swap to keying off the Che workspace ID, which should be static for
specific workspaces

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
In VSC, we check that the metric name must be in
[aws-toolkit-common](https://github.com/aws/aws-toolkit-common) before
emitting the metric.

Therefore when we want to add a new metric, the current process is:
1. Add new metric in aws-toolkit-common
2. Wait for version to increment (~1 hour)
3. Bump up toolkit-common version in VSC repo
4. Wait for next VSC release (up to 1 week)

Only after steps 1-4, will we be actually emitting the new metric.

JB, VS, and Eclipse do not have this dependency, and assume Flare is the
source of truth for metrics

## Solution
In VSC, Flare is now the source of truth for metrics instead of
depending on aws-toolkit-common




---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Notes:
- Removing agentWalkThrough workflow form VSCode.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
#7777)

## Problem
Sagemaker was showing show logs feature when it cant support it.

## Solution
Added the check for sage maker.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
Need job detail page for notebook job.

## Solution
- Create new Job Detail page. It renders all elements for job, matching
JL UX
- Create common TkKeyValue component render key/value pairs
- Create common TkContainer component for content container look and
feel
- Revise page navigation to provide metadata for page

#### Dark mode: Job detail page
<img width="1164" height="1146" alt="Screenshot 2025-07-28 at 1 47
04 PM"
src="https://github.com/user-attachments/assets/5c30a969-054b-48f2-8744-2e6123ff9862"
/>

#### Light mode: Job detail page
<img width="1158" height="1142" alt="Screenshot 2025-07-28 at 1 46
48 PM"
src="https://github.com/user-attachments/assets/9cd097db-2972-4bb8-86ea-afd0e0cdd968"
/>



---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
fix(amazonq): update the marketing message for the Amazon Q plugin in VSCode marketplace
fix(amazonq): skip EDITS suggestion if there is no change between current and new code suggestion
roger-zhangg and others added 30 commits October 1, 2025 13:58
## Problem
- Remote Debugging doesn't auto detect sam build dir as outFile before
- Deployed lambda node in appbuilder is very hidden.

## Solution
### 1. App Builder Resource Node Enhancements (`resourceNode.ts`)
- **Enhanced icon logic**: Deployed Lambda functions now show a
different icon (`aws-lambda-deployed-function`) to indicate deployment
status
- ** Support Remote Actions**: Deployed Lambda functions now directly
support "remote invoke" and "fetch log" functionality.

### 2. Remote Invoke TypeScript Support (`invokeLambda.ts`)
- **Added `outFile` property**: Stores the TypeScript output directory
for debugging
- **Auto-detection of TypeScript build directories**: Automatically
populates `outFile` for TypeScript/TSX files when SAM build directory
exists
  - Looks for `.aws-sam/build/{LogicalID}/` directory structure
  - Enables proper source mapping during debugging
- **Added `getOutFile()` method**: Public accessor for the output file
path
- **Improved file watching logic**: Disabled automatic file watching
when coming from App Builder to prevent unnecessary watchers

## Impact
- **Improved Developer Experience**: TypeScript developers will benefit
from automatic detection of build output directories, making remote
debugging setup easier
- **Better App Builder Integration**: The new
`generateLambdaNodeFromResource` function enables seamless conversion
between App Builder resources and Lambda nodes
- **Enhanced Visual Feedback**: Users can now distinguish between
deployed and non-deployed Lambda functions in the explorer

## Screenshots/Examples
<img width="938" height="756" alt="image"
src="https://github.com/user-attachments/assets/15963000-a270-40a1-b618-cfc1c8698485"
/>

When outFiles are not set in CDK/SAM projects with TS debug
For CDK
```
2025-09-24 17:36:58.567 [info] Starting debugger for arn:aws:lambda:us-west-2:account:function:TriageFn
2025-09-24 17:36:58.685 [info] Creating secure tunnel...
2025-09-24 17:36:58.886 [info] Configuring Lambda function for debugging...
2025-09-24 17:36:58.940 [info] CDK outFile auto-detected from template.json: /Users/user/proj/test/cdk-test/cdk.out/asset.728566f9cc2388f3c89a024fd2e887b4d82715454a0fc478f57d7d034364fdd5
2025-09-24 17:36:58.940 [info] outFile auto-detected: /Users/user/proj/test/cdk-test/cdk.out/asset.728566f9cc2388f3c89a024fd2e887b4d82715454a0fc478f57d7d034364fdd5
```
For SAM
```
2025-09-24 17:40:03.597 [info] Creating secure tunnel...
2025-09-24 17:40:03.776 [info] Configuring Lambda function for debugging...
2025-09-24 17:40:03.777 [info] SAM outFile auto-detected: /Users/user/proj/test/test-remote-debug/.aws-sam/build/TestFunction
2025-09-24 17:40:03.777 [info] outFile auto-detected: /Users/user/proj/test/test-remote-debug/.aws-sam/build/TestFunction
```



---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
This merges the released changes for rc-20251002 into main.
MCM-135637957


- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <>
ci: Add automated license scanning for third-party dependencies
## Problem

When users provide a YAML config file, we were not validating the
contents of it very strictly.


## Solution

Improve validation logic to be more strict so that invalid YAML files
are rejected client-side with a relevant error message.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: David Hasani <[email protected]>
#8141)

## Problem
Both completion suggestions (ghost text) and edit suggestions (diff
view) could appear simultaneously due to a race condition. The
EditSuggestionState flag was set too late in the edit display flow,
allowing completion requests to check the state, see it as false, and
proceed even while an edit was being displayed.

## Solution
Fixed the race condition by setting the edit state immediately at the
start of displaySvgDecoration() before any async operations:

* Set EditSuggestionState to true at the beginning of the edit flow
* Add state cleanup when edit cannot be shown (completion already active
or invalid patch)
* Avoid calling clearDecorations() in displayEditSuggestion() to prevent
premature state reset
* Check EditSuggestionState before making completion requests in
recommendationService.ts.

This ensures only one suggestion type is displayed at a time with proper
mutual exclusion.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…tion (#8124)

## Problem

## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Boyu <[email protected]>
## Problem

We need to validate dependency IDs differently from plugin IDs

## Solution

Update validation logic


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: David Hasani <[email protected]>
## Problem

Absolute paths sometimes contain spaces, preventing Maven from running.


## Solution

Handle spaces by surrounding the full path with double quotes.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: David Hasani <[email protected]>
… Studio compute (#8156)

Problem:
Incorrect SSH configuration causing connection failures

Solution:
- Updated SSH config by removing "User '%r'" to properly handle remote
connections to Studio compute

Co-authored-by: Arkaprava De <[email protected]>
## Description 

Added status checks for SageMaker space operations to prevent invalid
actions.

Picture: When opening remote connection:

<img width="507" height="302" alt="Screenshot 2025-10-08 at 4 20 19 PM"
src="https://github.com/user-attachments/assets/905cb51e-daf0-4db5-91ca-fbbc53de28d5"
/>


## fix done 

1. The stopSpace function now validates space status before attempting
to stop, showing appropriate warning messages for spaces already in
Stopped/Stopping states or currently Starting.

2. Also added status refresh before open remote connect

## Testing Done

code debug



---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem

`.github` directory should not be uploaded to QCT backend, since it
contains unrelated files, which can show up in the diff, and can cause
the parsing of the patch file to fail.

## Solution

Exclude it when zipping.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: David Hasani <[email protected]>
## Problem
This merges the released changes for rc-20251010 into main.
MCM-136118981

## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <>
## Problem
-All space reconnection redirect links were hardcoded to route users to
the JupyterLab details page, due to a bug in the Studio web application.


## Solution
- With the bug now fixed in SageMaker Studio, we can support redirecting
to the Code Editor details page via refreshUrl.
- For backward compatibility, the default remains set to JupyterLab.
Once the fix is verified and rolled out across all regions, we can
remove the default behavior and instead explicitly check for the appType
(e.g., JupyterLab) before setting the redirect.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Newton Der <[email protected]>
Co-authored-by: Newton Der <[email protected]>
Co-authored-by: Laxman Reddy <[email protected]>
## Problem


## Solution


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…8163)

## Problem
When pressing Enter to trigger inline suggestions, ghost text fails to
appear in the editor despite the language server returning valid
suggestions.

Root Cause: VS Code triggers two provideInlineCompletionItems calls
simultaneously when Enter is pressed:

1. Automatic trigger (t=0ms) - sends LSP request, receives valid
suggestions after ~380ms
2. Invoke trigger (t=2ms) - sends duplicate LSP request, receives empty
response after ~6ms (language server skips concurrent requests)
3. VS Code uses the most recent provider response, which is the empty
result from the second call, causing the first call's valid suggestions
to be ignored.

Evidence from logs:

```
[info] Sending inline completion request (474)
[info] Sending inline completion request (476)
[info] Received response (476): { sessionId: '', items: [] }  ← Used by VS Code
[info] Received response (474): { items: [{ itemId: '...', insertText: '...' }] }  ← Ignored
```

## Solution
I am not able to have a working fix to prevent either automatic or
invoke trigger, which is controlled in toolkit. So I implement request
deduplication on Q side by tracking pending requests in the inline
completion provider:

* Shared Request Pattern: When a request is in progress, subsequent
concurrent calls reuse the same pending promise instead of creating new
LSP requests

* Independent Cancellation: Each call checks its own CancellationToken
after the shared request completes, allowing independent cancellation
semantics

Key Changes:

* Added pendingRequest field to track in-flight requests
* Wrapped provideInlineCompletionItems to check for and reuse pending
requests
* Added per-call cancellation check when reusing requests
* Ensured pendingRequest is cleared after completion for fresh
subsequent requests

Tests:

Tested on the same scenarios, both concurrent calls now return the same
valid suggestions, ghost text appears reliably when pressing Enter

Logs after fix:

```
[info] _provideInlineCompletionItems called (Automatic)
[info] _provideInlineCompletionItems called (Invoke)
[info] Reusing pending inline completion request to avoid race condition
[info] Received response: { sessionId: '...', itemCount: 2, items: [...] }
```

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…ay (#8174)

## Problem

If suggestion is at least 10 lines away, we don't want to show it to the
user.

## Solution

discard edits suggestion when the cursor position is at least 10 lines
away

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
…hanged (#8173)

## Problem
Upgrading Space from Toolkit from ml.t3.medium to ml.t3.large does not
update the Space properties. It only creates a new app with the updated
instance type.


## Solution
Make sure to update Space before creating App when it is needed


## Testing
Verified that the it does not overwrite the the missing props. Diff link
https://diff.corp.amazon.com/compare/54b0ofvc
- before updating space 
```
sagemaker-user@default:~$ aws sagemaker describe-space --domain-id d-rxs4hhmzrnho  --space-name ce 
{
    "DomainId": "d-rxs4hhmzrnho",
    "SpaceArn": "arn:aws:sagemaker:us-east-2:050752642559:space/d-rxs4hhmzrnho/ce",
    "SpaceName": "ce",
    "Status": "InService",
    "LastModifiedTime": "2025-10-13T21:21:00.933000+00:00",
    "CreationTime": "2025-09-08T20:58:08.976000+00:00",
    "SpaceSettings": {
        "CodeEditorAppSettings": {
            "DefaultResourceSpec": {
                "SageMakerImageArn": "arn:aws:sagemaker:us-east-2:137914896644:image/sagemaker-distribution-cpu",
                "SageMakerImageVersionAlias": "2.8",
                "InstanceType": "ml.t3.medium"
            },
            "AppLifecycleManagement": {
                "IdleSettings": {
                    "IdleTimeoutInMinutes": 60
                }
            }
        },
        "AppType": "CodeEditor",
        "SpaceStorageSettings": {
            "EbsStorageSettings": {
                "EbsVolumeSizeInGb": 16
            }
        },
        "CustomFileSystems": [
            {
                "S3FileSystem": {
                    "S3Uri": "s3://amazon-sagemaker-050752642559-us-east-2-63f9df3f396b/dzd_bh80g0fbj1h7xl/c1wqm5rlzb150p/shared"
                }
            }
        ],
        "RemoteAccess": "DISABLED"
    },
    "OwnershipSettings": {
        "OwnerUserProfileName": "915b9590-a081-704d-8914-0e482edfb1ef"
    },
    "SpaceSharingSettings": {
        "SharingType": "Private"
    },
    "Url": "https://y89msnjovs0fqgr.studio.us-east-2.sagemaker.aws/codeeditor/default"
}
```

After updating space:
```
sagemaker-user@default:~$ aws sagemaker describe-space --domain-id d-rxs4hhmzrnho  --space-name ce 
{
    "DomainId": "d-rxs4hhmzrnho",
    "SpaceArn": "arn:aws:sagemaker:us-east-2:050752642559:space/d-rxs4hhmzrnho/ce",
    "SpaceName": "ce",
    "Status": "InService",
    "LastModifiedTime": "2025-10-13T21:28:28.870000+00:00",
    "CreationTime": "2025-09-08T20:58:08.976000+00:00",
    "SpaceSettings": {
        "CodeEditorAppSettings": {
            "DefaultResourceSpec": {
                "SageMakerImageArn": "arn:aws:sagemaker:us-east-2:137914896644:image/sagemaker-distribution-cpu",
                "SageMakerImageVersionAlias": "2.8",
                "InstanceType": "ml.t3.large"
            },
            "AppLifecycleManagement": {
                "IdleSettings": {
                    "IdleTimeoutInMinutes": 60
                }
            }
        },
        "AppType": "CodeEditor",
        "SpaceStorageSettings": {
            "EbsStorageSettings": {
                "EbsVolumeSizeInGb": 16
            }
        },
        "CustomFileSystems": [
            {
                "S3FileSystem": {
                    "S3Uri": "s3://amazon-sagemaker-050752642559-us-east-2-63f9df3f396b/dzd_bh80g0fbj1h7xl/c1wqm5rlzb150p/shared"
                }
            }
        ],
        "RemoteAccess": "ENABLED"
    },
    "OwnershipSettings": {
        "OwnerUserProfileName": "915b9590-a081-704d-8914-0e482edfb1ef"
    },
    "SpaceSharingSettings": {
        "SharingType": "Private"
    },
    "Url": "https://y89msnjovs0fqgr.studio.us-east-2.sagemaker.aws/codeeditor/default"
}
```

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
There may not always be a change to the license file
This merges the released changes for rc-20251016 into main.
## Problem
- On transitioning from "Stopped" to/from "Running", the space node
calls trackPendingNode() which adds it to the PollingSet. The PollingSet
starts polling every 5 milliseconds which calls describeSpace +
describeApp
## Solution
- Update the polling interval to 5sec

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem:
```
// As part of SIM IDE-10703, there was an assumption that retrying on InvalidGrantException
// may be useful. This may not be the case anymore and if more research is done, this may not be needed.
```

## Solution:

We do not want to retry on `InvalidGrantException` as this is a
non-retryable exception
Brings parity with JB:
aws/aws-toolkit-jetbrains#5764


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.
## Problem
3 flaky appbuilder tests
```
  2 failing
  1) AppBuilder Walkthrough
       Create project
         start with an existing template
           override existing template
             download serverlessland proj:

      AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected

+ 'Encountered an unexpected error when processing the request, please try again'
- 'template.yaml already exist in the selected directory, overwrite?'
      + expected - actual

     Error: Test length exceeded max duration: 30 seconds
[No Pending UI Elements Found]

      -Encountered an unexpected error when processing the request, please try again
      +template.yaml already exist in the selected directory, overwrite?
      
      at /Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/awsService/appBuilder/walkthrough.test.ts:196:32
      at s.value (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/vscode/window.ts:502:35)
      at Proxy.z (/private/tmp/.vscode-test/vscode-darwin-arm64-1.83.0/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:80:1902)
      at Proxy.fire (/private/tmp/.vscode-test/vscode-darwin-arm64-1.83.0/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/api/node/extensionHostProcess.js:80:2119)
      at fireOnDidShowMessage (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/vscode/window.ts:147:35)
      at /Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/vscode/message.ts:247:27
      at new Promise (<anonymous>)
      at Proxy.<anonymous> (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/vscode/message.ts:244:20)
      at errorPromptHelper (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/commands/startSecurityScan.ts:485:28)
      at startSecurityScan (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/codewhisperer/commands/startSecurityScan.ts:363:13)

  2) SamDebugConfigurationProvider
       makeConfig
         failure modes:
     AssertionError [ERR_ASSERTION]: Missing expected rejection.
      at async Context.<anonymous> (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/sam/debugger/samDebugConfigProvider.test.ts:320:13)

  1) SAM runBuild
       :) path
         [entry: command palette] use samconfig should instantiate correct process in terminal:

      AssertionError [ERR_ASSERTION]: RunInterminal

1 !== 2

      + expected - actual

      -1
      +2
      
      at verifyCorrectDependencyCall (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/sam/build.test.ts:344:20)
      at Context.<anonymous> (/Users/runner/work/aws-toolkit-vscode/aws-toolkit-vscode/packages/core/src/test/shared/sam/build.test.ts:532:13)

https://d1ihu6zq92vp9p.cloudfront.net/b4a5497f-734f-491d-a40e-795359615103/report.html
```




https://d1ihu6zq92vp9p.cloudfront.net/2d3ec18e-1584-4a40-948c-18babdfee24e/report.html
3 integ test constantly failing, 2 due to node 18 deprecated, 1 due to
an uncaught change before
```
  1) SAM Integration Tests
       SAM runtime: nodejs18.x (ZIP)
         Starting with a newly created nodejs18.x (ZIP) SAM Application...
           "before all" hook for "produces an Add Debug Configuration codelens":
     CodeExpectedError: cannot open file:///codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/dist/src/testFixtures/workspaceFolder/inttestco5XDH/nodejs18.x/samapp-WKxmw3/testProject/hello-world/app.mjs. Detail: Unable to read file '/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/dist/src/testFixtures/workspaceFolder/inttestco5XDH/nodejs18.x/samapp-WKxmw3/testProject/hello-world/app.mjs' (Error: Unable to resolve nonexistent file '/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/dist/src/testFixtures/workspaceFolder/inttestco5XDH/nodejs18.x/samapp-WKxmw3/testProject/hello-world/app.mjs')
      at s.$tryOpenDocument (vscode-file://vscode-app/tmp/.vscode-test/vscode-linux-x64-1.83.0/resources/app/out/vs/workbench/workbench.desktop.main.js:2343:37719)

  2) SAM Integration Tests
       SAM runtime: nodejs18.x (Image)
         Starting with a newly created nodejs18.x (Image) SAM Application...
           "before all" hook for "produces an Add Debug Configuration codelens":
     SamCliError: Please verify your location. The following types of location are supported: [SamCliFailed]
  
      at makeUnexpectedExitCodeError (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/shared/sam/cli/samCliInvokerUtils.ts:48:12)
      at logAndThrowIfUnexpectedExitCode (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/shared/sam/cli/samCliInvokerUtils.ts:67:11)
      at runSamCliInit (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/shared/sam/cli/samCliInit.ts:65:36)
      at async createSamApplication (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/testInteg/sam.test.ts:640:9)
      at async Context.<anonymous> (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/testInteg/sam.test.ts:382:21)

  3) Application Builder
       application nodes in workspace (Test in order)
         3: contains correct resource node properties:

      AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:

1 !== 0

      + expected - actual

      -1
      +0
      
      at Context.<anonymous> (/codebuild/output/src2664791430/src/github.com/aws/aws-toolkit-vscode/packages/core/src/testInteg/appBuilder/sidebar/appBuilderNode.test.ts:132:20)
      at processTicksAndRejections (node:internal/process/task_queues:95:5)
```

## Solution
- make sure codewhisper doesn't show error in unrelated test
- ensure clean state in sam tests
- remove deprecated node 18 test cases

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Laxman Reddy <[email protected]>
## Note
**There is still a little bit more work needed for fully migrating
aws-sdk v2 to v3, specifically all of these clients
[here](https://github.com/aws/aws-toolkit-vscode/blob/59fd17fcfa22798e78d0df196290edb4a070f7ec/packages/core/scripts/build/generateServiceClient.ts#L232-L251)
from the `generateServiceClient.ts` script**


## Problem
AWS SDK V2 is at EOL

## Solution
Migrate AWS SDK V2 to V3

This work has been done in the `feature/v2-to-v3-migration` feature
branch and thus merging it into `master`

Here are the PRs, which this does not include the merges from main and
resolving conflicts:
- #8043
- #8042
- #8046
- #8054
- #8041
- #8056
- #8081
- #8069
- #8067
- #8093
- #8095
- #8094
- #8171
- #8159
- #8175
- #8182



## Testing
Manually tested the [prerelease
builds](https://github.com/aws/aws-toolkit-vscode/releases/tag/pre-v2-to-v3-migration)


https://github.com/user-attachments/assets/b1d4795c-4027-462e-a195-509ac4a9d8ae


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <[email protected]>
Co-authored-by: Tai Lai <[email protected]>
Co-authored-by: invictus <[email protected]>
Co-authored-by: Laxman Reddy <[email protected]>
## Problem
When a user tries to connect to a SageMaker Space that is in the Stopped
status (i.e., the underlying App is Deleted or has not been created),
the Space will be automatically started by the toolkit before the
connection is attempted. In some cases, the Space reaches the Running
status (i.e., the App reaches the InService status) but the remote
access capability is not yet ready as it starts asynchronously, leading
to the SageMaker:StartSession API receiving an Internal Failure
response. The client already retries, but the retries happen too
quickly, before remote access becomes ready.

## Solution
Adjust the SageMaker client retry configuration for StartSession calls
made from the detached server (called via the `sagemaker_connect`
script) to spread out the retries over multiple seconds.

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

Co-authored-by: Laxman Reddy <[email protected]>
## Problem
Some of the unit tests were flakey

## Solution
Remove flakey test. We are okay to do this because the project scan flow
is no longer in use

---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: Blake Lazarine <[email protected]>
- This merges the released changes for rc-20251022 into main.


---

- Treat all work as PUBLIC. Private `feature/x` branches will not be
squash-merged at release time.
- Your code changes must meet the guidelines in
[CONTRIBUTING.md](https://github.com/aws/aws-toolkit-vscode/blob/master/CONTRIBUTING.md#guidelines).
- License: I confirm that my contribution is made under the terms of the
Apache 2.0 license.

---------

Co-authored-by: aws-toolkit-automation <>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.