This log was last generated on Tue, 19 Apr 2022 16:08:56 GMT and should not be manually modified.
Tue, 19 Apr 2022 16:08:56 GMT
- Removed PostMessageChannel return from dialog.open, added in separate function sendMessageToDialog to make up for missing functionality"
- Adding isSupported Check and unit test cases
- Change DeepLinkParameters not to use subEntity* anymore
- Adding isSupported work for chat and conversations
- Adding isSupport check for files module
- Adding in
runtime.isLegacy
handler for the following deep link capabilities:appInstallDialog
,calendar
,call
. - Changed topic parameter name to
topicName
forexecuteDeepLink
call inchat.ts
- Moved conversations out of chat sub-capability and into their own top level capability in runtime.ts
- Add legacy capability support check
Wed, 13 Apr 2022 21:40:51 GMT
- legacy.fullTrust.getUserJoinedTeams() has been moved into its own subcapability called joinedTeams and is now legacy.fullTrust.joinedTeams.getUserJoinedTeams().
- The type
PostMessageChannel
andsendMessageToParentFromDialog
function in dialogs capability have been updated to not take callbacks in. - Split chat capability into a private (conversation) and a public (chat) partition
-
- Dialog capability has been split into a main capability (dialog) for supporting HTML-based dialogs and a subcapability dialog.bot for bot based dialogs. For now, dialog capability does not support adaptive card based dialogs,
- dialog.open takes a UrlDialogInfo instead of DialogInfo to enforce only HTML based dialogs,
- callback submitHandler takes a single object parameter containing both error and result,
- dialog.open takes one more optional parameter named messageFromChildHandler which is triggered if dialog sends a message to the app,
- dialog.open returns a function that can be used to send messages to the dialog instead of returning a ChildAppWindow,
- dialog.bot.open has the same function signature except it takes BotUrlDialogInfo instead of UrlDialogInfo
- Moving chat.openConversation and chat.closeConversation into a subcategory chat.conversation. Added in new APIs chat.openChat and chat.openGroupChat as a replacement to open Teams chats with one or more user
- dialog.resize() function has been moved to a new dialog subcapability and is now dialog.update.resize(). The parameter has been changed to DialogSize type
- gitmagic additions to 2.0-preview for April 7, 2022. Changes merged in from V1 include: adding surfaceHub to hostClientType interface, added ISpeakingState interface and function registerSpeakingStateChangeHandler to meeting.ts and added appropriate unit tests to meeting.spec.ts"
- gitmagic additions to 2.0-preview for March 09, 2022. Changes merged in from V1 include removing private tag for sharing, making Menu APIs Public, and adding new features for files API (enum FileDownloadStatus, interface IFileItem, getFileDownloads(), openDownloadFolder())
- Copied ParentAppWindow functionality into dialog capability. In Dialogs, ParentAppWindow.postMessage becomes dialog.sendMessageToParent(message: any): void. And ParentAppWindow.addEventListener becomes dialog.registerOnMessageFromParent.
- Renamed conversation to conversations for consistency
- gitmagic additions to 2.0-preview for March 29, 2022. Changes merged in from V1 include: enabling the following APIs in meeting stage: shareAppContentToStage, getAppContentStageSharingCapabilities, stopSharingAppContentToStage, and getAppContentStageSharingState
- When hosting app will not understand standard chat requests, send them as deep links.
- gitmagic additions to 2.0-preview for February 28, 2022. Changes merged in from V1 include stageView implementation and modifying dialog.resize() and dialog.submit() to also work in FrameContexts sidePanel, content, meetingStage, and task rather than just task.
- Adds office365 Outlook to domain allowlist
- Update comment for initializePrivateApis() explaining that this function needs to stay for backwards compatibility purposes
- In
appWindow.ts
file,ChildAppWindow
andParentAppWindow
are converted back to synchronous calls because the promise was never being resolved. - promisify stageView
- Validated media architecture
- Fixed default back compat host client runtime config to not contain location or people capability since those are not guaranteed to be supported. Added new function to dynamically generate back compat host client runtime config during initialization.
- Added
ensureInitialized
call toregisterOnMessageFromParent
function in dialog.ts andaddEventListener
function in appWindow.ts - Remove the duplicate property of StageLayoutControls type in meetingRoom capability
- added promisified files.getFileDownloads
Tue, 01 Mar 2022 19:50:49 GMT
- The API registerFocusEnterHandler has been moved from teamsCore namespace to Pages
core.shareDeepLink
has been moved topages.shareDeepLink
core.executeDeepLink
has been renamed and moved toapp.openLink
- Change the
VideoControllerCallback
constructor function to make theonRecordingStarted
callback mandatory and makeonRecordingStopped
an optional property that can be passed to the constructor. This is because without theonRecordingStopped
, theVideoController
doesn't do anything.
- Source code will now throw errors instead of throwing strings across the repo.
null
runtimeConfig is no longer allowed during initialization. This will now throw a "Received runtime config is invalid" error.
-
Update TSDoc @deprecated comments to 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-preview
branch.
- 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,shareDeepLink
has been moved undercore
namespace.
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
hostName
added to Context interface
The name of the host the app is running in is now part of the application context in thehostName
property. -
Several meeting APIs changes
meeting.requestStartLiveStreaming
andmeeting.requestStopLiveStreaming
no 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. -
FrameContext changes
FrameContext'suser.tenant.sku
has been renamed touser.tenant.teamsSku
to reflect that it is used by Teams for a different purpose than from the Graph API's user.tenant.sku's. TheFrameContext
interface 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, ): void
is 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): void
is now:
refreshSiteUrl(threadId: string, callback: (error: SdkError) => void): void
-
Capabilities organization introduced
-
Added App capability
- The following APIs have been moved from
publicAPIs
to newapp
namespace:initialize
getContext
registerOnThemeChangeHandler
- The following APIs have been moved from
appInitialization
toapp
namespace:notifyAppLoaded
notifySuccess
notifyFailure
notifyExpectedFailure
- The following APIs have been added to
app
namespace:isInitialized
getFrameContext
- The following APIs have been moved from
-
Added Core capability
- The following APIs have been moved from
publicAPIs
to newcore
namespace:shareDeepLink
executeDeepLink
- The following APIs have been moved from
-
Several APIs reorganized under new Pages capability:
- The following APIs have been moved to the new
pages
namespace:registerFullScreenHandler
initializeWithFrameContext
navigateCrossDomain
returnFocus
setFrameContext
has been renamedpages.setCurrentFrame
- The following APIs have been been renamed and moved from
publicAPIs
to a new Pages.AppButton sub-capability in the newpages.appButton
namespace:registerAppButtonClickHandler
has renamed and moved topages.appButton.onClick
registerAppButtonHoverEnterHandler
has renamed and moved topages.appButton.onHoverEnter
regsiterAppButtonHoverLeaveHandler
has renamed and moved topages.appButton.onHoverLeave
- The following APIs have been moved to a new Pages.BackStack sub-capability in the new
pages.backStack
namespace:registerBackButtonHandler
navigateBack
- The following APIs have been renamed and moved into the Pages.Config sub-capability in the
pages.config
namespace (formerly thesettings
namespace):registerEnterSettingsHandler
has renamed and moved topages.config.registerChangeConfigHandler
getSettings
has been renamedpages.config.getConfig
setSettings
has been renamedpages.config.setConfig
- The following APIs have been been moved from
privateAPIs
to a new Pages.FullTrust sub-capability in the newpages.fullTrust
namespace:enterFullscreen
exitFullscreen
- The following APIs have been been moved to a new Pages.Tabs sub-capability in the new
pages.tabs
namespace:getTabInstances
getMruTabInstances
navigateToTab
- The following APIs have been moved to the new
-
Added Dialog capability, renamed
tasks
namespace todialog
, and renamed APIs- The following APIs have been renamed:
startTask
has been renameddialog.open
submitTasks
has been renameddialog.submit
updateTask
has been renameddialog.resize
TaskInfo
interface has been renamedDialogInfo
TaskModuleDimension
enum has been renamedDialogDimension
- The following APIs have been renamed:
-
Added TeamsCore capability
- The following APIs have been moved from
publicAPIs
to newteamsCore
namespace:enablePrintCapability
print
registerOnLoadHandler
registerBeforeUnloadHandler
registerFocusEnterHandler
- The following APIs have been moved from
-
Added AppInstallDialog capability
openAppInstallDialog
is added to newappInstallDialog
namespace
-
Added Calendar capability
- The following APIs have been added to new
calendar
namespace:openCalendarItem
is addedcomposeMeeting
is added
- The following APIs have been added to new
-
Added Call capability
startCall
is added to newcall
namespace
-
Added Mail capability
- The following APIs have been added to the new
mail
namespace:openMailItem
is addedcomposeMail
is added
- The following APIs have been added to the new
-
Added Chat capability and renamed
conversations
namespace tochat
openConversation
andcloseConversation
have been moved tochat
namespacegetChatMembers
has been moved tochat
namespace
-
Added Files capability
openFilePreview
has moved fromprivateAPIs
tofiles
namespace
-
Added Legacy capability
- The following APIs have been moved from
privateAPIs
to a newlegacy.fullTrust
namespace:getUserJoinedTeams
getConfigSetting
- The following APIs have been moved from
-
Added Notifications capability
showNotification
has moved fromprivateAPIs
tonotifications
namespace
-
Added the following new capabilites from existing namespaces
- Location
- Media
- Meeting
- Monetization
- People
- Sharing
- Video
- Bot
- Logs
- MeetingRoom
- Menus
- RemoteCamera
-
Added Runtime capability
applyRuntimeConfig
is added
-
-
Promises introduced
- The following APIs that took in a callback function as a parameter now instead return a Promise.
- app APIs:
- app.initialize
- app.getContext
- authentication APIs:
- authentication.authenticate
- authentication.getAuthToken
- authentication.getUser
- calendar APIs:
- calendar.openCalendarItem
- calendar.composeMeeting
- chat APIs:
- chat.getChatMembers
- chat.openConversation
- files APIs:
- files.addCloudStorageFolder
- files.deleteCloudStorageFolder
- files.getCloudStorageFolderContents
- files.getCloudStorageFolders
- legacy APIs:
- legacy.fulltrust.getConfigSetting
- legacy.fulltrust.getUserJoinedTeams
- location APIs:
- location.getLocation
- location.showLocation
- mail APIs:
- mail.openMailItem
- mail.composeMail
- media APIs:
- media.captureImage
- media.selectMedia
- media.viewImages
- media.scanBarCode
- meeting APIs:
- meeting.getAppContentStageSharingState
- meeting.getAppContentStageSharingCapabilities
- meeting.getAuthenticationTokenForAnonymousUser
- meeting.getIncomingClientAudioState
- meeting.getLiveStreamState
- meeting.getMeetingDetails
- meeting.requestStartLiveStreaming
- meeting.requestStopLiveStreaming
- meeting.shareAppContentToStage
- meeting.stopSharingAppContentToStage
- meeting.toggleIncomingClientAudio
- meetingRoom APIs:
- meetingRoom.getPairedMeetingRoomInfo
- meetingRoom.sendCommandToPairedMeetingRoom
- pages APIs:
- pages.navigateCrossDomain
- pages.tabs.navigateToTab
- pages.tabs.getTabInstances
- pages.tabs.getMruTabInstances
- pages.config.getConfig
- pages.config.setConfig
- pages.backStack.navigateBack
- people APIs:
- people.selectPeople
- others:
- ChildAppWindow.postMessage
- ParentAppWindow.postMessage
- core.executeDeepLink
- appInstallDialog.openAppInstallDialog
- call.startCall
- app APIs:
- The following APIs that took in a callback function as a parameter now instead return a Promise.
-
Changed TypeScript to output ES6 modules instead of CommonJS