= 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
  * [wiki:GObjectFeatures Gobjectification] (might not be absolutely necessary to complete for 3.0.0? See previous point)
  * Add [wiki:XDG_dirs XDG Dirs] support
  * Fix proxy handling
   * The current proxy API doesn't allow for the proxy behavior to be set per host, protocol, etc.  In many cases, there is more than one host and protocol used per account.
   * See #3034, #3239, #4459
  * 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_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_contact_set_alias}}}~~
   * ~~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 {{{PurplePluginProtocolInfo::get_cb_info}}}
   * ~~Remove {{{PurplePluginProtocolInfo::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_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) [wiki:GTK3]~~
  * ~~Replace GtkIMHtml with Webkit (going on in branch im.pidgin.soc.2009.webkitmessageview)~~ (development is already in im.pidgin.pidgin)
  * (Maybe) use libcanberra for sound events?

[query:status=new&status=new&order=priority&col=id&col=summary&col=status&col=type&col=milestone&col=component&milestone=3.0.0 Tickets with a 3.0.0 milestone]