Releases: microsoft/Agents-for-js
v1.2.3
v1.2
What's Changed
- Extract error codes from CosmosDB storage to centralized errorHelper with tokenized helplinks by @Copilot in #773
- Update contributing guidelines in README by @MattB-msft in #759
- Bump @azure/cosmos from 4.7.0 to 4.8.0 by @dependabot[bot] in #783
- Bump @types/lodash from 4.17.20 to 4.17.21 by @dependabot[bot] in #789
- Bump @azure/msal-node from 3.8.2 to 3.8.3 by @dependabot[bot] in #782
- Bump @microsoft/api-extractor from 7.55.0 to 7.55.1 by @dependabot[bot] in #788
- Bump @azure/cosmos from 4.8.0 to 4.9.0 by @dependabot[bot] in #792
- Refactor error messages to common classes by @cleemullins in #799
- Bump express from 5.1.0 to 5.2.0 by @dependabot[bot] in #801
- Bump typedoc from 0.28.14 to 0.28.15 by @dependabot[bot] in #803
- Bump tsx from 4.20.6 to 4.21.0 by @dependabot[bot] in #804
- Bump express and @types/express by @dependabot[bot] in #802
- Backwards compat for Copilot Studio Client by @benbrown in #798
- [#654] Refactor MsalTokenProvider to match AuthProvider interface by @ceciliaavila in #796
- Refactor error definitions to eliminate duplicate helplink properties by @Copilot in #808
- [#794] appendChoices for prompt doesn't support heroCard style by @ceciliaavila in #800
- fix: [#17] Review MCSClient Environment variables by @ceciliaavila in #551
- [#373] Document logging by @ceciliaavila in #793
- Add support for non-streaming channels in StreamingResponse by @sw-joelmut in #761
- [#712] Add TeamsAttachmentDownloader to Core by @ceciliaavila in #776
- Bump to 1.2.0-alpha by @tracyboehrer in #813
- Fix for behavior change in streaming by @benbrown in #821
- Bump esbuild from 0.27.0 to 0.27.1 by @dependabot[bot] in #814
- Fix: Do not signal ready state until first conversation ID is received by @benbrown in #831
- Update issue templates by @MattB-msft in #819
- Bump jsonwebtoken from 9.0.2 to 9.0.3 by @dependabot[bot] in #815
- Bump @azure/msal-node from 3.8.3 to 3.8.4 by @dependabot[bot] in #816
- Bump @microsoft/api-extractor from 7.55.1 to 7.55.2 by @dependabot[bot] in #822
- Bump eslint from 9.39.1 to 9.39.2 by @dependabot[bot] in #841
- Bump @types/node from 24.10.1 to 25.0.2 by @dependabot[bot] in #840
- Fix: Add scopes to agentic token cache key by @benbrown in #838
- Fix: Update token acquisition logic for agentic scenarios by @MattB-msft in #845
- Bump @types/node from 25.0.2 to 25.0.3 by @dependabot[bot] in #842
- Bump sinon from 21.0.0 to 21.0.1 by @dependabot[bot] in #844
- Bump esbuild from 0.27.1 to 0.27.2 by @dependabot[bot] in #843
- Bump qs version to 6.14.1 by @ceciliaavila in #855
- [#847] Update jsdoc for continueConversation by @ceciliaavila in #854
- [#826] onTurn (handler: AgentHandler) doesn't call handler for every activity by @ceciliaavila in #852
- [#384] Fix FIC authentication for Agentic scenarios by @ceciliaavila in #836
New Contributors
- @MattB-msft made their first contribution in #759
Full Changelog: v1.1.1...v1.2.0
v1.1.1
New
Support for Agentic Identity
Added initial support for Microsoft Agent ID. See: What is Microsoft Entra Agent ID? - Microsoft Entra Agent ID | Microsoft Learn
Further setup documentation will be provided on use of this feature in the future as it moves forward.
Multiple Connections
It is now possible to configure your agent application with multiple parallel application identities. We call these "Connections." When used in conjunction with Agentic Identity, this allows for an agent application to act as any installed instance of the agent across multiple tenants, as well as bind specific routes to different agent configuration within the same app.
# in .env
# define a connection named `serviceConnection`
# the name used in the env variable names must match the name
# specified in the connectionsMap below
connections__serviceConnection__settings__clientId= # App ID of the App Registration used to log in.
connections__serviceConnection__settings__clientSecret= # Client secret of the App Registration used to log in
connections__serviceConnection__settings__tenantId= # Tenant ID of the App Registration used to log in
connectionsMap__0__connection=serviceConnection
connectionsMap__0__serviceUrl=*
If nothing is changed in your configuration, the SDK will automatically use the existing settings to create a default Connection for you. No changes are required.
In copilot studio client: sendActivityStreaming, startConversationStreaming
In addition to the sendActivityAsync and startConversationAsync methods, this version introduces new versions that support streaming messages returned as they arrive using AsyncGenerators. These methods will return a stream of Activities as they arrive over the wire and use a new syntax for dealing with AsyncGenerators.
for await (const replyActivity of copilotClient.sendActivityStreaming(activity)) {
... process each activity as it arrives, including typing indicators, events, etc
}
Breaking Changes
There were some unavoidable changes necessary in the SDK which will require updates to your code if you use any of the following methods:
CloudAdapter.ContinueConversation or AgentApplication.sendProactiveActivity
Both of these methods now require botAppIdOrIdentity to be passed as the first argument. This must either be the agents's app ID, or a JwtPayload object from the incoming request, usually TurnContext.identity
CloudAdapter getAttachment/getAttachmentInfo/uploadAttachment
These methods now require a TurnContext to be passed as the first argument.
CloudAdapter.ConnectorClient and CloudAdapter.UserTokenClient have been removed.
Rather than being members of the CloudAdapter class, these are now available as turncontext.turnstate.get(adapter.ConnectorClientKey) and turncontext.turnstate.get(adapter.UserTokenClientKey)
AgentApplication.authorization.beginOrContinueFlow has been removed
AgentApplication.authorization.authHandlers has been removed
oAuthFlow class removed
What's Changed
- Update version to 1.1.0-alpha by @rido-min in #528
- chore: update dependencies in package.json files by @rido-min in #531
- bump dependencies by @rido-min in #540
- [#369] Review custom usage of Temp TurnState by @ceciliaavila in #529
- refactor: expose StreamingResponse delay by @rido-min in #541
- [#524] Review processing order of FileDownloaders in AgentApplication by @ceciliaavila in #543
- chore: update dependencies in package.json and package-lock.json by @rido-min in #549
- fix: update npm install display name to npm ci and adjust branch filter for pull requests by @rido-min in #557
- Add citation URL to streaming response metadata by @rido-min in #558
- Restore teams-extensions by @rido-min in #548
- Update dependencies in package.json and package-lock.json by @rido-min in #569
- Stevenic/teams shared channels by @Stevenic in #438
- Remove Service Principal login instructions from README by @sarahcritchley in #597
- Bump dependencies by @sw-joelmut in #585
- File Attachment upload not working when using CopilotStudio Client as the connector for WebChat. by @sw-joelmut in #596
- Implement Event-Source Send in CopilotStudioClient to handle stream responses by @ceciliaavila in #614
- Bump typedoc from 0.28.12 to 0.28.13 by @dependabot[bot] in #588
- Bump debug from 4.4.1 to 4.4.3 by @dependabot[bot] in #599
- Bump esbuild from 0.25.9 to 0.25.10 by @dependabot[bot] in #600
- Bump @types/node from 24.3.1 to 24.6.0 by @dependabot[bot] in #615
- Bump typescript from 5.9.2 to 5.9.3 by @dependabot[bot] in #619
- Bump globalize from 1.7.0 to 1.7.1 by @dependabot[bot] in #620
- Bump @microsoft/microsoft-graph-types from 2.40.0 to 2.43.0 by @dependabot[bot] in #618
- Bump nerdbank-gitversioning from 3.7.115 to 3.8.118 by @dependabot[bot] in #617
- Bump @azure/msal-node from 3.7.3 to 3.8.0 by @dependabot[bot] in #616
- Bump eslint from 9.35.0 to 9.37.0 by @dependabot[bot] in #633
- Bump @microsoft/m365agentsplayground from 0.2.18 to 0.2.19 by @dependabot[bot] in #621
- Bump tsx from 4.20.5 to 4.20.6 by @dependabot[bot] in #624
- Bump @microsoft/api-extractor from 7.52.13 to 7.53.0 by @dependabot[bot] in #634
- Bump @types/node from 24.6.0 to 24.7.0 by @dependabot[bot] in #635
- Bump @microsoft/microsoft-graph-types from 2.43.0 to 2.43.1 by @dependabot[bot] in #636
- Bump @types/express-serve-static-core from 5.0.7 to 5.1.0 by @dependabot[bot] in #637
- Bump @microsoft/api-extractor from 7.53.0 to 7.53.1 by @dependabot[bot] in #639
- [#384] Reorganize exports by named exports - agents-hosting-extensions-teams by @ceciliaavila in #578
- [#384] Reorganize exports by named exports - agents-hosting-storage by @ceciliaavila in #559
- Bump @azure/cosmos from 4.5.1 to 4.6.0 by @dependabot[bot] in #645
- Bump @types/node from 24.7.0 to 24.7.1 by @dependabot[bot] in #644
- Bump typedoc from 0.28.13 to 0.28.14 by @dependabot[bot] in #652
- Bump @types/node from 24.7.1 to 24.7.2 by @dependabot[bot] in #651
- Bump esbuild from 0.25.10 to 0.25.11 by @dependabot[bot] in #672
- Add support for Agentic identity tokens by @benbrown in #641
- Workload Identity support by @rido-min in #352
- Add Agentic auth handler by @sw-joelmut in #690
- Bump @types/node from 24.7.2 to 24.8.0 by @dependabot[bot] in #681
- [#682] Create Agentic sample by @ceciliaavila in #691
- [#680] Resolve appId in agentResponseHandler by @ceciliaavila in #698
- Add support for subChannels being stored in entities by @benbrown in #697
- AAU token for ConnectorClient should use Scope from config by @tracyboehrer in #696
- Back-compat CloudAdapter.createTurnContext by @tracyboehrer in #692
- Bump eslint from 9.37.0 to 9.38.0 by @dependabot[bot] in #693
- Bump @azure/storage-blob from 12.28.0 to 12.29.1 by @dependabot[bot] in #695
- Remove topic field - for now at least by @benbrown in #700
- Fix #686 - Clarify decision logic around agentic route selection by @benbrown in #701
- Fix exchange token and add consent required after failing multiple times by @sw-joelmut in https://github.com/micr...
v1.0.15
v1.0.14
v1.0.13
What's Changed
- Fix small bugs in samples by @ceciliaavila in #474
- [#78] jwtMiddleware throws at startup by @ceciliaavila in #486
- Changes to comment structure by @JimDaly in #490
- upd axios to 11 by @rido-min in #489
- [#382] Fix Warnings in api-docs pipeline by @ceciliaavila in #491
- Add proactive messaging sample with server integration by @rido-min in #494
- Update dependencies for eslint, typedoc, and @azure/storage-blob by @rido-min in #493
- [#482] Manual Authentication failing on test-agents/copilotstudio-webchat by @ceciliaavila in #504
- [#372] Review onTurnError use cases - Add sample by @ceciliaavila in #508
- [#367] Review usage of Revocable proxies by @ceciliaavila in #509
- Minor fixes, and npm updates by @rido-min in #513
- [#383] Add api-extractor library and compat workflow by @sw-joelmut in #510
- [#410] Review Trace Activities by @ceciliaavila in #518
Full Changelog: v1.0.0...v1.0.13
v1.0.0
What's Changed
- Update FICClientId retrieval to use connection-specific environment variable by @rido-min in #456
- Refactor imports for logger by @rido-min in #458
- Improve Logs by @rido-min in #461
- [#434] CopilotStudio Client WebChat sample failure when cloud is not set by @sw-joelmut in #457
- Fix/usertokenclient refreshtoken by @rido-min in #463
- Update dependencies by @rido-min in #468
- Review typedocfx by @rido-min in #465
- Removed teams extension and samples by @Stevenic in #469
- [#417] Support sovereign / national clouds by @ceciliaavila in #467
- Improved documentation comments by @JimDaly in #472
- Add request logging to ConnectorClient and UserTokenClient by @rido-min in #473
- [#451] Enable to pass headers to connector by @sw-joelmut in #471
- Refactor ConnectorClient methods to remove 'Async' suffix by @rido-min in #477
- rev to 1.0 by @rido-min in #478
New Contributors
Full Changelog: v0.6.11...v1.0.0
v0.6.11
What's Changed
- [#299] ServiceURl Should not be required when DeliveryMode = ExpectReplies by @ceciliaavila in #399
- Bump rxjs from 5.5.12 to 7.8.2 by @sw-joelmut in #442
- [#271] Ignore 'No client info in response' warning from MSAL by @sw-joelmut in #444
- [#364] Implement Logging in CopilotStudio Client by @sw-joelmut in #411
- Refactor StreamingResponse to use entities for channel data by @rido-min in #445
- [#182] Implement routes rank by @ceciliaavila in #440
- Add/Improve documentation comments by @JimDaly in #447
- Update documentation examples in AgentApplication by @rido-min in #448
- [#366] Add Transcript Middleware to App object by @ceciliaavila in #423
- Update dependencies and refactor blob demo to use TokenCredential by @rido-min in #449
Full Changelog: v0.6.1...v0.6.11
v0.6.1
What's Changed
- chore: update dependencies in package.json files by @rido-min in #336
- Feat new teams extension by @rido-min in #332
- feat: add Microsoft Teams extension package and documentation by @rido-min in #346
- Fix build warnings in reference doc generations by @JimDaly in #350
- Feat/streaming by @rido-min in #339
- Update UserTokenClient with GetTokenOrSigningResource / GetTokenStatus and GetAadTokens by @rido-min in #291
- [#224] Update Copilot Studio Client and sample to support S2S and DirectURL Connection by @ceciliaavila in #354
- Fix/284-routes by @rido-min in #380
- refactor: use Activity.fromObject for sending activity responses in message handling by @rido-min in #385
- fix: update code block syntax in README for environment variables by @rido-min in #381
- refactor: update OAuth flow to use Storage instead of UserState and improve token handling by @rido-min in #402
- [#397] [Feature] Add WebChat support for Copilot Studio Client by @sw-joelmut in #398
- [#222] Add support for Targeted messages in a group setting by @ceciliaavila in #386
- update deps by @rido-min in #405
- Feat/auto-auth-obo2 by @rido-min in #413
- chore: update dependencies to latest versions for @types/node and sinon by @rido-min in #418
- feat: implement MsalTokenCredential for Azure authentication and update BlobsStorage constructor by @rido-min in #421
- [#368] Provide custom scopes for MCS environments by @ceciliaavila in #415
- chore: update dependencies and fix typo in streaming response message by @rido-min in #428
- Support multiple connections by @rido-min in #430
- Rev version to 0.6 by @rido-min in #439
New Contributors
- @ceciliaavila made their first contribution in #354
- @sw-joelmut made their first contribution in #398
Full Changelog: v0.4.3...v0.6.1