Gaim: The Pimpin' Penguin IM Client that's good for the soul!

version 2.0.0:
	* Changed: All the status stuff. Yay!
	* Changed: gaim_prefs_connect_callback(), added handle parameter
	* Added:   gaim_prefs_disconnect_by_handle()
	* Removed: gaim_gtk_sound_{get,set}_mute() (replaced by the
	           /gaim/gtk/sound/mute preference)
	* Changed: gtk_imhtml_toolbar now descends from GtkHBox making it
	           easier to add your own widgets to it
	* Changed: gaim_find_conversation_with_account, added a "type" parameter
	* Changed: gaim_gtk_prefs_labeled_spin_button, the "key" parameter is
	           now a const char* instead of just a char*
	* Changed: gaim_gtk_prefs_labeled_entry, the "key" parameter is
	           now a const char* instead of just a char*
	* Changed: the add_buddy perl sub.  The argument now takes the account
	           as the first argument, and buddy and group as the second and
	           third.  It also adds the buddy to the server-side buddy
	           list of the given account.
	* Changed: gaim_blist_node_action_new, added a fourth argument, a GList
	           of GaimBlistNodeActions to be created as a submenu of the item.
	* Removed: gaim_escape_html(const char *html) (use
	           g_markup_escape_text(html, -1) instead)
	* Removed: gaim_accounts_sync, account changes are now scheduled to be saved
	           automatically
	* Removed: gaim_connection_connect
	* Removed: gaim_connection_disconnect
	* Removed: gaim_connection_register
	* Removed: gaim_accounts_auto_login
	* Removed: gaim_find_conversation, use gaim_find_conversation_with_account instead
	* Changed: gaim_connection_new, gaim_account_connect and gaim_account_register
	           no longer return a GaimConnection
	* Added:   a password field to GaimConnection, which only persists for the
	           session (when "remember password" is false, account->password is NEVER set)
	           Use gaim_connection_get_password(GaimConnection *gc)
	* Removed: serv_login
	* Removed: serv_close
	* Removed: serv_finish_login
	* Changed: keep_alive in GaimConnection is renamed to keepalive
	* Removed: gaim_chat_get_display_name
	* Added:   gaim_log_common_writer, gaim_log_common_lister,
	           gaim_log_common_sizer, and gaim_log_get_log_dir
	           to allow log formats that use standard Gaim log directory
	           to use Gaim's built-in code for these purposes.
	* Added:   GaimLogCommonLoggerData struct for a basic logger_data
	           struct to be used with "common" logger functions.
	* Removed: gaim_conversation_set_history, gaim_conversation_get_history,
	           and GaimConversation->history.  Use gtk_imhtml_get_markup
	           instead.
	* Removed: serv_rename_group
	* Renamed: set_gaim_user_dir to gaim_util_set_user_dir
	* Renamed: create_prpl_icon to gaim_gtk_create_prpl_icon
	* Changed: gaim_mkstemp, added a second argument, a boolean, of whether
	           or not the file is binary
	* Removed: Window flashing support in the core: gaim_conv_window_flash,
	           and flash UI operation for conversations.  Use signal
	           "received-im-msg" or similar.
	* Added:   gaim_gtk_blist_node_is_contact_expanded, returns TRUE if
	           the given blist node is a buddy inside an expanded contact,
	           or is itself an expanded contact
	* Added:   GaimLogSet struct, get_log_sets function to GaimLogLogger,
	           gaim_log_get_log_sets, gaim_log_set_compare
	* Changed: gaim_log_logger_new, rewritten
	* Changed: gaim_conv_window_remove_conversation()'s last argument to
	           be a GaimConversation.
	* Added:   gaim_privacy_check(), to check if a given user is allowed to
	           to send messages to the specified account
	* Changed: A new blocked icon: pixmaps/status/default/blocked.png
	* Removed: All warning stuff from the core.
	* Changed: gtk_imhtml_toggle_bold, gtk_imhtml_toggle_italic,
	           gtk_imhtml_toggle_underline, gtk_imhtml_toggle_strike:
	           no longer return a value
	* Added:   gtk_imhtml_clear_formatting()
	* Removed: gaim_gtkconv_get_dest_tab_at_xy(), instead use
	           gaim_gtkconv_get_tab_at_xy()
	* Added:   gtk_imhtml_delete to clear out part of a imhtml buffer
	* Changed: gaim_log_new(), added conv parameter
	* Added:   gaim_buddy_icons_get_full_path(), to get the full path
	           of a buddy icon setting
	* Changed: gaim_buddy_icon_new(), leaves a reference which the caller
	           owns. Use gaim_buddy_icon_unref() immediately if you don't
	           want a reference (the old behavior).
	* Changed: GAIM_CONV_UNKNOWN to GAIM_CONV_TYPE_UNKNOWN.
	* Changed: GAIM_CONV_IM to GAIM_CONV_TYPE_IM.
	* Changed: GAIM_CONV_CHAT to GAIM_CONV_TYPE_CHAT.
	* Changed: GAIM_CONV_MISC to GAIM_CONV_TYPE_MISC.
	* Changed: GAIM_CONV_ANY to GAIM_CONV_TYPE_ANY.
	* Changed: GaimConversationUiOps.write_conv, Replaced const char *who
	           with const char *name, const char *alias
	* Changed: gaim_conv_chat_add_users(), added extra_msgs and
	           new_arrivals (pass NULL and FALSE respectively, to get the
	           same behavior as before)
	* Changed: chat_add_users in GaimConversationUiOps, added aliases list
	* Removed: chat_add_user from GaimConversationUiOps
	* Changed: chat_rename_user in GaimConversationUiOps, added new_alias
	* Changed: GaimConversation.log became GList * GaimConversation.logs,
	           so that a conversation can have multiple logs at once
	* Changed: gaim_conv_chat_add_user, added extra_msgs list
	* Added:   CHAT_USERS_ALIAS_COLUMN, CHAT_USERS_COLOR_COLUMN,
	           CHAT_USERS_BUDDY_COLUMN to the list of columns for the chat
	           user list
	* Changed: gaim_notify_userinfo, removed primary and secondary args
	* Changed: GaimNotifyUiOps::notify_userinfo, removed title, primary,
	           and secondary args
	* Removed: uc from the GaimBuddy struct
	* Removed: gaim_sound_get_handle()
	* Removed: gaim_debug_vargs()
	* Added:   gaim_account_add_buddy()
	* Added:   gaim_account_add_buddies()
	* Added:   gaim_account_remove_buddy()
	* Added:   gaim_account_remove_buddies()
	* Added:   gaim_account_change_password()
	* Removed: serv_add_buddy(); use gaim_account_add_buddy() instead
	* Removed: serv_add_buddies(); use gaim_account_add_buddies() instead
	* Removed: serv_remove_buddy(); use gaim_account_remove_buddy() instead
	* Removed: serv_remove_buddies(); use gaim_account_remove_buddies()
	           instead
	* Removed: serv_change_passwd(); use gaim_account_change_password()
	           instead
	* Added:   gaim_conversation_close_logs(), to force a conversation's
	           log(s) to be closed. New logs will be opened as necessary.

	Signals:
	* Changed: "received-im-msg" and "received-chat-msg" to match, both
	           now pass a conversation pointer and flags
	* Changed: "receiving-im-msg" and "receving-chat-msg" to match, both
	           now pass a conversation pointer and a pointer to the flags.
	* Changed: "drawing-tooltip," the second argument is now a GString*
	           instead of a char**
	* Changed: Signal propagation now stops after a handler returns a
	           non-NULL value. This value is now returned. Previously,
	           all registered handlers were called and the value from the
	           last handler was used.
	* Changed: "chat-invited" handlers can now return a value to control
	           what happens to the invite (accept, reject, prompt the user).
	           See the Doxygen documentation for the details.
	* Added:   "file-recv-accept", "file-recv-start", "file-recv-cancel",
	           "file-recv-complete", "file-send-accept", "file-send-start",
	           "file-send-cancel", and "file-send-complete" signals.  See
	           the Doxygen documentation for the details.
	* Changed: Renamed "conversation-drag-end" to "conversation-dragging"
	           and emit before the conv. window swap happens. This prevents
	           the old conv window from being freed before the signal emits.
	* Added:   "buddy-added" and "buddy-removed", which are self-explanatory
	* Added:   "blist-node-aliased", an alias was set for a buddy, chat or
	           contact.  See the Doxygen documentation for the details.

version 1.0.0 (09/17/2004):
	* Added: get_chat_name to the GaimPluginProtocolInfo struct
	* Changed: gaim_blist_update_buddy_presence(), presence changed to
	           type gboolean
	* Changed: the versioning scheme, and all the plugin structs

version 0.82 (08/26/2004):
	Gaim API:
	* Removed: gaim_gtk_get_dispstyle(), gaim_gtk_change_text()
	* Removed: multi.h
	* Renamed: ui.h to gtkdialogs.h
	* Renamed: gtkinternal.h to gtkgaim.h
	* Renamed: show_info_dialog to gaim_gtkdialogs_info
	* Renamed: show_log_dialog to gaim_gtkdialogs_log
	* Renamed: show_warn_dialog to gaim_gtkdialogs_warn
	* Renamed: show_im_dialog to gaim_gtkdialogs_im
	* Renamed: gaim_gtkdialogs_new_im to gaim_gtkdialogs_im_with_user
	* Renamed: destroy_all_dialogs to gaim_gtkdialogs_destroy_all
	* Renamed: alias_dialog_bud to gaim_gtkdialogs_alias_buddy
	* Renamed: alias_dialog_contact to gaim_gtkdialogs_alias_contact
	* Renamed: alias_dialog_blist_chat to gaim_gtkdialogs_alias_chat
	* Renamed: show_confirm_del to gaim_gtkdialogs_remove_buddy
	* Renamed: show_confirm_del_group to gaim_gtkdialogs_remove_group
	* Renamed: show_confirm_del_blist_chat to gaim_gtkdialogs_remove_chat
	* Renamed: show_confirm_del_contact to gaim_gtkdialogs_remove_contact
	* Renamed: show_about to gaim_gtkdialogs_about
	* Added: gaim_notify_userinfo() and the associated notify_userinfo() UI op
			 (someone who knows just why we have this can edit here)

	Buddy List API:
	* Changed: gaim_blist_request_add_chat(), added name parameter
	* Added: gaim_contact_on_account()
	* Added: flags parameter to the GaimBlistNode struct

	Conversation API:
	* Added: gaim_gtkconv_button_new()

	Protocol Plugin API: v7
	* Added: chat_info_defaults to the GaimPluginProtocolInfo struct

	Signals:
	* Added: conversation-updated for any update to the data associated
	  with the conversation (topic, icon, adding to buddy list, etc.)

	Conversation API:
	* Changed: gaim_conv_chat_add_user() (added new_arrival parameter)

version 0.81 (08/05/2004):
	Commands API:
	* Most functions now have a void *data argument.

	Blist API:
	* Added: gaim_buddy_get_contact_alias
	* Renamed: gaim_get_buddy_alias to gaim_buddy_get_alias
	* Renamed: gaim_get_buddy_alias_only to gaim_buddy_get_alias_only

	Conversation API:
	* Changed: gaim_conv_chat_add_user(), added flags parameter
	* Changed: gaim_conv_chat_add_users(), added GList of flags parameter
	* Changed: gaim_conv_chat_get_users(), now returns a GList of
	  GaimConvChatBuddy's
	* Changed: gaim_conv_chat_set_users() now expects a GList of
	  GaimConvChatBuddy's
	* Added: gaim_conv_chat_set_user_flags()
	* Added: gaim_conv_chat_get_user_flags()
	* Added: gaim_conv_chat_find_user()
	* Added: gaim_conv_chat_cb_new()
	* Added: gaim_conv_chat_cb_find()
	* Added: gaim_conv_chat_cb_destroy()
	* Added: gaim_conv_chat_cb_get_name()

	Conversation UI ops:
	* Added: chat_update_user()

	Signals:
	* Changed: chat-buddy-joining & chat-buddy-joined now include the user's flags
	* Changed: chat-buddy-joining & chat-buddy-leaving are now booleans, return
	  TRUE if you don't want the join/leave to be displayed in the UI.
	* Added: chat-buddy-flags for when user's flags change
	  gaim_marshal_VOID__POINTER_POINTER_POINTER_UINT_UINT (required for the new
	  chat-buddy-flags signal)
	* Added: account-modified for when account settings have been changed.

version 0.80 (07/15/2004):
	Gaim API:
	* Removed: PRPL numbers : gaim_account_set_protocol(),
	  gaim_account_get_protocol(), gaim_accounts_find_with_prpl_num,
	  gaim_prpl_num_to_id(), gaim_prpl_id_to_num(), GaimProtocol

	Protocol Plugin API: v6
	* Added: can_receive_file & send_file to the GaimPluginProtocolInfo struct

	Signals:
	* Changed "chat-invited" to also include the components hash table so
	  plugins can use serv_join_chat when the signal is emitted.
	* Added "chat-topic-changed" signal plugins know when a topic is changed.

version 0.79 (06/24/2004):
	Gaim API:
	* gaim_url_parse() now takes two additional parameters, which are used
	  for returning the username and password from the URL, if they exist.
	* Added: has_focus UI op to GaimConversationUiOps and
	  GaimConvWindowUiOps.
	* Added: gaim_conversation_has_focus() and gaim_conv_window_has_focus().
	* Removed: gaim_blist_save()

	Protocol Plugin API: v5
	* Changed: add_buddy, add_buddies, remove_buddy, remove_buddies,
	  rename_group and remove_group to take GaimBuddy's and
	  GaimGroup's consistently.
	* Removed: OPT_PROTO_BUDDY_ICON (replaced by icon_spec)
	* Added: icon_spec to the GaimPluginProtocolInfo struct

version 0.78 (05/30/2004):
	Plugin API: v4
	* Added: actions - for plugins to add to the new Plugin Actions menu

	Loader Plugin API: v2 (no changes)

	Protocol Plugin API: v4
	* Removed: set_dir, get_dir and dir_search (not used, AIM-centric)
	* Removed: actions (replaced by generic plugin actions)

	Perl Plugin API: v2 (no changes)
	TCL Plugin API: (no changes)

	Signals:
	* Added: "blist-node-extended-menu" for extending Buddy, Chat and
			 Group right-click menus
	* Added: "drawing-tooltip" for plugins to allow plugins to change text
			 appearing in tooltips
	* Added: "gtkblist-created"
	* Added: "receiving-im-msg" and "receiving-chat-msg" (these behave
			  exactly like received-*-msg used to)
	* Added: "buddy-idle-updated" signal, for when the idle time changes.
	* Changed: "received-im-msg" and "received-chat-msg" no longer pass
			   pointers to who, message and flags, and are now void.
	* Removed: "drawing-menu" - it was UI sepecific and
			   "blist-node-extended-menu" is superior

version 0.77 (04/22/2004):
	Loader & Protocol Plugins independantly versioned
	Plugin loading now checks versioning on plugins (Standard, Loader &
	Protocol)
	new GAIM_{PLUGIN,PRPL,LOADER}_API_VERSION constants

	Plugin API: v3
	* Added: prefs_info for UI independant plugin prefs

	Loader Plugin API: v2
	* Added: api_version at top of GaimPluginLoaderInfo struct

	Protocol Plugin API: v2
	* Added: api_version at top of GaimPluginProtocolInfo struct
	* Added: chat_menu for protocol specific extensions to the chat menu
	* Removed: get_away "Nada used it. Pink elephants on parade."
	* Removed: protocol_prefs (replaced by generic plugin prefs_info)

	Perl Plugin API: v2 (no changes)
	TCL API: (no changes)

	Signals:
	* Added: "conversation-drag-ended"

version 0.76 (04/01/2004):
	Plugin API: v2
	Perl Plugin API: v2
	Loader Plugin API: (not versioned)
	Protocol Plugin API: (not versioned)
	* Added: protocol_prefs for protocol specific preferences
	* Added: reject_chat so protocols can act on chat invite rejection

	TCL Plugin API: (not versioned)
	* Changes to plugin registration to show descriptions

