Changes of Revision 3
obs-studio.changes
Changed
x
1
2
-------------------------------------------------------------------
3
+Fri Mar 28 22:26:17 UTC 2025 - packman@nordisch.org
4
+
5
+- Update to version 31.0.3:
6
+ * libobs: Update version to 31.0.3
7
+ * libobs: Fix duplicating scene with custom size
8
+ * obs-websocket: Update version to 5.5.6
9
+ * UI: Only emit frontend events for existing scene collection
10
+ * rtmp-services: Add "VRCDN - Live" service
11
+ * rtmp-services: Update Castr.io ingests
12
+ * rtmp-services: Remove defunct servers/services
13
+ * mac-avcapture: Clear memory when creating frame struct
14
+ * obs-browser: Update version to 2.24.6
15
+ * nv-filters: Silence initial load error for Blur
16
+ * nv-filters: Remove reset signal for Video effects
17
+ * nv-filters: Fix CudaStream used in Video effects
18
+ * nv-filters: Reallocate state when resetting AIGS filters
19
+ * nv-filters: Fix destruction of Background Blur effect
20
+ * nv-filters: Set max effective threshold to 0.95 for Background removal
21
+ * obs-nvenc: Fix incorrect CUDA array size allocation
22
+ * libobs: Reset reconnecting state when can_reconnect is false
23
+ * Revert "libobs: Do not allow reconnect if stop code is OBS_OUTPUT_INVALID_STREAM"
24
+ * CI: Use rebuilt CEF to avoid memory allocation crashes on macOS
25
+ * win-capture: Add FragPunk to compatibility list
26
+ * rtmp-services: Remove unresponsive servers
27
+
28
+-------------------------------------------------------------------
29
Fri Mar 07 23:49:06 UTC 2025 - packman@nordisch.org
30
31
- Update to version 31.0.2:
32
obs-studio.spec
Changed
10
1
2
%endif
3
4
Name: obs-studio
5
-Version: 31.0.2
6
+Version: 31.0.3
7
Release: 0
8
Summary: A recording/broadcasting program
9
Group: Productivity/Multimedia/Video/Editors and Convertors
10
_service
Changed
10
1
2
<services>
3
<service name="tar_scm" mode="disabled">
4
<param name="versionformat">@PARENT_TAG@</param>
5
- <param name="revision">31.0.2</param>
6
+ <param name="revision">31.0.3</param>
7
<param name="url">https://github.com/obsproject/obs-studio.git</param>
8
<param name="versionrewrite-pattern">(\.\d+)-(a-z.*)</param>
9
<param name="versionrewrite-replacement">\1~\2</param>
10
_servicedata
Changed
10
1
2
<servicedata>
3
<service name="tar_scm">
4
<param name="url">https://github.com/obsproject/obs-studio.git</param>
5
- <param name="changesrevision">e6137e15e0fb26b3aa47a66df28e9f056d54b9af</param>
6
+ <param name="changesrevision">fcd1910bf5116b69404a6ecdda6efedd1d00ebdf</param>
7
</service>
8
</servicedata>
9
\ No newline at end of file
10
obs-studio-31.0.2.tar.xz/UI/window-basic-main.cpp -> obs-studio-31.0.3.tar.xz/UI/window-basic-main.cpp
Changed
20
1
2
disableSaving++;
3
}
4
5
- disableSaving--;
6
if (foundCollection || configuredCollection) {
7
+ disableSaving--;
8
OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_LIST_CHANGED);
9
OnEvent(OBS_FRONTEND_EVENT_SCENE_COLLECTION_CHANGED);
10
+ OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED);
11
+ OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
12
+ disableSaving++;
13
}
14
- OnEvent(OBS_FRONTEND_EVENT_SCENE_CHANGED);
15
- OnEvent(OBS_FRONTEND_EVENT_PREVIEW_SCENE_CHANGED);
16
- disableSaving++;
17
}
18
19
loaded = true;
20
obs-studio-31.0.2.tar.xz/buildspec.json -> obs-studio-31.0.3.tar.xz/buildspec.json
Changed
21
1
2
"baseUrl": "https://cdn-fastly.obsproject.com/downloads",
3
"label": "Chromium Embedded Framework",
4
"hashes": {
5
- "macos-x86_64": "02478ad91d284d7717ea48aad90c4ecbe90f8c6a982c48861aa149b7466505eb",
6
- "macos-arm64": "6a1084a985366f3f0695b1ecd902d326a2d6f286a067935d83567d4fe94bf62b",
7
+ "macos-x86_64": "d494f1a18746ae65846853c844c1dcf5efa2348e0f422bcbd97059a536f24496",
8
+ "macos-arm64": "1bb59dbb759150e170796f641a4a84c59c0dea4ffef89477e9d811520af5d15a",
9
"ubuntu-x86_64": "cb7225c7a937ac4cdc9c41700061f45cccc640d696902357782e57f8250bf43a",
10
"ubuntu-aarch64": "f92df7f076bdc8cac2e3c77e27be418008b7168723201cb73fdbc2f6d91bc778",
11
"windows-x64": "922efbda1f2f8be9e5b2754d878a14d90afc81f04e94fc9101a7513e2b5cecc1"
12
},
13
"revision": {
14
- "macos-x86_64": 2,
15
- "macos-arm64": 2,
16
+ "macos-x86_64": 3,
17
+ "macos-arm64": 3,
18
"ubuntu-x86_64": 3,
19
"ubuntu-aarch64": 3,
20
"windows-x64": 2
21
obs-studio-31.0.2.tar.xz/libobs/obs-config.h -> obs-studio-31.0.3.tar.xz/libobs/obs-config.h
Changed
10
1
2
*
3
* Reset to zero each major or minor version
4
*/
5
-#define LIBOBS_API_PATCH_VER 2
6
+#define LIBOBS_API_PATCH_VER 3
7
8
#define MAKE_SEMANTIC_VERSION(major, minor, patch) ((major << 24) | (minor << 16) | patch)
9
10
obs-studio-31.0.2.tar.xz/libobs/obs-output.c -> obs-studio-31.0.3.tar.xz/libobs/obs-output.c
Changed
21
1
2
{
3
bool reconnect_active = output->reconnect_retry_max != 0;
4
5
- return code != OBS_OUTPUT_INVALID_STREAM && ((reconnecting(output) && code != OBS_OUTPUT_SUCCESS) ||
6
- (reconnect_active && code == OBS_OUTPUT_DISCONNECTED));
7
+ return (reconnecting(output) && code != OBS_OUTPUT_SUCCESS) ||
8
+ (reconnect_active && code == OBS_OUTPUT_DISCONNECTED);
9
}
10
11
void obs_output_signal_stop(obs_output_t *output, int code)
12
13
} else {
14
if (delay_active(output))
15
os_atomic_set_bool(&output->delay_active, false);
16
+ if (reconnecting(output))
17
+ os_atomic_set_bool(&output->reconnecting, false);
18
obs_output_end_data_capture(output);
19
}
20
}
21
obs-studio-31.0.2.tar.xz/libobs/obs-scene.c -> obs-studio-31.0.3.tar.xz/libobs/obs-scene.c
Changed
16
1
2
new_scene = make_private ? create_private_id(scene->source->info.id, name)
3
: create_id(scene->source->info.id, name);
4
5
+ new_scene->is_group = scene->is_group;
6
+ new_scene->custom_size = scene->custom_size;
7
+ new_scene->cx = scene->cx;
8
+ new_scene->cy = scene->cy;
9
+ new_scene->absolute_coordinates = scene->absolute_coordinates;
10
+ new_scene->last_width = scene->last_width;
11
+ new_scene->last_height = scene->last_height;
12
+
13
obs_source_copy_filters(new_scene->source, scene->source);
14
15
obs_data_apply(new_scene->source->private_settings, scene->source->private_settings);
16
obs-studio-31.0.2.tar.xz/plugins/mac-avcapture/plugin-main.m -> obs-studio-31.0.3.tar.xz/plugins/mac-avcapture/plugin-main.m
Changed
12
1
2
capture_data->isFastPath = false;
3
capture_data->settings = settings;
4
capture_data->source = source;
5
- capture_data->videoFrame = bmalloc(sizeof(OBSAVCaptureVideoFrame));
6
- capture_data->audioFrame = bmalloc(sizeof(OBSAVCaptureAudioFrame));
7
+ capture_data->videoFrame = bzalloc(sizeof(OBSAVCaptureVideoFrame));
8
+ capture_data->audioFrame = bzalloc(sizeof(OBSAVCaptureAudioFrame));
9
10
OBSAVCapture *capture = OBSAVCapture alloc initWithCaptureInfo:capture_data;
11
12
obs-studio-31.0.2.tar.xz/plugins/nv-filters/nvidia-videofx-filter.c -> obs-studio-31.0.3.tar.xz/plugins/nv-filters/nvidia-videofx-filter.c
Changed
118
1
2
bool processed_frame;
3
bool target_valid;
4
bool got_new_frame;
5
- signal_handler_t *handler;
6
7
/* RTX SDK vars */
8
NvVFX_Handle handle;
9
10
if (filter->strength != strength) {
11
filter->strength = strength;
12
vfxErr = NvVFX_SetF32(filter->handle_blur, NVVFX_STRENGTH, filter->strength);
13
+ vfxErr = NvVFX_Load(filter->handle_blur);
14
}
15
- vfxErr = NvVFX_Load(filter->handle_blur);
16
- if (NVCV_SUCCESS != vfxErr)
17
- error("Error loading blur FX %i", vfxErr);
18
}
19
}
20
21
22
NvCVImage_Destroy(filter->blur_dst_img);
23
}
24
}
25
- if (filter->stream)
26
- NvVFX_CudaStreamDestroy(filter->stream);
27
- if (filter->stream_blur)
28
- NvVFX_CudaStreamDestroy(filter->stream_blur);
29
30
if (filter->handle) {
31
if (filter->stateObjectHandle) {
32
33
if (filter->handle_blur) {
34
NvVFX_DestroyEffect(filter->handle_blur);
35
}
36
+ if (filter->stream)
37
+ NvVFX_CudaStreamDestroy(filter->stream);
38
+ if (filter->stream_blur)
39
+ NvVFX_CudaStreamDestroy(filter->stream_blur);
40
41
if (filter->effect) {
42
obs_enter_graphics();
43
44
filter->height = 0;
45
filter->initial_render = false;
46
os_atomic_set_bool(&filter->processing_stop, false);
47
- filter->handler = NULL;
48
filter->processing_interval = 1;
49
filter->processing_counter = 0;
50
// set nvvfx_fx_id
51
52
53
os_atomic_set_bool(&filter->processing_stop, true);
54
// A first destroy
55
- if (filter->stream) {
56
- NvVFX_CudaStreamDestroy(filter->stream);
57
- }
58
- if (filter->stream_blur) {
59
- NvVFX_CudaStreamDestroy(filter->stream_blur);
60
- }
61
if (filter->handle) {
62
if (filter->stateObjectHandle) {
63
NvVFX_DeallocateState(filter->handle, filter->stateObjectHandle);
64
65
if (filter->handle_blur) {
66
NvVFX_DestroyEffect(filter->handle_blur);
67
}
68
+ if (filter->stream) {
69
+ NvVFX_CudaStreamDestroy(filter->stream);
70
+ }
71
+ if (filter->stream_blur) {
72
+ NvVFX_CudaStreamDestroy(filter->stream_blur);
73
+ }
74
// B recreate
75
/* 1. Create FX */
76
/* 2. Set models path & initialize CudaStream */
77
78
vfxErr = NvVFX_Load(filter->handle);
79
if (NVCV_SUCCESS != vfxErr)
80
error("Error loading NVIDIA Video FX %i", vfxErr);
81
- vfxErr = NvVFX_ResetState(filter->handle, filter->stateObjectHandle);
82
+ // reallocate state object
83
+ vfxErr = NvVFX_AllocateState(filter->handle, &filter->stateObjectHandle);
84
+ vfxErr = NvVFX_SetStateObjectHandleArray(filter->handle, NVVFX_STATE, &filter->stateObjectHandle);
85
}
86
if (filter->filter_id != S_FX_AIGS) {
87
vfxErr = NvVFX_SetF32(filter->handle_blur, NVVFX_STRENGTH, filter->strength);
88
89
}
90
91
/* 2. Convert to BGR. */
92
- vfxErr = NvCVImage_Transfer(filter->src_img, filter->BGR_src_img, 1.0f, filter->stream_blur, filter->stage);
93
+ vfxErr = NvCVImage_Transfer(filter->src_img, filter->BGR_src_img, 1.0f, process_stream, filter->stage);
94
if (vfxErr != NVCV_SUCCESS) {
95
const char *errString = NvCV_GetErrorStringFromCode(vfxErr);
96
error("Error converting src to BGR img; error %i: %s", vfxErr, errString);
97
98
gs_effect_set_texture_srgb(filter->blur_param, filter->blur_texture);
99
} else {
100
gs_effect_set_texture(filter->mask_param, filter->alpha_texture);
101
- gs_effect_set_float(filter->threshold_param, filter->threshold);
102
+ gs_effect_set_float(filter->threshold_param, min(filter->threshold, 0.95f));
103
}
104
gs_effect_set_texture_srgb(filter->image_param, gs_texrender_get_texture(filter->render));
105
106
107
return;
108
}
109
110
- if (parent && !filter->handler) {
111
- filter->handler = obs_source_get_signal_handler(parent);
112
- signal_handler_connect(filter->handler, "update", nvvfx_filter_reset, filter);
113
- }
114
-
115
/* 1. Render to retrieve texture. */
116
if (!filter->render) {
117
obs_source_skip_video_filter(filter->context);
118
obs-studio-31.0.2.tar.xz/plugins/obs-browser/browser-client.cpp -> obs-studio-31.0.3.tar.xz/plugins/obs-browser/browser-client.cpp
Changed
22
1
2
void BrowserClient::OnRenderProcessTerminated(CefRefPtr<CefBrowser>, TerminationStatus, int,
3
const CefString &error_string)
4
{
5
+ if (!valid())
6
+ return;
7
+
8
std::string str_text = error_string;
9
- blog(LOG_ERROR, "obs-browser: '%s' Webpage has crashed unexpectedly! Reason: '%s'",
10
- obs_source_get_name(bs->source), str_text.c_str());
11
+
12
+ const char *sourceName = "<unknown>";
13
+
14
+ if (bs && bs->source)
15
+ sourceName = obs_source_get_name(bs->source);
16
+
17
+ blog(LOG_ERROR, "obs-browser: '%s' Webpage has crashed unexpectedly! Reason: '%s'", sourceName,
18
+ str_text.c_str());
19
}
20
21
CefResourceRequestHandler::ReturnValue BrowserClient::OnBeforeResourceLoad(CefRefPtr<CefBrowser>, CefRefPtr<CefFrame>,
22
obs-studio-31.0.2.tar.xz/plugins/obs-browser/browser-version.h -> obs-studio-31.0.3.tar.xz/plugins/obs-browser/browser-version.h
Changed
10
1
2
3
#define OBS_BROWSER_VERSION_MAJOR 2
4
#define OBS_BROWSER_VERSION_MINOR 24
5
-#define OBS_BROWSER_VERSION_PATCH 5
6
+#define OBS_BROWSER_VERSION_PATCH 6
7
8
#ifndef MAKE_SEMANTIC_VERSION
9
#define MAKE_SEMANTIC_VERSION(major, minor, patch) ((major << 24) | (minor << 16) | patch)
10
obs-studio-31.0.2.tar.xz/plugins/obs-browser/obs-browser-plugin.cpp -> obs-studio-31.0.3.tar.xz/plugins/obs-browser/obs-browser-plugin.cpp
Changed
12
1
2
BrowserShutdown();
3
#else
4
if (manager_thread.joinable()) {
5
- while (!QueueCEFTask(() { CefQuitMessageLoop(); }))
6
- os_sleep_ms(5);
7
+ if (!QueueCEFTask(() { CefQuitMessageLoop(); }))
8
+ blog(LOG_DEBUG, "obs-browser: Failed to post CefQuit task to loop");
9
10
manager_thread.join();
11
}
12
obs-studio-31.0.2.tar.xz/plugins/obs-nvenc/nvenc-cuda.c -> obs-studio-31.0.3.tar.xz/plugins/obs-nvenc/nvenc-cuda.c
Changed
12
1
2
desc.Height += enc->cy / 2;
3
break;
4
case NV_ENC_BUFFER_FORMAT_YUV420_10BIT:
5
- desc.Format = CU_AD_FORMAT_UNSIGNED_INT16;
6
+ desc.Format = CU_AD_FORMAT_UNSIGNED_INT16; // 2 bytes per element
7
desc.Height += enc->cy / 2;
8
- desc.NumChannels = 2; // number of bytes per element
9
break;
10
case NV_ENC_BUFFER_FORMAT_YUV444:
11
desc.Format = CU_AD_FORMAT_UNSIGNED_INT8;
12
obs-studio-31.0.2.tar.xz/plugins/obs-websocket/CMakeLists.txt -> obs-studio-31.0.3.tar.xz/plugins/obs-websocket/CMakeLists.txt
Changed
9
1
2
cmake_minimum_required(VERSION 3.16...3.25)
3
4
-set(obs-websocket_VERSION 5.5.5)
5
+set(obs-websocket_VERSION 5.5.6)
6
set(OBS_WEBSOCKET_RPC_VERSION 1)
7
8
include(cmake/obs-websocket-api.cmake)
9
obs-studio-31.0.2.tar.xz/plugins/obs-websocket/src/eventhandler/EventHandler_Scenes.cpp -> obs-studio-31.0.3.tar.xz/plugins/obs-websocket/src/eventhandler/EventHandler_Scenes.cpp
Changed
11
1
2
{
3
OBSSourceAutoRelease currentScene = obs_frontend_get_current_scene();
4
5
+ if (!currentScene)
6
+ return;
7
+
8
json eventData;
9
eventData"sceneName" = obs_source_get_name(currentScene);
10
eventData"sceneUuid" = obs_source_get_uuid(currentScene);
11
obs-studio-31.0.2.tar.xz/plugins/rtmp-services/data/package.json -> obs-studio-31.0.3.tar.xz/plugins/rtmp-services/data/package.json
Changed
15
1
2
{
3
"$schema": "schema/package-schema.json",
4
"url": "https://obsproject.com/obs2_update/rtmp-services/v5",
5
- "version": 264,
6
+ "version": 268,
7
"files":
8
{
9
"name": "services.json",
10
- "version": 264
11
+ "version": 268
12
}
13
14
}
15
obs-studio-31.0.2.tar.xz/plugins/rtmp-services/data/services.json -> obs-studio-31.0.3.tar.xz/plugins/rtmp-services/data/services.json
Changed
151
1
2
"url": "rtmp://qc.castr.io/static"
3
},
4
{
5
- "name": "SA (Sao Paulo, BR)",
6
+ "name": "Mexico",
7
+ "url": "rtmp://mexico.castr.io/static"
8
+ },
9
+ {
10
+ "name": "Sao Paulo, BR",
11
"url": "rtmp://br.castr.io/static"
12
},
13
{
14
+ "name": "Colombia",
15
+ "url": "rtmp://bogota.castr.io/static"
16
+ },
17
+ {
18
+ "name": "Santiago, Chile",
19
+ "url": "rtmp://santiago.castr.io/static"
20
+ },
21
+ {
22
+ "name": "Istanbul, TR",
23
+ "url": "rtmp://istanbul.castr.io/static"
24
+ },
25
+ {
26
+ "name": "Tel Aviv, IL",
27
+ "url": "rtmp://telaviv.castr.io/static"
28
+ },
29
+ {
30
"name": "EU-West (London, UK)",
31
"url": "rtmp://uk.castr.io/static"
32
},
33
{
34
+ "name": "EU-West (Paris, FR)",
35
+ "url": "rtmp://paris.castr.io/static"
36
+ },
37
+ {
38
+ "name": "EU-West (Madrid, ES)",
39
+ "url": "rtmp://madrid.castr.io/static"
40
+ },
41
+ {
42
"name": "EU-Central (Frankfurt, DE)",
43
"url": "rtmp://fr.castr.io/static"
44
},
45
{
46
+ "name": "EU-Central (Milan, IT)",
47
+ "url": "rtmp://milan.castr.io/static"
48
+ },
49
+ {
50
+ "name": "EU-North (Stockholm, SE)",
51
+ "url": "rtmp://stockholm.castr.io/static"
52
+ },
53
+ {
54
+ "name": "EU-North (Copenhagen, DK)",
55
+ "url": "rtmp://copenhagen.castr.io/static"
56
+ },
57
+ {
58
"name": "Russia (Moscow)",
59
"url": "rtmp://ru.castr.io/static"
60
},
61
62
"url": "rtmp://sg.castr.io/static"
63
},
64
{
65
+ "name": "Asia (Hong Kong, HK)",
66
+ "url": "rtmp://hongkong.castr.io/static"
67
+ },
68
+ {
69
"name": "Asia (India)",
70
"url": "rtmp://in.castr.io/static"
71
},
72
73
"url": "rtmp://au.castr.io/static"
74
},
75
{
76
+ "name": "UAE (Dubai)",
77
+ "url": "rtmp://dubai.castr.io/static"
78
+ },
79
+ {
80
+ "name": "Africa (Johannesburg, ZA)",
81
+ "url": "rtmp://southafrica.castr.io/static"
82
+ },
83
+ {
84
+ "name": "Africa (Lagos, NG)",
85
+ "url": "rtmp://lagos.castr.io/static"
86
+ },
87
+ {
88
"name": "US Central",
89
"url": "rtmp://us-central.castr.io/static"
90
},
91
92
{
93
"name": "CloudBeta",
94
"url": "rtmp://cloudbetastreaming.onlyfans.com/live"
95
- },
96
- {
97
- "name": "Backup (USA)",
98
- "url": "rtmp://route0.onlyfans.com/live"
99
- },
100
- {
101
- "name": "Backup (Europe)",
102
- "url": "rtmp://route0-dc2.onlyfans.com/live"
103
}
104
,
105
"recommended": {
106
107
"url": "rtmp://live-us-lax-stream.shareplay.tv"
108
},
109
{
110
- "name": "Seattle, Washington, USA",
111
- "url": "rtmp://live-us-sea-stream.shareplay.tv"
112
- },
113
- {
114
- "name": "Paris, France",
115
- "url": "rtmp://live-fr-par-stream.shareplay.tv"
116
- },
117
- {
118
"name": "Milan, Italy",
119
"url": "rtmp://live-it-mil-stream.shareplay.tv"
120
},
121
{
122
- "name": "Sydney, Australia",
123
- "url": "rtmp://live-au-syd-stream.shareplay.tv"
124
- },
125
- {
126
"name": "Toronto, Canada",
127
"url": "rtmp://live-ca-yyz-stream.shareplay.tv"
128
},
129
130
"supported video codecs":
131
"h264"
132
133
+ },
134
+ {
135
+ "name": "VRCDN - Live",
136
+ "more_info_link": "https://vrcdn.live",
137
+ "servers":
138
+ {
139
+ "name": "Automatic",
140
+ "url": "rtmp://ingest.vrcdn.live/live"
141
+ }
142
+ ,
143
+ "supported video codecs": "h264",
144
+ "recommended": {
145
+ "keyint": 1,
146
+ "max video bitrate": 6000
147
+ }
148
}
149
150
}
151
obs-studio-31.0.2.tar.xz/plugins/win-capture/data/compatibility.json -> obs-studio-31.0.3.tar.xz/plugins/win-capture/data/compatibility.json
Changed
22
1
2
"window_capture_wgc": false,
3
"message": "The Bazaar may require OBS to be run as admin to use Game Capture.",
4
"url": "https://obsproject.com/kb/game-capture-troubleshooting"
5
+ },
6
+ {
7
+ "name": "FragPunk",
8
+ "translation_key": "Compatibility.GameCapture.Admin",
9
+ "severity": 1,
10
+ "executable": "FragPunk.exe",
11
+ "window_class": "",
12
+ "window_title": "",
13
+ "match_flags": 1,
14
+ "game_capture": true,
15
+ "window_capture": false,
16
+ "window_capture_wgc": false,
17
+ "message": "FragPunk may require OBS to be run as admin to use Game Capture.",
18
+ "url": "https://obsproject.com/kb/game-capture-troubleshooting"
19
}
20
21
}
22
obs-studio-31.0.2.tar.xz/plugins/win-capture/data/package.json -> obs-studio-31.0.3.tar.xz/plugins/win-capture/data/package.json
Changed
15
1
2
{
3
"$schema": "schema/package-schema.json",
4
"url": "https://obsproject.com/obs2_update/win-capture/v1",
5
- "version": 6,
6
+ "version": 7,
7
"files":
8
{
9
"name": "compatibility.json",
10
- "version": 6
11
+ "version": 7
12
}
13
14
}
15