Binary compatibility report for the Gjs library between 1.38.1 and 1.39.0 versions on x86
Test Info
Library Name | Gjs |
Version #1 | 1.38.1 |
Version #2 | 1.39.0 |
CPU Type | x86 |
GCC Version | 4.6.1 |
Test Results
Total Header Files | 20 |
Total Shared Libraries | 1 |
Total Symbols / Types | 182 / 239 |
Verdict | Incompatible (6.9%) |
Problem Summary
| Severity | Count |
---|
Added Symbols | - | 10 |
Removed Symbols | High | 10 |
Problems with Data Types | High | 0 |
Medium | 0 |
Low | 1 |
Problems with Symbols | High | 2 |
Medium | 3 |
Low | 11 |
Problems with Constants | Low | 0 |
Added Symbols (10)
foreign.h,
libgjs.so.0.0.0
gjs_struct_foreign_convert_from_g_argument ( JSContext* context, jsval* value_p, GIBaseInfo* interface_info, GArgument* arg )
[symbol: _Z42gjs_struct_foreign_convert_from_g_argumentP9JSContextPN2JS5ValueEP15_GIBaseInfoStubP10GIArgument]
gjs_struct_foreign_convert_to_g_argument ( JSContext* context, jsval value, GIBaseInfo* interface_info, char const* arg_name, enum GjsArgumentType argument_type, enum GITransfer transfer, gboolean may_be_null, GArgument* arg )
[symbol: _Z40gjs_struct_foreign_convert_to_g_argumentP9JSContextN2JS5ValueEP15_GIBaseInfoStubPKc15GjsArgumentType10GITransferiP10GIArgument]
gjs_struct_foreign_register ( char const* gi_namespace, char const* type_name, struct GjsForeignInfo* info )
[symbol: _Z27gjs_struct_foreign_registerPKcS0_P14GjsForeignInfo]
gjs_struct_foreign_release_g_argument ( JSContext* context, enum GITransfer transfer, GIBaseInfo* interface_info, GArgument* arg )
[symbol: _Z37gjs_struct_foreign_release_g_argumentP9JSContext10GITransferP15_GIBaseInfoStubP10GIArgument]
runtime.h,
libgjs.so.0.0.0
gjs_runtime_deinit ( JSRuntime* runtime )
[symbol: _Z18gjs_runtime_deinitP9JSRuntime]
gjs_runtime_get_const_string ( JSRuntime* runtime, enum GjsConstString string )
[symbol: _Z28gjs_runtime_get_const_stringP9JSRuntime14GjsConstString]
gjs_runtime_get_context ( JSRuntime* runtime )
[symbol: _Z23gjs_runtime_get_contextP9JSRuntime]
gjs_runtime_init_for_context ( JSRuntime* runtime, JSContext* context )
[symbol: _Z28gjs_runtime_init_for_contextP9JSRuntimeP9JSContext]
type-module.h,
libgjs.so.0.0.0
gjs_type_module_get ( )
[symbol: _Z19gjs_type_module_getv]
gjs_type_module_get_type ( )
[symbol: _Z24gjs_type_module_get_typev]
to the top
Removed Symbols (10)
foreign.h,
libgjs.so.0.0.0
gjs_struct_foreign_convert_from_g_argument ( JSContext* context, jsval* value_p, GIBaseInfo* interface_info, GArgument* arg )
gjs_struct_foreign_convert_to_g_argument ( JSContext* context, jsval value, GIBaseInfo* interface_info, char const* arg_name, enum GjsArgumentType argument_type, enum GITransfer transfer, gboolean may_be_null, GArgument* arg )
gjs_struct_foreign_register ( char const* namespace, char const* type_name, struct GjsForeignInfo* info )
gjs_struct_foreign_release_g_argument ( JSContext* context, enum GITransfer transfer, GIBaseInfo* interface_info, GArgument* arg )
runtime.h,
libgjs.so.0.0.0
gjs_runtime_deinit ( JSRuntime* runtime )
gjs_runtime_get_const_string ( JSRuntime* runtime, enum GjsConstString string )
gjs_runtime_get_context ( JSRuntime* runtime )
gjs_runtime_init_for_context ( JSRuntime* runtime, JSContext* context )
type-module.h,
libgjs.so.0.0.0
gjs_type_module_get ( )
gjs_type_module_get_type ( )
to the top
Problems with Symbols, High Severity (2)
native.h,
libgjs.so.0.0.0
[+] gjs_import_native_module ( JSContext* context, JSObject* module_obj, char const* name ) (1)
changed to:gjs_import_native_module ( JSContext* context, char const* name, JSObject** module_out )
| Change | Effect |
---|
1 | The pointer level of 3rd parameter name has been increased from 1 to 2. | The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications. |
repo.h,
libgjs.so.0.0.0
[+] gjs_define_repo ( JSContext* context, JSObject* module_obj, char const* name ) (1)
changed to:gjs_define_repo ( JSContext* context, JSObject** module_out, char const* name )
| Change | Effect |
---|
1 | The pointer level of 2nd parameter module_obj has been increased from 1 to 2. | The library function may try to access unallocated memory by the dereferencing of old parameter value and therefore cause a crash of applications. |
to the top
Problems with Symbols, Medium Severity (3)
native.h,
libgjs.so.0.0.0
[+] gjs_import_native_module ( JSContext* context, JSObject* module_obj, char const* name ) (2)
changed to:gjs_import_native_module ( JSContext* context, char const* name, JSObject** module_out )
| Change | Effect |
---|
1 | Type of 3rd parameter name has been changed from char const* to JSObject** (became non-const). | This function may change parameter name, but it will be treated as const by old client applications. This may result in crash or incorrect behavior of applications. |
2 | Base type of parameter module_obj has been changed from struct JSObject to char of different format. | This parameter may be incorrectly initialized by applications. |
[+] gjs_register_native_module ( char const* module_id, JSBool(*func)(JSContext*, JSObject*), enum GjsNativeFlags flags ) (1)
changed to:gjs_register_native_module ( char const* module_id, JSBool(*func)(JSContext*, JSObject**) )
| Change | Effect |
---|
1 | 3rd parameter flags has been removed from the calling stack. | This parameter will be ignored by the function. |
to the top
Problems with Data Types, Low Severity (1)
native.h
[+] typedef GjsDefineModuleFunc (1)
| Change |
Effect |
1 | Base type has been changed from JSBool(*)(JSContext*,JSObject*) to JSBool(*)(JSContext*,JSObject**). | Replacement of the base data type may indicate a change in its semantic meaning. |
[+] affected symbols (1)
gjs_register_native_module ( char const* module_id, JSBool(*func)(JSContext*, JSObject*), enum GjsNativeFlags flags )2nd parameter 'func' has type 'GjsDefineModuleFunc'.
to the top
Problems with Symbols, Low Severity (11)
boxed.h,
libgjs.so.0.0.0
[+] gjs_typecheck_boxed ( JSContext* context, JSObject* obj, GIStructInfo* expected_info, GType expected_type, JSBool throw ) (1)
changed to:gjs_typecheck_boxed ( JSContext* context, JSObject* obj, GIStructInfo* expected_info, GType expected_type, JSBool throw_error )
| Change | Effect |
---|
1 | 5th parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
gerror.h,
libgjs.so.0.0.0
[+] gjs_typecheck_gerror ( JSContext* context, JSObject* obj, JSBool throw ) (1)
changed to:gjs_typecheck_gerror ( JSContext* context, JSObject* obj, JSBool throw_error )
| Change | Effect |
---|
1 | 3rd parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
gtype.h,
libgjs.so.0.0.0
[+] gjs_typecheck_gtype ( JSContext* context, JSObject* obj, JSBool throw ) (1)
changed to:gjs_typecheck_gtype ( JSContext* context, JSObject* obj, JSBool throw_error )
| Change | Effect |
---|
1 | 3rd parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
native.h,
libgjs.so.0.0.0
[+] gjs_import_native_module ( JSContext* context, JSObject* module_obj, char const* name ) (3)
changed to:gjs_import_native_module ( JSContext* context, char const* name, JSObject** module_out )
| Change | Effect |
---|
1 | 2nd parameter module_obj has been renamed to name. | Renaming of a parameter may indicate a change in its semantic meaning. |
2 | 3rd parameter name has been renamed to module_out. | Renaming of a parameter may indicate a change in its semantic meaning. |
3 | Type of 3rd parameter name has been changed from char const* to JSObject**. | Replacement of parameter data type may indicate a change in its semantic meaning. |
object.h,
libgjs.so.0.0.0
[+] gjs_typecheck_object ( JSContext* context, JSObject* obj, GType expected_type, JSBool throw ) (1)
changed to:gjs_typecheck_object ( JSContext* context, JSObject* obj, GType expected_type, JSBool throw_error )
| Change | Effect |
---|
1 | 4th parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
param.h,
libgjs.so.0.0.0
[+] gjs_typecheck_param ( JSContext* context, JSObject* obj, GType expected_type, JSBool throw ) (1)
changed to:gjs_typecheck_param ( JSContext* context, JSObject* obj, GType expected_type, JSBool throw_error )
| Change | Effect |
---|
1 | 4th parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
repo.h,
libgjs.so.0.0.0
[+] gjs_define_repo ( JSContext* context, JSObject* module_obj, char const* name ) (2)
changed to:gjs_define_repo ( JSContext* context, JSObject** module_out, char const* name )
| Change | Effect |
---|
1 | 2nd parameter module_obj has been renamed to module_out. | Renaming of a parameter may indicate a change in its semantic meaning. |
2 | Type of 2nd parameter module_obj has been changed from JSObject* to JSObject**. | Replacement of parameter data type may indicate a change in its semantic meaning. |
union.h,
libgjs.so.0.0.0
[+] gjs_typecheck_union ( JSContext* context, JSObject* obj, GIStructInfo* expected_info, GType expected_type, JSBool throw ) (1)
changed to:gjs_typecheck_union ( JSContext* context, JSObject* obj, GIStructInfo* expected_info, GType expected_type, JSBool throw_error )
| Change | Effect |
---|
1 | 5th parameter throw has been renamed to throw_error. | Renaming of a parameter may indicate a change in its semantic meaning. |
to the top
Header Files (20)
arg.h
boxed.h
closure.h
enumeration.h
foreign.h
function.h
gerror.h
gjs-module.h
gjs.h
gtype.h
interface.h
keep-alive.h
ns.h
object.h
param.h
repo.h
runtime.h
type-module.h
union.h
value.h
to the top
Shared Libraries (1)
libgjs.so.0.0.0
to the top