Skip to content

Merge master into feature/flare-NEP #7392

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 45 commits into
base: feature/flare-NEP
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
f2b8091
deps(mynah): Bump mynah to 4.34.1 (#7391)
nkomonen-amazon May 28, 2025
77b54ab
Update CONTRIBUTING.md
nkomonen-amazon May 28, 2025
4caebad
Release 1.70.0
May 28, 2025
5bf8bfc
Update version to snapshot version: 1.71.0-SNAPSHOT
May 28, 2025
6cbe787
feat(amazonq): add the mcp field to client capabilities
yueny2020 May 29, 2025
fb1dae8
Merge pull request #7402 from yueny2020/mcpfromclient
yueny2020 May 29, 2025
9b13c5f
fix(tests): "rejected promise not handled" (#7403)
justinmk3 May 30, 2025
d41e749
ci: only publish amazonq as "latest" release #7408
justinmk3 May 30, 2025
12eece1
feat(lsp): forward chatOptionsUpdate to ui (#7397)
ctlai95 May 30, 2025
6e69d40
telemetry: avoid PII in openUrl metric
justinmk3 May 14, 2025
f9fce59
fix(lsp): handle ShowDocumentParams.external
justinmk3 May 13, 2025
14df48d
fix(amazonq): Revert "feat(amazonq): add the mcp field to client capa…
yueny2020 Jun 2, 2025
25ec061
Merge #7415 from justinmk3/fixes
justinmk3 Jun 3, 2025
0999e72
fix(amazonq): Revert "feat(amazonq): add the mcp field to client capa…
yueny2020 Jun 3, 2025
02a89c5
telemetry(amazonq): bumping up telemetry version to 1.0.323 (#7424)
laileni-aws Jun 4, 2025
3a9aca9
fix(amazonq): minor text update (#7420)
dhasani23 Jun 4, 2025
a7d939e
Release 1.71.0
Jun 4, 2025
d712ffd
Release 3.64.0
Jun 4, 2025
6c88e44
fix(amazonq): Add proxy configuration support with SSL Cert Validation
tsmithsz Jun 4, 2025
a78564a
Update version to snapshot version: 1.72.0-SNAPSHOT
Jun 6, 2025
1126c70
Update version to snapshot version: 3.65.0-SNAPSHOT
Jun 6, 2025
7e6786b
Merge release into master
Jun 6, 2025
62d50d9
feat(amazonq): Bundle LSP with the extension as fallback. (#7421)
leigaol Jun 6, 2025
523fc16
fix(amazonq): Add proxy configuration support with SSL Cert Validation
tsmithsz Jun 4, 2025
cdf1c2d
Merge pull request #7426 from tsmithsz/fix-proxy
tsmithsz Jun 6, 2025
bd3bf40
feat(amazonq): paid tier
justinmk3 May 6, 2025
50a4183
remove account-id input
justinmk3 May 23, 2025
d8d08e2
Merge #7379 feat(amazonq): paid tier
justinmk3 Jun 9, 2025
0458325
feat(amazonq): add MCP server support (#7451)
chungjac Jun 9, 2025
6e29cea
revert: revert to "feat(amazonq): add MCP server support (#7451)" (#7…
ashishrp-aws Jun 10, 2025
450c28a
Merge pull request #7460 from dhasani23/enablePAW
dhasani23 Jun 10, 2025
ef96302
fix(paidtier): don't show "Manage Subscription" for IdC user #7467
justinmk3 Jun 11, 2025
216e767
Release 1.72.0
Jun 11, 2025
3c6a204
Update version to snapshot version: 1.73.0-SNAPSHOT
Jun 11, 2025
c462e03
feat(amazonq): add MCP server support (#7468)
chungjac Jun 11, 2025
b7951d3
Release 1.73.0
Jun 11, 2025
4d44255
Update version to snapshot version: 1.74.0-SNAPSHOT
Jun 12, 2025
ec58764
fix(amazonq): bundle flare version comparison using numbers (#7479)
leigaol Jun 12, 2025
38bdc46
Release 1.74.0
Jun 12, 2025
497e091
Update version to snapshot version: 1.75.0-SNAPSHOT
Jun 12, 2025
8097bc1
fix(amazonq): Fixing issue with unable to get local issuer certificat…
laileni-aws Jun 13, 2025
0d205c5
Release 3.65.0
Jun 13, 2025
86f3063
Update version to snapshot version: 3.66.0-SNAPSHOT
Jun 13, 2025
a303e3e
Release 1.75.0
Jun 13, 2025
655ceda
Update version to snapshot version: 1.76.0-SNAPSHOT
Jun 13, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -382,7 +382,7 @@ If you need to report an issue attach these to give the most detailed informatio
- ![](./docs/images/logsView.png)
2. Click the gear icon on the bottom right and select `Debug`
- ![](./docs/images/logsSetDebug.png)
3. Click the gear icon again and select `Set As Default`. This will ensure we stay in `Debug` until explicitly changed
3. Click the gear icon again and select `Set As Default`. This will ensure we stay in `Debug` until explicitly changed.
- ![](./docs/images/logsSetDefault.png)
4. Open the Command Palette again and select `Reload Window`.
5. Now you should see additional `[debug]` prefixed logs in the output.
Expand Down
5 changes: 4 additions & 1 deletion buildspec/release/50githubrelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,13 @@ phases:
- echo "posting $VERSION with sha384 hash $HASH to GitHub"
- PKG_DISPLAY_NAME=$(grep -m 1 displayName packages/${TARGET_EXTENSION}/package.json | grep -o '[a-zA-z][^\"]\+' | tail -n1)
- RELEASE_MESSAGE="${PKG_DISPLAY_NAME} for VS Code $VERSION"
# Only set amazonq as "latest" release. This ensures https://api.github.com/repos/aws/aws-toolkit-vscode/releases/latest
# consistently points to the amazonq artifact, instead of being "random".
- LATEST="$([ "$TARGET_EXTENSION" = amazonq ] && echo '--latest' || echo '--latest=false' )"
- |
if [ "$STAGE" = "prod" ]; then
# note: the tag arg passed here should match what is in 10changeversion.yml
gh release create --repo $REPO --title "$PKG_DISPLAY_NAME $VERSION" --notes "$RELEASE_MESSAGE" -- "${TARGET_EXTENSION}/v${VERSION}" "$UPLOAD_TARGET" "$HASH_UPLOAD_TARGET"
gh release create "$LATEST" --repo $REPO --title "$PKG_DISPLAY_NAME $VERSION" --notes "$RELEASE_MESSAGE" -- "${TARGET_EXTENSION}/v${VERSION}" "$UPLOAD_TARGET" "$HASH_UPLOAD_TARGET"
else
echo "SKIPPED (stage=${STAGE}): 'gh release create --repo $REPO'"
fi
20 changes: 10 additions & 10 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
"skippedTestReport": "ts-node ./scripts/skippedTestReport.ts ./packages/amazonq/test/e2e/"
},
"devDependencies": {
"@aws-toolkits/telemetry": "^1.0.322",
"@aws-toolkits/telemetry": "^1.0.323",
"@playwright/browser-chromium": "^1.43.1",
"@stylistic/eslint-plugin": "^2.11.0",
"@types/he": "^1.2.3",
Expand Down
10 changes: 10 additions & 0 deletions packages/amazonq/.changes/1.70.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"date": "2025-05-28",
"version": "1.70.0",
"entries": [
{
"type": "Removal",
"description": "Disable local workspace LSP"
}
]
}
5 changes: 5 additions & 0 deletions packages/amazonq/.changes/1.71.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"date": "2025-06-04",
"version": "1.71.0",
"entries": []
}
10 changes: 10 additions & 0 deletions packages/amazonq/.changes/1.72.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"date": "2025-06-11",
"version": "1.72.0",
"entries": [
{
"type": "Feature",
"description": "Launch LSP with bundled artifacts as fallback"
}
]
}
10 changes: 10 additions & 0 deletions packages/amazonq/.changes/1.73.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"date": "2025-06-11",
"version": "1.73.0",
"entries": [
{
"type": "Feature",
"description": "Add MCP Server Support"
}
]
}
5 changes: 5 additions & 0 deletions packages/amazonq/.changes/1.74.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"date": "2025-06-12",
"version": "1.74.0",
"entries": []
}
5 changes: 5 additions & 0 deletions packages/amazonq/.changes/1.75.0.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"date": "2025-06-13",
"version": "1.75.0",
"entries": []
}

This file was deleted.

24 changes: 24 additions & 0 deletions packages/amazonq/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,27 @@
## 1.75.0 2025-06-13

- Miscellaneous non-user-facing changes

## 1.74.0 2025-06-12

- Miscellaneous non-user-facing changes

## 1.73.0 2025-06-11

- **Feature** Add MCP Server Support

## 1.72.0 2025-06-11

- **Feature** Launch LSP with bundled artifacts as fallback

## 1.71.0 2025-06-04

- Miscellaneous non-user-facing changes

## 1.70.0 2025-05-28

- **Removal** Disable local workspace LSP

## 1.69.0 2025-05-22

- **Bug Fix** /transform: avoid prompting user for target JDK path unnecessarily
Expand Down
30 changes: 24 additions & 6 deletions packages/amazonq/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "amazon-q-vscode",
"displayName": "Amazon Q",
"description": "The most capable generative AI-powered assistant for building, operating, and transforming software, with advanced capabilities for managing data and AI",
"version": "1.70.0-SNAPSHOT",
"version": "1.76.0-SNAPSHOT",
"extensionKind": [
"workspace"
],
Expand Down Expand Up @@ -213,6 +213,12 @@
"items": {
"type": "string"
}
},
"amazonQ.proxy.certificateAuthority": {
"type": "string",
"markdownDescription": "%AWS.configuration.description.amazonq.proxy.certificateAuthority%",
"default": null,
"scope": "application"
}
}
},
Expand Down Expand Up @@ -382,16 +388,21 @@
"when": "view == aws.amazonq.AmazonQChatView",
"group": "0_topAmazonQ@1"
},
{
"command": "aws.amazonq.learnMore",
"when": "view =~ /^aws\\.amazonq/",
"group": "1_amazonQ@1"
},
{
"command": "aws.amazonq.selectRegionProfile",
"when": "view == aws.amazonq.AmazonQChatView && aws.amazonq.connectedSsoIdc == true",
"group": "1_amazonQ@1"
},
{
"command": "aws.amazonq.manageSubscription",
"when": "(view == aws.amazonq.AmazonQChatView) && aws.codewhisperer.connected",
"group": "1_amazonQ@2"
},
{
"command": "aws.amazonq.learnMore",
"when": "view =~ /^aws\\.amazonq/",
"group": "1_amazonQ@3"
},
{
"command": "aws.amazonq.signout",
"when": "(view == aws.amazonq.AmazonQChatView) && aws.codewhisperer.connected && !aws.isSageMakerUnifiedStudio",
Expand Down Expand Up @@ -673,6 +684,13 @@
"category": "%AWS.amazonq.title%",
"icon": "$(question)"
},
{
"command": "aws.amazonq.manageSubscription",
"title": "%AWS.command.manageSubscription%",
"category": "%AWS.amazonq.title%",
"icon": "$(gear)",
"enablement": "aws.codewhisperer.connected && !aws.amazonq.connectedSsoIdc"
},
{
"command": "aws.amazonq.signout",
"title": "%AWS.command.codewhisperer.signout%",
Expand Down
6 changes: 4 additions & 2 deletions packages/amazonq/src/app/chat/activation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import * as vscode from 'vscode'
import { ExtensionContext } from 'vscode'
import { telemetry } from 'aws-core-vscode/telemetry'
import { AuthUtil } from 'aws-core-vscode/codewhisperer'
import { Commands, placeholder } from 'aws-core-vscode/shared'
import { Commands, getLogger, placeholder } from 'aws-core-vscode/shared'
import * as amazonq from 'aws-core-vscode/amazonq'

export async function activate(context: ExtensionContext) {
Expand Down Expand Up @@ -67,7 +67,9 @@ async function setupAuthNotification() {
const selection = await vscode.window.showWarningMessage('Start using Amazon Q', buttonAction)

if (selection === buttonAction) {
void amazonq.focusAmazonQPanel.execute(placeholder, source)
amazonq.focusAmazonQPanel.execute(placeholder, source).catch((e) => {
getLogger().error('focusAmazonQPanel failed: %s', e)
})
}
}
}
9 changes: 8 additions & 1 deletion packages/amazonq/src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ import {
Experiments,
isSageMaker,
isAmazonLinux2,
ProxyUtil,
} from 'aws-core-vscode/shared'
import { ExtStartUpSources } from 'aws-core-vscode/telemetry'
import { VSCODE_EXTENSION_ID } from 'aws-core-vscode/utils'
Expand Down Expand Up @@ -119,6 +120,10 @@ export async function activateAmazonQCommon(context: vscode.ExtensionContext, is
const extContext = {
extensionContext: context,
}

// Configure proxy settings early
ProxyUtil.configureProxyForLanguageServer()

// This contains every lsp agnostic things (auth, security scan, code scan)
await activateCodeWhisperer(extContext as ExtContext)
if (
Expand Down Expand Up @@ -166,7 +171,9 @@ export async function activateAmazonQCommon(context: vscode.ExtensionContext, is
// Give time for the extension to finish initializing.
globals.clock.setTimeout(async () => {
CommonAuthWebview.authSource = ExtStartUpSources.firstStartUp
void focusAmazonQPanel.execute(placeholder, ExtStartUpSources.firstStartUp)
focusAmazonQPanel.execute(placeholder, ExtStartUpSources.firstStartUp).catch((e) => {
getLogger().error('focusAmazonQPanel failed: %s', e)
})
}, 1000)
}

Expand Down
15 changes: 12 additions & 3 deletions packages/amazonq/src/lsp/activation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@

import vscode from 'vscode'
import { startLanguageServer } from './client'
import { AmazonQLspInstaller } from './lspInstaller'
import { lspSetupStage, ToolkitError, messages } from 'aws-core-vscode/shared'
import { AmazonQLspInstaller, getBundledResourcePaths } from './lspInstaller'
import { lspSetupStage, ToolkitError, messages, getLogger } from 'aws-core-vscode/shared'

export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
try {
Expand All @@ -16,6 +16,15 @@ export async function activate(ctx: vscode.ExtensionContext): Promise<void> {
})
} catch (err) {
const e = err as ToolkitError
void messages.showViewLogsMessage(`Failed to launch Amazon Q language server: ${e.message}`)
getLogger('amazonqLsp').warn(`Failed to start downloaded LSP, falling back to bundled LSP: ${e.message}`)
try {
await lspSetupStage('all', async () => {
await lspSetupStage('launch', async () => await startLanguageServer(ctx, getBundledResourcePaths(ctx)))
})
} catch (error) {
void messages.showViewLogsMessage(
`Failed to launch Amazon Q language server: ${(error as ToolkitError).message}`
)
}
}
}
2 changes: 2 additions & 0 deletions packages/amazonq/src/lsp/auth.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,8 @@ export class AmazonQLspAuth {
token,
})

// "aws/credentials/token/update"
// https://github.com/aws/language-servers/blob/44d81f0b5754747d77bda60b40cc70950413a737/core/aws-lsp-core/src/credentials/credentialsProvider.ts#L27
await this.client.sendRequest(bearerCredentialsUpdateRequestType.method, request)

this.client.info(`UpdateBearerToken: ${JSON.stringify(request)}`)
Expand Down
14 changes: 13 additions & 1 deletion packages/amazonq/src/lsp/chat/activation.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
import { window } from 'vscode'
import { LanguageClient } from 'vscode-languageclient'
import { AmazonQChatViewProvider } from './webviewProvider'
import { registerCommands } from './commands'
import { focusAmazonQPanel, registerCommands } from './commands'
import { registerLanguageServerEventListener, registerMessageListeners } from './messages'
import { Commands, getLogger, globals, undefinedIfEmpty } from 'aws-core-vscode/shared'
import { activate as registerLegacyChatListeners } from '../../app/chat/activation'
Expand Down Expand Up @@ -73,6 +73,18 @@ export async function activate(languageClient: LanguageClient, encryptionKey: Bu
customization: undefinedIfEmpty(getSelectedCustomization().arn),
})
}),
Commands.register('aws.amazonq.manageSubscription', () => {
focusAmazonQPanel().catch((e) => languageClient.error(`[VSCode Client] focusAmazonQPanel() failed`))

languageClient
.sendRequest('workspace/executeCommand', {
command: 'aws/chat/manageSubscription',
// arguments: [],
})
.catch((e) => {
getLogger('amazonqLsp').error('failed request: aws/chat/manageSubscription: %O', e)
})
}),
globals.logOutputChannel.onDidChangeLogLevel((logLevel) => {
getLogger('amazonqLsp').info(`Local log level changed to ${logLevel}, notifying LSP`)
void pushConfigUpdate(languageClient, {
Expand Down
2 changes: 1 addition & 1 deletion packages/amazonq/src/lsp/chat/commands.ts
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ function registerGenericCommand(commandName: string, genericCommand: string, pro
*
* Instead, we just create our own as a temporary solution
*/
async function focusAmazonQPanel() {
export async function focusAmazonQPanel() {
await Commands.tryExecute('aws.amazonq.AmazonQChatView.focus')
await Commands.tryExecute('aws.amazonq.AmazonCommonAuth.focus')
}
Loading
Loading