libyang.so: 2.47.2 to 3.0.0 compatibility report
Description: API/ABI compatibility report for the libyang.so object between 2.47.2 and 3.0.0 versions
Keywords: libyang.so, compatibility, API, ABI, report

# API compatibility report for the libyang.so object between 2.47.2 and 3.0.0 versions on x86_64

Binary
Compatibility Source
Compatibility

## Test Info

Module Name | libyang.so
Version #1 | 2.47.2
Version #2 | 3.0.0
Arch | x86_64
GCC Version | 13.2.1
Subject | Binary Compatibility

## Test Results

Total Header Files | 17
Total Objects | 1
Total Symbols / Types | 391 / 104
Compatibility | 65.9%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 15
Removed Symbols | High | 19
Problems with Data Types | High | 0
Medium | 7
Low | 7
Problems with Symbols | High | 26
Medium | 4
Low | 18
Problems with Constants | Low | 0

## Added Symbols 15

log.h, libyang.so.3.0.0
ly_last_logmsg ( )
ly_strerr ( )
plugins_types.h, libyang.so.3.0.0
lyplg_type_sort_binary ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_bits ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_boolean ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_decimal64 ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_enum ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_identityref ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_instanceid ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_int ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_leafref ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_simple ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_uint ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_union ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
printer_data.h, libyang.so.3.0.0
lyd_metadata_should_print ( struct lyd_meta const* meta )
to the top

## Removed Symbols 19

context.h, libyang.so.2.47.2
ly_ctx_reset_latests ( struct ly_ctx* ctx )
log.h, libyang.so.2.47.2
ly_errapptag ( struct ly_ctx const* ctx )
ly_errcode ( struct ly_ctx const* ctx )
ly_errmsg ( struct ly_ctx const* ctx )
ly_errpath ( struct ly_ctx const* ctx )
ly_last_errmsg ( )
ly_strerrcode ( )
ly_vecode ( struct ly_ctx const* ctx )
tree_data.h, libyang.so.2.47.2
lyd_child ( struct lyd_node const* node )
lyd_find_xpath4 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, void* prefix_data, struct lyxp_var const* vars, struct ly_set** set )
lyd_get_value ( struct lyd_node const* node )
lyd_new_list3_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node )
lyd_new_list3_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node )
lyd_new_list_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... )
lyd_new_list_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... )
lyd_new_term_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, size_t value_len, ly_bool output, struct lyd_node** node )
lyd_new_term_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node )
lyd_parent ( struct lyd_node const* node )
lyd_target ( struct ly_path const* path, struct lyd_node const* tree )
to the top

## Problems with Symbols, High Severity 26

plugins_types.h, libyang.so.2.47.2
[+] lyplg_type_compare_binary ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_binary ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_bits ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_bits ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_boolean ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_boolean ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_decimal64 ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_decimal64 ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_identityref ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_identityref ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_instanceid ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_instanceid ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_int ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_int ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_leafref ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_leafref ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_simple ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_simple ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_uint ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_uint ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyplg_type_compare_union ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_union ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

tree_data.h, libyang.so.2.47.2
[+] lyd_find_xpath3 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, struct lyxp_var const* vars, struct ly_set** set ) 2
⇣
lyd_find_xpath3 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, void* prefix_data, struct lyxp_var const* vars, struct ly_set** set )

| Change | Effect
--- | --- | ---
1 | Parameter format of type @param_type has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.
2 | Parameter prefix_data of type void* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_any ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, ly_bool use_value, ly_bool output, struct lyd_node** node ) 3
⇣
lyd_new_any ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.
2 | 5th middle parameter use_value has been removed from the calling stack. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.
3 | 7th middle parameter output has been removed from the calling stack. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_ext_list ( struct lysc_ext_instance const* ext, char const* name, struct lyd_node** node, ... ) 1
⇣
lyd_new_ext_list ( struct lysc_ext_instance const* ext, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, char const* val_str, struct lyd_node** node ) 3
⇣
lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, void const* value, size_t value_len, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter value of type void const* has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.
2 | Parameter value_len of type size_t has been added to the calling stack at the middle position. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.
3 | 3rd middle parameter val_str has been removed from the calling stack. | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... ) 1
⇣
lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter output has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 5th parameter output has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 6th parameter output has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool clear_dflt, struct lyd_meta** meta ) 1
⇣
lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, uint32_t options, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | Type of 6th parameter clear_dflt has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, ly_bool clear_dflt, struct lyd_attr const* attr, struct lyd_meta** meta ) 1
⇣
lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, uint32_t options, struct lyd_attr const* attr, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter clear_dflt has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

[+] lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 5th parameter output has been changed from ly_bool (1 byte) to uint32_t (4 bytes). | Layout of parameter's stack has been changed and therefore parameters at higher positions in the stack may be incorrectly initialized by applications.

to the top

## Problems with Data Types, Medium Severity 7

log.h
[+] struct ly_err_item 2

| Change | Effect
--- | --- | ---
1 | Field line has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.
2 | Field schema_path has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.

[+] affected symbols: 34 (8.7%)
ly_err_clean ( struct ly_ctx* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
ly_err_first ( struct ly_ctx const* ctx )
Return value (pointer) has base type 'struct ly_err_item'.
ly_err_last ( struct ly_ctx const* ctx )
Return value (pointer) has base type 'struct ly_err_item'.
ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_hints ( uint32_t hints, char const* value, size_t value_len, int* base, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_status ( struct lysc_node const* ctx_node, uint16_t val_flags, void* prefix_data, char const* val_name, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_check_status ( struct lysc_node const* ctx_node, struct ly_path const* path, void* prefix_data, struct ly_err_item** err )
5th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_new ( struct ly_ctx const* ctx, char const* value, size_t value_len, uint32_t options, void* prefix_data, struct lysc_node const* ctx_node, struct lys_glob_unres* unres, struct ly_path** path, struct ly_err_item** err )
10th parameter 'err' (pointer) has base type 'struct ly_err_item'.
...
tree_schema.h
[+] struct lysc_ext 1

| Change | Effect
--- | --- | ---
1 | Field refcount has been removed from the middle position of this structural type. | 1) Applications will access incorrect memory when attempting to access this field. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.

[+] affected symbols: 182 (46.5%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
...
[+] struct lysc_type 1

| Change | Effect
--- | --- | ---
1 | Field name has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.

[+] affected symbols: 177 (45.3%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
...
[+] struct lysc_type_bits 1

| Change | Effect
--- | --- | ---
1 | Field name has been added at the middle position of this structural type. | 1) Size of the inclusive type has been changed. 2) Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.

[+] affected symbols: 1 (0.3%)
lyplg_type_bits_bitmap_size ( struct lysc_type_bits const* type )
1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.
[+] struct lysc_type_leafref 2

| Change | Effect
--- | --- | ---
1 | Field name has been added at the middle position of this structural type. | Layout of structure fields has been changed and therefore fields at higher positions of the structure definition may be incorrectly accessed by applications.
2 | Field cur_mod has been removed from this type. | Applications will access incorrect memory when attempting to access this field.

[+] affected symbols: 1 (0.3%)
lyplg_type_resolve_leafref ( struct lysc_type_leafref const* lref, struct lyd_node const* node, struct lyd_value* value, struct lyd_node const* tree, struct ly_set** targets, char** errmsg )
1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.
to the top

## Problems with Symbols, Medium Severity 4

log.h, libyang.so.2.47.2
[+] ly_err_first ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value became const (has been changed from struct ly_err_item* to struct ly_err_item const*). | The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications.

[+] ly_err_last ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value became const (has been changed from struct ly_err_item* to struct ly_err_item const*). | The return value will be treated as non-const by old client applications. This may result in crash or incorrect behavior of applications.

[+] ly_set_log_clb ( void(*clb)(, char const*, char const*), ly_bool path ) 1
⇣
ly_set_log_clb ( void(*clb)(, char const*, char const*, char const*, unsigned long) )

| Change | Effect
--- | --- | ---
1 | 2nd parameter path has been removed from the calling stack. | This parameter will be ignored by the function.

tree_data.h, libyang.so.2.47.2
[+] lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, char const* val_str, struct lyd_node** node ) 1
⇣
lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, void const* value, size_t value_len, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack. | This parameter will not be initialized by old clients.

to the top

## Problems with Data Types, Low Severity 7

log.h
[+] struct ly_err_item 3

| Change | Effect
--- | --- | ---
1 | Size of this type has been changed from 56 bytes to 72 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.
2 | Field no has been renamed to err. | Renaming of a field in data type may indicate a change in the semantic meaning of the field.
3 | Field path has been renamed to data_path. | Renaming of a field in data type may indicate a change in the semantic meaning of the field.

[+] affected symbols: 34 (8.7%)
ly_err_clean ( struct ly_ctx* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
ly_err_first ( struct ly_ctx const* ctx )
Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.
ly_err_last ( struct ly_ctx const* ctx )
Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.
ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item* eitem )
Field 'eitem.next' in 2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext )
Field 'err.next' in 1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_hints ( uint32_t hints, char const* value, size_t value_len, int* base, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_status ( struct lysc_node const* ctx_node, uint16_t val_flags, void* prefix_data, char const* val_name, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_check_status ( struct lysc_node const* ctx_node, struct ly_path const* path, void* prefix_data, struct ly_err_item** err )
5th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_new ( struct ly_ctx const* ctx, char const* value, size_t value_len, uint32_t options, void* prefix_data, struct lysc_node const* ctx_node, struct lys_glob_unres* unres, struct ly_path** path, struct ly_err_item** err )
10th parameter 'err' (pointer) has base type 'struct ly_err_item'.
...
[+] typedef ly_log_clb 1

| Change | Effect
--- | --- | ---
1 | Base type has been changed from void(*)(, char const*, char const*) to void(*)(, char const*, char const*, char const*, uint64_t). | Replacement of the base data type may indicate a change in its semantic meaning.

[+] affected symbols: 2 (0.5%)
ly_get_log_clb ( )
Return value is of type 'ly_log_clb'.
ly_set_log_clb ( void(*clb)(, char const*, char const*), ly_bool path )
1st parameter 'clb' is of type 'ly_log_clb'.
plugins_types.h
[+] typedef lyplg_type_sort_clb 1

| Change | Effect
--- | --- | ---
1 | Base type has been changed from int(*)(struct lyd_value const*, struct lyd_value const*) to int(*)(struct ly_ctx const*, struct lyd_value const*, struct lyd_value const*). | Replacement of the base data type may indicate a change in its semantic meaning.

[+] affected symbols: 178 (45.5%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
...
tree_schema.h
[+] struct lysc_type 1

| Change | Effect
--- | --- | ---
1 | Size of this type has been changed from 24 bytes to 32 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.

[+] affected symbols: 177 (45.3%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
...
[+] struct lysc_type_bits 1

| Change | Effect
--- | --- | ---
1 | Size of this type has been changed from 32 bytes to 40 bytes. | The fields or parameters of such data type may be incorrectly initialized or accessed by old client applications.

[+] affected symbols: 1 (0.3%)
lyplg_type_bits_bitmap_size ( struct lysc_type_bits const* type )
1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.
to the top

## Problems with Symbols, Low Severity 18

log.h, libyang.so.2.47.2
[+] ly_err_first ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value has been changed from struct ly_err_item* to struct ly_err_item const*. | Replacement of return type may indicate a change in its semantic meaning.

[+] ly_err_last ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value has been changed from struct ly_err_item* to struct ly_err_item const*. | Replacement of return type may indicate a change in its semantic meaning.

[+] ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item* eitem ) 1
⇣
ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item const* eitem )

| Change | Effect
--- | --- | ---
1 | Type of 2nd parameter eitem has been changed from struct ly_err_item* to struct ly_err_item const*. | Replacement of parameter data type may indicate a change in its semantic meaning.

[+] ly_temp_log_options ( uint32_t* opts ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value has been changed from void to uint32_t* (8 bytes). | Replacement of return type may indicate a change in its semantic meaning.

plugins_exts.h, libyang.so.2.47.2
[+] lyplg_ext_compile_log ( struct lysc_ctx const* cctx, struct lysc_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_compile_log ( struct lysc_ctx const* cctx, struct lysc_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext ) 1
⇣
lyplg_ext_compile_log_err ( struct ly_err_item const* eitem, struct lysc_ext_instance const* ext )

| Change | Effect
--- | --- | ---
1 | 1st parameter err has been renamed to eitem. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyplg_ext_compile_log_path ( char const* path, struct lysc_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_compile_log_path ( char const* path, struct lysc_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyplg_ext_parse_log ( struct lysp_ctx const* pctx, struct lysp_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_parse_log ( struct lysp_ctx const* pctx, struct lysp_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | Renaming of a parameter may indicate a change in its semantic meaning.

plugins_types.h, libyang.so.2.47.2
[+] ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... ) 1
⇣
ly_err_new ( struct ly_err_item** err, char* data_path, char* apptag, char const* err_format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter path has been renamed to data_path. | Renaming of a parameter may indicate a change in its semantic meaning.

tree_data.h, libyang.so.2.47.2
[+] lyd_new_ext_any ( struct lysc_ext_instance const* ext, char const* name, void const* value, ly_bool use_value, struct lyd_node** node ) 2
⇣
lyd_new_ext_any ( struct lysc_ext_instance const* ext, char const* name, void const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 4th parameter use_value has been renamed to value_type. | Renaming of a parameter may indicate a change in its semantic meaning.
2 | 5th parameter value_type has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... ) 1
⇣
lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter output has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 5th parameter output has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 6th parameter output has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool clear_dflt, struct lyd_meta** meta ) 1
⇣
lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, uint32_t options, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | 6th parameter clear_dflt has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, ly_bool clear_dflt, struct lyd_attr const* attr, struct lyd_meta** meta ) 1
⇣
lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, uint32_t options, struct lyd_attr const* attr, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | 3rd parameter clear_dflt has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

[+] lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node ) 2
⇣
lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 4th parameter val_str has been renamed to value. | Renaming of a parameter may indicate a change in its semantic meaning.
2 | 5th parameter output has been renamed to options. | Renaming of a parameter may indicate a change in its semantic meaning.

to the top

## Header Files 17

context.h
dict.h
hash_table.h
in.h
log.h
metadata.h
out.h
parser_data.h
parser_schema.h
plugins.h
plugins_exts.h
plugins_types.h
printer_data.h
printer_schema.h
set.h
tree_data.h
tree_schema.h
to the top

## Objects 1

libyang.so.2.47.2
to the top

## Test Info

Module Name | libyang.so
Version #1 | 2.47.2
Version #2 | 3.0.0
Arch | x86_64
Subject | Source Compatibility

## Test Results

Total Header Files | 17
Total Objects | 1
Total Symbols / Types | 391 / 104
Compatibility | 42.3%

## Problem Summary

| Severity | Count
--- | --- | ---
Added Symbols | - | 15
Removed Symbols | High | 19
Problems with Data Types | High | 4
Medium | 0
Low | 7
Problems with Symbols | High | 20
Medium | 4
Low | 6
Problems with Constants | Low | 0
Other Changes in Symbols | - | 15

## Added Symbols 15

log.h
ly_last_logmsg ( )
ly_strerr ( )
plugins_types.h
lyplg_type_sort_binary ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_bits ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_boolean ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_decimal64 ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_enum ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_identityref ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_instanceid ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_int ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_leafref ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_simple ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_uint ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
lyplg_type_sort_union ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )
printer_data.h
lyd_metadata_should_print ( struct lyd_meta const* meta )
to the top

## Removed Symbols 19

context.h
ly_ctx_reset_latests ( struct ly_ctx* ctx )
log.h
ly_errapptag ( struct ly_ctx const* ctx )
ly_errcode ( struct ly_ctx const* ctx )
ly_errmsg ( struct ly_ctx const* ctx )
ly_errpath ( struct ly_ctx const* ctx )
ly_last_errmsg ( )
ly_strerrcode ( )
ly_vecode ( struct ly_ctx const* ctx )
tree_data.h
lyd_child ( struct lyd_node const* node )
lyd_find_xpath4 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, void* prefix_data, struct lyxp_var const* vars, struct ly_set** set )
lyd_get_value ( struct lyd_node const* node )
lyd_new_list3_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node )
lyd_new_list3_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node )
lyd_new_list_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... )
lyd_new_list_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... )
lyd_new_term_bin ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, size_t value_len, ly_bool output, struct lyd_node** node )
lyd_new_term_canon ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node )
lyd_parent ( struct lyd_node const* node )
lyd_target ( struct ly_path const* path, struct lyd_node const* tree )
to the top

## Problems with Data Types, High Severity 4

log.h
[+] struct ly_err_item 2

| Change | Effect
--- | --- | ---
1 | Field no has been renamed to err. | Recompilation of a client program may be broken with the error message: struct ly_err_item has no member named no.
2 | Field path has been renamed to data_path. | Recompilation of a client program may be broken with the error message: struct ly_err_item has no member named path.

[+] affected symbols: 34 (8.7%)
ly_err_clean ( struct ly_ctx* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
ly_err_first ( struct ly_ctx const* ctx )
Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.
ly_err_last ( struct ly_ctx const* ctx )
Field 'retval.next' in the return value (pointer) has base type 'struct ly_err_item'.
ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item* eitem )
Field 'eitem.next' in 2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext )
Field 'err.next' in 1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_hints ( uint32_t hints, char const* value, size_t value_len, int* base, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_status ( struct lysc_node const* ctx_node, uint16_t val_flags, void* prefix_data, char const* val_name, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_check_status ( struct lysc_node const* ctx_node, struct ly_path const* path, void* prefix_data, struct ly_err_item** err )
5th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_new ( struct ly_ctx const* ctx, char const* value, size_t value_len, uint32_t options, void* prefix_data, struct lysc_node const* ctx_node, struct lys_glob_unres* unres, struct ly_path** path, struct ly_err_item** err )
10th parameter 'err' (pointer) has base type 'struct ly_err_item'.
...
tree_schema.h
[+] struct lysc_ext 1

| Change | Effect
--- | --- | ---
1 | Field refcount has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct lysc_ext' has no member named 'refcount'.

[+] affected symbols: 182 (46.5%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.when.exts.def.compiled' in the return value (pointer) has base type 'struct lysc_ext'.
...
[+] struct lysc_type_leafref 1

| Change | Effect
--- | --- | ---
1 | Field cur_mod has been removed from this type. | Recompilation of a client program may be broken with the error message: 'struct lysc_type_leafref' has no member named 'cur_mod'.

[+] affected symbols: 1 (0.3%)
lyplg_type_resolve_leafref ( struct lysc_type_leafref const* lref, struct lyd_node const* node, struct lyd_value* value, struct lyd_node const* tree, struct ly_set** targets, char** errmsg )
1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.
to the top

## Problems with Symbols, High Severity 20

plugins_types.h
[+] lyplg_type_compare_binary ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_binary ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_bits ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_bits ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_boolean ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_boolean ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_decimal64 ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_decimal64 ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_identityref ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_identityref ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_instanceid ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_instanceid ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_int ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_int ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_leafref ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_leafref ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_simple ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_simple ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_uint ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_uint ( struct ly_ctx const* UNUSED_ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter UNUSED_ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyplg_type_compare_union ( struct lyd_value const* val1, struct lyd_value const* val2 ) 1
⇣
lyplg_type_compare_union ( struct ly_ctx const* ctx, struct lyd_value const* val1, struct lyd_value const* val2 )

| Change | Effect
--- | --- | ---
1 | Parameter ctx of type struct ly_ctx const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

tree_data.h
[+] lyd_find_xpath3 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, struct lyxp_var const* vars, struct ly_set** set ) 2
⇣
lyd_find_xpath3 ( struct lyd_node const* ctx_node, struct lyd_node const* tree, char const* xpath, void* prefix_data, struct lyxp_var const* vars, struct ly_set** set )

| Change | Effect
--- | --- | ---
1 | Parameter format of type @param_type has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.
2 | Parameter prefix_data of type void* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyd_new_any ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, ly_bool use_value, ly_bool output, struct lyd_node** node ) 3
⇣
lyd_new_any ( struct lyd_node* parent, struct lys_module const* module, char const* name, void const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.
2 | 5th middle parameter use_value has been removed from the calling stack. | Recompilation of a client program may be broken.
3 | 7th middle parameter output has been removed from the calling stack. | Recompilation of a client program may be broken.

[+] lyd_new_ext_list ( struct lysc_ext_instance const* ext, char const* name, struct lyd_node** node, ... ) 1
⇣
lyd_new_ext_list ( struct lysc_ext_instance const* ext, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.

[+] lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, char const* val_str, struct lyd_node** node ) 3
⇣
lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, void const* value, size_t value_len, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter value of type void const* has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.
2 | Parameter value_len of type size_t has been added to the calling stack at the middle position. | Recompilation of a client program may be broken.
3 | 3rd middle parameter val_str has been removed from the calling stack. | Recompilation of a client program may be broken.

to the top

## Problems with Symbols, Medium Severity 4

log.h
[+] ly_err_first ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value became const (has been changed from struct ly_err_item* to struct ly_err_item const*). | Recompilation of a client program may be broken.

[+] ly_err_last ( struct ly_ctx const* ctx ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value became const (has been changed from struct ly_err_item* to struct ly_err_item const*). | Recompilation of a client program may be broken.

[+] ly_set_log_clb ( void(*clb)(, char const*, char const*), ly_bool path ) 1
⇣
ly_set_log_clb ( void(*clb)(, char const*, char const*, char const*, unsigned long) )

| Change | Effect
--- | --- | ---
1 | 2nd parameter path has been removed from the calling stack. | Recompilation of a client program may be broken.

tree_data.h
[+] lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, char const* val_str, struct lyd_node** node ) 1
⇣
lyd_new_ext_term ( struct lysc_ext_instance const* ext, char const* name, void const* value, size_t value_len, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Parameter options of type uint32_t has been added to the calling stack. | Recompilation of a client program may be broken.

to the top

## Problems with Data Types, Low Severity 7

log.h
[+] struct ly_err_item 2

| Change | Effect
--- | --- | ---
1 | Field line has been added to this type. | This field will not be initialized or used by old client applications.
2 | Field schema_path has been added to this type. | This field will not be initialized or used by old client applications.

[+] affected symbols: 34 (8.7%)
ly_err_clean ( struct ly_ctx* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
ly_err_first ( struct ly_ctx const* ctx )
Return value (pointer) has base type 'struct ly_err_item'.
ly_err_last ( struct ly_ctx const* ctx )
Return value (pointer) has base type 'struct ly_err_item'.
ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
ly_err_print ( struct ly_ctx const* ctx, struct ly_err_item* eitem )
2nd parameter 'eitem' (pointer) has base type 'struct ly_err_item'.
lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext )
1st parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_hints ( uint32_t hints, char const* value, size_t value_len, int* base, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_check_status ( struct lysc_node const* ctx_node, uint16_t val_flags, void* prefix_data, char const* val_name, struct ly_err_item** err )
6th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_check_status ( struct lysc_node const* ctx_node, struct ly_path const* path, void* prefix_data, struct ly_err_item** err )
5th parameter 'err' (pointer) has base type 'struct ly_err_item'.
lyplg_type_lypath_new ( struct ly_ctx const* ctx, char const* value, size_t value_len, uint32_t options, void* prefix_data, struct lysc_node const* ctx_node, struct lys_glob_unres* unres, struct ly_path** path, struct ly_err_item** err )
10th parameter 'err' (pointer) has base type 'struct ly_err_item'.
...
[+] typedef ly_log_clb 1

| Change | Effect
--- | --- | ---
1 | Base type has been changed from void(*)(, char const*, char const*) to void(*)(, char const*, char const*, char const*, uint64_t). | Recompilation of a client program may be broken.

[+] affected symbols: 2 (0.5%)
ly_get_log_clb ( )
Return value is of type 'ly_log_clb'.
ly_set_log_clb ( void(*clb)(, char const*, char const*), ly_bool path )
1st parameter 'clb' is of type 'ly_log_clb'.
plugins_types.h
[+] typedef lyplg_type_sort_clb 1

| Change | Effect
--- | --- | ---
1 | Base type has been changed from int(*)(struct lyd_value const*, struct lyd_value const*) to int(*)(struct ly_ctx const*, struct lyd_value const*, struct lyd_value const*). | Recompilation of a client program may be broken.

[+] affected symbols: 178 (45.5%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.notifs.typedefs.type.compiled.plugin.sort' in the return value (pointer) is of type 'lyplg_type_sort_clb'.
...
tree_schema.h
[+] struct lysc_type 1

| Change | Effect
--- | --- | ---
1 | Field name has been added to this type. | This field will not be initialized or used by old client applications.

[+] affected symbols: 177 (45.3%)
ly_ctx_get_module ( struct ly_ctx const* ctx, char const* name, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_implemented_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_iter ( struct ly_ctx const* ctx, uint32_t* index )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest ( struct ly_ctx const* ctx, char const* name )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_latest_ns ( struct ly_ctx const* ctx, char const* ns )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_module_ns ( struct ly_ctx const* ctx, char const* ns, char const* revision )
Field 'retval.parsed.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule ( struct ly_ctx const* ctx, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2 ( struct lys_module const* module, char const* submodule, char const* revision )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
ly_ctx_get_submodule2_latest ( struct lys_module const* module, char const* submodule )
Field 'retval.augments.notifs.typedefs.type.compiled' in the return value (pointer) has base type 'struct lysc_type'.
...
[+] struct lysc_type_bits 1

| Change | Effect
--- | --- | ---
1 | Field name has been added to this type. | This field will not be initialized or used by old client applications.

[+] affected symbols: 1 (0.3%)
lyplg_type_bits_bitmap_size ( struct lysc_type_bits const* type )
1st parameter 'type' (pointer) has base type 'struct lysc_type_bits'.
[+] struct lysc_type_leafref 1

| Change | Effect
--- | --- | ---
1 | Field name has been added to this type. | This field will not be initialized or used by old client applications.

[+] affected symbols: 1 (0.3%)
lyplg_type_resolve_leafref ( struct lysc_type_leafref const* lref, struct lyd_node const* node, struct lyd_value* value, struct lyd_node const* tree, struct ly_set** targets, char** errmsg )
1st parameter 'lref' (pointer) has base type 'struct lysc_type_leafref'.
to the top

## Problems with Symbols, Low Severity 6

tree_data.h
[+] lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... ) 1
⇣
lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | Type of 4th parameter output has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

[+] lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 5th parameter output has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

[+] lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 6th parameter output has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

[+] lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool clear_dflt, struct lyd_meta** meta ) 1
⇣
lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, uint32_t options, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | Type of 6th parameter clear_dflt has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

[+] lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, ly_bool clear_dflt, struct lyd_attr const* attr, struct lyd_meta** meta ) 1
⇣
lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, uint32_t options, struct lyd_attr const* attr, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | Type of 3rd parameter clear_dflt has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

[+] lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | Type of 5th parameter output has been changed from ly_bool to uint32_t. | Recompilation of a client program may be broken.

to the top

## Other Changes in Symbols 15

log.h
[+] ly_temp_log_options ( uint32_t* opts ) 1

| Change | Effect
--- | --- | ---
1 | Type of return value has been changed from void to uint32_t*. | No effect.

plugins_exts.h
[+] lyplg_ext_compile_log ( struct lysc_ctx const* cctx, struct lysc_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_compile_log ( struct lysc_ctx const* cctx, struct lysc_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | No effect.

[+] lyplg_ext_compile_log_err ( struct ly_err_item const* err, struct lysc_ext_instance const* ext ) 1
⇣
lyplg_ext_compile_log_err ( struct ly_err_item const* eitem, struct lysc_ext_instance const* ext )

| Change | Effect
--- | --- | ---
1 | 1st parameter err has been renamed to eitem. | No effect.

[+] lyplg_ext_compile_log_path ( char const* path, struct lysc_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_compile_log_path ( char const* path, struct lysc_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | No effect.

[+] lyplg_ext_parse_log ( struct lysp_ctx const* pctx, struct lysp_ext_instance const* ext, char const* format, ... ) 1
⇣
lyplg_ext_parse_log ( struct lysp_ctx const* pctx, struct lysp_ext_instance const* ext, char const* format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter err_no has been renamed to err. | No effect.

plugins_types.h
[+] ly_err_new ( struct ly_err_item** err, char* path, char* apptag, char const* err_format, ... ) 1
⇣
ly_err_new ( struct ly_err_item** err, char* data_path, char* apptag, char const* err_format, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter path has been renamed to data_path. | No effect.

tree_data.h
[+] lyd_new_ext_any ( struct lysc_ext_instance const* ext, char const* name, void const* value, ly_bool use_value, struct lyd_node** node ) 2
⇣
lyd_new_ext_any ( struct lysc_ext_instance const* ext, char const* name, void const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 4th parameter use_value has been renamed to value_type. | No effect.
2 | 5th parameter value_type has been renamed to options. | No effect.

[+] lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, ly_bool output, struct lyd_node** node, ... ) 1
⇣
lyd_new_list ( struct lyd_node* parent, struct lys_module const* module, char const* name, uint32_t options, struct lyd_node** node, ... )

| Change | Effect
--- | --- | ---
1 | 4th parameter output has been renamed to options. | No effect.

[+] lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list2 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* keys, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 5th parameter output has been renamed to options. | No effect.

[+] lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, ly_bool output, struct lyd_node** node ) 1
⇣
lyd_new_list3 ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const** key_values, uint32_t* value_lengths, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 6th parameter output has been renamed to options. | No effect.

[+] lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool clear_dflt, struct lyd_meta** meta ) 1
⇣
lyd_new_meta ( struct ly_ctx const* ctx, struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, uint32_t options, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | 6th parameter clear_dflt has been renamed to options. | No effect.

[+] lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, ly_bool clear_dflt, struct lyd_attr const* attr, struct lyd_meta** meta ) 1
⇣
lyd_new_meta2 ( struct ly_ctx const* ctx, struct lyd_node* parent, uint32_t options, struct lyd_attr const* attr, struct lyd_meta** meta )

| Change | Effect
--- | --- | ---
1 | 3rd parameter clear_dflt has been renamed to options. | No effect.

[+] lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* val_str, ly_bool output, struct lyd_node** node ) 2
⇣
lyd_new_term ( struct lyd_node* parent, struct lys_module const* module, char const* name, char const* value, uint32_t options, struct lyd_node** node )

| Change | Effect
--- | --- | ---
1 | 4th parameter val_str has been renamed to value. | No effect.
2 | 5th parameter output has been renamed to options. | No effect.

to the top

## Header Files 17

context.h
dict.h
hash_table.h
in.h
log.h
metadata.h
out.h
parser_data.h
parser_schema.h
plugins.h
plugins_exts.h
plugins_types.h
printer_data.h
printer_schema.h
set.h
tree_data.h
tree_schema.h
to the top

## Objects 1

libyang.so.2.47.2
to the top