diff --git a/CI/macos/obs-websocket.pkgproj b/CI/macos/obs-websocket.pkgproj
index 7c574505..96e022d2 100644
--- a/CI/macos/obs-websocket.pkgproj
+++ b/CI/macos/obs-websocket.pkgproj
@@ -518,7 +518,7 @@
OVERWRITE_PERMISSIONS
VERSION
- 4.9.0
+ 4.9.1
PROJECT_COMMENTS
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 56f3605d..9ed89c27 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,5 +1,5 @@
cmake_minimum_required(VERSION 3.5)
-project(obs-websocket VERSION 4.9.0)
+project(obs-websocket VERSION 4.9.1)
set(CMAKE_PREFIX_PATH "${QTDIR}")
set(CMAKE_INCLUDE_CURRENT_DIR ON)
diff --git a/docs/partials/introduction.md b/docs/partials/introduction.md
index 733360ee..a353b5e6 100644
--- a/docs/partials/introduction.md
+++ b/docs/partials/introduction.md
@@ -1,4 +1,4 @@
-# obs-websocket 4.9.0 protocol reference
+# obs-websocket 4.9.1 protocol reference
# General Introduction
Messages are exchanged between the client and the server as JSON objects.
diff --git a/installer/installer.iss b/installer/installer.iss
index 0109c12d..391a808c 100644
--- a/installer/installer.iss
+++ b/installer/installer.iss
@@ -2,7 +2,7 @@
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "obs-websocket"
-#define MyAppVersion "4.9.0"
+#define MyAppVersion "4.9.1"
#define MyAppPublisher "Stephane Lepin"
#define MyAppURL "http://github.com/Palakis/obs-websocket"
diff --git a/src/WSEvents.cpp b/src/WSEvents.cpp
index 6ad1e875..c90360b6 100644
--- a/src/WSEvents.cpp
+++ b/src/WSEvents.cpp
@@ -790,7 +790,7 @@ void WSEvents::OnRecordingResumed() {
* @api events
* @name VirtualCamStarted
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
void WSEvents::OnVirtualCamStarted() {
broadcastUpdate("VirtualCamStarted");
@@ -802,7 +802,7 @@ void WSEvents::OnVirtualCamStarted() {
* @api events
* @name VirtualCamStopped
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
void WSEvents::OnVirtualCamStopped() {
broadcastUpdate("VirtualCamStopped");
diff --git a/src/WSRequestHandler_General.cpp b/src/WSRequestHandler_General.cpp
index b08023d0..2dec543f 100644
--- a/src/WSRequestHandler_General.cpp
+++ b/src/WSRequestHandler_General.cpp
@@ -483,7 +483,7 @@ RpcResponse WSRequestHandler::ExecuteBatch(const RpcRequest& request) {
* @api requests
* @name Sleep
* @category general
- * @since unreleased
+ * @since 4.9.1
*/
RpcResponse WSRequestHandler::Sleep(const RpcRequest& request) {
if (!request.hasField("sleepMillis")) {
diff --git a/src/WSRequestHandler_Sources.cpp b/src/WSRequestHandler_Sources.cpp
index c0085884..c60838f7 100644
--- a/src/WSRequestHandler_Sources.cpp
+++ b/src/WSRequestHandler_Sources.cpp
@@ -325,7 +325,7 @@ RpcResponse WSRequestHandler::SetVolume(const RpcRequest& request)
* @api requests
* @name SetTracks
* @category sources
-* @since unreleased
+* @since 4.9.1
*/
RpcResponse WSRequestHandler::SetAudioTracks(const RpcRequest& request)
{
@@ -374,7 +374,7 @@ RpcResponse WSRequestHandler::SetAudioTracks(const RpcRequest& request)
* @api requests
* @name GetTracks
* @category sources
-* @since unreleased
+* @since 4.9.1
*/
RpcResponse WSRequestHandler::GetAudioTracks(const RpcRequest& request)
{
@@ -514,7 +514,7 @@ RpcResponse WSRequestHandler::ToggleMute(const RpcRequest& request)
* @api requests
* @name GetSourceActive
* @category sources
-* @since unreleased
+* @since 4.9.1
*/
RpcResponse WSRequestHandler::GetSourceActive(const RpcRequest& request)
{
diff --git a/src/WSRequestHandler_VirtualCam.cpp b/src/WSRequestHandler_VirtualCam.cpp
index 625e5e45..7c7fdccb 100644
--- a/src/WSRequestHandler_VirtualCam.cpp
+++ b/src/WSRequestHandler_VirtualCam.cpp
@@ -13,7 +13,7 @@
* @api requests
* @name GetVirtualCamStatus
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
RpcResponse WSRequestHandler::GetVirtualCamStatus(const RpcRequest& request) {
auto events = GetEventsSystem();
@@ -35,7 +35,7 @@ RpcResponse WSRequestHandler::GetVirtualCamStatus(const RpcRequest& request) {
* @api requests
* @name StartStopVirtualCam
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
RpcResponse WSRequestHandler::StartStopVirtualCam(const RpcRequest& request) {
(obs_frontend_virtualcam_active() ? obs_frontend_stop_virtualcam() : obs_frontend_start_virtualcam());
@@ -49,7 +49,7 @@ RpcResponse WSRequestHandler::StartStopVirtualCam(const RpcRequest& request) {
* @api requests
* @name StartVirtualCam
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
RpcResponse WSRequestHandler::StartVirtualCam(const RpcRequest& request) {
if (obs_frontend_virtualcam_active()) {
@@ -67,7 +67,7 @@ RpcResponse WSRequestHandler::StartVirtualCam(const RpcRequest& request) {
* @api requests
* @name StopVirtualCam
* @category virtual cam
- * @since unreleased
+ * @since 4.9.1
*/
RpcResponse WSRequestHandler::StopVirtualCam(const RpcRequest& request) {
if (!obs_frontend_virtualcam_active()) {
diff --git a/src/obs-websocket.h b/src/obs-websocket.h
index 35eac461..42d42df9 100644
--- a/src/obs-websocket.h
+++ b/src/obs-websocket.h
@@ -57,6 +57,6 @@ WSServerPtr GetServer();
WSEventsPtr GetEventsSystem();
void ShowPasswordSetting();
-#define OBS_WEBSOCKET_VERSION "4.9.0"
+#define OBS_WEBSOCKET_VERSION "4.9.1"
#define blog(level, msg, ...) blog(level, "[obs-websocket] " msg, ##__VA_ARGS__)