Changes published to npm after v1.11.6
GitHub Release automation started with v2.0.0. Versions 1.11.7 and 1.11.8 were published to npm without corresponding GitHub Releases, so their changes are included here for continuity.
1.11.8 - 2026-01-29
- Fixed: Corrected conversational survey handling when a customer ends a conversation in React Native.
- Security: Fixed eight npm audit vulnerabilities.
- Security: Upgraded
@babel/helpers,brace-expansion,js-yaml, and ESLint to patched versions. - Changed: Updated
@microsoft/ocsdkto0.5.21. - Changed: Upgraded the TypeScript ESLint packages and added the
globalsdevelopment dependency. - Changed: Migrated to the ESLint 9 flat configuration and removed obsolete disable directives.
- Changed: Added a pull-request build step to detect TypeScript compilation errors before merge.
1.11.7 - 2026-01-23
- Added: Added edited-message handling to
ChatSDK.onNewMessage(). - Added: Added
ChatSDK.getPersistentChatHistory()for authenticated chats. - Added: Added V2 data-masking coverage, including the parallel-initialization path.
- Added: Added failure logging for file-attachment downloads.
- Fixed: Corrected SDK version information for React Native and other bundled platforms.
- Fixed: Corrected chat-token refresh timer cleanup to avoid a potential infinite loop.
- Fixed: Prevented data-masking crashes from invalid or zero-width regular expressions.
- Changed: Migrated
package-lock.jsonfrom lockfile version 2 to version 3. - Changed: Parallelized survey-invite link requests in
getPostChatSurveyContext(). - Changed: Removed V1
onAgentEndSessionlogic. - Changed: Updated
@microsoft/omnichannel-amsclientto0.1.12and@microsoft/ocsdkto^0.5.20.
Breaking
- Raised the supported consumer runtime to Node.js
>=22.12.0, matching the remediated OC SDK and AMS client dependencies. This support-policy change requires a major release.
Added
- Added
onStreamingMessagepublic API for progressive bot message rendering via ACS streaming - Added
OmnichannelStreamingMessage,StreamingMetadata,PolicyViolation,OnStreamingMessageOptionalParamsexported types - Added streaming message telemetry events:
StreamingMessageReceived,StreamingDuplicateFinal,StreamingChunkNoContent,StreamingChunkAfterFinal,StreamingPolicyViolation,StreamingMetadataMissingType,StreamingFinalMissingReason,StreamingCounterEvicted,StreamingHandlerThrew,StreamingHandlerAsyncRejected - Added
StreamingMessagePrinterfor structured telemetry logging of streaming events - Added duplicate final detection and LRU-bounded sequence counter management in
createOmnichannelStreamingMessage - Added
getUnreadMessageCountpublic method to fetch unread message count for authenticated users (auth-only, pre-session badge use case) - Added
sendReadReceiptpublic method to mark messages as read (authenticated: via MRT, unauthenticated: via ACS directly) - Added
sendReadReceipttoACSClientfor direct ACS read receipt delivery (unauthenticated path) - Added
GetUnreadMessageCountandSendReadReceipttelemetry events - Added
SendReadReceiptFailure,SendReadReceiptInvalidParams,UnreadMessageCountRetrievalFailuretoChatSDKErrorNameenum - Added throw helpers in
exceptionThrowers.tsfor read receipt error handling - HTTP error mapping: 404 →
InvalidConversation, 400 →SendReadReceiptInvalidParams, others → retrieval/send failure - Added
en-AU(Australian English) locale code3081to locale mapping
Changed
- Standardized local, pull-request, release, and consumer runtime support on Node.js
>=22.12.0. - Updated
@microsoft/ocsdkto0.6.0and@microsoft/omnichannel-amsclientto0.2.0. - Hardened official releases with tag validation, scoped GitHub permissions, and one tarball shared by npm and GitHub Releases.
- Added public migration guidance and API examples for streaming messages and read-state APIs.
- Added a complete
2.0.0migration, validation, deployment, and rollback guide. - Documented streaming and read-state prerequisites for the new public APIs.
- Replaced the obsolete release-agent prompt with the canonical pull-request and tag workflow.
- Removed unused direct Axios,
form-data, andfollow-redirectsdependencies; the remediated OC SDK now owns the patched HTTP dependency floor. - Removed the obsolete brace-expansion override after the regenerated lockfile resolved patched dev-only versions.
- Pinned
@microsoft/botframework-webchat-adapter-azure-communication-chatto exact version0.0.1-beta.8(removed caret). The previous^0.0.1-beta.6range resolved (per semver §11) to the rogue prerelease0.0.1-beta-1, which ships an older adapter build whose 15s polling watchdog caused a ~15s delay before the first bot reply rendered in LCW. Pinning forces npm to install the intendedbeta.8build, which contains the fast-poll fix (iteration <= 45 ? 1000 : delaytm). - Added a
github.repositoryguard to release workflows to prevent them from running on forks - Switched npm publishing to GitHub Actions OIDC trusted publishing (no NPM_TOKEN needed)
- Configured dev versions to publish automatically on pushes to main (for example,
1.11.9-main.abc1234) - Added the
hotfix/**branch trigger to the npm release workflow - Published GitHub Releases with changelog notes and the exact npm
.tgzforv*tags
Fixed
- Corrected ACS adapter telemetry to report the installed
0.0.1-beta.8version. - Fixed streaming final messages not delivered to
onStreamingMessagewhen ACS sends them aschatMessageReceived(event 200) instead ofstreamingChatMessageChunkReceived(event 251) - Fixed
streamingMessageTypenever being"start"— ACS sends"streaming"for start events; SDK now overrides to"start"based on event name - Preserved backward compatibility by continuing to deliver the final complete message to
onNewMessage - Fixed an unhandled exception in the WebSocket
onNewMessagecallback wrapper inOmnichannelChatSDK. Transformation failures are now recorded and the bad message is skipped, which keeps message reception active. - Fixed silent error handling in the
ACSClientpolling path. Message-processing failures now record aMessageProcessingErrorfail scenario while the polling loop continues. - Fixed a null reference in
createOmnichannelMessagewhen the ACS messagesenderis absent - Fixed V2
onNewMessageandgetMessageslosing the ACS message-type field. The SDK now normalizes signaling and REST values to lowercasetextorhtml. - Fixed
sendTypingEventfor authenticated and persistent chat whenOCClient.sendTypingIndicator()returns404 - Fixed prerelease npm publishing by adding
--tag latest - Used
npx npm@11.12.1to support OIDC trusted publishing - Fixed
onAgentEndSessionfiring during customer-initiatedendChat() - Fixed
onAgentEndSessionmissing agent-ended sessions while the backend state transitions - Fixed duplicate
onAgentEndSessioncallbacks - Reset the
isEndingChatflag at the start ofinternalStartChat() - Added unit coverage for customer-close suppression, agent-close delivery, flag reset, and error cleanup
Security
- Updated Azure Communication dependencies and constrained vulnerable Axios,
form-data,follow-redirects, and Babel runtime dependencies to patched versions through their owning packages and local development overrides. - Azure Communication Signaling still declares UUID 8 because no compatible fixed release exists; its only UUID call is
uuidv4()without the vulnerable buffer argument. First-party consumers continue to pin UUID 14.