This page provides the release notes for Flexible Classroom.
v2.8.13 was released on April 18, 2023.
This release fixes an issue where video was rotated on devices running Android 13.
v2.8.11 was released on January 13, 2023.
This release adds support for sharing audio when sharing the screen.
This release fixes known issues on mobile devices.
v2.8.0 was released on December 12, 2022.
New UI theme
v2.8.0 enables you to set the display theme of the classroom UI to light or dark.
Flexible Classroom UI builder
Flexible Classroom UI builder is launched to enable you design and customize the UI of your classroom. See UI Builder quickstart. The UI builder currently supports the following Flexible Classroom features:
- All features of versions 2.6.x and earlier
- Setting the display theme of the classroom UI to light or dark
New demo features
v2.8.0 adds the following features to the demo:
- Signing up, logging in, and deleting the account
- A course list page
- Classroom reports, including the following information:
- Course information
- Course recording
- Course reports, including tracking student attendance and students interaction
- Highlighting of speakers
- The ability to partially erase the whiteboard
This release includes the following improvements:
- Enhanced UI layer code for developers to customize the classroom UI.
- The Microsoft Edge browser is now supported.
- The following features were improved in the demo:
- The procedures of joining and creating a room. Users can now reserve a room in advance as well.
- The efficiency of converting course materials.
- The compatibility of the whiteboard toolbar with touchscreen devices.
agora-edu-corelibraries have been enhanced.
v2.6.x was released on July 29, 2022.
Taking screenshots (Electron only)
v2.6.x adds a snipping tool for Teacher to "take screenshots" of content inside and outside of the classroom, and dynamically add it to the classroom whiteboard. The feature is available in one-to-one classrooms, small classrooms, and lecture halls. This feature is available in the toolbar on Windows and macOS clients. Teachers and teaching assistants can choose to take a screenshot directly or with the current window hidden. The screenshot is displayed in the center of the whiteboard. And Agora provides APIs to expand usage of this feature to include Students and other roles:
- Web: getSnapshotRgba
- Electron: getSnapshot
- iOS: getSnapshot
- Android: getSnapshot
For the "breakout rooms" feature, v2.6.x supports automatic grouping. Teachers can set up the number of breakout rooms. Then the system randomly assigns the whole class to breakout rooms.
Drag and Drop images from desktop into the classroom whiteboard (Web/Electron)
v2.6.x allows teachers or teaching assistants on the PC to drop local images to the whiteboard area and insert the images into the whiteboard.
Dynamic Size, Resize and Place Teacher Video inside the Classroom
v2.6.x allows teachers to freely drag and drop their own video and the video of students within the classroom window. Teachers can also resize a video window by double-clicking it. Whatever actions the teacher takes with their video window, students will see.
Hiding the stage area
v2.6.x adds a button in the settings of small classrooms, which enables teachers to hide the stage area. After the stage is hidden, the following things occur:
- All videos are disabled.
- All students automatically steps down from the stage.
- The whiteboard is scaled up to fit the classroom.
Saving whiteboard contents as images
v2.6.x allows teachers and teaching assistants to save contents on the whiteboard to their local device as JPG images.
Adding web links as courseware
v2.6.x allows teachers to add web links, such as YouTube links and Google Drive links, in My Resources. The suffix of such kind of courseware is
.alf, which is the abbreviation of agora link file. After the upload succeeds, the teacher can open the courseware in the classroom.
This release fixed the following issues:
- (iOS) Crashes occurred when receiving a global announcement.
- (iOS) In small classrooms, the teacher did not select the brush, but red lines appeared on the whiteboard.
- (iOS) In small classrooms, the teacher double-clicked the settings, chat, or roster buttons, the color of these buttons did not change.
- (Android) In small classrooms, after a student joined a sub-room and invited the teacher to join the same sub-room, the teacher entered the wrong sub-room.
- (All) In small classrooms, before any student joined the classroom, the teacher started and ended the breakout room session. Then after a student joined the classroom, when the teacher re-started the breakout room session, the 500 error occurred.
v2.4.x was released on June 2, 2022.
Breakout rooms (Web only)
v2.4.x adds the "Breakout rooms" feature in the toolbox of small classrooms. With breakout rooms, students can get together in small groups for discussion and brainstorming sessions. The teacher manually assigns students to each breakout room. A class supports up to 20 breakout rooms with a maximum of 17 members in each room. The features that are available in breakout rooms include real-time audio and video interaction, messaging, whiteboarding, and screen sharing.
After the breakout session begins, the teacher and teaching assistants have the ability to dynamically join or leave any of the breakout rooms. They can also send announcements to all the breakout rooms. Students are notified in their chat to check for the announcements.
Support for the teacher role on Android and iOS clients
v2.4.x duplicates the features of the teacher role on desktop experience for Web, macOS, and Windows on mobile clients (Android and iOS).
- Enabling screen sharing
- Starting pop-up quizzes
- Starting polls
- Starting the countdown timer
Ability to turn the whiteboard on and off in the classroom
v2.4.x adds the ability to turn the whiteboard on or off in one-on-one classrooms, small classrooms, and lecture halls. By default, after the whiteboard is turned off, the teacher's video is displayed in the whiteboard area. Developers are also able to use UIStore or UIKit to customize the classroom layout when the whiteboard is off.
This release includes the following improvements:
- Optimizes widgets: v2.4.x optimizes the internal technical architecture of the three widgets: Pop-up Quiz, Poll, and Countdown Timer for the higher stability and better end-user experience. In addition, v2.4.x enables developers to get the data of pop-up quizzes and polls through RESTful APIs. For details, see the RESTful API reference.
- Improves the compatibility of the Web client: The Web client is now supported on the desktop version of Firefox.
- Optimizes the cloud storage: v2.4.x optimizes the business logic and UI of the cloud storage feature in Flexible Classroom.
- Optimizes the whiteboard: v2.4.x adds laser pointer, undo, redo, and one-click screen-clearing features on the whiteboard in Flexible Classroom.
- Reward enhancements: The teacher can now extend and remove student rewards dynamically during a class session.
This release fixed the following issues:
- When the teacher moved a file or a tool on the whiteboard, the movement might not be synchronized on the students' side.
- Logging in to the IM module occasionally failed.
- Loading a file failed when the format of the file was not supported.
v2.1.0 was released on February 23, 2022.
In v2.1.0, Agora fully optimizes the internal architecture of Flexible Classroom. Compared to earlier versions, v2.1.0 has the following advantages:
- Answer Selector (Pop-up Quiz), Polling Feature, Countdown Timer, Mobile HTML5 Support, and ability to turn the whiteboard on or off in the classroom.
- Video Gallery Rotation: Ability for teachers to configure the classroom setting to automatically rotate the on-stage student gallery view without attempting to scroll or page through the class participants.
Lecture Hall: Expands audience capacity up to 5,000 students, from 1,000 in the last version.
- Adds support for Safari on desktop and iPad, as well as for Chrome on the iPad.
- Introduces EDUClassroomUIStore for customizing the classroom UI, which replaces the UIKit in previous versions.
Android and iOS clients:
Redesigns contexts for better abstraction of modular features in Flexible Classroom, where each context can be controlled separately.
Refactors context APIs with the following improvements:
- Renamed APIs and parameters for intuitiveness, understandability, and consistency.
- Improved flexibility of API calling.
- More APIs for developers to customize their own features.
If you have made changes to your Flexible Classroom UI in earlier versions, in order to migrate to v2.1.0, Agora recommends you create a new project based on v2.1.0 and re-implement the UI changes. Please refer to the following Flexible Classroom v2.1.0 migration guides:
If you encounter any problem during the migration process, or need to migrate from Flexible Classroom earlier than v1.1.5, please contact email@example.com so that Agora technical support team can help.
Answer selector and polling feature
To increase engagement and enhance interactivity, v2.1.0 adds the following teaching tools:
- Answer selector: This tool is applicable to scenarios where the teacher asks a single-choice or multiple-choice question and requests the whole class to answer the question together. The teacher can set up the choices and the correct answer, and then trigger answering. The teacher can see the number of students who have submitted an answer and the percentage that are correct in real time.
- Polling: This tool is applicable to scenarios where the teacher wants to get feedback from the whole class. The teacher can set up the subject, choices, and start and end time of the poll. Flexible Classroom also provides live visualization of polling results.
Ability to turn the whiteboard on or off in the classroom
As of v2.1.0, Agora supports turning the whiteboard on or off in the classroom. For details, see Turn the Whiteboard on or off in the Classroom. When using the APIs for this feature, after the whiteboard is closed, developers can use Flexible Classroom UIKit or UIStore to customize their unique classroom with their desired video gallery to fill the classroom window.
Video gallery rotation
Flexible Classroom gives teachers the ability to configure the classroom settings for improved student engagement and video. The Video Gallery Rotation feature lets the teacher automatically rotate the on-stage student gallery view at a desired frequency and sequence, thus eliminating the need for the teacher to scroll or page through the class participants.
Mobile HTML5 support
As of v2.1.0, students can join a lecture hall in Flexible Classroom simply by clicking on a shared webpage link within some mobile social applications that use a web view. After joining the classroom on mobile devices, students can do the following things:
- Watch and hear the teacher's lecture, as well as presentations by students "on the stage".
- View the whiteboard and the screen shared by the teacher.
- Send messages to chat with other participants in the classroom.
- Engage in class activities such as polling, answering, and viewing the teacher's count down clock.
v2.1.0 makes the following improvements:
- Optimizes the business logic and UI of various features in Flexible Classroom, such as students "raising their hands" for permission to speak, the class roster, and in-class reminders.
- Increases the upper limit on the number of users in a lecture hall to 5,000.
- Improves the compatibility of the Web client. The Web client is now supported on Safari for the desktop and iPad, as well as on Chrome for the iPad.
- Supports displaying thumbnails and animations for the PPT files opened in the classroom.
- When a classroom is being recorded, the recording button changes to red.
v2.1.0 fixed the following issues:
- (All platforms) The Video SDK and whiteboard usage occurred in Flexible Classroom was not showed in Agora Console.
- (Web) Occasional failure to record the whiteboard contents in a small classroom.
- (Web) Occasional failure to send a massage in a small classroom.
- (Web) After the teacher joined a lecture hall, there was a possibility that the whiteboard was not loaded successfully.
- (Web/Windows/macOS) Sometimes in a lecture hall, a student "raised a hand" to apply for making a presentation, an error occurred. And the teacher did not receive the application.
- (Web/Windows/macOS) In a small classroom, a student went onto the "stage" and turned on the video. After the student left the room, the student's video did not disappear immediately.
- (Windows) When a student left and rejoined the room, the student could not see the room announcement published by the teacher.
- (Windows) In a one-to-one classroom, the student's video occasionally went black.
- (iOS) When the teacher displayed a PPT that contained audio and video, the student on iOS sometimes neither heard the audio nor saw the video.
- (Android) In a small classroom, sometimes if a student on Android left and rejoined the room, the student could not see the teacher's video.
v184.108.40.206 was released on October 20, 2021.
Support for customizing the video encoding configurations
As of v220.127.116.11, developers can customize the video encoding configurations, including the width, height, frame rate, and bitrate. When calling the
launch method, developers can set the
videoEncoderConfig parameter in
mediaOptions to customize the encoding configurations for the video stream captured by a camera or the screen-sharing video stream.
The recommended video encoding configurations are as follows:
- One-to-one Classroom: 320x240, 200 Kbps, and 15 fps.
- Small Classroom and Lecture Hall: 160x120, 65 Kbps, and 15 fps, if the number of students in a classroom who send their video stream at the same time is less than or equal to six.
Students automatically going onto the "stage"
v18.104.22.168 adds the feature of students automatically going onto the "stage" in the Small Classroom scenario. Once the teacher or TA enables this feature, students go onto the "stage" at specified intervals.
Support for setting the latency level of a receiver
As of v22.214.171.124, developers can set the latency level of an audience member. By default, the latency level is ultra-low. Developers can set the
latencyLevel parameter in the
launch method to change the latency level:
- Ultra-low latency: The latency from the sender to the receiver is 400 ms to 800 ms.
- Low latency: The latency from the sender to the receiver is 1500 ms to 2000 ms.
The charges for low latency and ultra-low latency are different. For details, see the pricing page.
Support for setting whether students automatically send streams after going onto the "stage"
v126.96.36.199 allows developers to control whether students automatically send audio or video streams after they go onto the "stage". By default, students do not send audio nor video streams after they go onto the "stage". You can change the default behavior by setting the
streamState parameter when calling
Pre-class device test and local video preview
As of v188.8.131.52, Flexible Classroom adds the Media Context API to allow developers to implement the pre-class test module, with which students can check whether their camera and microphone are functioning correctly and preview how they look and sound before they join a class.
The countdown timer
v184.108.40.206 adds a countdown timer in Flexible Classroom. The teacher can find the countdown time in the toolbox and set an initial value. After the teacher clicks the start button, students see a countdown window.
Support for media device management
As of v220.127.116.11, students can control whether local cameras, microphones, and speakers are on or off during the class. Agora adds the
IDeviceHandler classes in the Agora Edu Context and provides methods and callbacks for local device control.
Teachers making notes on their shared screen
As of v18.104.22.168, teachers can make notes notes on the screen that they share with the basic whiteboard tools.
Support for custom user properties and classroom properties
As of v22.214.171.124, developers can customize properties for users and classrooms. These properties can be updated, and the updates can be monitored. For example, developers can set the profile photo as a custom user property. To support this feature, Agora makes the following changes to the Agora Edu Context:
- Add the
RoomContextfor adding or updating custom classroom properties.
- Add the
IRoomHandlerfor indicating the initial custom classroom properties and subsequent classroom property changes.
- Add the
- Add the
AgoraEduLaunchConfigfor passing in custom user properties when launching a classroom.
- Add the
UserContextfor adding or updating custom user properties.
- Add the
IEduUserHandlerfor indicating user property changes.
- Add the
- To optimize the PPT display on the students' clients, v126.96.36.199 adds the
AgoraEduLaunchConfigfor setting the PPT display mode. By default, the PPT display mode is fit, which means uniformly scaling the PPT until one of its dimensions fits the boundary. Developers can change the
Retainwhen calling the
launchmethod. In this mode, if the student manually adjusts the PPT size, the client maintains this size no matter what class the student joins.
- As of v188.8.131.52, Flexible Classroom supports displaying HTML5 courseware on the whiteboard.
v184.108.40.206 was released on July 7, 2021.
To ensure the security during real-time audio and video transmission, v220.127.116.11 adds the
mediaOptions parameter in AgoraEduLaunchConfig for supporting media stream encryption. By default, Flexible Classroom does not encrypt the media stream. To enable media encryption, use the
mediaOptions parameter to choose an encryption mode and set the encryption key. Flexible Classroom supports the following encryption modes:
AES_128_XTS: 128-bit AES encryption, XTS mode.
AES_128_ECB: 128-bit AES encryption, ECB mode.
AES_256_XTS: 256-bit AES encryption, XTS mode.
AES_128_GCM: 128-bit AES encryption, GCM mode.
AES_256_GCM: 256-bit AES encryption, GCM mode.
v18.104.22.168 fixes the issue that the default region was not NA (North America).
v1.1.0 was released on June 18, 2021. This is the first release of Agora Flexible Classroom with the following features:
- Real-time audio and video interaction
- Interactive whiteboard
- Screen sharing
- Recording and replay
- Teaching tools, including cloud storage, classroom rewards, and the user list
- Customizing the classroom user interfaces and embedding custom plugins in classrooms
- Flexible Classroom cloud service for classroom and user management