= Roadmap for Pidgin 3.0.0 = == Todo == * libpurple * Merge-ready SOC branches: * [wiki:GSoC2010/DetachableLibpurple Detachable libpurple sessions] * [wiki:GSoC2009/PrivacyRewrite Privacy Rewrite] * [wiki:GSoC2008/MasterPassword Master Password] * Struct hiding * Gobjectification (might not be absolutely necessary to complete for 3.0.0? See previous point) * Remove deprecated API * Remove {{{purple_network_map_external}}} (replace with a parameter to {{{purple_network_listen}}}) (#3967) * Merge {{{purple_network_listen}}} and {{{purple_network_listen_family}}} to a single function * Merge {{{purple_network_listen_range}}} and {{{purple_network_listen_range_family}}} to a single function * Remove {{{purple_blist_new}}} (should be handled by {{{purple_blist_init}}}) * Remove {{{purple_set_blist}}} (should be handled by {{{purple_blist_init}}}) * Remove {{{purple_blist_destroy}}} * Remove {{{purple_blist_update_buddy_icon}}} * Remove {{{purple_contact_set_alias}}} * Remove {{{purple_buddy_get_local_alias}}} * Remove {{{purple_buddy_icons_has_custom_icon}}} * Remove {{{purple_buddy_icons_find_custom_icon}}} * Remove {{{purple_buddy_icons_set_custom_icon}}} * Merge {{{purple_certificate_check_signature_chain_with_failing}}} and {{{purple_certificate_check_signature_chain}}} * Remove {{{PurpleConnectionUIOps::report_disconnect}}} * Hide {{{purple_connection_new}}} (should be an internal function) * Hide {{{purple_connection_new_unregister}}} (should be an internal function) * Hide {{{purple_connection_destroy}}} (should be an internal function) * Replace {{{purple_connection_error}}} with {{{purple_connection_error_reason}}} * Remove {{{PURPLE_CONNECTION_IS_VALID}}} * Remove {{{purple_notify_searchresults_get_rows_count}}} * Remove {{{purple_notify_searchresults_get_columns_count}}} * Remove {{{purple_notify_searchresults_row_get}}} * Remove {{{purple_notify_searchresults_column_get_title}}} * Remove {{{purple_notify_user_info_remove_entry}}} * Remove {{{purple_plugins_register_probe_notify_cb}}} * Remove {{{purple_plugins_unregister_probe_notify_cb}}} * Remove {{{purple_plugins_register_load_notify_cb}}} * Remove {{{purple_plugins_unregister_load_notify_cb}}} * Remove {{{purple_plugins_register_unload_notify_cb}}} * Remove {{{purple_plugins_unregister_unload_notify_cb}}} * Remove {{{purple_prefs_set_generic}}} (and {{{struct purple_pref->value.generic}}} * Remove {{{PurpleProtocolPluginInfo::get_cb_info}}} * Remove {{{PurpleProtocolPluginInfo::get_cb_away}}} * Remove {{{purple_request_field_list_add}}} * Remove {{{serv_send_attention}}} * Remove {{{serv_got_attention}}} * Remove {{{purple_ssl_connect_fd}}} * Remove {{{purple_status_type_set_primary_attr}}} * Remove {{{purple_status_type_add_attr}}} * Remove {{{purple_status_type_add_attrs}}} * Remove {{{purple_status_type_add_attrs_vargs}}} * Remove {{{purple_status_type_get_primary_attr}}} * Hide {{{purple_status_set_attr_boolean}}} * Hide {{{purple_status_set_attr_int}}} * Hide {{{purple_status_set_attr_string}}} * Remove {{{purple_presence_add_status}}} * Remove {{{purple_presence_add_list}}} * Merge {{{purple_util_fetch_url}}} and {{{purple_util_fetch_url_len}}} * Remove {{{purple_util_fetch_url_request_len}}} * Remove {{{purple_ip_address_is_valid}}} * Remove {{{_purple_oscar_convert}}} * Remove {{{xmlnode_set_attrib_with_prefix}}} * Remove {{{xmlnode_set_attrib_with_namespace}}} * Pidgin * Port to GTK+ 3 (going on in branch im.pidgin.cpw.qulogic.gtk3) * Replace GtkIMHtml with Webkit (going on in branch im.pidgin.soc.2009.webkitmessageview)