view plugins/ChangeLog.API @ 11454:201617d49573

[gaim-migrate @ 13693] This commit includes a number of changes: 1. Aliases are now used consistently in chats. If the prpl uses unique screen names for chats (e.g. Jabber), then aliases are not used at all. 2. The chat list is now colorized to match the colors used in the chat itself. 3. Buddies are bolded in the chat user list. 4. Buddies are sorted above non-buddies in the chat user list. 5. The chat user list is ellipsized when possible (i.e. on GTK+ 2.6.0 or above). 6. I've accepted patch #1178248, by Matt Amato to add "buddy-added" and "buddy-removed" signals. These were used in my implementation of #3 and #4, to update the GUI when users are added or removed from the buddy list. 7. I've added a "blist-node-aliased" signal that is emitted when a buddy, contact, or chat is aliased. 8. Since it was hard to separate and I need it at some point, I'm letting it slip in... I've changed GaimConversation.log to be a GList named logs. This way, we can have multiple logs for a single conversation. This will be necessary to implement unnamed chat logging in some reasonable fasion (see my notes in the TODO file). committer: Tailor Script <tailor@pidgin.im>
author Richard Laager <rlaager@wiktel.com>
date Tue, 06 Sep 2005 03:04:07 +0000
parents ef6e94bdda08
children 16b0da1f376f
line wrap: on
line source

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, added total_size, list_syslog, and get_log_sets
	           parameters to bring the function up-to-date with GaimLogLogger
	* 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: 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
	* Added:   OPT_PROTO_USE_DISPLAY_NAME_FOR_ME_IN_CHATS, see the prpl.h
	           documentation if you're writing a prpl

	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