NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5198 most downloaded on PyPI
OpenTok server-side SDK
Last release 18 days ago
16 Sep 2026
Release timing varies
gaps range from 2 weeks to 9 months
Nearly every release is documented
notes for 35 of 36 stable releases
Nothing withdrawn
no release was ever pulled
13 years old
39 releases · first in 2013
feat: Updates the implementation for the Archives feature in order to add support for post-call transcription. #270
feat: Add support for AudioTransport by @alfonso-soto in #267
Full Changelog: v3.13.0...v3.14.0
One column per quarter.
audio_transport options object, which enables the setting of specific options for audio transport when streaming audio over a WebSocket connection.feat: Add quantization parameter by @dragonmantank in #257
Full Changelog: v3.12.0...v3.13.0
quantization_parameter option for archives to control video encoding quality. Values between 15-40, where smaller values generate higher quality and larger archives, larger values generate lower quality and smaller archives. QP uses variable bitrate (VBR).feat: Add bidirectional flag by @dragonmantank in #256
Full Changelog: v3.11.1...v3.12.0
bidirectional option, which enables bidirectional audio streaming over the WebSocket connection.Support 202 response when starting captions
OpenTok SDK now accepts Vonage credentials so it's possible to use the existing OpenTok SDK with the Vonage Video API
Opentok.create_session methodAdd new max_bitrate option for archives
max_bitrate option for archivesClient.generate_token method. T1 tokens can still be created by setting use_jwt=False when generating a token.Migrate from using python-jose with native-python cryptographic backend to the pyjwt package
python-jose with native-python cryptographic backend to the pyjwt packageFix a bug with SIP options in the Opentok.dial method
Opentok.dial methodAdd publisher_only role that can be specified when generating a token.
publisher_only role that can be specified when generating a token.Fixed an issue with the opentok.create_session method
opentok.create_session methodAdded support for the Captions API
Fixed an issue with end-to-end encryption not being called correctly when creating a new session
Added the maxBitrate parameter to the Client.start_broadcast method
maxBitrate parameter to the Client.start_broadcast methodhlsStatus parameter to the Broadcast objectstreams parameter so specific streams can be chosen to be included in a SIP call when using the Client.dial methodFixed broken opentok.Client.add_archive_stream, opentok.Client.remove_archive_stream, opentok.Client.add_broadcast_stream and opentok.Client.remove_br
opentok.Client.add_archive_stream, opentok.Client.remove_archive_stream, opentok.Client.add_broadcast_stream and opentok.Client.remove_broadcast_stream methods and testsopentok.Endpoints.get_archive_stream and opentok.Endpoints.get_broadcast_stream methodsAdded auto-archive improvements to the opentok.Client.create_session method to customize automatically created archives:
opentok.Client.create_session method
to customize automatically created archives:
archive_name parameterarchive_resolution parameteropentok.Client.append_to_user_agent('my-appended-string')
hasAudio and hasVideo
when starting a broadcast or adding new streams to a broadcast.Support for end-to-end encryption (E2EE) that can be specified by a user when creating an OpenTok session.
Support for Audio Connector API via connect_audio_to_websocket method
Support for Experience Composer (Render) API
start_archive and start_broadcast methodsMute all and mute stream functionality #192, #197, #199
Added mute/muteall functionality
## Added * #188 - Added support for archive layouts, as well as the new screenshareType option for screenshare layouts
screenshareType option for screenshare layoutsFixed readme.rst not displaying properly on Pypi
readme.rst not displaying properly on PypiThank you for your support and we are definitely excited to release even more exciting updates!! Stay tuned!!
Verb to Noun format to make the SDK code more human-readable and maintain consistency with industry standard
Add Broadcast APIs Thanks @normanargueta!
Added Set Stream Class Lists API
Thanks @normanargueta!
List Archives filtration by sessionId
Added resolution parameter for start_archive Added signal API Added force_disconnect API Added get_stream API Added list_streams API
Added resolution parameter for start_archive
Added signal API
Added force_disconnect API
Added get_stream API
Added list_streams API
Thanks @normanargueta and @maikthomas
Add timeout option to opentok constructor (#117, #57 Thanks @tylergould!)
Exceptions now inherit from Exception instead of BaseException (#115, thanks @fernandogrd)
Changes:
Exception instead of BaseException (#115, thanks @fernandogrd)As well as:
initial_layout_class_list param for the generate_token function (#112)Adds support for JWT `X-OPENTOK-AUTH` header, replacing the deprecated `X-TB-PARTNER-AUTH` header
This updates includes the following changes:
initial_layout_class_list field in tokensX-OPENTOK-AUTH header, replacing the deprecated X-TB-PARTNER-AUTH header/project/ replacing the deprecated /partner/As well as:
This update adds support for the initial_layout_class_list field in tokens.
This update adds support for the initial_layout_class_list field in tokens.
This update adds version information to the User-Agent string for analytics
This update adds version information to the User-Agent string for analytics (#78)
This update adds proxy configuration as a feature of the OpenTok object. (thanks @juandebravo!)
This update adds proxy configuration as a feature of the OpenTok object. (thanks @juandebravo!)
Here is an example of using proxy configuration:
from opentok import OpenTok
opentok = OpenTok(api_key, api_secret)
opentok.proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080",
}
session = opentok.create_session()
The format for the proxy configuration is identical to the format used by the underlying requests library.
Automatically archived sessions -- See the archive_mode parameter of the opentok.create_session() method and the ArchiveModes class.
New archiving features:
archive_mode parameter of the opentok.create_session() method and the ArchiveModes class.has_audio and has_video parameters of the opentok.start_archive() method.output_mode parameter of the opentok.start_archive() method and the OutputModes class.archive.status.Other improvements:
Nothing published for this version
The default setting for the create_session() method is to create a session with the media mode set to relayed. In previous versions of the SDK, the de
The default setting for the create_session() method is to create a session with the media mode set
to relayed. In previous versions of the SDK, the default setting was to use the OpenTok Media Router
(media mode set to routed). In a relayed session, clients will attempt to send streams directly
between each other (peer-to-peer); if clients cannot connect due to firewall restrictions, the
session uses the OpenTok TURN server to relay audio-video streams.
This version of the SDK includes support for working with OpenTok 2.0 archives. (This API does not work with OpenTok 1.0 archives.)
This version of the SDK includes support for working with OpenTok 2.0 archives. (This API does not work with OpenTok 1.0 archives.)
The OpenTok.create_session() method now includes a media_mode parameter, instead of a p2p parameter.
For details, see the reference documentation at http://www.tokbox.com/opentok/libraries/server/python/reference/index.html.
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →