Skip to content

Releases: OfficeDev/microsoft-teams-library-js

v2.6.0

07 Dec 18:31
0eecb4d
Compare
Choose a tag to compare

Wed, 07 Dec 2022 16:39:58 GMT

Minor changes

  • Added notifyFatalError function 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 meeting capability
  • Fixed bug where some capabilities were being incorrectly marked as supported

Patches

  • Deleted unnecessary support for meetingRoom and sidePanel frame contexts in dialog.submit API.
  • Fix incorrect profile.IsSupported check

v2.5.0

04 Nov 01:44
d01740e
Compare
Choose a tag to compare

Thu, 03 Nov 2022 17:03:30 GMT

Minor changes

  • Updated most APIs to require initialization to be fully finished before they are allowed to be called.

Patches

  • Added Outlook's consumer domain to domains' allowlist
  • Updated documentation for app.IFailedRequest.message property to clarify that it is unused
  • Set PACKAGE_VERSION to an error value indicating it will be replaced by webpack at build time
  • Fixed profile.isSupported and showProfile TriggerType
  • Added 'www.microsoft365.com' and '*.www.microsoft365.com' to the validOrigins list.
  • Switched from dynamic import of LiveShareClient to using a global window variable. Fixes an issue where dynamic imports stop working for multiple layers of webpack.

v2.4.2

20 Oct 23:05
9e859c3
Compare
Choose a tag to compare

2.4.2

Patches

  • Fixed integrity hash in README

v2.4.1

10 Oct 20:30
30f7285
Compare
Choose a tag to compare

Mon, 10 Oct 2022 19:09:20 GMT

Minor changes

  • Added (moved) version as a public constant containing the library version
  • Added new sub capability pages.currentApp.navigateTo that enables navigation within an application without specifying application ID. pages.currentApp.navigateToDefaultPage that navigates to first static page defined in app manifest
  • Added OutlookWin32 to HostName enum

Patches

  • Added one common registerHandlerHelper function to replace several helpers.
  • Clarified possible values for theme property on AppInfo object in docs
  • Updated documentation for app.initialize to clarify that it must have completed before calling other library methods.
  • On the File interface changed the type of lastModified field from Date to number
  • Fixed search API in test file
  • Enabled proxying of window events to child frames if they are unhandled by current frame
  • Added logging to runtime and app to make it easier to investigate issues surrounding app initialization.
  • Fixed some locations where undefined was properly handled but not explicitly in the type declaration
  • Reverted liveShare capability
  • Clarified documentation for sharepoint property on Context object
  • Enabled strictNullChecks as lint rule
  • Updated the URLs for docs links.
  • Enabled save and remove events in the pages.config capability to be proxied to child windows
  • Fixed more violations of strictNullChecks warning

v2.3.0

08 Sep 18:48
b6b9f31
Compare
Choose a tag to compare

Thu, 08 Sep 2022 17:11:49 GMT

Minor changes

  • Added support for audio-driven avatars to the video API, and the ability to upload personalized video effects to the private folder
  • Added Search capability to use global search box in the current app in Outlook
  • Added timestamp to VideoFrame, sent the timestamp back to Teams client after the video frame has been processed.

Patches

  • Fixed an issue with the v1 versions of register*Handler functions. 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 Context interface.
  • Updated comments on items marked with the @internal tag to make it clear they are intended for Microsoft use only and removed some @internal items from dev documentation. Removed initializePrivateApis from the privateAPIs file, an unexported and hidden no-op function.
  • Added missing HostClientType values so correct Runtime is generated for teams.fullTrust.joinedTeams and webStorage capabilities.
  • Renamed filePath field to webkitRelativePath. Removed two validation checks for destinationFolder fields. Added an optional field provider in callback of addCloudStorageProvider API.

v2.2.0

03 Aug 20:43
97b134c
Compare
Choose a tag to compare

Wed, 03 Aug 2022 19:21:51 GMT

Minor changes

  • Added an optional error object to ISpeakingState interface to align registerSpeakingStateChangeHandler API with other API error handling.
  • Added ActionInfo object to the Context interface. This is used to pass information about an action that was taken on content from the host to the application.
  • Split single CloudStorageProviderFile action API into 3 action APIs

Patches

  • Added clarifying comment to dialog.submit to indicate the dialog is closed when submit is called.
  • Updated reference documentation links for deprecated global Context interface to work with typedoc system.
  • Added FrameContexts.task to openChat and openGroupChat in chat.ts
  • Added @beta tags to new content action-related interfaces.
  • Exported publicly documented global interfaces to enable use outside the SDK.

v2.1.0

22 Jul 17:18
4e41e55
Compare
Choose a tag to compare

Fri, 22 Jul 2022 16:36:44 GMT

Minor changes

  • Added webStorage capability 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 isSupported to stageView
  • Added profile.showProfile API and unit tests
  • Added meeting.registerMeetingReactionReceivedHandler
  • Added scanBarCode to barCode.ts from media.ts along with permission APIs hasPermission and requestPermission
  • Added a new capability geoLocation that split the location capability into new set of functions and subcapabilities. Added permission-related APIs hasPermission and requestPermission.

Patches

  • Fixed broken SDK reference documentation links and added SDK reference documentation validation to build step.
  • Ensured submitHandler exists before calling it in dialog.open, dialog.bot.open and tasks.startTask APIs.
  • Added frameless unit tests for authentication.notifySuccess and authentication.notifyFailure
  • Added beta tag to barCode capability to accurately reflect level of support offered
  • Added meeting.registerRaiseHandStateChangedHandler
  • Updated reference documentation for global deprecated Context interface. Each deprecated Context property now links to respective mapped property in app.Context interface.
  • Enabled FrameContexts.task for startCall API in call.ts
  • Fixed formatting of reference documentation for call.StartCallParams interface.
  • Removing unnecessary / in appInstallDialog.openAppInstallDialog()
  • Renamed IRaiseHandStateChangedEvent interface to IRaiseHandStateChangedEventData and changed the error so it can be assigned undefined rather than null

v2.0.0

18 May 19:14
c4cfd7a
Compare
Choose a tag to compare

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.

Major changes

  • 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 registerEnterSettingsHandler back to its original name registerChangeSettingsHandler

  • Removed deprecated stageView.open function that took a callback as a parameter

  • Modified enablePrintCapability to correctly require the library be initialized before using it

  • Removed bot namespace and APIs

  • Added hostName property to Context interface which contains the name of the host in which the app is running.

  • The Context interface has been updated to group similar properties for better scalability in a multi-host environment.

  • The FrameContext interface has been renamed FrameInfo.

  • Capabilities organization introduced

    • Each capability has an isSupported function 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 an SdkError with ErrorCode.NOT_SUPPORTED_ON_PLATFORM if it returns false.

    • Added App capability

      • The following APIs have been moved from publicAPIs to new app namespace:
        • initialize
        • getContext
        • registerOnThemeChangeHandler
        • executeDeepLink has been renamed openLink
      • The following APIs have been moved from appInitialization to app namespace:
        • notifyAppLoaded
        • notifySuccess
        • notifyFailure
        • notifyExpectedFailure
      • The following APIs have been added to app namespace:
        • isInitialized
        • getFrameContext
    • Added a Pages capability and reorganized several APIs under it:

      • The following APIs have been moved to the new pages namespace:
        • registerFullScreenHandler moved from publicAPIs
        • initializeWithFrameContext moved from publicAPIs
        • navigateCrossDomain moved from navigation namespace
        • returnFocus moved from navigation namespace
        • registerFocusEnterHandler moved from publicAPIs
        • shareDeepLink moved from publicAPIs
        • DeepLinkParameters has been renamed to ShareDeepLinkParameters
        • setFrameContext has been moved from publicAPIs and renamed pages.setCurrentFrame
        • settings.getSettings has been renamed pages.getConfig
      • Added pages.navigateToApp that 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 publicAPIs to a new Pages.AppButton sub-capability in the new pages.appButton namespace:
        • registerAppButtonClickHandler has renamed and moved to pages.appButton.onClick
        • registerAppButtonHoverEnterHandler has renamed and moved to pages.appButton.onHoverEnter
        • regsiterAppButtonHoverLeaveHandler has renamed and moved to pages.appButton.onHoverLeave
      • The following APIs have been moved to a new Pages.BackStack sub-capability in the new pages.backStack namespace:
        • registerBackButtonHandler moved from publicAPIs
        • navigateBack moved from navigation namespace
      • The following APIs have been renamed and moved into the Pages.Config sub-capability in the pages.config namespace (formerly the settings namespace):
        • registerEnterSettingsHandler has renamed and moved to pages.config.registerChangeConfigHandler
        • registerOnSaveHandler
        • registerOnRemoveHandler
        • setSettings has been renamed pages.config.setConfig
        • setValidityState
      • The following APIs have been been moved from privateAPIs to a new Pages.FullTrust sub-capability in the new pages.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 moved from publicAPIs
        • getMruTabInstances moved from publicAPIs
        • navigateToTab moved from navigation namespace
    • Tasks APIs renamed and reorganized under new Dialog capability:

      • Added dialog capability, which has support for HTML-based dialogs, and a dialog.bot sub-capability has been added for bot-based dialogs. At this time, dialog does not support adaptive card-based dialogs.
        • The following APIs have been renamed:
          • startTask has been renamed dialog.open. It takes
            • a UrlDialogInfo parameter instead of DialogInfo to enforce only HTML based dialogs,
            • an optional DialogSubmitHandler callback that takes a single object parameter containing both error and result,
            • an optional PostMessageChannel parameter which is triggered if dialog sends a message to the app
          • dialog.bot.open has the same function signature except it takes BotUrlDialogInfo instead of UrlDialogInfo
          • submitTasks has been renamed dialog.submit
          • TaskInfo interface has been renamed DialogInfo
          • TaskModuleDimension enum has been renamed DialogDimension
        • Added sendMessageToDialog function which can be used to send messages to the dialog.
      • Added dialog.update sub-capability and renamed updateTask to dialog.update.resize, which now takes a DialogSize parameter.
    • Added TeamsCore capability

      • The following APIs have been moved from publicAPIs to new teamsCore namespace:
        • enablePrintCapability
        • print
        • registerOnLoadHandler
        • registerBeforeUnloadHandler
    • Added AppInstallDialog capability

      • openAppInstallDialog is added to new appInstallDialog namespace
    • Added Calendar capability

      • The following APIs have been added to new calendar namespace:
        • openCalendarItem is added
        • composeMeeting is added
    • Added Call capability

      • startCall is added to new call namespace
    • Added Mail capability

      • The following APIs have been added to the new mail namespace:
        • openMailItem is added
        • composeMail is added
    • Added Chat capability to new chat namespace to represent public chat functionality

      • Added openChat and openGroupChat to open Teams chats with one or more users
    • Converted existing conversations namespace into the Conversations capability to represent private chat functionality

      • getChatMembers has been moved from privateAPIs to conversations namespace
    • Added fullTrust and fullTrust.joinedTeams sub-capabilities to existing teams namespace

      • The following API has been moved from privateAPIs to a new teams.fullTrust namespace:
        • getConfigSetting
      • The following API has been moved from privateAPIs to a new teams.fullTrust.joinedTeams namespace:
        • getUserJoinedTeams
    • Added Notifications capability

      • showNotification has moved from privateAPIs to notifications namespace
    • Converted existing namespaces into the following new capabilites

      • Location
      • Menus
      • Monetization
      • People
      • Sharing
      • Video
      • Logs
      • MeetingRoom
      • RemoteCamera
      • Teams
    • Added Runtime capability

      • Added applyRuntimeConfig
  • 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
      • conversations APIs:
        • conversations.getChatMembers
        • conversations.openConversation
      • location APIs:
        • location.getLocation
        • location.showLocation
      • meetingRoom APIs:
        • meetingRoom.getPairedMeetingRoomInfo
        • meetingRoom.sendCommandToPairedMeetingRoom
      • pages APIs:
        • pages.navigateCrossDomain
        • pages.tabs.navigateToTab
        • pages.tabs.getTabInstances
        • pages.tabs.getMruTabInstances
        • pages.getConfig
        • pages.config.setConfig
        • pages.backStack.navigateBack
      • people APIs:
        • people.selectPeople
      • teams APIs:
        • teams.fulltrust.getConfigSetting
        • teams.fulltrust.getUserJoinedTeams
      • others:
        • ChildAppWindow.postMessage
        • ParentAppWindow.postMessage
        • appInstallDialog.openAppInstallDialog
  • Changed TypeScript to output ES6 modules instead of CommonJS

Minor changes

  • Updated app.initialize to automatically listen for messages that an application is sending to a dialog. Modified registerOnMessageFromParent in DialogAPI.tsx for the Teams Test App to account for this new functionality.
  • Copied ParentAppWindow functionality into dialog capability. In dialog, ParentAppWindow.postMessage was renamed to dialog.sendMessageToParent(message: any): void. ParentAppWindow.addEventListener was renamed to dialog.registerOnMessageFromParent.
  • Added runtime.isLegacy handler for the following deep link capabilities:
    • `appI...
Read more

v2.0.0-beta.7

12 May 22:07
1417db4
Compare
Choose a tag to compare
v2.0.0-beta.7 Pre-release
Pre-release

Thu, 12 May 2022 21:34:49 GMT

Major changes

  • Moved sub-capabilities and APIs within legacy namespace to teams namespace
  • Reverted registerEnterSettingsHandler back to its original name registerChangeSettingsHandler
  • Removed deprecated stageView.open function that took a callback as a parameter

Patches

  • Added missing reference documentation comments to the pages capability
  • Added a link to information about the updated Context in the reference documentation comments
  • Updated all @deprecated tags 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 authentication capability
  • Updated reference documentation comments to rationalize 'Teams' vs 'host' occurrences and other minor edits

v2.0.0-beta.6

28 Apr 20:26
f11538c
Compare
Choose a tag to compare
v2.0.0-beta.6 Pre-release
Pre-release

Thu, 28 Apr 2022 18:25:41 GMT

Major changes

  • Updated media namespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app
  • Adding isSupported check to people capability
  • Updated meeting namespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app
  • Updated files namespace to work as it did in v1 along with necessary changes to unit tests and teams-test-app
  • Git magic week of 4/18/2022
  1. IMeetingDetails has been renamed to IMeetingDetailsResponse and IDetails has been replaced with IMeetingOrCallDetailsBase. As such, meeting.getMeetingDetails() now takes in a callback which takes in IMeetingDetailsResponse rather than IMeetingDetails.
  2. pages.returnFocus() now works in any FrameContext rather than just with content.
  3. We have added the HostClientType ipados.
  • Adding isSupported checks to all functions in the following capabilities:
    • appEntity
    • dialog
    • meetingRoom
    • monetization
    • teams
    • sharing (along with additional unit test case)
    • notifications (along with additional unit test cases)
    • video
    • remoteCamera
    • pages
    • menus
    • logs
    • legacy
    • teamsCore

Minor changes

  • Added dialog.initialize function.
    • dialog.initialize is called during app intialization.
    • Modified registerOnMessageFromParent in DialogAPI.tsx for the Teams Test App to account for this new functionality.

Patches

  • Updated dialog.open and dialog.bot.open to send DialogInfo type over to the host instead of UrlDialogInfo or BotUrlDialogInfo type
  • Adding minRuntimeConfig to uninitialize for various capabilities
  • Updated README.md to reflect branch rename
  • In adaptive card based task modules, if the height is not provided in taskInfo, it wil not be set to a default small size. Instead the card content will be fit on a Task Module.
  • Removed @deprecated tags from meeting.ts and media.ts
  • Removed @alpha tags as they are not supported in the SDK reference doc generation system