diff options
| author | Eric Haszlakiewicz <erh+git@nimenees.com> | 2020-07-04 18:58:56 +0000 |
|---|---|---|
| committer | Eric Haszlakiewicz <erh+git@nimenees.com> | 2020-07-04 19:00:10 +0000 |
| commit | 6fa8b7ff4205b9f88d71eb63a3629eb7bf2f4f86 (patch) | |
| tree | 5d934ee2635f465c5f8e1b36c482f3673bd130aa | |
| parent | 6068d3f6d1dd4bd8be95e6bf4ed3e9148291b408 (diff) | |
| download | json-c-6fa8b7ff4205b9f88d71eb63a3629eb7bf2f4f86.tar.gz | |
Don't export json-c symbols starting with an underscore, put deprecated exports into a "JSONC_PRIVATE" version, and note stuff to do during releases.
See also PR #639 and issue #621
| -rw-r--r-- | RELEASE_CHECKLIST.txt | 7 | ||||
| -rw-r--r-- | json-c.sym | 76 |
2 files changed, 51 insertions, 32 deletions
diff --git a/RELEASE_CHECKLIST.txt b/RELEASE_CHECKLIST.txt index 9ad708c..20c08fd 100644 --- a/RELEASE_CHECKLIST.txt +++ b/RELEASE_CHECKLIST.txt @@ -18,6 +18,8 @@ * https://github.com/lvc/abi-compliance-checker * If the new release is not backwards compatible, then this is a MAJOR release. * Mention removed features in ChangeLog + * Consider re-adding backwards compatible support, through symbol + aliases and appropriate entries in json-c.sym * Update the AUTHORS file * Exclude mentioning changes that have already been included in a point release of the previous release branch. @@ -63,6 +65,11 @@ to git commit -a -m "Bump version to ${release}" +If we're doing a major release (SONAME bump), also bump the version + of ALL symbols in json-c.sym. + See explanation at https://github.com/json-c/json-c/issues/621 + More info at: https://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf + ------------ Generate the doxygen documentation: @@ -1,17 +1,53 @@ -JSONC_0.14 { - global: - _json_c_set_last_err; - _json_c_strerror; - _json_c_strerror_enable; + +/* + * Symbol versioning for libjson-c. + * All exported symbols must be listed here. + * + * See + * https://software.intel.com/sites/default/files/m/a/1/e/dsohowto.pdf + */ + +/* + * Symbols in JSONC_PRIVATE are exported for historical + * reasons, but should not be used outside of json-c. + */ +JSONC_PRIVATE { array_list_add; - array_list_bsearch; array_list_del_idx; array_list_free; - array_list_get_idx; - array_list_length; array_list_new; array_list_put_idx; array_list_sort; + json_hex_chars; + json_parse_double; + json_parse_int64; + json_parse_uint64; + lh_table_delete; + lh_table_delete_entry; + lh_table_free; + lh_table_insert; + lh_table_insert_w_hash; + lh_table_new; + lh_table_resize; + mc_debug; + mc_error; + mc_get_debug; + mc_info; + mc_set_debug; + mc_set_syslog; + printbuf_free; + printbuf_memappend; + printbuf_memset; + printbuf_new; + printbuf_reset; + sprintbuf; +}; + +JSONC_0.14 { + global: + array_list_bsearch; + array_list_get_idx; + array_list_length; json_c_get_random_seed; json_c_object_sizeof; json_c_set_serialization_double_format; @@ -20,7 +56,6 @@ JSONC_0.14 { json_c_version_num; json_c_visit; json_global_set_string_hash; - json_hex_chars; json_number_chars; json_object_array_add; json_object_array_bsearch; @@ -91,9 +126,6 @@ JSONC_0.14 { json_object_to_json_string_ext; json_object_to_json_string_length; json_object_userdata_to_json_string; - json_parse_double; - json_parse_int64; - json_parse_uint64; json_pointer_get; json_pointer_getf; json_pointer_set; @@ -115,30 +147,10 @@ JSONC_0.14 { lh_kchar_table_new; lh_kptr_table_new; lh_ptr_equal; - lh_table_delete; - lh_table_delete_entry; - lh_table_free; - lh_table_insert; - lh_table_insert_w_hash; lh_table_length; - lh_table_lookup; lh_table_lookup_entry; lh_table_lookup_entry_w_hash; lh_table_lookup_ex; - lh_table_new; - lh_table_resize; - mc_debug; - mc_error; - mc_get_debug; - mc_info; - mc_set_debug; - mc_set_syslog; - printbuf_free; - printbuf_memappend; - printbuf_memset; - printbuf_new; - printbuf_reset; - sprintbuf; local: *; |
