Version 0.18.2: Refreshing the Address Book data now refreshes the friends list (in case anyone's real name has changed!) Now gtkyahoo re-links if libyahoo.a has changed (finally!) All status messages will use real names if real names are enabled If your'e chatting with a non-friend and you're ingoring messages from non-friends, you will NOT ignore replies to the non-friend you're chatting with! Buddy statuses now enclosed in ()'s as with Win32 client Added lots of keyboard shortcuts to menus Now the Get Credentials menu item is disabled upon login Added loads of keyboard shortcuts to the menu items Now **you** appear in the Friends list along with your status. So with a custom status you can see what you've specified. You can now right-click on your name in the main window and change your status All the possible statuses are now settable from keyboard shortcuts Bug fixes in the new way the friends CTree is built Added to copyright dates Added libyahoo Authors to About Box By default the RPM builds will have debug **enabled** Now when you change your status it's announced in all your chat windows. Version 0.18.1: Changed AUTHORS file to more accurately represent the roles within the team: Project Administrators = SF.net project admins (Nathan & Craig) Primary Developers = developers with CVS "write" access Supporting Authors = people who have submitted patches or made other significant contributions Acknowledgements = other people who've helped (submitted bugs, packet traces other useful things) Vincent Deffontaines adding support for local Ignore lists Craig Emery added changes so that the real names of your friends can be displayed: If you put your friends into your Yahoo! Address Book and include their Yahoo! ID's in those entries then those "real" names can be displayed instead of their ID's if the option display-real-names yes is included in your gtkyahoorc file or you use the menu in the Tools menu Version 0.18.0: Various bug fixes Building of RPM files substantially updated. Now builds Gnome and Ximian/Gnome RPM files 'SYSTEM' now recognised as a Yahoo! system id If you're ignoring messages from non-friends you will still see messages from this user -geometry switch now sets the main window's width & height ( the widget's minimum dimentions cannot be reduced ) Thanks to Subhash Chandra for HTTP proxy connectivity work Thanks to Nazri Ramliy for his custom status patch Version 0.17: Support for actions. Lots of patches from Scott Heavner for actions, window sizing, etc. New images from Scott Heaver, modified to be transparent Added sample beep.wav and sounds subdirectory. Fixes for window resizing to go with defaults for most windows instead of forcing the size. Added new debug code to make adding debug traces easier. Added initial support for file transfer (at the moment, it just lets you know you received a file) Added support for "invisible" mode. Modified sendcmd to allow setting unknown2 flag, this will be used for the login status setting. Won't be functional into YPNS2.0 though. Minor memory leak fixes. Fixed dependency order with flex/bison to allow gmake -j to work under certain circumstances. Added support for sending/receiving files. Added support for logging all conversations to a file. Added about box (thanks to X-Chat author for a nice design). Added support for ~/.gtkyahoo/gtkrc so that colors can be customized, included sample one lifted from jpilot package that looks nice. Added support for sending offline messages. Fixed handling of empty startchat message. Added detection (marks them special) of received offline messages. Added quick -geometry hack for setting main window position Changed initial login to use /config/ncclogin instead of /config/login so it could GET instead of POST. At some point, can possibly combine the getconfig and fetchcookies requests. Changed to randomly select a pager host from cs[1-5].yahoo.com. Changed to add multiple config files Changed to be case insensitive parsing set-cookie replies from yahoo web servers. Added support for receiving messages only from known friends. Added support for chatting with users in yahoo's game rooms. Added support for adjusting idle time period. Added support for separate image for idle status. Added support for different font styles in chat messages received. Added status bar. Added messages window and additional logging. Added support for receipt of "someone added you as a friend" messages Messages sent to each chat window if user logs on/off/etc. Removed some cruft from the yahoolib.c file Added menu item to clear notification messages textbox. Added new action code, most of config file syntax is now functional, including nesting contacts within specific configs, and specification of actions, events, etc. Added new events for arriving messages to chat windows that either specifically do or do not have keyboard focus Improved idle handling. Selecting current user status (after being idle) used to not reset idle status. Added support for building outside of the source directory Added email tag for each contact, will be used for per-contact popup info, and for the reply-to address in forwarded messages. Fixed parsing of offline messages Automatically pop up a sendoffline window if you try to send to a offline user to give you another chance to send it offline instead of just ignoring the bounce. Added modal alerts for some errors that can occur. More feedback in the notify window for startup progress. Mail specific feedback in the notify window. Dialog action now has basic support. When being logged of because of a duplicate logon, a modal dialog will now say why gtkyahoo will now quit If password not supplied in config file, now doesn't log you in and disables most menu items except new Login one. The Login menu prompts for a password with *'s echoing keystrokes. Getting closer to having logon / logoff and multiple users a la BillOS. Added yahoo_free_context routine to yahoolib.c Changed yahoolib to return a NULL pkt->msg when it's only a status update - this fixes loops with auto-replies. Moved yahoolib to YPNS2.0 instead of 1.4. Now can support custom messages. Added support for seeing custom status messages. Made status.c check more thoroughly for null id checks. Updated yahoolib routines for setting away/back modes to allow specifying a custom message. Added two new menus to the toobar: 'Edit' and 'Y!'. The Windows versions of Yahoo!'s Messenger client uses a number of CGIs and links on the Y! web site to add functionality/features not included to the client itself. These menus add these features to the client. Converted menus to use ItemFactory, starting adding support for custom status messages. Password prompt now grabs keyboard focus Notify message window now has pop-up menu (right click) that lets you clear it Reasonable attempt at supporting font tags given by new Win32 client Applied a couple of buffer overrun fixes to yahoolib. Added notes about using gmake on OpenBSD/etc. to INSTALL. Moved repository to sourceforge. Changed URL in about box to sourceforge. If any user is selected, then (as with ymessenger) the user's group is now the default when adding a new user. Moved creating of friends CTree in utils.c so it could be used elsewhere (Start conference window to be precise) Started **serious** work on conference window: **ALL** work on selecting invitees for new conference FINISHED!!!!! Alert windows now set keyboard focus on **the** button Added support for YahooLib debugging in rcfile.y configure now can be told where libyahoo is if it's not in ./libyahoo (one step closer to libyahoo being a completely seperate package) Now that libyahoo can parse "ADDINVITE" packets more work on receiving invitations has been done (nothing major though!). Small #includes added for building under Solaris. Now, if your password is incorrect, GtkYahoo doesn't quit, but let's you choose Login from the File menu and try again New configuration flag show-messages-about-me defaults to true and when false you **won't** get "you are now idle" or "you are no longer idle" Changed show-messages-about-me to show-idle-messages. This was really what I wanted: to avoid having the messages window fill up with "they're not idle", "you are...." messages when "They've logged off" etc are **way** more interesting. Now you can right-click on a friend and see their address book details (if you've got them) Applied logfile patch from Nazri Ramliy. Thanks to Mayank Sharma HTTP-only mode now works again Messages from user "" are now silently ignored we get these in HTTP-only mode Version 0.16: Fixed screw-up with missing xpm in 0.15 Version 0.15: Integrated patched from Scott Barron: Changes to use tables instead of boxes. Changes to add cancel buttons and xbm's to many windows. Added support for clicking on mail icon to open web browser. Added support to auto-detect url-handler executable in configure, or allow configuring the default. Added smarter handling of execution of browser, but needs work. Updated logo to match new name of Yahoo! Messenger. Updated new icon from inkumbi@yahoo.com. Updates to initial connect code to allow retrying and delaying the connection, configurable in the gtkyahoorc, and updates to the gtkyahoo.spec.in file based on suggestions from Viorel ANGHEL . Updates to sample.gtkyahoo for new parameter info. Version 0.14: Fixed SEGV that occurs on receipt of new friends message due to looping through buddy list and freeing identities instead of looping through identity list. Added support for handling a ping response packet. This occurred after my login apparently timed out or something. I was connected but not logged in. Added back support for double clicking in user list to start chat. Thanks to Allan Black for sample code for doing this with a ctree. Optimized parsing of message packet and fixed bug with parsing related to parentheses. Smilies were getting truncated. Added support for auto-forward of messages to email. Version 0.13: GTKYahoo is now dependent on gtk+-1.2.x because is uses the gtkctree widget for the friend lists. Added setting show_online_only to the support implemented in the rcfile. Added TESTGTKYAHOORC environment variable to have gtkyahoo read the ~/.gtkyahoo/testgtkyahoorc file instead of gtkyahoorc. This helps in testing of stuff while coding. Added auto-reply features Added email handler and url handler back-end code List of users is now a tree so you can see your groups The buddy list and user list now refresh upon receipt of a new-contact message (so it will remove/add them as told to by the web apps). Changed "Add Friend" dialog to use a editable combo box for the name of the group that has your groups listed. Added "Remove Friend" functionality. Added handling for group rename service. Reorganized the tools menu slightly. Added special case to not update status upon receipt of a Chat logon/logoff packet, since the status does not appear to get sent correctly. Added handling of message replies that are purely status updates, ie. the content is: userid(statuscode) Collapsed buddy and ident retrieval into single routine that updates the context. Streamlined login/startup process by removing unecessary status updates. Can now log in with any of your ID's, the library will figure out what one to use from the server's response. HTTP and HTTP-PROXY connect modes are fully implemented, but they still seem to be generating errors from the server - even though they mostly appear to work fine. Version 0.12: Slight changes to tooltips for new mail, now says "no new messages" Fixed minor problem with double idle. Initial support for conferences (just yahoolib and packet parsing/ processing for now.) Added service-code to string routine in yahoolib Removed event type stuff from yahoolib since it wasn't correct. Added lots of stuff to support the new configuration file. Added 'send raw' window to allow sending of a raw packet for testing purposes. This will only show up if yahoolib debugging is turned on. Added a couple of debug flags to the parser, need to decide how to do this without it being ugly. Figured out another 4 bytes of the packet - at least for the packets that are received by the pager they are the connection id of this pager connection. Only have another 12 bytes to go. Fixed bug with 'in_chat' not getting retrieved, so users in the chat rooms would be listed as offline. Added special handling for error responses (i.e. messages to non-online users.) Initial modifications for socks4 and socks5 support. Moved all socket I/O to the yahoolib routines so that gtkyahoo itself doesn't have to worry about the details. gtkyahoo still uses the server socket for "data is ready" checks to trigger the io_callback in a connected-mode pager session though. Black color was missing from defines and processor for text messages. Almost all yahoolib routines now take the context as the first parameter. Lots of stuff added to support http mode. Thanks to Thomas James for patches that made the job a lot easier. Added support for http and http-proxy mode. They are not completely implemented yet though. Please send improvements. Version 0.11: Fixes to account for Yahoo's changes to their server. My code should have been a bit more robust. It is now. Changed yahoo_fetchcookies routine to use yahoo_tcp_readline instead of character by character with recv. Misc. debug message addition and cleanup. Version 0.10: Added idle handler to ping the server every few minutes. Added pass through pending events right after main window is created so that there won't be the delay with an empty window. This looks a little better. Updated startchat window to use a uneditable combo box for the "Chat as" selection. Fixed horizontal scroll weirdness with user list by setting the column width to a small number. It still displays correctly, but the scroll bar now no longer shows up unecessarily. Fixed problem that occasionally the 'idle' status interacted oddly with the user changing the status with the popup. Turning into spaghetti though, need to rewrite some of this. Added some debug support to yahoolib, for now triggered by YAHOOLIB_DEBUG environment variable. Version 0.9: Adding back all the things to set window size. Without them, the window manager winds up sticking the windows in bad spots. Misc. memory leak cleanup started, need to do alot more for pixmaps. Added icon. Added debian packaging stuff, submitted by Andreas Plesner Jacobsen Moved all development to cvs.unixtools.org CVS server. Added snprintf.c from mutt distribution to solve some sgi problems. Added fixes to encoding of userid and password for cookie request, and minor problem with parsing of config file when last line didn't have a newline after it. Thanks to Timothy Allen for helping to track this down. Added handler for SIGPIPE to at least print out a message when the connection to the server is lost. Need to handle better in future. Added GPL banner to startup and About menu item - though it isn't functional yet. Version 0.8: Split status tracking functions into separate source file Re-implemented with it's own list instead of using the clist only This was needed for displaying online users only Added full support for displaying online users only and added a checkbox menu item to enable/disable it. Started adding tooltips. Changed top of main window to toolbar. Looks ugly at the moment though. Added support for updating the new mail icon and tooltip. Changed status menu to an option menu in the toolbar. Miscelaneous fixes to get rid of a couple memory leaks. Upped version code to YPNS1.4, since the windows pager is now using it. It seems to still work right without any changes. Added initial start-chat window. Added idle timeouts to change status to "Idle" Spruced up calendar reminder window. Version 0.7: Addition parsing and handling for calendar types Added event type codes to yahoolib and routine to retrieve the string form of the type code. Added info to NOTES about formatting directives inside chat messages Cleaned up old NOTES that were no longer needed Renamed calcontent element of packet to make for a set of similarly named elements. Added support for receiving color directives in the text boxes. Yahoo goofiness - they bumped up the minimum protocol version sometime night of 2/8 or early morning 2/9, but then by the evening of 2/9 it appears to have been lowered again. (Probably cause they broke the Java pager as well.) In any case, the code now sends YPNS1.3 instead of YPNS1.2. Disabled the calendar entry type display since I don't know how to correctly determine it. Version 0.6: Added newmail (yahoo mailbox) and calendar event reminder support. Added icon xpm files for mail status icons Applied fixes for AIX support. Added support for sending messages to/from users in chat room. Added service entry for chat invite, was something else, might be something that yahoo changed or was misinterpreted previously. Added info to NOTES file about chat invite Code reorganization Split windows up into separate source files Added extra code and source files for various window types Centralized header includes in gtkyahoo.h Added initial placeholders for raw packet window (for debugging) or generic handling of unknown packet types. Added minimal chat invite support Version 0.5: Chat windows now raise when a new message is added. Reverted to character wrapping instead of word wrapping. Added some support for adding a friend Fixed (I think) sort order for friends list, it wasn't ordering things quite right. I _thought_ that strcasecmp would ignore case when determining order, but it appears to only ignore case when checking for equality. Added a .spec file to the distribution so others can generate RPM's. Added another couple of source files and prototype headers. Added routine to yahoolib to urlencode requests. Removed current_user from status list - it wouldn't update unless you had yourself listed as a friend. Added email to NOTES file with info on "New Mail" and calendar support. Version 0.4: Fixes for case handling for different cases in buddylist and status entries. Added support for service 15 (new contact). Adding a friend now shows up in the user list immediately. Added support for indicating when user entered/left yahoo chat Worked on idea for future config/rc file, added to note Added checks in configure for inclusion of strings.h and string.h and other miscelaneous header files. Moved config options/defined to config.h Focus taken for text entry in chat window Double clicking on a user name starts a chat session GTK+-1.1.x clist scrollbar support Chat windows word wrap instead of character wrap. New graphic for the pager image. Added GTK cube. Added framework for sending notification of logon/logoff to relevant chat windows. Version 0.3: Significant restructuring of the yahoolib code to use a context structure that gets passed around. Added menu bar and menus for status and quit Added better yahoolib handling of extra identity activation. Slightly cleaned up debug support Added some example packets to the notes file about enter/leave the yahoo chat areas. Version 0.2: Added support for buddy lists Added support for alternate identity activation Version 0.1: Initial Release Minimal functionality - log on and chat using primary id