Wed, 08 Apr 2026 17:07:30 GMT
- Added
hostFeatureskey in app context, so the hosts can declare support for features to the app. - Extended sharing.shareWebContent to support File content type via the new IFileContent interface, enabling sharing of file URLs alongside existing URL content.
Fri, 27 Mar 2026 20:29:02 GMT
- Added teamsJs logging for cases where an API fails because it is called in an unsupported frame context.
- Added
pluginscapability that will help directly interact with the host bypassing API registration in hubsdk. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added
appStateparameter toHostMemoryMetricsto indicate current state of the app's lifecycle. DeprecatedisCachedandisPrecachedfields to use the new structure. - Added
shareUrlandreplyChainIdinopenFilePreviewSDK schema. - Added
hostFeatureskey in app context, so the hosts can declare support for features to the app.
Thu, 12 Mar 2026 20:51:32 GMT
- Updated ExternalApp* capabilities to allow calls in sidePanel frame context.
Thu, 26 Feb 2026 21:58:31 GMT
- Added new params for openFilePreview SDK that will help reduce file open latency in Teams. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix
- Added support for non-https URLs for opt-in app valid origins in
app.initialize(). - Added support for nested wildcard subdomains. The valid origins are still restricted to the usage of only one wildcard in the valid origin.
- Updated stageView.StageViewParams interface to make threadId optional.
Wed, 04 Feb 2026 17:24:38 GMT
- Added MAC domains to valid domains for CDN
- Mark registerOnContextChangeHandler as internal API
Thu, 08 Jan 2026 23:04:26 GMT
- Added domain to valid domains list.
- Added opt-in event handler to receive memory usage heartbeat periodically.
- Fixed formatting on some domains in valid domains list.
- Added valid domain for UnifiedStore SDX.
- Added host ancestors to app context.
- Added
widgetHostingcapability that will enable hosting of widgets within M365 hubs. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added timezone property to LocaleInfo interface that will allow applications to access the user's timezone information.
- Fixed a bug on RegisterOnContextChangeHandler where the handler was not being called when the context changed due to theme change.
- Updated valid domains list for M365 Copilot SSR end points.
Wed, 10 Dec 2025 19:42:31 GMT
- Upgraded Next dependency in SSR test app to resolve security alert.
Wed, 03 Dec 2025 21:10:55 GMT
- Fixed error handling in
getConfigSettingteams full trust api. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Wed, 12 Nov 2025 19:23:55 GMT
- Updated Copilot
preCheckUserConsentfunction to accept an optionalUserConsentRequestparameter and updatedContentRequestinterface to support flexible properties via index signature. DeprecatedlocalEndpointInfoproperty in favor of the index signature approach. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Wed, 01 Oct 2025 22:58:28 GMT
- Added
disconnectConnectorto{externalAppAuthentication}capability that will disconnect the external app connector. The capability is still awaiting support in one or more host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Wed, 10 Sep 2025 22:10:41 GMT
- Added
{authenticateWithConnector} and { getUserAuthenticationStateForConnector}toexternalAppAuthenticationcapability that will authenticate the user and get user authentication status for copilot connectors. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Added
sidePaneltoopenFilePreview's ensureInitialized FrameContexts
Wed, 27 Aug 2025 21:57:44 GMT
- Added optional
Settingsfield toAppEligibilityInformationinterface - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Tue, 19 Aug 2025 15:18:35 GMT
- Added
shortcutRelaycapability to support host shortcuts in apps. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Thu, 07 Aug 2025 04:45:52 GMT
- Updated validDomains list to support the catalyst consumer domains
- Added
messageIdto app context. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Add Outlook DoD domains to validDomains
- Fixed the typo from
NonAdulttoNotAdultinLegalAgeGroupClassificationEnum.
Mon, 21 Jul 2025 20:57:12 GMT
- Added view copilot API with function to close the side panel.
- Bumped eslint-plugin-recommend-no-namespaces to v0.1.0
Mon, 07 Jul 2025 23:19:06 GMT
- Added
contextTypeinTeamsContentinterface to{copilot.sidePanel}capability. - Added
TeamsContentinterface for{copilot.sidePanel}capability. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Removed message source check but kept origin validation in nested app auth standalone bridge
- Added Outlook OCDI domain to validDomains.json
- Updated valid domains CDN fetch logic to prevent duplicate requests.
- Added
responseToEmailIdto{copilot.sidePanel.DraftEmailContent}capability.
Fri, 06 Jun 2025 17:53:12 GMT
- Added
{copilot.sidePanel}capability that will help copilot to receive more context aware data from the hosts. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added a new client version
2.1.2to support isDeeplyNestedAuthSupported for Teams Mobile legacy code - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
Tue, 27 May 2025 21:09:59 GMT
- Added
renderingSurfaceproperty to{app.Page.Context}capability. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Removed Beta tag from
nestedAppAuth.isNAAChannelRecommendedAPI. - Unblocked apps on Mobile to call
dialog.url.submitfrom dialog by allowing this API fromFrameContext.content. There is a bug in Teams mobile that returnsframeContext.contentin dialog instead offrameContext.task. Once the bug is fixed, this change will be reverted.
Fri, 02 May 2025 19:11:28 GMT
- Added
forceRefreshoptional argument ingetEligibilityInfoAPI.
Tue, 01 Apr 2025 18:17:07 GMT
- Added
canParentManageNAATrustedOriginscapability to check if the parent can manage its list of trusted child origins for Nested App Auth (NAA). The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added
getParentOriginAPI to read the parent origin for nested app auth - Added support for
ExternalAppCardActionsForDAcapability. - Added support for
isDeeplyNestedAuthSupportedto check if deeply nested auth is supported. - Added
manageNAATrustedOriginscapability which allows the top-level parent app to register its child app's origin as trusted for nested app auth. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added standalone nested app auth bridge for nested child app
- Removed child messaging proxying by default to avoid security issues. If an app still needs this pattern, it can be activated through the feature flag function
activateChildProxyingCommunicationwhich enables child proxying for that app. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Set a unique Teams-JS instance id when Teams-JS library is used and appended this unique id to message request sent to host sdk.
- Disabled default nested app auth bridge injection for nested child app
- Added
apiVersiontag in NAA request and removedisNAAChannelRecommendedcheck inisDeeplyNestedAuthSupportedapi
Thu, 13 Mar 2025 17:02:30 GMT
- Updated
externalAppAuthenticationForCEA.authenticateWithSSOto takeauthIdandconnectionNameparameters. - Added "authId" and "connectionName" parameters to
authTokenRequestinExternalAppAuthenticationForCEA.authenticateWithSSOAndResendRequest - Added new
AppTypesenum values to filter base and streaming townhalls. - Bump eslint-plugin-recommend-no-namespaces to v0.1.0
- Refactored
backstackinitialization to resolve apagesbug when dynamically importing teams-js - Refactored child communication to an isolated module, no functionality change. This will allow apps to tree shake this module.
- Fixed security issue in
authenticatefunction for web hosts to avoid using child proxying.
Wed, 05 Feb 2025 16:57:29 GMT
- Added functions for opening different types of stores along with ics filtering
- Updated
validateEmailsfunction tovoidtype formail.handoffsub-capability. - Added the
mail.handoff.composeMailWithHandoffIdfunction that allows passing a handoff id to the compose mail window. - Add visionOS client type support for Teams SDK. This change will enable app developers to find out if app is running on visionOS
- Added the new parameters to
app.getContextnamedappIdandmanifestVersion - Bump
eslint-plugin-recommend-no-namespacesto v0.1.0
- Updated the
sendCustomTelemetryDatafunction incopilot.customTelemetrycapability. - Decoupled prefetch of CDN resources from the initialization workflow and added fallback when resources could not be fetched in 1.5 seconds
- Added field to tag child proxied messages.
- Added a
globalpolyfill - Updated
authentication.notifySuccessdocumentation with security guidance - Added additional logging for child window (auth window) communication
Thu, 09 Jan 2025 16:42:36 GMT
- Added
customTelemetrycapability undercopilotto send app loading data to the host.
- Explicitly use browser implementation of
debugpackage to resolve polyfill issue. - Moved uuidObject.ts from internal to public folder in preparation for exporting it.
Fri, 13 Dec 2024 20:07:32 GMT
- Added optional
FeatureSetfield toAppEligibilityInformationinterface - Added
storecapability that will enable user to open several types of app store dialogs.. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added
nestedAppAuthcapability against a new client version2.1.1to support isNAAChannelRecommended for Teams Mobile
- Added
ConversationResponseto explicit named exports for back-compat - Resolved an issue with non-necessary polyfills being included
- Backed out
Bufferremoval changes - Removed
@betatag from all functions ondialogcapability (and all subcapabilities)
Wed, 20 Nov 2024 19:25:55 GMT
- Fixed a bug causing
bufferpolyfill to stil be included - Fixed bugs regarding
EduTypenot being exported, and enum typings
Wed, 13 Nov 2024 19:22:01 GMT
- Made the library treeshakable.
- Made
externalAppAuthenticationForCEA.tsthrowErrorobjects instead ofSdkErrors. - Replaced
Bufferwithuint8array-extrasto allow forbufferpolyfill removal. - Added validation for AppId instance in CEA APIs.
- Changed the
notifySuccessfunction to indicate through a promise when the function finished processing in the host. - Added new timestamp and handler for analyzing latencies due to message delays between app and hub.
- Add userClickTimeV2 to app
Contextto provide the timestamp when the user clicked the app using the performance timer API. - Increased the initialize response wait-timeout to 60 sec
- Removed
type: modulefrom package.json to fix nextjs bug - Added validation for
IActionExecuteInvokeRequest.dataelement inExternalAppAuthenticationandExternalAppAuthenticationForCEAcapabilities. The element can be of type primitive or plain object only
Mon, 21 Oct 2024 18:11:30 GMT
- Updated
copilot.eligibility.getEligibilityInfoto be async and get the eligibility info from the host if it is not already available.
- Updated edgeapi.freya.svc.cloud.microsoft to chatuxmanager.svc.cloud.microsoft.
- Updated edgeapi endpoint from
edgeapi.svc.cloud.microsofttoedgeapi.freya.svc.cloud.microsoftin valid domains list. Addedwork.bing.comto valid domains list. - Clarified usage for
validMessageOriginsparameter onapp.initializein documentation.
Thu, 03 Oct 2024 22:51:48 GMT
- Added support for
externalAppAuthenticationForCEAcapability - Added support for
externalAppCardActionsForCEAcapability - Added logging for current teamsjs instance and timestamps
- Added a Rollup built bundle of Teams-JS
- Added three properties to
ICallDetails,originalCallerInfo,dialedEntityInfo, andcallId, created a new typeICallParticipantIdentifiers, and deprecated theoriginalCalleranddialedEntityproperties - Updated
pages.navigateToAppto now optionally accept a more type-safe input object - Added logging for version on startup
- Updated logging for messages to be clearer
- Added
edgeapi.svc.cloud.microsoftto valid domains list - Updated internal app id validation
- Unified common data models for external card actions into
externalAppCardActionsnamespace. - Updated types for
externalAppCardActionsForCEAcapability.
Tue, 03 Sep 2024 22:19:52 GMT
- Removed invalid validations for content fields on
IContentResponseinterface
- Fixed a bug with
AppEligibilityInformationthat could causeapp.initializeto fail.
Wed, 28 Aug 2024 19:31:44 GMT
- Added 1P-only
hostEntitycapability for adding and configuring, removing, renaming, re-configuring and fetching all tabs. - Added optional field
messageIdtostageView.open. PassingmessageIdtostageView.openallows opening the stageView in a channel meeting - Added optional enum attribute for
registerFocusEnterHandlerandreturnFocusAPIs that allows developers to send and receive more nuanced information about where focus should go in their app or the host respectively - Added
copilotandcopilot.eligibilitycapability that will get the eligibility information of the user using M365ChatApp. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added new
AppIdclass to use as a type where app ids are being stored
- Added
*.m365.cloud.microsoftto dynamic domain list - Moved
AppIdtype to public folder - Enabled
webStoragecapability to be used on Teams Mobile in compatibility scenarios - Updated documentation on usage of
versionAndPlatformAgnosticTeamsRuntimeConfigandmapTeamsVersionToSupportedCapabilities
Wed, 07 Aug 2024 19:24:31 GMT
- Added
selfcapability that will allow the stage to perform an operation on itself (eg. close). The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added support for any
*.cloud.microsoftdomain to be a valid host - Added new fields to
VideoFrameConfigandVideoFrameDatato allow specifying additional capabilities to be applied to a video frame and reading arbitrary attributes on a video frame respectively. The capability is still awaiting support in one or most host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added
chatIdinpages.navigateToAppapi for deep link support in chat
- Added WXP domain for unified store to the dynamic domain list
- Fixed behavior of the
isValidOriginsCacheEmptyfunction whose name was backwards of what it was actually doing - Updated error handling of malformed/missing origin URLs
- Updated
authentication.getUserto properly unwrapSdkErrorreturned from host into a message - Used app and authentication apis for diagnostic app functionality.
Wed, 03 Jul 2024 18:11:19 GMT
- Fixed
dialog.url.submitapi to support onlyFrameContext.content. - Updated
clipboard.isSupportedso that it does not depend onnavigator.clipboardin frameless contexts. - Updated whitespace in
clipboard.tsfile to match conventions
Wed, 05 Jun 2024 20:49:06 GMT
- Updated
app.lifecycle.registerBeforeSuspendOrTerminateHandlerto be asynchronous, and updatedapp.lifecycle.registerOnResumeHandlerto accept a new Handler type, changingcontentUrlfromstringtoURLobject. - Added
uuidparameter toMessageRequestandMessageResponseinterfaces - Added a new page property (
isBackgroundLoad) for app context. This will be an indicator that the app is being loaded in the background.
Tue, 07 May 2024 20:54:35 GMT
- Added a new API
externalAppAuthentication.authenticateWithPowerPlatformConnectorPlugins. It can be used to perform authentication with Power Platform connector plugins. - Added
messageChannels.telemetryand moved existing telemetryPort code into it. Added newmessageChannels.dataLayersubcapability and added code for interacting with the host data layer. - Added
meeting.getMeetingDetailsVerboseto allow retrieving additional meeting details from supported hosts. - Added support for
contentframe context toliveSharecapability. Live Share SDK works now in Chat/Channel Tab and Collab Stage view contexts with this change.
- Cleaned up import structure in the
privatefolder - Fixed API telemetry tag for
pages.navigateToAppfunction - Updated
authentication.authenticateso that it only accepts https URLs. - Added
validMessageOriginsto be passed toparentWindow. - Updated
webStoragecapability to query host for capability support, rather than using a hardcoded answer. - Fixed a bug with exported
const enums - Made a skeletonized version of the buffer npm package as a temporary measure to reduce bundle size
Thu, 11 Apr 2024 05:06:48 GMT
- Added
OtherAppStateChangecapability that will allow limited 1P apps to receive events when other apps are installed on the host. The capability is still awaiting support in one or more host applications. To track availability of this capability across different hosts see https://aka.ms/capmatrix - Added an optional parameter
fromElementtoprocessActionOpenUrlinexternalAppCardActions - Validate appId in all APIs in
externalAppAuthentication,externalAppCardActionsandexternalAppCommands. - Added nested app auth support check api for app developers
- Added a new API
externalAppAuthentication.authenticateWithOauth2. It can be used to signal to the host to perform Oauth2 authentication for the app specified by title id. - Added
externalAppCommands1P internal-only capability
- Made some enums
constto reduce package size - Fixed
clipboardissue for desktop client to resolve 'DOMExecption: Document not focused' error - Removed one default valid origin
- Removed validation that appIds are UUIDs since some very old published apps have IDs that are not UUIDs (they were published before the manifest schema specified they had to be UUIDs)
Wed, 06 Mar 2024 22:44:18 GMT
- Added
meeting.joinMeetingfunction - Removed Beta/Preview tag on
chatcapability. To track availability of this capability across different hosts see https://aka.ms/capmatrix
- Updated all capabilities to include versions to enable hosts to identify exact function being used
- Updated documentation on
OpenSingleChatRequestinterface and updated all URLs to remove locale-specific portions. - Updated
base64ToBlobfunction to accept special characters - Removed one default valid origin
- Fixed bug where
authentication.getUsertelemetry was being incorrectly recorded - Fixed bug in API Version telemetry
Wed, 07 Feb 2024 18:02:49 GMT
- Added communication for nested app auth
- Added private
messageChannelscapability - Enabled acquiring of access token for cross-tenant resources
- Added new subcapability
dialog.url.parentCommunicationfor dialog-parent communication related APIs. The isSupported function in this subcapability will returnfalseif it is invoked from a parentless scenario.
- Added telemetry for
appInitialization,appInstallDialog,appWindow,calendar, andvideoEffectExcapabilities. - Added apiVersionTag for telemetry in
profile,search,secondaryBrowser,settings,sharing,stageView,videoEffectsandvisualMediacapabilites - Fixed bug where
thirdPartyCloudStorage.getDragAndDropFilesfailed deterministically - Updated eslint package and fixed subsequent linting errors
- Removed unused
callbackUrlparameter fromauthentication.notifySuccessandauthentication.notifyFailure(in an API-compatible way) - Added telemetry to
chat,interactive,meeting,menus,monetizationandpeoplecapabilities - Added apiVersionTags for telemetry in
conversations,files,logs,meetingRoomandnotificationscapabilities - Added windows.msn.com to validOrigins list
- Added apiVersionTag for telemetry in
privateAPIsandremoteCamera,teams,videoEffectsExcapabilities
Wed, 10 Jan 2024 19:55:18 GMT
- Changed target TypeScript platform to ES2015 (aka ES6) from ES5
- Removed
cardActionsConfigproperty fromexternalAppCardActions.processActionSubmitAPI - Added
externalAppAuthenticationandexternalAppCardActions1P internal-only capabilities - Added
sizeproperty to internalFilePreviewParametersinterface - Added timeout notifications (2 seconds) to video frame processing in
videoEffectsExcapability - Added new feature to acquire list of valid origins from a CDN endpoint
- Updated the external app capabilities interfaces
- Added a new optional parameter,
shareOptionstomeeting.shareAppContentToStage. Apps can choose between collaborative and screen sharing for the protocol used when sharing an app to stage. - Added support for drag and dropping files from third party storage providers using the
thirdPartyCloudStoragecapability - Marked
composeExtensionproperty onIQueryMessageExtensionResponseas optional and added additional input validation onexternalAppAuthenticationandexternalAppCardActionsAPIs - Made
composeExtensiona required field onIQueryMessageExtensionResponse
- Added support for
sharingcapability in default runtime for Teams mobile platform - Updated runtime capabilities for webStorage to avoid duplicate entry
- Removed
appandapp.lifecyclefrom runtime.
Thu, 30 Nov 2023 23:24:44 GMT
- Extended
RequestAppAudioHandlingParamsby addingaudioDeviceSelectionChangedCallbackfor speaker selection updates
- Added
meetingStageandsettingsframecontexts toclipboard. - Added additional telemetry to
App,Dialog,GeoLocation,Location,Navigation,Pages, andTaskscapabilities - Created new
MessageRequestinterface with required properties to enhance type-safety - Added telemetry to
barcode,calendar,call,clipboard,mail,marketplaceandmediacapabilities - Fixed strictNullChecks violations in
media.ts,mediaUtil.ts, and other files - Fixed calls to
chat.openChatandchat.openGroupChatwhen only a single user is specified - Fixed more
strictNullChecksviolations - Deleted
isSupportedcheck fromapp.lifecyclesubcapability since app resumption cannot be guaranteed even when it is supported.
Wed, 01 Nov 2023 18:15:02 GMT
- Added optional field
openModeto openstageViewin new modes if supported by host - Updated app.lifecycle handlers, registerBeforeSuspendOrTerminateHandler and registerOnResumeHandler, so that they will overwrite teamsCore's registered handlers, registerBeforeUnloadHandler and registerOnLoadHandler, respectively.
- Added a new capability
visualMediaand subcapabilityvisualMedia.imagefor capturing images from device camera and gallery
- Started logging name of script currently executing when teamsjs is first loaded
- Exported all publicly referenced but unexported types
- Fixed some locations violating
strictNullChecks - Updated default runtime for Teams Mobile to indicate that
pages.appButton,pages.tabs, andstageVieware not supported. - Deleted unnecessary subcapability named
cachingfromapp.lifecyclein runtime - Updated capability merging code to support properly merging subcapabilities
Wed, 11 Oct 2023 16:51:27 GMT
- Added
lifecyclesubcapability inapp.tsto support caching - Added
HostName.placesto the list of application hosts
- Reset registered handlers for unit testing
- Renamed Teams back-compat config for clarity
- Improved reference docs for the
meetingnamespace and hid theappShareButtonmodule. - Changed namespace
videotovideoEffects, changed namespacevideoExtovideoEffectsEx
Wed, 06 Sep 2023 20:30:49 GMT
- Removed
appNotificationcapability and collateral - Added
clipboardcapability, allowing access to the system clipboard programmatically - Added MacOS support
- Added macOS to mobile list as macOS is also frameless.
- Replaced
windowreferences withssrSafeWindow - Added logging to help investigate dropped messages from hosts or embedded apps.
- Added telemetry for video frame processing
- Fixed issue that resulted in dropping first few frames when using the video capability
- Added
surfaceHubto the list of host client types that send authenticate requests to the host instead of opening an auth window
Wed, 02 Aug 2023 14:49:19 GMT
- Added permission functions for media capability
- Added new
appNotificationcapability for apps to send notifications to the user through the host
- Updated documentation to refer to 'Microsoft Entra' instead of 'AAD'
- Started collection of
videoperformance data
Wed, 05 Jul 2023 16:42:51 GMT
- Added support for mediaStream with metadata in
videoExmodule for internal applications. - Added
marketplacecapability that helps app developers interact with the checkout flow - Added
liveSharecapability, which helps with building real-time collaborative apps
- Made title optional when calling
stageView.open - Removed import aliasing of communications.ts functions
- Fixed an issue where
call.startCallwould return an error when it executed successfully in a legacy environment
Wed, 07 Jun 2023 19:21:01 GMT
- Embedded apps no longer incorrectly get their parameters wrapped in an array
- Added
secondaryBrowsercapability and its open API to enable browsing experience for Apps - Deleted unnecessary 'export' from helper functions and deleted unused and unnecessary functions in
dialogcapability. - Updated
video.registerForVideoFrameto support both media stream and shared frame - Added
closeSearchtosearchcapability
- Added default value for Adaptive Card version to support adaptive card dialogs in Teams V1
- Fixed exports in
videocapability
Wed, 03 May 2023 18:17:38 GMT
- Added
getClientInfoto LiveShareHost
- Added comments on all exported types and functions and made comments required for all future changes.
Thu, 06 Apr 2023 23:07:12 GMT
- Fixed errors in
videocapability - Removed some valid origins
- Fixed broken documentation link and invalid markdown.
- Added
ipadoshost client type check for auth flow - Removed legacy endpoints from
IFluidTenantInfointerface - Added documentation to interfaces in
mailcapability - Removed unnecessary (and outdated) docs on various
enumproperties meeting.getAuthenticationTokenForAnonymousUsercan now be called from dialogs- Added documentation for "Anonymous" as possible value for
UserInfo.licenseType sharing.isSupportednow returns the correct value on mobile platforms- Clarified documentation on proper use of various user identity properties
Fri, 03 Mar 2023 19:57:31 GMT
- Changed return type of the callback of
registerForVideoEffectto return a Promise - Added a new value to
HostNameenum,TeamsModern
- Updated documentation for
dialogandtaskscapabilities - Elaborated on various areas of
authenticationdocumentation - Added @beta tags to
registerBeforeUnloadHandlerandregisterOnLoadHandlerAPIs.
Wed, 01 Feb 2023 23:22:55 GMT
- Added
requestAppAudioHandlingandupdateMicStatemeeting APIs - Fixed a bug where
getContext()was incorrectly dropping properties by performing a lossy conversion viaapp.getContext() - Added adaptive card subcapability to
dialogcapability - Restructured
dialog.ts. Moved all functions previously underdialoganddialog.botto be under namespaceurl. Function calls are nowdialog.url.openanddialog.url.bot.openas an example.
- Added @beta tags to
registerBeforeUnloadHandlerandregisterOnLoadHandlerAPIs. - Updated typedoc version and fixed doc issues raised by it
- Added documentation for
dialog.submit - Changed user facing documentation associated with
meeting.ts - Unpin the version of the debug package; it was originally pinned unintentionally.
- Removed deprecated
_initializeand_uninitializemethods only used by unit tests - Added unit tests for
communication.uninitializeCommunication,communication.sendAndUnwrap, andcommunication.sendMessageToParentAsyncand updatedcommunication.uninitializeCommunicationto handlecurrentWindowcorrectly. - Removed --emit:none from typedoc command so it would actually output errors
- Updated documentation links to avoid using locale in URLs and use markdown format for external links
- Added possible values to documentation for
licenseTypeproperty onUserInfointerface - Added unit tests for
communication.initializeCommunication - Updated
dialogandtasksdocumentation to add and fix doc links - Added remarks to authentication.authenticate() code comments
- Added
@hiddenand@internaltags for the meetingrequestAppAudioHandlingandupdateMicStateAPIs, and improved how theteams-test-appapp uses the APIs - Stopped exporting
communication.processMessageandcommunication.shouldProcessMessage.
Fri, 06 Jan 2023 04:15:12 GMT
- Reverted webpack globalObject: this
Wed, 04 Jan 2023 19:07:09 GMT
- Implemented
runtimeinterface versioning
- Removed
entityIdandtitleas required fields fromopenFilePreviewparameters - Fixed missing slash in URL in comment on
app.initialize
Tue, 13 Dec 2022 21:28:59 GMT
- Added
dataResidencyproperty toUserProfileinterface to expose a limited set of data residency information to 1P app developers. - Fixed bugs preventing the use of this library in server-side rendered applications
Wed, 07 Dec 2022 16:39:58 GMT
- Added
notifyFatalErrorfunction in videoEx to enable video apps to notify the host of fatal errors. - Added support for showing and hiding the app share button to the
meetingcapability - Fixed bug where some capabilities were being incorrectly marked as supported
- Deleted unnecessary support for
meetingRoomandsidePanelframe contexts indialog.submitAPI. - Fix incorrect profile.IsSupported check
Thu, 03 Nov 2022 17:03:30 GMT
- Updated most APIs to require initialization to be fully finished before they are allowed to be called.
- Added Outlook's consumer domain to domains' allowlist
- Updated documentation for
app.IFailedRequest.messageproperty to clarify that it is unused - Set
PACKAGE_VERSIONto an error value indicating it will be replaced by webpack at build time - Fixed
profile.isSupportedand showProfileTriggerType - Added 'www.microsoft365.com' and '*.www.microsoft365.com' to the
validOriginslist. - Switched from dynamic import of
LiveShareClientto using a global window variable. Fixes an issue where dynamic imports stop working for multiple layers of webpack.
- Fixed integrity hash in README
Mon, 10 Oct 2022 19:09:20 GMT
- Added (moved)
versionas a public constant containing the library version - Added new sub capability
pages.currentApp.navigateTothat enables navigation within an application without specifying application ID.pages.currentApp.navigateToDefaultPagethat navigates to first static page defined in app manifest - Added
OutlookWin32toHostNameenum
- Added one common
registerHandlerHelperfunction to replace several helpers. - Clarified possible values for
themeproperty onAppInfoobject in docs - Updated documentation for
app.initializeto clarify that it must have completed before calling other library methods. - On the
Fileinterface changed the type oflastModifiedfield fromDatetonumber - Fixed
searchAPI in test file - Enabled proxying of window events to child frames if they are unhandled by current frame
- Added logging to
runtimeandappto make it easier to investigate issues surrounding app initialization. - Fixed some locations where
undefinedwas properly handled but not explicitly in the type declaration - Reverted
liveSharecapability - Clarified documentation for
sharepointproperty onContextobject - Enabled
strictNullChecksas lint rule - Updated the URLs for docs links.
- Enabled save and remove events in the
pages.configcapability to be proxied to child windows - Fixed more violations of strictNullChecks warning
Thu, 08 Sep 2022 17:11:49 GMT
- Added support for audio-driven avatars to the
videoAPI, and the ability to upload personalized video effects to the private folder - Added
Searchcapability to use global search box in the current app in Outlook - Added
timestamptoVideoFrame, sent thetimestampback to Teams client after the video frame has been processed.
- Fixed an issue with the v1 versions of
register*Handlerfunctions. Previously if the v2 version of the API's capability was not supported, attempts to call the v1 version would throw an exception, breaking backwards compatibility. - Updated documentation for many properties on
Contextinterface. - Updated comments on items marked with the
@internaltag to make it clear they are intended for Microsoft use only and removed some@internalitems from dev documentation. RemovedinitializePrivateApisfrom the privateAPIs file, an unexported and hidden no-op function. - Added missing
HostClientTypevalues so correctRuntimeis generated forteams.fullTrust.joinedTeamsandwebStoragecapabilities. - Renamed
filePathfield towebkitRelativePath. Removed two validation checks fordestinationFolderfields. Added an optional fieldproviderin callback ofaddCloudStorageProviderAPI.
Wed, 03 Aug 2022 19:21:51 GMT
- Added an optional error object to
ISpeakingStateinterface to alignregisterSpeakingStateChangeHandlerAPI with other API error handling. - Added
ActionInfoobject to theContextinterface. This is used to pass information about an action that was taken on content from the host to the application. - Split single
CloudStorageProviderFileaction API into 3 action APIs
- Added clarifying comment to
dialog.submitto indicate the dialog is closed whensubmitis called. - Updated reference documentation links for deprecated global
Contextinterface to work with typedoc system. - Added
FrameContexts.tasktoopenChatandopenGroupChatin chat.ts - Added
@betatags to new content action-related interfaces. - Exported publicly documented global interfaces to enable use outside the SDK.
Fri, 22 Jul 2022 16:36:44 GMT
- Added
webStoragecapability with APIs to allows apps to discover if web storage is supported by the host client - Added 3P cloud storage provider API support to files.ts
- Added
isSupportedtostageView - Added
profile.showProfileAPI and unit tests - Added
meeting.registerMeetingReactionReceivedHandler - Added
scanBarCodeto barCode.ts from media.ts along with permission APIshasPermissionandrequestPermission - Added a new capability
geoLocationthat split the location capability into new set of functions and subcapabilities. Added permission-related APIshasPermissionandrequestPermission.
- Fixed broken SDK reference documentation links and added SDK reference documentation validation to build step.
- Ensured
submitHandlerexists before calling it indialog.open,dialog.bot.openandtasks.startTaskAPIs. - Added frameless unit tests for
authentication.notifySuccessandauthentication.notifyFailure - Added beta tag to
barCodecapability to accurately reflect level of support offered - Added
meeting.registerRaiseHandStateChangedHandler - Updated reference documentation for global deprecated
Contextinterface. Each deprecatedContextproperty now links to respective mapped property inapp.Contextinterface. - Enabled
FrameContexts.taskforstartCallAPI in call.ts - Fixed formatting of reference documentation for
call.StartCallParamsinterface. - Removing unnecessary
/inappInstallDialog.openAppInstallDialog() - Renamed
IRaiseHandStateChangedEventinterface toIRaiseHandStateChangedEventDataand changed the error so it can be assigned undefined rather than null
Fri, 13 May 2022 22:32:13 GMT
The change log comments for v2.0.0 are a consolidated summary of the comments for each beta release to describe the changes made since v1. Detailed change log comments for each beta release follow after 2.0.0.
-
Promote 2.0.0 beta changes to stable. TeamsJS can be used to write applications with support in multiple Microsoft 365 hosts, including Teams, Outlook, and Office.
-
The Teams JavaScript client SDK repo has been converted to a monorepo
- Utilized Yarn Workspaces to turn our repo into a monorepo.
- The files specific to the Teams client SDK have been moved to an inner directory with the name
teams-js - A new TeamsJS Test App for validating the Teams client SDK has been added in the /apps/teams-test-app location.
-
Reverted
registerEnterSettingsHandlerback to its original nameregisterChangeSettingsHandler -
Removed deprecated
stageView.openfunction that took a callback as a parameter -
Modified
enablePrintCapabilityto correctly require the library be initialized before using it -
Removed
botnamespace and APIs -
Added
hostNameproperty toContextinterface which contains the name of the host in which the app is running. -
The
Contextinterface has been updated to group similar properties for better scalability in a multi-host environment. -
The
FrameContextinterface has been renamedFrameInfo. -
Capabilities organization introduced
-
Each capability has an
isSupportedfunction that is used to determine if a capability is supported in the host in which the application is running. All APIs call this function and will throw anSdkErrorwithErrorCode.NOT_SUPPORTED_ON_PLATFORMif it returns false. -
Added App capability
- The following APIs have been moved from
publicAPIsto newappnamespace:initializegetContextregisterOnThemeChangeHandlerexecuteDeepLinkhas been renamedopenLink
- The following APIs have been moved from
appInitializationtoappnamespace:notifyAppLoadednotifySuccessnotifyFailurenotifyExpectedFailure
- The following APIs have been added to
appnamespace:isInitializedgetFrameContext
- The following APIs have been moved from
-
Added a Pages capability and reorganized several APIs under it:
- The following APIs have been moved to the new
pagesnamespace:registerFullScreenHandlermoved frompublicAPIsinitializeWithFrameContextmoved frompublicAPIsnavigateCrossDomainmoved fromnavigationnamespacereturnFocusmoved fromnavigationnamespaceregisterFocusEnterHandlermoved frompublicAPIsshareDeepLinkmoved frompublicAPIsDeepLinkParametershas been renamed toShareDeepLinkParameterssetFrameContexthas been moved frompublicAPIsand renamedpages.setCurrentFramesettings.getSettingshas been renamedpages.getConfig
- Added
pages.navigateToAppthat navigates to the given application ID and page ID, with optional parameters for a WebURL (if the application cannot be navigated to, such as if it is not installed), Channel ID (for applications installed as a channel tab), and sub-page ID (for navigating to specific content within the page). - The following APIs have been been renamed and moved from
publicAPIsto a new Pages.AppButton sub-capability in the newpages.appButtonnamespace:registerAppButtonClickHandlerhas renamed and moved topages.appButton.onClickregisterAppButtonHoverEnterHandlerhas renamed and moved topages.appButton.onHoverEnterregsiterAppButtonHoverLeaveHandlerhas renamed and moved topages.appButton.onHoverLeave
- The following APIs have been moved to a new Pages.BackStack sub-capability in the new
pages.backStacknamespace:registerBackButtonHandlermoved frompublicAPIsnavigateBackmoved fromnavigationnamespace
- The following APIs have been renamed and moved into the Pages.Config sub-capability in the
pages.confignamespace (formerly thesettingsnamespace):registerEnterSettingsHandlerhas renamed and moved topages.config.registerChangeConfigHandlerregisterOnSaveHandlerregisterOnRemoveHandlersetSettingshas been renamedpages.config.setConfigsetValidityState
- The following APIs have been been moved from
privateAPIsto a new Pages.FullTrust sub-capability in the newpages.fullTrustnamespace:enterFullscreenexitFullscreen
- The following APIs have been been moved to a new Pages.Tabs sub-capability in the new
pages.tabsnamespace:getTabInstancesmoved frompublicAPIsgetMruTabInstancesmoved frompublicAPIsnavigateToTabmoved fromnavigationnamespace
- The following APIs have been moved to the new
-
Tasks APIs renamed and reorganized under new Dialog capability:
- Added
dialogcapability, which has support for HTML-based dialogs, and adialog.botsub-capability has been added for bot-based dialogs. At this time,dialogdoes not support adaptive card-based dialogs.- The following APIs have been renamed:
startTaskhas been renameddialog.open. It takes- a
UrlDialogInfoparameter instead ofDialogInfoto enforce only HTML based dialogs, - an optional
DialogSubmitHandlercallback that takes a single object parameter containing both error and result, - an optional
PostMessageChannelparameter which is triggered if dialog sends a message to the app
- a
dialog.bot.openhas the same function signature except it takesBotUrlDialogInfoinstead ofUrlDialogInfosubmitTaskshas been renameddialog.submitTaskInfointerface has been renamedDialogInfoTaskModuleDimensionenum has been renamedDialogDimension
- Added
sendMessageToDialogfunction which can be used to send messages to the dialog.
- The following APIs have been renamed:
- Added
dialog.updatesub-capability and renamedupdateTasktodialog.update.resize, which now takes aDialogSizeparameter.
- Added
-
Added TeamsCore capability
- The following APIs have been moved from
publicAPIsto newteamsCorenamespace:enablePrintCapabilityprintregisterOnLoadHandlerregisterBeforeUnloadHandler
- The following APIs have been moved from
-
Added AppInstallDialog capability
openAppInstallDialogis added to newappInstallDialognamespace
-
Added Calendar capability
- The following APIs have been added to new
calendarnamespace:openCalendarItemis addedcomposeMeetingis added
- The following APIs have been added to new
-
Added Call capability
startCallis added to newcallnamespace
-
Added Mail capability
- The following APIs have been added to the new
mailnamespace:openMailItemis addedcomposeMailis added
- The following APIs have been added to the new
-
Added Chat capability to new
chatnamespace to represent public chat functionality- Added
openChatandopenGroupChatto open Teams chats with one or more users
- Added
-
Converted existing
conversationsnamespace into the Conversations capability to represent private chat functionalitygetChatMembershas been moved fromprivateAPIstoconversationsnamespace
-
Added
fullTrustandfullTrust.joinedTeamssub-capabilities to existingteamsnamespace- The following API has been moved from
privateAPIsto a newteams.fullTrustnamespace:getConfigSetting
- The following API has been moved from
privateAPIsto a newteams.fullTrust.joinedTeamsnamespace:getUserJoinedTeams
- The following API has been moved from
-
Added Notifications capability
showNotificationhas moved fromprivateAPIstonotificationsnamespace
-
Converted existing namespaces into the following new capabilites
- Location
- Menus
- Monetization
- People
- Sharing
- Video
- Logs
- MeetingRoom
- RemoteCamera
- Teams
-
Added Runtime capability
- Added
applyRuntimeConfig
- Added
-
-
Promises introduced
- The following APIs that took in a callback function as a parameter now instead return a
Promise.- app APIs:
app.initializeapp.getContext
- authentication APIs:
authentication.authenticateauthentication.getAuthTokenauthentication.getUser
- conversations APIs:
conversations.getChatMembersconversations.openConversation
- location APIs:
location.getLocationlocation.showLocation
- meetingRoom APIs:
meetingRoom.getPairedMeetingRoomInfomeetingRoom.sendCommandToPairedMeetingRoom
- pages APIs:
pages.navigateCrossDomainpages.tabs.navigateToTabpages.tabs.getTabInstancespages.tabs.getMruTabInstancespages.getConfigpages.config.setConfigpages.backStack.navigateBack
- people APIs:
people.selectPeople
- teams APIs:
teams.fulltrust.getConfigSettingteams.fulltrust.getUserJoinedTeams
- others:
ChildAppWindow.postMessageParentAppWindow.postMessageappInstallDialog.openAppInstallDialog
- app APIs:
- The following APIs that took in a callback function as a parameter now instead return a
-
Changed TypeScript to output ES6 modules instead of CommonJS
- Updated
app.initializeto automatically listen for messages that an application is sending to a dialog. ModifiedregisterOnMessageFromParentin DialogAPI.tsx for the Teams Test App to account for this new functionality. - Copied
ParentAppWindowfunctionality intodialogcapability. Indialog,ParentAppWindow.postMessagewas renamed todialog.sendMessageToParent(message: any): void.ParentAppWindow.addEventListenerwas renamed todialog.registerOnMessageFromParent. - Added
runtime.isLegacyhandler for the following deep link capabilities:appInstallDialogcalendarcall
- Changed topic parameter name to
topicNameforexecuteDeepLinkcall in chat.ts - When the application host will not understand standard chat requests, added logic to send them as deep links.
- Added a link to information about the updated
Contextin the reference documentation comments - Updated all
@deprecatedtags to reference version 2.0.0 - Added directory field to repository info in package.json
- Added missing reference documentation comments to interfaces, functions, and enums in app.ts and appInitialization.ts
- Added missing reference documentation comments to the
pagescapability - Added missing reference documentation comments to the
authenticationcapability - Updated reference documentation comments to rationalize 'Teams' vs 'host' occurrences and other minor edits
- Updated
dialog.openanddialog.bot.opento sendDialogInfotype over to the host instead ofUrlDialogInfoorBotUrlDialogInfotypes - Added
minRuntimeConfigtouninitializefor various capabilities - Updated README.md to reflect branch rename
- In adaptive card based task modules, if the height is not provided in
taskInfo, it will not be set to a default small size. Instead the card content will be set to fit on a Task Module. - Added office365 Outlook to domain allowlist
- Updated comment for
initializePrivateApisexplaining that this function needs to stay for backwards compatibility purposes - In appWindow.ts file, converted
ChildAppWindowandParentAppWindowback to synchronous calls because the promise was never being resolved. - Fixed
teamsRuntimeConfig(default backwards compatible host client runtime config) to not containlocationorpeoplecapabilities since those are not guaranteed to be supported. Added new function to dynamically generate backwards compatible host client runtime config during initialization. - Added
ensureInitializedcall toregisterOnMessageFromParentfunction in dialog.ts andaddEventListenerfunction in appWindow.ts - Removed the duplicate property of
StageLayoutControlstype inmeetingRoomcapability nullruntimeConfig is no longer allowed during initialization. This will now throw a "Received runtime config is invalid" error.- Update TSDoc
@deprecated commentsto include links to replaced APIs. - Update webpack-dev-server types to match webpack 5 versions and stop generating module wrappers in MicrosoftTeams.d.ts.
- Fix warnings produced during documentation generation, including exporting additional existing interfaces.
- Update integrity hash to valid value in README file.
Thu, 12 May 2022 21:34:49 GMT
- Moved sub-capabilities and APIs within
legacynamespace toteamsnamespace - Reverted
registerEnterSettingsHandlerback to its original nameregisterChangeSettingsHandler - Removed deprecated
stageView.openfunction that took a callback as a parameter
- Added missing reference documentation comments to the
pagescapability - Added a link to information about the updated
Contextin the reference documentation comments - Updated all
@deprecatedtags to reference version 2.0.0 - Added missing reference documentation comments to interfaces, functions, and enums in app.ts and appInitialization.ts
- Added directory field to repository info in package.json
- Added missing reference documentation comments to the
authenticationcapability - Updated reference documentation comments to rationalize 'Teams' vs 'host' occurrences and other minor edits
Thu, 28 Apr 2022 18:25:41 GMT
- Updated
filesnamespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app - Updated
medianamespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app - Updated
meetingnamespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app - Integrated changes from v1, week of 4/18/2022
IMeetingDetailshas been renamed toIMeetingDetailsResponseandIDetailshas been replaced withIMeetingOrCallDetailsBase<T>. As such,meeting.getMeetingDetails()now takes in a callback which takes inIMeetingDetailsResponserather thanIMeetingDetails.pages.returnFocus()now works in anyFrameContextrather than just withFrameContext.content.- Added
HostClientType.ipados.
- Added
isSupportedchecks to all functions in the following capabilities:appEntitydialoglegacylogsmenusmeetingRoommonetizationnotifications(along with additional unit test cases)pagespeopleremoteCamerasharing(along with additional unit test case)teamsteamsCorevideo
- Modified
enablePrintCapabilityto correctly require the library be initialized before using it
- Added
dialog.initializefunction.dialog.initializeis called during app intialization.- Modified
registerOnMessageFromParentin DialogAPI.tsx for the Teams Test App to account for this new functionality.
- Updated
dialog.openanddialog.bot.opento sendDialogInfotype over to the host instead ofUrlDialogInfoorBotUrlDialogInfotypes - Added
minRuntimeConfigtouninitializefor various capabilities - Updated README.md to reflect branch rename
- In adaptive card based task modules, if the height is not provided in
taskInfo, it will not be set to a default small size. Instead the card content will be set to fit on a Task Module. - Removed
@deprecatedtags from meeting.ts and media.ts - Removed
@alphatags as they are not supported in the SDK reference doc generation system
Tue, 19 Apr 2022 16:08:56 GMT
- Removed
PostMessageChannelreturned fromdialog.open, added separate functionsendMessageToDialogto make up for missing functionality - Change DeepLinkParameters not to use subEntity* anymore
- Added
isSupportedchecks to all functions and unit test cases in the following capabilities:chatconversationsfileslocation
- Added
runtime.isLegacyhandler for the following deep link capabilities:appInstallDialogcalendarcall
- Changed topic parameter name to
topicNameforexecuteDeepLinkcall in chat.ts
- Moved
conversationssub-capability out ofchatcapability and into its own top level capability in runtime.ts - Added
isSupportedtolegacycapability
Wed, 13 Apr 2022 21:40:51 GMT
legacy.fullTrust.getUserJoinedTeams()has been moved into its own sub-capability calledjoinedTeamsand is nowlegacy.fullTrust.joinedTeams.getUserJoinedTeams().- The type
PostMessageChannelandsendMessageToParentFromDialogfunction indialogcapability have been updated to no longer take callback parameters. - Split
chatcapability into a private (conversation) and a public (chat) partition - Updated
dialogcapability as follows:- The top-level
dialogcapability supports HTML-based dialogs and adialog.botsub-capability has been added for bot-based dialogs. At this time,dialogdoes not support adaptive card-based dialogs, dialog.opentakes aUrlDialogInfoparameter instead ofDialogInfoto enforce only HTML based dialogs,submitHandlercallback takes a single object parameter containing both error and result,dialog.opentakes one more optional parameter namedmessageFromChildHandlerwhich is triggered if dialog sends a message to the app,dialog.openreturns a function that can be used to send messages to the dialog instead of returning aChildAppWindow,dialog.bot.openhas the same function signature except it takesBotUrlDialogInfoinstead ofUrlDialogInfo
- The top-level
- Moved
chat.openConversationandchat.closeConversationintochat.conversationsub-capability. Added new APIschat.openChatandchat.openGroupChatas a replacement to open Teams chats with one or more user - Moved
dialog.resize()function to a newupdatesub-capability and is nowdialog.update.resize(). The parameter has been changed toDialogSizetype - Removed
botnamespace and APIs.
- Integrated changes from v1, week of 4/7/2022
- Added
surfaceHubtoHostClientTypeinterface - Added
ISpeakingStateinterface andregisterSpeakingStateChangeHandlerfunction to meeting.ts and added appropriate unit tests to meeting.spec.ts
- Added
- Integrated changes from v1, week of 4/9/2022
- Removed private tag for
sharing - Moved
menuAPIs from private to public directories - Added new
filesAPIsFileDownloadStatusenumIFileIteminterfacegetFileDownloadsandopenDownloadFolderfunctions
- Removed private tag for
- Copied
ParentAppWindowfunctionality intodialogcapability. Indialog,ParentAppWindow.postMessagewas renamed todialog.sendMessageToParent(message: any): void.ParentAppWindow.addEventListenerwas renamed todialog.registerOnMessageFromParent. - Renamed
conversationnamespace toconversationsfor consistency - Integrated changes from v1, week of 3/29/2022
- The following APIs in meeting.ts will now work in the
FrameContext.meetingStagecontext:shareAppContentToStagegetAppContentStageSharingCapabilitiesstopSharingAppContentToStagegetAppContentStageSharingState
- The following APIs in meeting.ts will now work in the
- When the application host will not understand standard chat requests, added logic to send them as deep links.
- Integrated changes from v1, week of 2/28/2022
- Added
stageViewimplementation - Modified
dialog.resizeanddialog.submitto work in the followingFrameContextsin addition toFrameContexts.task:sidePanelcontentmeetingStage
- Added
- Added office365 Outlook to domain allowlist
- Updated comment for
initializePrivateApisexplaining that this function needs to stay for backwards compatibility purposes - In appWindow.ts file, converted
ChildAppWindowandParentAppWindowback to synchronous calls because the promise was never being resolved. - Deprecated
stageView.openfunction signature that takes a callback parameter in favor ofstageView.openfunction signature that returns aPromise - Validated
mediaarchitecture - Fixed
teamsRuntimeConfig(default backwards compatible host client runtime config) to not containlocationorpeoplecapabilities since those are not guaranteed to be supported. Added new function to dynamically generate backwards compatible host client runtime config during initialization. - Added
ensureInitializedcall toregisterOnMessageFromParentfunction in dialog.ts andaddEventListenerfunction in appWindow.ts - Removed the duplicate property of
StageLayoutControlstype inmeetingRoomcapability - Deprecated
files.getFileDownloadsfunction signature that takes a callback parameter in favor orfiles.getFileDownloadsfunction signature that returns aPromise
Tue, 01 Mar 2022 19:50:49 GMT
- Moved
registerFocusEnterHandlerfromteamsCorenamespace topages core.shareDeepLinkhas been moved topages.shareDeepLinkcore.executeDeepLinkhas been renamed and moved toapp.openLinkpages.config.getConfighas been moved topages.getConfig- Added
pages.navigateToAppthat navigates to the given application ID and page ID, with optional parameters for a WebURL (if the application cannot be navigated to, such as if it is not installed), Channel ID (for applications installed as a channel tab), and sub-page ID (for navigating to specific content within the page).
- Change the
VideoControllerCallbackconstructor function to make theonRecordingStartedcallback mandatory and makeonRecordingStoppedan optional property that can be passed to the constructor. This is because without theonRecordingStopped, theVideoControllerdoesn't do anything.
- Functions will now throw errors instead of throwing strings across the repo.
nullruntimeConfig is no longer allowed during initialization. This will now throw a "Received runtime config is invalid" error.
- Update TSDoc
@deprecated commentsto include links to replaced APIs. - Update webpack-dev-server types to match webpack 5 versions and stop generating module wrappers in MicrosoftTeams.d.ts.
- Fix warnings produced during documentation generation, including exporting additional existing interfaces.
- Update repository URLs to reference
2.0-previewbranch.
- Update integrity hash to valid value in README file.
-
The Teams JavaScript client SDK repo is now a monorepo
- We utilized Yarn Workspaces to turn our repo into a monorepo.
The files specific to the Teams client SDK have been moved to an inner directory with the nameteams-js - A new TeamsJS Test App for validating the Teams client SDK has been added in the /apps/teams-test-app location.
- We utilized Yarn Workspaces to turn our repo into a monorepo.
-
Several API functions have been moved and renamed.
Organized top-level library functions under a core namespace. For example,shareDeepLinkhas been moved undercorenamespace.
Usingimport * as ... from ...will now fail. Importing now follows the following convention:import { core } from '@microsoft/teams-js';
For more detailed API organization, please refer to the Capabilities organization introduced section below.
-
Support for
hostNameadded to Context interface
The name of the host the app is running in is now part of the application context in thehostNameproperty. -
Several meeting APIs changes
meeting.requestStartLiveStreamingandmeeting.requestStopLiveStreamingno longer take in the parameter liveStreamState. -
Context interface changes
- The Context interface has been updated to group similar properties for better scalability in a multi-host environment.
- Context's
user.tenant.skuhas been renamed touser.tenant.teamsSkuto reflect that it is used by Teams for a different purpose than from the Graph API's user.tenant.sku's.
-
FrameContext changes
TheFrameContextinterface has been renamedFrameInfo. -
appEntity.selectAppEntity now takes in an additional parameter and the callback has reversed parameters with one one of them becoming optional.
selectAppEntity( threadId: string, categories: string[], callback: (appEntity: AppEntity, sdkError?: SdkError) => void, ): voidis now:
selectAppEntity( threadId: string, categories: string[], subEntityId: string, callback: (sdkError?: SdkError, appEntity?: AppEntity) => void, ): void -
threadId parameter removed from callback passed into teams.refreshSiteUrl()
refreshSiteUrl(threadId: string, callback: (threadId: string, error: SdkError) => void): voidis now:
refreshSiteUrl(threadId: string, callback: (error: SdkError) => void): void -
Capabilities organization introduced
-
Added App capability
- The following APIs have been moved from
publicAPIsto newappnamespace:initializegetContextregisterOnThemeChangeHandler
- The following APIs have been moved from
appInitializationtoappnamespace:notifyAppLoadednotifySuccessnotifyFailurenotifyExpectedFailure
- The following APIs have been added to
appnamespace:isInitializedgetFrameContext
- The following APIs have been moved from
-
Added Core capability
- The following APIs have been moved from
publicAPIsto newcorenamespace:shareDeepLinkexecuteDeepLink
- The following APIs have been moved from
-
Several APIs reorganized under new Pages capability:
- The following APIs have been moved to the new
pagesnamespace:registerFullScreenHandlerinitializeWithFrameContextnavigateCrossDomainreturnFocussetFrameContexthas been renamedpages.setCurrentFrame
- The following APIs have been been renamed and moved from
publicAPIsto a new Pages.AppButton sub-capability in the newpages.appButtonnamespace:registerAppButtonClickHandlerhas renamed and moved topages.appButton.onClickregisterAppButtonHoverEnterHandlerhas renamed and moved topages.appButton.onHoverEnterregsiterAppButtonHoverLeaveHandlerhas renamed and moved topages.appButton.onHoverLeave
- The following APIs have been moved to a new Pages.BackStack sub-capability in the new
pages.backStacknamespace:registerBackButtonHandlernavigateBack
- The following APIs have been renamed and moved into the Pages.Config sub-capability in the
pages.confignamespace (formerly thesettingsnamespace):registerEnterSettingsHandlerhas renamed and moved topages.config.registerChangeConfigHandlergetSettingshas been renamedpages.config.getConfigsetSettingshas been renamedpages.config.setConfig
- The following APIs have been been moved from
privateAPIsto a new Pages.FullTrust sub-capability in the newpages.fullTrustnamespace:enterFullscreenexitFullscreen
- The following APIs have been been moved to a new Pages.Tabs sub-capability in the new
pages.tabsnamespace:getTabInstancesgetMruTabInstancesnavigateToTab
- The following APIs have been moved to the new
-
Added Dialog capability, renamed
tasksnamespace todialog, and renamed APIs- The following APIs have been renamed:
startTaskhas been renameddialog.opensubmitTaskshas been renameddialog.submitupdateTaskhas been renameddialog.resizeTaskInfointerface has been renamedDialogInfoTaskModuleDimensionenum has been renamedDialogDimension
- The following APIs have been renamed:
-
Added TeamsCore capability
- The following APIs have been moved from
publicAPIsto newteamsCorenamespace:enablePrintCapabilityprintregisterOnLoadHandlerregisterBeforeUnloadHandlerregisterFocusEnterHandler
- The following APIs have been moved from
-
Added AppInstallDialog capability
openAppInstallDialogis added to newappInstallDialognamespace
-
Added Calendar capability
- The following APIs have been added to new
calendarnamespace:openCalendarItemis addedcomposeMeetingis added
- The following APIs have been added to new
-
Added Call capability
startCallis added to newcallnamespace
-
Added Mail capability
- The following APIs have been added to the new
mailnamespace:openMailItemis addedcomposeMailis added
- The following APIs have been added to the new
-
Added Chat capability and renamed
conversationsnamespace tochatopenConversationandcloseConversationhave been moved tochatnamespacegetChatMembershas been moved tochatnamespace
-
Added Files capability
openFilePreviewhas moved fromprivateAPIstofilesnamespace
-
Added Legacy capability
- The following APIs have been moved from
privateAPIsto a newlegacy.fullTrustnamespace:getUserJoinedTeamsgetConfigSetting
- The following APIs have been moved from
-
Added Notifications capability
showNotificationhas moved fromprivateAPIstonotificationsnamespace
-
Converted existing namespaces into the following new capabilites
- Location
- Media
- Meeting
- Monetization
- People
- Sharing
- Video
- Bot
- Logs
- MeetingRoom
- Menus
- RemoteCamera
-
Added Runtime capability
applyRuntimeConfigis added
-
-
Promises introduced
- The following APIs that took in a callback function as a parameter now instead return a
Promise.- app APIs:
app.initializeapp.getContext
- authentication APIs:
authentication.authenticateauthentication.getAuthTokenauthentication.getUser
- calendar APIs:
calendar.openCalendarItemcalendar.composeMeeting
- chat APIs:
chat.getChatMemberschat.openConversation
- files APIs:
files.addCloudStorageFolderfiles.deleteCloudStorageFolderfiles.getCloudStorageFolderContentsfiles.getCloudStorageFolders
- legacy APIs:
legacy.fulltrust.getConfigSettinglegacy.fulltrust.getUserJoinedTeams
- location APIs:
location.getLocationlocation.showLocation
- mail APIs:
mail.openMailItemmail.composeMail
- media APIs:
media.captureImagemedia.selectMediamedia.viewImagesmedia.scanBarCode
- meeting APIs:
meeting.getAppContentStageSharingStatemeeting.getAppContentStageSharingCapabilitiesmeeting.getAuthenticationTokenForAnonymousUsermeeting.getIncomingClientAudioStatemeeting.getLiveStreamStatemeeting.getMeetingDetailsmeeting.requestStartLiveStreamingmeeting.requestStopLiveStreamingmeeting.shareAppContentToStagemeeting.stopSharingAppContentToStagemeeting.toggleIncomingClientAudio
- meetingRoom APIs:
meetingRoom.getPairedMeetingRoomInfomeetingRoom.sendCommandToPairedMeetingRoom
- pages APIs:
pages.navigateCrossDomainpages.tabs.navigateToTabpages.tabs.getTabInstancespages.tabs.getMruTabInstancespages.config.getConfigpages.config.setConfigpages.backStack.navigateBack
- people APIs:
people.selectPeople
- others:
ChildAppWindow.postMessageParentAppWindow.postMessagecore.executeDeepLinkappInstallDialog.openAppInstallDialogcall.startCall
- app APIs:
- The following APIs that took in a callback function as a parameter now instead return a
-
Changed TypeScript to output ES6 modules instead of CommonJS