Skip to main content

You are viewing Agora Docs forBetaproducts and features. Switch to Docs

Android
iOS
Web

Release notes (Whiteboard)

This page provides the release notes for the Interactive Whiteboard SDK.

Note
To ensure a consistent user experience across different platforms while enabling native access on each platform, the Interactive Whiteboard SDK for Android is implemented by creating a wrapper for the Interactive Whiteboard SDK for Web, rather than being a completely native SDK. Therefore, each Android SDK version by default includes the updates of the Web SDK version that it is built upon. The corresponding Web SDK version is provided in each Android release note, so that you can refer to the relevant Web SDK release note for updates.

v2.16.86

v2.16.86 was released on August 27, 2024.

Note
The wrapped Web SDK has been upgraded to v2.16.51.

New features

Domain preselection

This version adds the prepareWhiteConnection method to preselect an optimal access domain, which can improve the connection speed when users join a whiteboard room for the first time.

API changes

Added

  • prepareWhiteConnection
  • ConnectionPrepareParam

v2.16.81

v2.16.81 was released on June XX, 2024.

Note
The wrapped Web SDK has been upgraded to v2.16.48.

New features

Window apps management

In the multi-window mode, the SDK supports inserting the PPT or whiteboard plugin as a window. These are collectively referred to as window apps. Starting from this version, the Room object has the following new methods for managing window apps in the multi-window mode:

  • addApp: Inserts a window app and returns the app ID.
  • closeApp: Closes the window of the specified window app.
  • focusApp: Switches the focused window to the window of the specified window app.
  • queryApp: Queries the information of the specified window app.
  • queryAllApps: Queries the information of all current window apps.

Custom whiteboard tools

The MemberState has the following new properties for customizing whiteboard tools:

  • textColor: The color of the text in the text tool.
  • pencilEraserSize: The size of the pencil eraser tool.

New PPT rendering configurations

The WhiteSdkConfiguration.SlideAppOptions has the following new properties for PPT rendering configurations:

  • minFPS: Sets the minimum frame rate for PPT animations.
  • maxFPS: Sets the maximum frame rate for PPT animations.
  • resolution: Sets the rendering resolution multiplier for PPT.
  • maxResolutionLevel: Sets the maximum resolution for PPT.
  • bgColor: Sets the background color for PPT animations.
  • forceCanvas: Specifies whether to force 2D rendering. It is disabled by default.
  • enableGlobalClick: Specifies whether to enable executing the next step function by clicking on the PPT screen. It is enabled by default.

Whiteboard drawing performance optimization strategy

The RoomParams has a new property optimizeOptions for setting the performance optimization strategy for whiteboard drawing. The performance optimization includes the following three methods:

  • Adjusting the refresh interval of whiteboard drawing: A lower refresh interval provides smoother stroke display but has a higher performance consumption, while a higher refresh interval makes the stroke appear more laggy but has a lower performance consumption.
  • Using single canvas drawing: By default, the whiteboard uses two canvases alternately to avoid flickering on some devices during drawing. Using a single canvas drawing can prevent the need for redrawing and reduce performance consumption.
  • Using floating canvas: In the writing scenario, after enabling single canvas drawing, a floating canvas of approximately 256 x 256px is generated based on the drawing position. When subsequent drawing does not exceed the range of this floating canvas, the synchronous drawing of strokes will be limited to this floating canvas instead of the entire canvas, reducing performance consumption.

Other additions

This version also includes the following features:

  • Adds the updateText method for updating the text inserted using insertText.
  • Adds the setSyncMode method for immediately processing whiteboard events and drawing strokes.
  • Adds the setDisableInitialStateCallback method for disabling the callback of the full state after joining the room.

Fixed issues

This version fixes the following issues:

  • When WhiteWindowParams.fullscreen was enabled, the app did not display in full screen on the second opening.
  • When WindowParams.fullscreen was enabled, the status bar occasionally flickered.
  • Path animation could not return to the original position after page switching.
  • Diamond fill filled the entire shape.
  • The built-in cursor disappeared after reconnection.
  • Occasional flickering when using fade-in and fade-out animations.
  • The built-in cursor disappeared after modifying isWritable.

API changes

Added

  • addApp
  • closeApp
  • focusApp
  • queryApp
  • queryAllApps
  • WindowAppSyncAttrs
  • The following in MemberState:
    • textColor
    • pencilEraserSize
  • The following in SlideAppOptions:
    • minFPS
    • maxFPS
    • resolution
    • maxResolutionLevel
    • bgColor
    • forceCanvas
    • enableGlobalClick
  • setSyncMode
  • updateText
  • setDisableInitialStateCallback

Modified

  • insertText

v2.16.59

v2.16.59 was released on January 19, 2024.

Note
The wrapped Web SDK has been upgraded to v2.16.42.

Compatibility changes

This version deprecates the existing London data center (Region.gb-lon) in the Whiteboard Data Center and introduces a new data center in Frankfurt, Europe (Region.eu), whose service covers Europe. If you have set Region.gb-lon in the previous version, please switch to Region.eu after upgrading to this version and enable this data center in Agora Console.

New features

PPT Volume Control

This version adds the getSlideVolume and updateSlideVolume methods to retrieve and update the volume of audio in PPT slides.

PPT URL Intercept and Replacement

WhiteSdkConfiguration adds a new configuration option, enableSlideInterrupterAPI, to enable intercepting and replacing URLs of PPT resources. This feature can be used to encrypt PPT resources uploaded by users and protect their privacy. Once enabled, the PPT file URL intercept and replacement feature can be implemented by calling WhiteSdk.setSlideListener(SlideListener).

PPT Rendering Notification

WhiteSdkConfiguration adds the whiteSlideAppParams configuration option for displaying configurations related to @netless/app-slide rendering. Currently, it supports configuring WhiteSlideAppParams.showRenderError to show or hide rendering error notifications.

Custom API Server Domain

WhiteSdkConfiguration adds the apiHosts configuration option to configure a list of API server domains for the whiteboard, which can be used for server proxy implementation.

Custom Module Source

RoomParams adds the modulesOrigin configuration option to configure the address for requesting whiteboard module data.

Document Operation Events

This release adds the dispatchDocsEvent method to send events to the inserted PDF/PPTX documents in the whiteboard, allowing control over document page flipping, page navigation, and slide animation playback.

Improvements

Optimized Document Insertion

This version optimizes the process of converting and inserting PPT files into the whiteboard using the new document conversion service. You can use the new createSlideApp method to construct a WindowAppParam object, which includes ProjectorAttributes and ProjectorOptions, corresponding to the parameters passed when opening the document, see addApp.

Window Fullscreen

A new property, WindowParams.fullscreen, is added to control whether the window is displayed in fullscreen mode.

Issues fixed

This version fixed the issue of layout preview not working in the latest version of Android Studio.

API Changes

Added

  • getSlideVolumeWithCompletionHandler

  • updateSlideVolume

  • WhiteSdkConfiguration

    • enableSlideInterrupterAPI
    • whiteSlideAppParams
    • apiHosts
  • setSlideDelegate

  • modulesOrigin in RoomParams

  • dispatchDocsEvent

  • WindowDocsEvent

  • createSlideApp

    • ProjectorAttributes
    • ProjectorOptions
    • WindowAppParam
  • WindowParams.fullscreen

v2.16.42

v2.16.42 was released on December 2, 2022.

Note
The wrapped Web SDK has been upgraded to v2.16.37.

New features

1. Whiteboard tool updates

This release adds new features for the following whiteboard tools:

  • Pencil: Adds support for drawing dotted lines by adding dottedLine: true in room.memberState.
  • Text: Adds support for directly selecting and editing whiteboard text by adding textCanSelectText: true in room.memberState.

In addition, this release adds a pencil eraser tool to erase any part of a pencil stroke.

2. Floatbar

This release adds the floatbar feature. The floatbar pops up when selecting any whiteboard item, which enables users to easily edit these whiteboard items. For example, when selecting a stroke, the floatbar enables the user to remove it or change its color. When selecting text, the floatbar enables the user to adjust its style or change its typeface.

Call the setUsingFloatBar method to enable the floatbar.

3. Remove whiteboard pages

This release adds the removePage method to delete a specified whiteboard page.

4. Request slide log

This release adds the requestSlideLog method in the WhiteSdk class to request the slide log on the client. This facilitates debugging slide-related issues.

5. Player callbacks

To facilitate listening to the state changes of Player, this release adds addPlayerListener and removePlayerListener methods to add and remove player callbacks.

Improvements

This release optimizes the audio playback control in PPT files. You can now pause or resume audio mixing or playback in dynamic PPT files with the pauseAudioMixing and resumeAudioMixing methods.

Fixed issues

This release fixes the following issues:

  • Under multi-window mode, no callback was received when the sceneState changed.
  • The creation of the whiteboard app sometimes failed after reconnection.
  • When creating the whiteboard app, synchronizing the initial height and width sometimes failed.
  • Switching the readable/writable state sometimes caused the configuration to be lost in the disableCameraTransform of mainView.

API changes

Added

  • New properties in the MemberState class: dottedLine and textCanSelectText
  • New property in the Appliance class: PENCIL_ERASER
  • removePage
  • pauseAudioMixing
  • resumeAudioMixing
  • addPlayerListener
  • removePlayerListener
  • setUsingFloatBar
  • requestSlideLog

v2.16.21

v2.16.21 was released on September 13, 2022.

Compatibility changes

SDK integration changes

As of v2.16.0, Agora only updates the netless-io:whiteboard-android GitHub repository; Agora no longer maintains the duty-os:white-sdk-android GitHub repository. When integrating the SDK v2.16.0 or later with JitPack, you need to modify the implementation field under dependencies in the /Gradle Scripts/build.gradle(Module: <projectname>.app) file as follows:


_3
dependencies {
_3
implementation 'com.github.netless-io:whiteboard-android:<version>'
_3
}

For details, see Get the SDK.

New features

1. Inserting text

This release adds the insertText method for inserting text at a specified position.

2. Disabling the stroke effect

This release adds the setDisableNewPencilStroke method to WhiteSdkConfiguration to enable or disable the stroke effect of the pencil. The default value of the disableNewPencilStroke parameter in this method is true, and the SDK enables the stroke effect immediately when you call setDisableNewPencil(false) to enable the new pencil. To disable the stroke effect after setting setDisableNewPencil(false), you can call setDisableNewPencilStroke(true).

This release also adds the isDisableNewPencilStroke method to WhiteSdkConfiguration to get whether the stroke effect of the new pencil is disabled.

3. Getting the scene information

adds the getScene method to the Displayer class, which supports using the scene path to get the information about a specified scene.

Improvements

This release provides the following improvements:

  • Adds tween animation for the new pencil. This allows the SDK to automatically insert frames between keyframes when a user draws or writes with the new pencil, so that remote users see a smoother drawing process. To experience this improvement, ensure that you have called setDisableNewPencil(false) to enable the new pencil.
  • Optimizes the writing performance on Android browsers.
  • Optimizes the reconnecting mechanism in weak network environment to reduce unnecessary reconnections.

Fixed issues

This release fixed the following issues:

  • Occasionally, the contents on the whiteboard appeared shifted and overshadowed after users zoomed or moved their view.
  • Occasionally, users could not switch the pages of a dynamic PPT slide after an SDK reconnection.
  • The contents on the whiteboard occasionally were not fully displayed when users joined a whiteboard room that already had.
  • A memory leak sometimes occurred after an SDK reconnection.
  • An error sometimes occurred when calling setWritable repeatedly.
  • When a user switched to read-only mode, then switched back to read-write mode and wrote, remote users saw that user's cursor as fixed.

API changes

Added

v2.15.24

v2.15.24 was released on January 21, 2022.

This release provides the following improvements:

  • Updates white-web-sdk to v2.15.16.
  • Optimizes getSceneSnapshotImage and getScenePreviewImage to ensure the images inserted in the scene are displayed correctly in the screenshot.

v2.15.0

v2.15.0 was released on November 16, 2021.

Compatibility changes

To help you manage users in a room, this release adds the uid parameter in RoomParams, for setting the unique identifier of a user.

If you upgrade the SDK to v2.15.0 or later, to avoid affecting your service, ensure that you pass in a string uid in RoomParams when calling joinRoom. The uid of each user cannot be longer than 1024 bytes and must be unique in the same room. For more information, see Join a Whiteboard Room.

New features

This release adds support for converting and displaying the following PowerPoint (PPT) features:

  • Action buttons
  • Slide masters added with animation effects.

Improvements

This release provides the following improvements:

  • Updates white-web-sdk to v2.15.1.
  • Further optimizes the writing experience.

Fixed issues

This release has fixed the following issues:

  • The following issues with displaying dynamic PPT files in the whiteboard were fixed:
    • The images were displaced occasionally.
    • Failure to read certain styles caused the screen to go blank.
    • The rotation angle and color were incorrect for some text..
    • Occasionally, elements with an animation effect were not displayed
    • The animation of some text was displayed incorrectly.

API changes

Modified

v2.14.3

v2.14.3 was released on November 11, 2021.

Compatibility changes

As of this release, the minimum platform version supported by the Agora Interactive Whiteboard Android SDK changes as follows:

  • Android 5.0, instead of Android 4.4
  • Android SDK API level 21, instead of Android SDK API level 19

Improvements

This release provides the following improvements:

  • Updates white-web-sdk to v2.14.5.
  • Further optimizes the writing performance.
  • Optimizes the shape of handwriting.
  • Improves the accuracy of the onPhaseChanged callback.
  • Hides elements that should not be displayed in a slide master using the file-conversion function.

Fixed issues

This release has fixed the following issues:

  • After switching to the hand tool, users could not switch back to the cursor.
  • Occasionally, the handwriting disappeared suddenly during writing.
  • Occasionally, the handwriting had unnatural teardrop-like strokes during writing.
  • When the user edited text after manually scaling the text box, the text box and text reverted to the original size.
  • The view became incorrect after the window size changed on some browsers and devices.
  • When the eraser was moved quickly, the eraser icon was not enlarged and the fast deleting function did not work.
  • Occasionally, multiple audio files in dynamic PPT slides played simultaneously.
  • Animations were displayed incorrectly after a dynamic PPT slide returned to the previous page.
  • Occasionally, a text box with an animation effect was flipped in mirror mode.

v2.13.22

v2.13.22 was released on August 20, 2021.

New features

This release has the following new features:

  • Adds the onLogger callback in the CommonCallback interface, with which you can get the local debug log output by the SDK.
  • Adds support for converting and displaying the following PowerPoint (PPT) features:
    • Add animations to text per paragraph.
    • Animate text by word or by letter.
    • All preset table styles.
    • Fonts smaller than 12 px.

Improvements

This release updates white-web-sdk to 2.13.17.

Fixed issues

This release fixed the following issues:

  • The onLogger and onMessage callbacks did not take effect.
  • Occasionally, the room was stuck in the connecting state when the user joined a room.
  • The cursor disappeared for some users after the SDK reconnected.
  • The status of some plugins was incorrect after the SDK reconnected.
  • The hand tool was not restricted by the set CameraBound .
  • On some high-resolution devices, when the user was in the Follower view mode, the center point of the view was slightly shifted.
  • The following issues with displaying dynamic PPT files in the whiteboard were fixed:
    • Paragraph spacing was displayed incorrectly.
    • Failed to split text into columns.
    • The slide background fill of shapes was displayed incorrectly.
    • Hanging indentation was displayed incorrectly.
    • The slide was displayed incorrectly when the user called pptPreviousStep to roll back a slide.
    • The numbering of text displayed incorrectly.
    • Some equations were displayed incompletely after conversion.
    • Some lines broke incorrectly.
    • Text written from right to left (such as Arabic) was displayed incorrectly.

v2.13.17

v2.13.17 was released on July 23 2021.

New features

To improve the dynamic file conversion function, this release adds support for converting and displaying the following PowerPoint (PPT) features:

  • Animation effect > Reverse Path Direction
  • Vertical Text Box
  • Microsoft Equation Editor 3.0
  • Hide background graphic in a slide master
  • Change the color of pictures
  • The following picture effects are now supported:
    • Metal Frame
    • Soft Edge Rectangle
    • Double Frame, Black
    • Thick Matte, Black
    • Simple Frame, Black
    • Moderate Frame, Black
    • Center Shadow Rectangle
    • Soft Edge Oval
    • Metal Rounded Rectangle
    • Metal Oval

Improvements

This release has the following improvements:

  • Updates white-web-sdk to 2.13.11.
  • Updates @netless/video-js-plugin to 0.3.3.
  • Reduces CPU usage during the playback of animations in dynamic PPT files.
  • Improves the smoothness of writing and drawing on the whiteboard
  • To improve the accuracy of time synchronization, changes the data type of the delaySec parameter in setTimeDelay from Integer to Double.
  • Supports printing logs on scene changes.
  • Adds the preview parameter in PptPage, which supports displaying dynamic PPT previews in the whiteboard. See API reference.

Fixed issues

This release fixed the following issues:

  • The contents on the whiteboard occasionally became unclear when the user adjusted the view.
  • Users of the Android SDK occasionally failed to draw the first line after joining the room.
  • The method call of refreshViewSize did not take effect occasionally.
  • The following issues with displaying dynamic PPT files in the whiteboard were fixed:
    • Animations did not play in the set order.
    • Animations did not disappear when playback finished.
    • Table height was displayed incorrectly.
    • Pictures inserted in content placeholders failed to display.
    • Some shapes were rendered incorrectly.
    • The text was incorrectly indented.
    • Animation triggers did not work.
    • Picture transparency was incorrect.

v2.13.4

v2.13.4 was released on June 15, 2021.

This release updates white-web-sdk to 2.13.4.

v2.13.2

v2.13.2 was released on June 11, 2021.

This release updates white-web-sdk to 2.13.3.

v2.13.1

v2.13.1 was released on June 11, 2021.

Improvement

This release updates white-web-sdk to 2.13.2.

Issue fixed

This release fixed the issue that when disableDeviceInputs is set as true, the user might still be able to operate the iframe plugin.

v2.12.36

v2.12.36 was released on June 8, 2021.

This release fixed the following issue: If the user in host mode zooms in or out on the HTML5 file while using the clicker tool, users in follower mode saw incomplete display of file content.

v2.12.35

v2.12.35 was released on June 7, 2021.

This release updates @netless/cursor-tool to 0.1.0 and @netless/iframe-bridge to 2.1.2.

v2.12.34

v2.12.34 was released on June 4, 2021.

This release updates white-web-sdk to 2.12.21.

v2.12.33

v2.12.33 was released on June 3, 2021.

This release updates @netless/video-js-plugin to 0.1.5.

v2.12.32

v2.12.32 was released on June 2, 2021.

This release fixed the video display issues of @netless/video-js-plugin.

v2.12.31

v2.12.31 was released on June 1, 2021.

This release updates @netless/video-js-plugin to 0.1.3 to fix the incompatibility issue between the video-js-plugin and earlier versions of Andrid WebView .

v2.12.30

v2.12.30 was released on May 25, 2021.

This release updates @netless/cursor-tool to 0.0.9.

v2.12.29

v2.12.29 was released on May 24, 2021.

New features

This release integrates @netless/video-js-plugin, which is used by an Android client to watch video played on the whiteboard on a Web client. Supported file formats include M3U8 and others.

Improvement

This release updates white-web-sdk to 2.12.20.

v2.12.28

v2.12.28 was released on May 20, 2021.

This release updates white-web-sdk to 2.12.19.

v2.12.27

v2.12.27 was released on May 17, 2021.

This release has the following improvements:

  • Updates white-web-sdk to 2.12.18.
  • Enables server-side typesetting (useServerWrap) by default. When server-side typesetting is enabled, the size of font files are automatically reduced for faster rendering.

v2.12.26

v2.12.26 was released on May 13, 2021.

This release adds the following features:

  • Adds Clicker to Appliance for interacting with HTML5 files.
  • Adds ShapeType to MemberState for setting the Shape tool. Supported shape types include triangle, rhombus, pentagram, and speech balloon.
  • Adds the syncBlockTimestamp method to the Room class. You can use this method to set the delay time for sending the whiteboard content, so that the whiteboard content and the audio and video are sent at the same time.
  • Updates white-web-sdk to 2.12.17.

v2.12.25

v2.12.25 was released on April 28, 2021.

This release updates @Netless/white-audio-plugin2 and @Netless/white-video-plugin2 to fix some display issues.

v2.12.24

v2.12.24 was released on April 27, 2021.

New features

This release integrates @Netless/white-audio-plugin2 and @Netless/white-video-plugin2, which are used by an Android client to listen to audio and watch video played on the whiteboard on a Web client.

Fixed issues

This release fixed the issue that the asynchronous getRoomState method had no callbacks.

v2.12.22

v2.12.22 was released on April 22, 2021.

This release updates white-web-sdk to 2.12.14.

v2.12.21

v2.12.21 was released on April 22, 2021.

This release has the following improvements:

  • Changes RoomListener and PlayerListener to main thread callbacks.
  • Updates white-web-sdk to 2.12.13.
  • Updates @Netless/iframe-bridge to 2.12.17.

v2.12.20

v2.12.20 was released on April 17, 2021.

This release updates white-web-sdk to 2.12.12.

v2.12.19

v2.12.19 was released on April 14, 2021.

This release has the following improvements:

  • Adds a new constructor of PptParams that does not contain the scheme parameter.
  • Updates @Netless/iframe-bridge to 2.0.14 to improve the iframe plugin.

v2.12.18

v2.12.18 was released on April 12, 2021.

This release updates @netless/iframe-bridge to 2.0.13 to improve message notifications.

v2.12.17

v2.12.17 was released on April 12, 2021.

This release updates @netless/iframe-bridge to 2.0.11 and improves the display on Android devices.

v2.12.16

v2.12.16 was released on April 9, 2021.

This release updates @netless/iframe-bridge to 2.0.10 and improves the display on Android devices.

v2.12.15

v2.12.15 was released on April 10, 2021.

This release updates white-web-sdk to 2.12.9.

v2.12.14

v2.12.14 was released on April 9, 2021.

This release updates @netless/iframe-bridge to 2.0.9 to fix the display of HTML5 files.

v2.12.13

v2.12.13 was released on April 9, 2021.

This release restores the scaleIframeToFit method of the Displayer class.

v2.12.12

v2.12.12 was released on April 9, 2021.

This release updates @netless/iframe-bridge to 2.0.8 to fix the display of HTML5 files.

v2.12.11

v2.12.11 was released on April 6, 2021.

This release updates white-web-sdk to 2.12.8 to fix the problem that setting Follower mode did not take effect immediately.

v2.12.10

v2.12.10 was released on April 2, 2021.

This release updates white-web-sdk to 2.12.7 to improve the display of dynamic PPT files.

v2.12.9

v2.12.9 was released on March 30, 2021.

This release updates @netless/iframe-bridge to 2.0.7.

v2.12.8

v2.12.8 was released on March 30, 2021.

This release updates white-web-sdk to 2.12.6.

v2.12.7

v2.12.7 was released on March 25, 2021.

This release updates @netless/iframe-bridge to 2.0.5.

v2.12.6

v2.12.6 was released on March 25, 2021.

This release adds the scaleIframeToFit method to the Displayer class to enable zooming in and out so that HTML5 files can be displayed completely on screen.

v2.12.5

v2.12.5 was released on March 25, 2021.

This release updates @netless/cursor-tool to 0.0.7.

v2.12.3

v2.12.3 was released on March 20, 2021.

This release changes the default value of disableNewPencil in the setDisableNewPencil method from false to true so that the stroke effect is disabled by default. This addresses the issue that the stroke effect is not supported by SDKs earlier than v2.2.12.

To enable the stroke effect properly, ensure that every user in the room is using one of the following SDKs:

  • Android SDK v2.12.3 or later
  • iOS SDK v2.12.3 or later
  • Web SDK v2.12.5 or later

v2.12.2

v2.12.2 was released on March 16, 2021.

New features

This release adds the stroke effect to better display handwriting. Call setDisableNewPencil to enable or disable the stroke effect, and call isDisableNewPencil to see whether the stroke effect is enabled.

To enable the stroke effect properly, ensure that every user in the room is using one of the following SDKs:

  • Android SDK v2.12.2 or later
  • iOS SDK v2.12.3 or later
  • Web SDK v2.12.5 or later

Improvements

This release updates white-web-sdk to v2.12.4 to improve the display logic of PPT files.

Issues fixed

Fixed the crash problem caused by abnormal callbacks in live rooms in debug mode.

vundefined