This is a summary of all new and changed public symbols in public headers, between 1.6.17 and trunk at the revision stated below. The kind of change is indicated with "+" for a new symbol; "-" for a removal or deprecation; "!" for a change in syntax or semantics. Where a symbol marked with "+" includes a version number, the deprecation of the previous version is implied, and only listed if there is more to say about it. Public symbols should not be removed but sometimes they are moved from one header to another, and that is marked with "-" and "+". Observations are marked with "#". HEADERS REVIEWED r1136085 mod_authz_svn.h - no change r1136085 mod_dav_svn.h - no change r1136085 svn_auth.h r1136085 svn_base64.h - no change r1136085 svn_cache_config.h - new header r1136085 svn_checksum.h r1136085 svn_client.h r1136085 svn_cmdline.h - no change r1136085 svn_compat.h - no change r1136085 svn_config.h r1136085 svn_ctype.h - no change r1136085 svn_dav.h r1136085 svn_delta.h r1136085 svn_diff.h r1136085 svn_dirent_uri.h r1136085 svn_dso.h - no change r1136085 svn_error.h r1136085 svn_error_codes.h r1136085 svn_fs.h r1136085 svn_hash.h r1136085 svn_io.h r1136085 svn_iter.h - no change except doc clarification r1136085 svn_md5.h - no change r1136085 svn_mergeinfo.h r1136085 svn_nls.h - no change r1136085 svn_opt.h r1136085 svn_path.h r1136085 svn_pools.h - no change r1136085 svn_props.h r1136085 svn_quoprint.h - no change r1136085 svn_ra.h r1136085 svn_ra_svn.h r1136085 svn_repos.h r1136085 svn_sorts.h - no change r1136085 svn_string.h r1136085 svn_subst.h r1136085 svn_time.h - no change r1136085 svn_types.h r1136085 svn_user.h - no change r1136085 svn_utf.h - no change r1136085 svn_version.h r1136085 svn_wc.h r1136085 svn_xml.h NEW AND CHANGED SYMBOLS svn_auth.h - removed svn_version.h ! svn_auth_open() - gets 'const' on an array input svn_cache_config.h + New header. + svn_cache_config_t + svn_cache_config_get() + svn_cache_config_set() svn_checksum.h ! svn_checksum_kind_t - gets an enum tag name to match typedef ! svn_checksum_to_cstring() - new behaviour for null input + svn_checksum_serialize() + svn_checksum_deserialize() + svn_checksum_mismatch_err() svn_client.h - removed svn_version.h ! svn_client_commit_item3_t - new field 'session_relpath' # Doc: the path of what relative to what? + svn_client_blame_receiver3_t - adds local changes and all revprops ! svn_client_ctx_t - new fields: conflict cb, wc_ctx + svn_client_args_to_target_array2() + svn_client_update4() - adds 'adds_as_mods', 'make_parents' + svn_client_switch3() - adds 'ignore_ancestry' + svn_client_mkdir4() - uses commit cb + svn_client_delete4() - uses commit cb + svn_client_import4() - uses commit cb + svn_client_commit5() - uses commit cb; adds 'commit_as_ops'; new notif's + svn_client_status_t + svn_client_status_dup() + svn_client_status_func_t # See '###' comment: 'could totally disappear ...'. + svn_client_status5() - adds 'depth_as_sticky' + svn_client_blame5() + svn_client_diff5() - adds 'git' format, 'show_copies_as_adds' + svn_client_diff_peg5() - adds 'git' format, 'show_copies_as_adds' + svn_client_merge4() - adds 'allow_mixed_rev' - svn_client_merge3() - deprecated + svn_client_merge_peg4() - adds 'allow_mixed_rev' - svn_client_merge_peg3() - deprecated + svn_client_mergeinfo_log() - adds 'finding_merged'; supports depth - svn_client_mergeinfo_log_merged() - deprecated - svn_client_mergeinfo_log_eligible() - deprecated + svn_client_upgrade() + svn_client_relocate2() - adds 'ignore_externals' ! svn_client_relocate() - deprecated; behaviour change: whole WC only # Doc should refer to 'notes/api-errata/1.7/...'. + svn_client_copy6() - uses commit cb ! svn_client_copy5() - deprecated; gets 'const' on array input ! svn_client_copy4() - gets 'const' on array input + svn_client_move6() - uses commit cb + svn_client_propset_remote() + svn_client_propset_local() - svn_client_propset3() - deprecated + svn_client_propget4() + svn_client_export5() - svn_changelist_receiver_t - moved from here to svn_wc.h - svn_info_t - deprecated - svn_info_receiver_t - deprecated - svn_info_dup() - deprecated + svn_client_info2_t + svn_client_info2_dup() + svn_client_info_receiver2_t + svn_client_info3() + svn_client_patch_func_t + svn_client_patch() + svn_client_url_from_path2() + svn_client_uuid_from_path2() # Better to unify svn_client_{root_url,uuid}_from_{path,url} APIs? svn_config.h + SVN_CONFIG_OPTION_DIFF_EXTENSIONS "diff-extensions" + SVN_CONFIG_OPTION_FORCE_USERNAME_CASE "force-username-case" + svn_config_create() + svn_config_read2() svn_dav.h + SVN_SKEL_MIME_TYPE "application/vnd.svn-skel" + SVN_DAV_YOUNGEST_REV_HEADER "SVN-Youngest-Rev" + SVN_DAV_REPOS_UUID_HEADER "SVN-Repository-UUID" + SVN_DAV_ME_RESOURCE_HEADER "SVN-Me-Resource" + SVN_DAV_ROOT_URI_HEADER "SVN-Repository-Root" + SVN_DAV_REV_STUB_HEADER "SVN-Rev-Stub" + SVN_DAV_REV_ROOT_STUB_HEADER "SVN-Rev-Root-Stub" + SVN_DAV_TXN_STUB_HEADER "SVN-Txn-Stub" + SVN_DAV_VTXN_STUB_HEADER "SVN-VTxn-Stub" + SVN_DAV_TXN_ROOT_STUB_HEADER "SVN-Txn-Root-Stub" + SVN_DAV_VTXN_ROOT_STUB_HEADER "SVN-VTxn-Root-Stub" + SVN_DAV_TXN_NAME_HEADER "SVN-Txn-Name" + SVN_DAV_VTXN_NAME_HEADER "SVN-VTxn-Name" svn_delta.h - removed svn_version.h + SVN_DELTA_COMPRESSION_LEVEL_NONE 0 + SVN_DELTA_COMPRESSION_LEVEL_MAX 9 + SVN_DELTA_COMPRESSION_LEVEL_DEFAULT 5 + svn_txdelta_to_svndiff3() ! svn_delta_path_driver() - gets 'const' on its paths array input svn_diff.h - removed svn_version.h + svn_diff_fns2_t + svn_diff_diff_2() + svn_diff_diff3_2() + svn_diff_diff4_2() + svn_diff_mem_string_output_unified2() + svn_diff_operation_kind_t + svn_diff_hunk_t + svn_diff_hunk_readline_diff_text() + svn_diff_hunk_readline_original_text() + svn_diff_hunk_readline_modified_text() + svn_diff_hunk_reset_diff_text() + svn_diff_hunk_reset_original_text() + svn_diff_hunk_reset_modified_text() + svn_diff_hunk_get_original_start() + svn_diff_hunk_get_original_length() + svn_diff_hunk_get_modified_start() + svn_diff_hunk_get_modified_length() + svn_diff_hunk_get_leading_context() + svn_diff_hunk_get_trailing_context() + svn_prop_patch_t + svn_patch_t + svn_patch_file_t + svn_diff_open_patch_file() + svn_diff_parse_next_patch() + svn_diff_close_patch_file() svn_dirent_uri.h + svn_relpath_join() + svn_dirent_basename() + svn_dirent_split() + svn_relpath_split() + svn_relpath_basename() + svn_relpath_dirname() + svn_uri_split() + svn_uri_basename() + svn_uri_dirname() + svn_uri_is_root() # Document what "is root" means: "can't split into dir/basename"? + svn_relpath_canonicalize() + svn_uri_canonicalize() + svn_relpath_is_canonical() + svn_uri_is_canonical() + svn_relpath_get_longest_ancestor() + svn_uri_get_longest_ancestor() + svn_uri_is_child() # Make private. = svn_dirent_is_child() # Deprecate. + svn_relpath_is_child() # Make private. = svn_dirent_is_ancestor() # Deprecate. + svn_relpath_is_ancestor() # Make private. + svn_uri_is_ancestor() # Make private. + svn_dirent_skip_ancestor() # See ### comment: shouldn't return child. + svn_relpath_skip_ancestor() + svn_uri_skip_ancestor() + svn_dirent_condense_targets() + svn_uri_condense_targets() + svn_dirent_is_under_root() + svn_uri_get_dirent_from_file_url() + svn_uri_get_file_url_from_dirent() svn_error.h + svn_error_find_cause() + svn_error_return() + svn_error_purge_tracing() + SVN_ERROR_IN_CATEGORY() svn_error_codes.h + SVN_ERR_BAD_TOKEN + SVN_ERR_BAD_CHANGELIST_NAME + SVN_ERR_IO_PIPE_WRITE_ERROR + SVN_ERR_STREAM_SEEK_NOT_SUPPORTED + SVN_ERR_WC_NOT_WORKING_COPY - new name for SVN_ERR_WC_NOT_DIRECTORY - SVN_ERR_WC_CHANGELIST_MOVE - deprecated + SVN_ERR_WC_DB_ERROR + SVN_ERR_WC_MISSING + SVN_ERR_WC_NOT_SYMLINK + SVN_ERR_WC_PATH_UNEXPECTED_STATUS + SVN_ERR_WC_UPGRADE_REQUIRED + SVN_ERR_WC_CLEANUP_REQUIRED + SVN_ERR_WC_INVALID_OPERATION_DEPTH + SVN_ERR_FS_PROP_BASEVALUE_MISMATCH + SVN_ERR_RA_SESSION_URL_MISMATCH + SVN_ERR_RA_DAV_CONN_TIMEOUT + SVN_ERR_RA_SVN_EDIT_ABORTED + SVN_ERR_RA_SERF_GSSAPI_INITIALISATION_FAILED + SVN_ERR_RA_SERF_WRAPPED_ERROR + SVN_ERR_CLIENT_PATCH_BAD_STRIP_COUNT + SVN_ERR_CLIENT_CYCLE_DETECTED + SVN_ERR_CLIENT_MERGE_UPDATE_REQUIRED + SVN_ERR_CLIENT_INVALID_MERGEINFO_NO_MERGETRACKING + SVN_ERR_SQLITE_BUSY + SVN_ERR_SQLITE_RESETTING_FOR_ROLLBACK + SVN_ERR_CL_ERROR_PROCESSING_EXTERNALS + SVN_ERR_ASSERTION_ONLY_TRACING_LINKS svn_fs.h + SVN_FS_CONFIG_FSFS_CACHE_DELTAS "fsfs-cache-deltas" + SVN_FS_CONFIG_FSFS_CACHE_FULLTEXTS "fsfs-cache-fulltexts" + SVN_FS_CONFIG_PRE_1_7_COMPATIBLE ! svn_fs_change_txn_props() - gets 'const' on its 'props' array input ! svn_fs_path_change_kind_t - gets an enum tag name to match typedef + svn_fs_get_mergeinfo2() + svn_fs_validate_mergeinfo() + svn_fs_change_rev_prop2() + svn_fs_get_locks2() ! svn_fs_pack_notify_action_t - gets an enum tag name to match typedef + svn_fs_pack_notify_start_revprop + svn_fs_pack_notify_end_revprop svn_hash.h + svn_hash_get_cstring() + svn_hash_get_bool() # Rename and move to svn_config_hash_get(), svn_config_hash_get_bool(). svn_io.h + svn_io_dirent2_t + svn_io_dirent2_create() + svn_io_dirent2_dup() ! svn_stream_t - added reset/mark/seek/skip support + svn_stream_skip_fn_t + svn_stream_mark_t + svn_stream_mark_fn_t + svn_stream_seek_fn_t + svn_stream_set_skip() + svn_stream_set_mark() + svn_stream_set_seek() + svn_stream_for_stdin() + svn_stream_for_stderr() + svn_stream_skip() + svn_stream_reset() + svn_stream_supports_mark() + svn_stream_mark() + svn_stream_seek() + svn_stream_tee() + svn_stream_contents_same2() + svn_io_remove_file2() - svn_io_get_dir_filenames() - deprecated # Should say why/what its replacement is. + svn_io_get_dirents3() + svn_io_stat_dirent() + svn_io_dir_walk2() + svn_io_start_cmd2() + svn_io_is_binary_data() + svn_io_file_putc() + svn_io_file_read_full2() + svn_io_dir_close() + svn_io_file_name_get() svn_mergeinfo.h + svn_mergeinfo_catalog_merge() + svn_mergeinfo_remove2() ! svn_rangelist_diff() - gets 'const' on its array inputs ! svn_rangelist_merge() - gets 'const' on its array input ! svn_rangelist_remove() - gets 'const' on its array inputs + svn_mergeinfo_intersect2() ! svn_rangelist_intersect() - gets 'const' on its array inputs + svn_rangelist_inheritable2() + svn_mergeinfo_inheritable2() ! svn_rangelist_dup() - gets 'const' on its array input ! svn_mergeinfo_inheritance_t - gets an enum tag name to match typedef svn_opt.h ! svn_opt_subcommand_help3() - new behaviour: shows aliases ! svn_opt_args_to_target_array3() - gets 'const' on its array input ! svn_opt_args_to_target_array2() - gets 'const' on its array input ! svn_opt_args_to_target_array() - gets 'const' on its array input svn_path.h - svn_path_internal_style() - deprecated; see dirent_uri.h - svn_path_local_style() - deprecated; see dirent_uri.h - svn_path_join() - deprecated; see dirent_uri.h - svn_path_join_many() - deprecated; see dirent_uri.h - svn_path_basename() - deprecated; see dirent_uri.h - svn_path_dirname() - deprecated; see dirent_uri.h - svn_path_split() - deprecated; see dirent_uri.h - svn_path_canonicalize() - deprecated; see dirent_uri.h - svn_path_is_canonical() - deprecated; see dirent_uri.h - svn_path_get_longest_ancestor() - deprecated; see dirent_uri.h - svn_path_get_absolute() - deprecated; see dirent_uri.h - svn_path_split_if_file() - deprecated - svn_path_condense_targets() - deprecated; see dirent_uri.h - svn_path_is_child() - deprecated; see dirent_uri.h - svn_path_is_ancestor() - deprecated; see dirent_uri.h svn_props.h + svn_prop_array_to_hash() + svn_prop_get_value() svn_ra.h svn_ra_get_wc_prop_func_t - 'relpath' param renamed 'path' + svn_ra_open4() - supports redirection + svn_ra_get_path_relative_to_session() + svn_ra_get_path_relative_to_root() + svn_ra_change_rev_prop2() - supports 'atomic' revprop changes + svn_ra_get_mergeinfo2() - can validate inherited mergeinfo ! svn_ra_get_locations() - gets 'const' on its array input + svn_ra_get_locks2() - supports depth + SVN_RA_CAPABILITY_ATOMIC_REVPROPS svn_ra_svn.h + SVN_RA_SVN_CAP_ATOMIC_REVPROPS + svn_ra_svn_create_conn2() - can specify compression level ! svn_ra_svn_set_capabilities() - gets 'const' on its array input + svn_ra_svn_compression_level() # Better name: svn_ra_svn_[conn_][get_]compression_level()? ! svn_ra_svn_parse_tuple() - gets 'const' on its array input ! svn_ra_svn_parse_proplist() - gets 'const' on its array input svn_repos.h - removed svn_version.h ! svn_repos_authz_access_t - gets an enum tag name to match typedef + svn_repos_notify_action_t + svn_repos_notify_warning_t # Doc: see '###' comment re making a Doxygen link. + svn_repos_notify_t + svn_repos_notify_func_t + svn_repos_notify_create() + svn_repos_open2() - takes an fs_config hash input + svn_repos_upgrade2() - uses the new repos notification system + svn_repos_fs_pack2() - uses the new repos notification system + svn_repos_recover4() - uses the new repos notification system ! svn_repos_trace_node_locations() - gets 'const' on its array input + svn_repos_fs_get_mergeinfo2() - can validate inherited mergeinfo + svn_repos_fs_get_locks2() - supports depth + svn_repos_fs_change_rev_prop4() - supports 'atomic' rev prop change ! svn_repos_fs_change_txn_props() - gets 'const' on its array input + svn_repos_verify_fs2() - uses the new repos notification system + svn_repos_dump_fs3() - uses the new repos notification system + svn_repos_load_fs3() - can validate svn props; uses new notifications + svn_repos_get_fs_build_parser3() - can validate svn props; uses new notifications ! svn_repos_revision_access_level_t - gets an enum tag name to match typedef ! svn_repos_remember_client_capabilities() - gets 'const' on its array input svn_string.h + svn_stringbuf_appendbyte() ! svn_cstring_match_glob_list() - gets 'const' on its array input + svn_cstring_match_list() + svn_cstring_strtoi64() + svn_cstring_atoi64() + svn_cstring_atoi() + svn_cstring_strtoui64() + svn_cstring_atoui64() + svn_cstring_atoui() # These numeric conversion funcs should define the valid input format. svn_subst.h + svn_subst_copy_and_translate4() - supports cancellation + svn_subst_translate_string2() - can repair EOL; says if translated - svn_subst_translate_string() - deprecated # Doesn't mention the inability to control repair of EOL. svn_types.h + SVN_UNALIGNED_ACCESS_IS_OK + svn_version_t - moved to here from svn_version.h ! svn_node_kind_t - gets an enum tag name to match typedef + svn_tristate_t + svn_tristate_to_word() # Are the strings localized or fixed? # Make private. + svn_tristate_from_word() # Are the strings localized or fixed? # Make private. Stop using it for option parsing (svnserve). ! svn_depth_t - gets an enum tag name to match typedef ! svn_commit_info_t - gets a 'repos_root' field # Should be named 'repos_root_url'? # Should also get a 'repos_uuid' field? ! svn_log_changed_path2_t - gets 'text_modified' and 'props_modified' fields # Do these new fields make sense in general logs? ! svn_log_entry_t - gets 'non_inheritable' and 'subtractive_merge' fields ! svn_log_entry_dup() - gets 'const' on its input ! svn_merge_range_dup() - gets 'const' on its input ! svn_merge_range_contains_rev() - gets 'const' on its input ! svn_location_segment_dup() - gets 'const' on its input + svn_linenum_t + SVN_LINENUM_MAX_VALUE svn_version.h ! SVN_VER_MINOR - changed to 7 ! SVN_VER_PATCH - changed to 0 - svn_version_t - moved from here to svn_types.h svn_wc.h - removed svn_version.h + svn_wc_context_t + svn_wc_context_create() + svn_wc_context_destroy() - svn_wc_adm_open3() - deprecated - svn_wc_adm_probe_open3() - deprecated - svn_wc_adm_open_anchor() - deprecated - svn_wc_adm_retrieve() - deprecated - svn_wc_adm_probe_retrieve() - deprecated - svn_wc_adm_probe_try3() - deprecated - svn_wc_adm_close2() - deprecated - svn_wc_adm_access_path() - deprecated - svn_wc_adm_access_pool() - deprecated - svn_wc_adm_locked() - deprecated + svn_wc_locked2() + svn_wc_external_update_t - svn_wc_traversal_info_t - deprecated - svn_wc_init_traversal_info() - deprecated - svn_wc_edited_externals() - deprecated - svn_wc_traversed_depths() - deprecated ! svn_wc_notify_action_t - gets many new values and one deprecated ! svn_wc_notify_state_t - gets a new value 'source_missing' ! svn_wc_notify_t - gets 'old_revision' and some info for patching ! svn_wc_conflict_action_t - gets a new value: 'replace' ! svn_wc_conflict_reason_t - gets a new value: 'replaced' + svn_wc_conflict_description2_t # See '###' comment. + svn_wc_conflict_description_create_text2() + svn_wc_conflict_description_create_prop2() + svn_wc_conflict_description_create_tree2() + svn_wc_conflict_resolver_func2_t + svn_wc_diff_callbacks4_t - adds 'file_opened' and copyfrom info # Should have 'file_closed' too? # Deprecation comment doesn't mention 'file_opened'. # Copyfrom info should include which repository? + svn_wc_check_wc2() - svn_wc_has_binary_prop() - deprecated + svn_wc_text_modified_p2() + svn_wc_props_modified_p2() - svn_wc_schedule_t - deprecated - SVN_WC_ENTRY_WORKING_SIZE_UNKNOWN - deprecated - svn_wc_entry_t - deprecated - SVN_WC_ENTRY_THIS_DIR - deprecated - svn_wc_entry() - deprecated - svn_wc_entries_read() - deprecated - svn_wc_entry_dup() - deprecated + svn_wc_info_t # See '###' comment. + svn_wc_info_dup() + svn_wc_conflicted_p3() - svn_wc_get_ancestry() - deprecated # Should say what is the replacement for this functionality. - svn_wc_walk_entries3() - deprecated # Should say what is the replacement for this functionality. - svn_wc_mark_missing_deleted() - deprecated # Should say what is the replacement for this functionality. + svn_wc_ensure_adm4() ! svn_wc_ensure_adm3() - deprecated; behaviour change re passing null - svn_wc_maybe_set_repos_root() - deprecated + svn_wc_status3_t ! svn_wc_status2_t - deprecated; gets 'const' on 'entry' field # See '###' comment: 'All diffs are not yet known'. ! svn_wc_status_t - gets 'const' on 'entry' field + svn_wc_dup_status3() + svn_wc_status3() + svn_wc_status_func4_t # See '###' comment. + svn_wc_walk_status() + svn_wc_get_status_editor5() - can omit depth filtering # '@a statushash' - unknown argument ! svn_wc_get_status_editor3() - gets 'const' on an array input + svn_wc_copy3() + svn_wc_move() + svn_wc_delete4() # See '###' comment. + svn_wc_add_from_disk() # See '###' comments. + svn_wc_add4() # See notes in doc string; remove cases 1 and 2a? + svn_wc_add_repos_file4() + svn_wc_remove_from_revision_control2() # Should be private? # Update doc string re. single-db admin areas. + svn_wc_resolved_conflict5() + svn_wc_queue_committed3() # See '###' comments. ! svn_wc_queue_committed2() - deprecated; gets 'const' on inputs ! svn_wc_queue_committed() - gets 'const' on an array input + svn_wc_process_committed_queue2() ! svn_wc_process_committed4() - gets 'const' on an array input ! svn_wc_process_committed3() - gets 'const' on an array input ! svn_wc_process_committed2() - gets 'const' on an array input ! svn_wc_process_committed() - gets 'const' on an array input + svn_wc_crawl_revisions5() - adds cancellation + svn_wc_is_wc_root2() + svn_wc_get_wc_root() + svn_wc_get_actual_target2() + svn_wc_dirents_func_t # Doc string: move mention of #3569 to a note. + svn_wc_get_update_editor4() ! svn_wc_get_update_editor3() - deprecated; gets 'const' on an array input + svn_wc_get_switch_editor4() ! svn_wc_get_switch_editor3() - deprecated; gets 'const' on an array input + svn_wc_prop_list2() + svn_wc_get_pristine_props() + svn_wc_prop_get2() + svn_wc_prop_set4() - adds depth, changelist, cancellation + svn_wc_get_diff_editor6() - adds git format, etc. + svn_wc_diff6() - adds git format, etc. + svn_wc_get_prop_diffs2() + svn_wc_merge4() + svn_wc_merge_props3() + svn_wc_get_pristine_contents2() + svn_wc_cleanup3() + svn_wc_upgrade_get_repos_info_t + svn_wc_upgrade() + svn_wc_relocate4() ! svn_wc_relocate3() - behaviour change: must be WC root and recursive # Doc should refer to 'notes/api-errata/1.7/...'. + svn_wc_revert4() + svn_wc_restore() # Should have a 'recursive' or 'depth' param? Or is not recursive? - svn_wc_create_tmp_file2() - deprecated # Should say why/what the replacement is. - svn_wc_translated_file2() - deprecated # Should say why/what the replacement is. - svn_wc_translated_stream() - deprecated # Should say why/what the replacement is. + svn_wc_transmit_text_deltas3() + svn_wc_transmit_prop_deltas2() + svn_wc_get_ignores2() ! svn_wc_match_ignore_list() - gets 'const' on its array input + svn_wc_add_lock2() + svn_wc_remove_lock2() + svn_wc_revision_status2() + svn_wc_set_changelist2() + svn_changelist_receiver_t - moved from svn_client.h to here + svn_wc_get_changelists() + svn_wc_crop_tree2() + svn_wc_exclude() + svn_wc_read_kind() # See '###' comments re 'hidden'. svn_xml.h + svn_xml_make_header2() # Deprecated version needs '@deprecated' and parens after old func name.