diff --git a/CHANGELOG.md b/CHANGELOG.md index d769dfa35f..ff1edba393 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 0.168.0 + +### Changes + +- Add support for stacked pull requests. Set `githubPullRequests.experimental.stacks` to `true` to enable this feature. + +![Add existing pull requests to stack](./documentation/changelog/0.168.0/add-prs-to-stack.png) + +![Stack shows in pull request webview](./documentation/changelog/0.168.0/show-pr-stack-in-webview.png) + +![Unstack all pull requests in a stack](./documentation/changelog/0.168.0/unstack-a-stack.png) + +- Show branch deletion options in a modal dialog after merging a pull request. +- Support configuring and selecting between multiple GitHub Enterprise instances. + +### Fixes + +- Multiple accounts don't work for any but the first account added. https://github.com/microsoft/vscode-pull-request-github/issues/8789 + ## 0.166.1 ### Fixes diff --git a/documentation/changelog/0.168.0/add-prs-to-stack.png b/documentation/changelog/0.168.0/add-prs-to-stack.png new file mode 100644 index 0000000000..7ea51b9676 Binary files /dev/null and b/documentation/changelog/0.168.0/add-prs-to-stack.png differ diff --git a/documentation/changelog/0.168.0/show-pr-stack-in-webview.png b/documentation/changelog/0.168.0/show-pr-stack-in-webview.png new file mode 100644 index 0000000000..126d26d3c2 Binary files /dev/null and b/documentation/changelog/0.168.0/show-pr-stack-in-webview.png differ diff --git a/documentation/changelog/0.168.0/unstack-a-stack.png b/documentation/changelog/0.168.0/unstack-a-stack.png new file mode 100644 index 0000000000..cb7f1425c6 Binary files /dev/null and b/documentation/changelog/0.168.0/unstack-a-stack.png differ diff --git a/documentation/releasing.md b/documentation/releasing.md index 3c5df9c57b..31146887cf 100644 --- a/documentation/releasing.md +++ b/documentation/releasing.md @@ -1,33 +1,5 @@ # How to release -## Authentication API dependency - -Enterprise API destinations use the selected session's `authorizationServer`, -with `/login/oauth` removed, rather than either Enterprise configuration setting. -This requires the **proposed** `authIssuers` API from -[microsoft/vscode#337846](https://github.com/microsoft/vscode/pull/337846), -merged at `2f84f5b38264788d80a9399413cc47cb2a17db51` on the 1.140 development line. -The engine floor is now **1.141.0** for the plural `github-enterprise.uris` -setting and provider lifecycle from -[microsoft/vscode#338080](https://github.com/microsoft/vscode/pull/338080). -Insiders users are expected to use the latest build; the brief compatibility -gap in early 1.141 Insiders snapshots is accepted, without a runtime version -check or legacy-setting write fallback. Confirm stable 1.141 contains the -upstream change before stable rollout. Production -allowlisting is a separate [vscode-distro](https://github.com/microsoft/vscode-distro) -change. Missing enterprise metadata is explicitly unavailable, without a -configuration fallback. Public GitHub/PAT authentication does not require it. - -Setup writes only `github-enterprise.uris`. Legacy `github-enterprise.uri` is -still read when no eligible plural value is configured; explicit `[]` disables -Enterprise instances. This extension continues to use one selected Enterprise -account/client at a time, separate from GitHub.com. Release messaging must -explain the **Select Account** action, which opens this extension's GitHub -Enterprise account preferences (or starts first-time sign-in), not advertise -simultaneous multi-host operation. The scoped picker uses VS Code's -`_manageAccountPreferencesForExtension` command with the extension ID and -`github-enterprise` provider ID; include that path in release validation. - ## Release steps 1. Edit version in [package.json](https://github.com/Microsoft/vscode-pull-request-github/blob/main/package.json) diff --git a/package-lock.json b/package-lock.json index 6838437f81..2311e2a041 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "vscode-pull-request-github", - "version": "0.166.1", + "version": "0.168.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "vscode-pull-request-github", - "version": "0.166.1", + "version": "0.168.0", "hasInstallScript": true, "license": "MIT", "dependencies": { diff --git a/package.json b/package.json index c456ed6e85..0a5f49973f 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "treeItemMarkdownLabel", "treeViewMarkdownMessage" ], - "version": "0.166.1", + "version": "0.168.0", "publisher": "GitHub", "engines": { "node": ">=20", diff --git a/src/@types/vscode.proposed.authIssuers.d.ts b/src/@types/vscode.proposed.authIssuers.d.ts index c184e42e4d..577bf75858 100644 --- a/src/@types/vscode.proposed.authIssuers.d.ts +++ b/src/@types/vscode.proposed.authIssuers.d.ts @@ -4,6 +4,9 @@ *--------------------------------------------------------------------------------------------*/ declare module 'vscode' { + + // https://github.com/microsoft/vscode/issues/248775 + export interface AuthenticationSession { /** * The authorization server that issued this session, when provided by the authentication provider. diff --git a/src/@types/vscode.proposed.chatParticipantAdditions.d.ts b/src/@types/vscode.proposed.chatParticipantAdditions.d.ts index 46b9977968..2217833d54 100644 --- a/src/@types/vscode.proposed.chatParticipantAdditions.d.ts +++ b/src/@types/vscode.proposed.chatParticipantAdditions.d.ts @@ -49,10 +49,15 @@ declare module 'vscode' { ranges: Range[]; } + /** The Auto routing tier a request was resolved with. */ + export type ChatAutoModeTier = 'efficiency' | 'balance' | 'intelligence' | 'fast'; + export class ChatResponseTextEditPart { uri: Uri; edits: TextEdit[]; isDone?: boolean; + /** The Auto routing tier that produced these edits, for edit attribution. */ + autoTier?: ChatAutoModeTier; constructor(uri: Uri, done: true); constructor(uri: Uri, edits: TextEdit | TextEdit[]); } @@ -61,6 +66,8 @@ declare module 'vscode' { uri: Uri; edits: NotebookEdit[]; isDone?: boolean; + /** The Auto routing tier that produced these edits, for edit attribution. */ + autoTier?: ChatAutoModeTier; constructor(uri: Uri, done: true); constructor(uri: Uri, edits: NotebookEdit | NotebookEdit[]); } @@ -1055,6 +1062,10 @@ declare module 'vscode' { } export interface LanguageModelToolInvocationOptions { + /** + * The selected model. Access throws if an explicit selection cannot be resolved through the language model API. + * Tools that do not use a model can run without accessing this property. + */ model?: LanguageModelChat; chatStreamToolCallId?: string; } diff --git a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts index 85f68a5569..02d7fb91dc 100644 --- a/src/@types/vscode.proposed.chatParticipantPrivate.d.ts +++ b/src/@types/vscode.proposed.chatParticipantPrivate.d.ts @@ -239,10 +239,13 @@ declare module 'vscode' { */ readonly modeInstructions2?: ChatRequestModeInstructions; + /** Whether this request was initiated by the system rather than the user. */ + readonly isSystemInitiated?: boolean; + /** * @hidden */ - constructor(prompt: string, command: string | undefined, references: ChatPromptReference[], participant: string, toolReferences: ChatLanguageModelToolReference[], editedFileEvents: ChatRequestEditedFileEvent[] | undefined, id: string | undefined, modelId: string | undefined, modeInstructions2: ChatRequestModeInstructions | undefined); + constructor(prompt: string, command: string | undefined, references: ChatPromptReference[], participant: string, toolReferences: ChatLanguageModelToolReference[], editedFileEvents: ChatRequestEditedFileEvent[] | undefined, id: string | undefined, modelId: string | undefined, modeInstructions2: ChatRequestModeInstructions | undefined, isSystemInitiated?: boolean); } export class ChatResponseTurn2 { diff --git a/src/@types/vscode.proposed.chatSessionsProvider.d.ts b/src/@types/vscode.proposed.chatSessionsProvider.d.ts index 844de8f23d..ed09833f59 100644 --- a/src/@types/vscode.proposed.chatSessionsProvider.d.ts +++ b/src/@types/vscode.proposed.chatSessionsProvider.d.ts @@ -722,6 +722,8 @@ declare module 'vscode' { }; readonly maxInputTokens?: number; readonly maxOutputTokens?: number; + /** The total context window, independent of the input and output token limits. */ + readonly maxContextWindowTokens?: number; readonly capabilities?: { readonly vision?: boolean; readonly toolCalling?: boolean;