0.8.6, 2007/12/17 - Uses AIMCC 1.6.4.1971. - Uses Growl 1.1.2. - Replaced AccOcSessionDelegate session:presentError: with session:presentError:modalForWindow:. - Added AccOcBuddyListExt removeObjectFromChildrenAtIndexes:. - Added AccOcComposeTextView canResetColors and resetColors: (undoable). - Added AccOcGroupExt removeObjectFromChildrenAtIndex:, removeObjectsFromBuddiesAtIndexes:. - Added AccOcHistoryTextView canDelete, delete: (undoable). - Added AccOcSession bartCacheManager. - Added AccOcSessionDelegate session:classForClass: and session:makeKeyAndOrderFrontSecondarySession:. - Added AccOcSessionExt attributedAimDevelopersUrl, buddyIconForCurrentIdentity. - Added NSAttributedStringExt containsAttribute:. - Added NSTextViewExt removeSelectionAttribute:. - Added classes: AccOcBartCacheManager, AccOcErrors, AccOcUrls, NSDictionary(Ext). - Added preference specifier accoc.im.dontPlaySubsequentSounds (to be deprecated when a host-based pref is added). - Added notifications: AccOcNotificationBuddyListWillChange, AccOcNotificationBuddyListDidChange, AccOcNotificationPreferenceInvalid. - Made explicit some AccOcRequestTarget protocol dependencies. - Changed AccOcSession setAttributedAwayMessage: to not no-op if session is not online. - Changed preferences defaults for accoc.events.[AccOcFeature_Computer].[AccOcEvent_Computer_Wake].actions and accoc.events.[AccOcFeature_Computer].[AccOcEvent_Computer_FastUserSwitchIn].actions to AccOcAction_SetStatus. - Changed AccOcHistoryTextView menuForEvent: to include a "Clear History" command (undoable). - Changed default emoticon file name from "Smiley.gif" to "Emoticon.gif." - Changed AccOcComposeTextView menuForEvent: to support the resetColors: command (undoable). - Replaced AccOcComposeTextView insertSmiley: with insertEmoticon:. - Replaced AccOcEmoticonController clickedSmiley: with clickedEmoticon:. - Replaced NSTextViewExt setSelectionBackgroundColor: with setSelectionAttribute:value:. - When requesting bart items (e.g., AccOcSession emoticonSetWithBartId:target:selector:), the dictionary passed to the target now may contain an AccOcKeyObject. - Removed AccOcNotificationBuddyIconChanged. - Optimized to not call reloadData so often just after signing on. - Optimized to not call reloadData so often just after signing off. - Fixed (I think) intermittent assertion when auto-reconnection, related to dealloced AccOcLocation observing AccOcSession. - Fixed intermittent assertion in AccOcBuddyListExt removeObjectsFromChildrenAtIndexes if sign off with offline buddies not displayed in buddy groups. - Fixed AccOcPreferencesArray countOfArray can get out-of-sync when prefs changed by AIMCC. - Fixed intermittent crash caused by internal buddy list clean-up code that was not careful about when it's removing groups vs. children and buddies vs. children. - Fixed dragging & dropping buddies from Offline group to buddy group. Now forced to copy instead of move. (bug# 378379) - AccOcBuddy: - Added Preferences/Sound/"First IM received only". - Added kKeyTypingAttributes. - Added Help menu commands "Send Feedback..." and "Developers...." - Dropping files anywhere in an ImView except in the ComposeTextView now initiates file xfer. - Now applies last used typingAttributes (font, color, etc.) in compose textView when opening new IM session. - Renamed smiley.tif to emoticon.tif. - Renamed "Smileys" panel to "Emoticons." - Renamed "Show Smileys" menu command to "Show Emoticons" (and changed key equivalent accordingly). - Fixed "Sign On" window's "Sign On" button title changes to "Sign Off" while signing on. - Fixed attempting to rollover an IM session to DIM raises an uncaught exception if the remote user is not DIM-capable. - Fixed bringing some windows to the front via menu commands (e.g., Find Users and Instances) causes the window to disappear and fade in. - Fixed the Sign On window's Store Password (lock) button was busted. - Fixed a busted image in Preferences/Im. - Fixed that upload errors were no longer being reported when editing Preferences/Yourself/Icons since the introduction of accoc.errors.presentErrorForInvalidBartItem. Now "Invalid!" is displayed under an invalid icon. 0.8.5, 2007/11/15 - Uses AIMCC 1.6.1.1931. - Added AccOcNotificationBuddyIconChanged, which will be removed in a future version. - Added AccOcEnumerations pluginCommandFlagPresenceUi, sessionStateQueryingDcs, sessionStateWillShutdown. - Added AccOcPluginCommandExt presenceUi. - Added AccOcSessionDelegate session:makeKeyAndOrderFrontSecondarySession:. - Added AccOcSessionExt childrenAreBuddyLists. - Added AccOcStatusMenu dirty. - Added AccOcEvent_Buddy_Added, AccOcEvent_Buddy_Removed, AccOcEvent_Buddy_Moved. - Changed AccOcStateValueTransformer to handle AccSessionState_QueryingDcs & AccSessionState_WillShutdown. - Changed AccOcUserExt buddyListIcon to return away/idle icon as appropriate if preference accoc.userList.hideInfo is NO. This is to help distinguish away/idle buddies from offline buddies. - Changed text when participant leaves IM session from "[username] departed" to "[username] departed IM session." - Fixed AccOcBuddyListOutlineView drag & drop of users/usernames when offline buddies are shown in offline group or hidden. - Fixed AccOcBuddyListOutlineView drag & drop of users/usernames into read-only groups. - Fixed AccOcBuddyListOutlineView drag & drop of groups when logged on with non-linked account (broke in 0.8 when changed AccOcSessionExt children). - Fixed that when editing group name in AccOcBuddyListOutlineView, if newline is entered then view gets into bad state. - Fixed that when editing a name in AccOcBuddyListOutlineView, some garbage characters (text attachment and space) could become part of the name. - AccOcBuddy: - Added class StatusMenuHelper. - Added enumeration values queryingDcs & willShutdown in accocbuddy.sdef. - Added support for plugin commands in StatusMenu. - By default, GrowlAdapter suppresses the new AccOcEvent_Buddy_*. - Added Invite and Rollover commands to IM Actions menu. - Fixed double-clicking a buddy with whom an IM session exists doesn't bring the IM session window to the front. - Fixed that making a selection in the Font panel sometimes doesn't update Preferences/IM/Reformat/Font. 0.8.4, 2007/10/28 - Uses AIMCC 1.6.0.1906. - Added AccOcIm isRtim, serializedString, setRtim:, setSerializedString:. - Added AccOcImExt html. - Added AccOcImSession localWantsRtim, onPreferenceChange:, remoteWantsRtim, setLocalWantsRtim:. - Added AccOcImSessionDelegate imSession:willSendIm:. - Added AccOcSecondarySessionDelegate secondarySession:participantDidJoin:. - Added AccOcSession emoticonSetPersistent, setEmoticonSetPersistent:. - Added AccOcSessionExt emoticonSetPersistentRequested. - Added AccOcUser htmlInfo. - Added AccOcUserExt htmlInfoRequested. - Added AccOcUsersOutlineView canShowInspector so custom clients that don't want to implement an inspector can suppress the contextual menu command. - Added class AccOcSerializedStringValueTransformer. - Changed to not assume that contextual menu commands' targets are the first responder. - Fixed AccOcBuddyList addObject: raises exception if offline group is shown. - Fixed internal problem cleaning up AccOcUser certificates that could result in an exception being raised when signing off. - Fixed internal memory leaks when converting NSObjects to VARIANTS. - AccOcBuddy: - Added Preferences/IM/Real-Time IM. - Added preference specifier app.im.direct.sendRtim. - When the first IM session participant joins, it's corresponding item is now selected in the Participants outline view so the IM Actions menu is populated. - Changed to not assume that contextual menu commands' targets are the first responder. 0.8.3, 2007/10/15 - Uses AIMCC 1.6.0.1904. - Added AccOcBuddyListExt offlineGroup. - Added AccOcGroup offline. - Added AccOcSession onPreferenceChange:. - Added accOcOfflineGroup.tif. - Changed AccOcGroup initWithAccGroup: to set offline group localized name. - Changed AccOcGroupExt children to ignore accoc.buddyList.hideOfflineBuddies if it's the offline group. - Replaced AccOcNotificationUserHiddenChange with AccOcNotificationUserHiddenChange1 and AccOcNotificationUserHiddenChange2. - Added recursion protection in AccOcSession buddyList. - Removed all internal logic for choosing an authorizer because it's now handled at a lower layer. - Fixed KVO exception when a smart group containing buddies is added. - Fixed AccOcSessionExt statusTitle could return NULL if a complex away message was asserted. - Fixed crash if accoc.buddyList.hideOfflineBuddies is YES and a buddy goes offline. - Fixed that AccOcUsers' attributedAwayMessage, attributedProfile and certificate were requested more frequently than intended. - AccOcBuddy: - Added "View" menu command "(Don't) Use Offline Group". Note: in AIM.framework, preferences aimcc.buddyList.hideOfflineGroup and accoc.buddyList.hideOfflineBuddies are mutually exclusive; however, AIM.app performs some synchronization. - Fixed that app gets into a bad state at sign on if account's favorite locations are corrupt. 0.8.2, 2007/10/05 - Uses AIMCC 1.5.0.1805. - does not contain AccOcSession setCredentials:. - Added classes: AccOcAvTrack, AccOcAvTrackExt, AccOcImageReference. - Added AccOcPluginCommand parentCommandId, setParentCommandId:. - Added AccOcSession avTrack, setAvTrack:. - Added AccOcSessionExt avTrackRequested, createAvTrack, createImageReference. - Added AccOcUser avTrack. - Added AccOcUserExt avTrackRequested. - Added support for plugin command submenus in AccOcPluginMenu. - Added images accOcAvTrackLeft.tif, accOcAvTrackRight.tif. - Added support for URL. - Changed AccOcUserExt attributedNameAndInfo to support avTrack. - Changed to allow std. IMs to be sent while rolling over from std. IM to DIM. - Preference aimcc.general.friendlyNames is now honored. - Optimized several image resource files. - Fixed AccOcLocation memory leak. - AccOcBuddy: - Added Actions popup button in IM window. - Added A/V track display in Info window/panel Status tab. - Added Preferences/"Buddy List"/"Don't show friendly names." - Broke out Actions menu logic into new classes: ActionsButton, ImPluginsButton, PluginsButton, UsersPluginsButton. - In sdef, added classes: avTrack, imageReference. - In sdef, added session currentAvTrack. - In sdef, added user currentAvTrack. - Optimized several image resource files. - Fixed that in sdef, location summary was not declared read-only. 0.8.1, 2007/09/21 - Uses AIMCC 1.4.2.1771. - Added AccOcSession setCredentials:. 0.8, 2007/09/14 - Uses AIMCC 1.4.0.1761. - Moved securityAvailable from AccOcSessionExt to AccOcSecurityManager and improved underlying logic. - Optimized setup of AccOcSecurityManager. - Added items to arrays returned by AccOcEnumerations hostAddresses and hostNames. - Added AccOcIm allowedContentFlags, contentFlags, setAllowedContentFlags:. - Added AccOcImExt xhtmlDiv. - Added AccOcComposeTextView insertEmbedWithIm:. - Added AccOcSecondarySessionDelegate secondarySession:participantWillLeave:. - Added preference specifiers accoc.keychain.host.password.service and accoc.keychain.proxy.password.service. - Added AccOcBuddyListItem collapsed, setCollapsed:. - Removed AccOcSecurityManager authenticate: and initPassword:. - Removed accOcSecurityFileNames.txt. - Removed AccOcIm containsImages. - Removed AccOcPluginMenu addPluginCommandsToMenu:forOptIdentities:, onPluginExecute:. - Changed AccOcHostValueTransformer to support UAS authorizer. - Changed AccOcSession to better support UAS authorizer. - Changed AccOcSession to cache its AccOcSecurityManager, so it works with KVO. - Changed prefs storage to use top-level key "acc". Recommend throwing out previously created prefs files. - Changed AccOcSessionExt children to return an array of grand-children (i.e., AccOcGroups) if the session has no linked accounts. - Starting with this version, by default bart errors are logged instead of bubbled up via session:presentError:. Set preference accoc.errors.presentErrorForInvalidBartItem to retain the old behavior. - Fixed that if one had empty away message and non-empty status text, AccOcSessionExt setStatusTitle:NULL didn't clear status text. - Fixed that a temp file was left on disk for each non-image DIM embed received. - Fixed that a temp file was left on disk for each bart sound played. - Fixed assertion after ejecting chat participant. - Fixed that if an IM session participant was ignored/unignored, the participant's icon didn't immediately update. - Fixed (recently introduced) bug that linked accounts don't appear in buddy list. - Fixed assertion if one option-clicked the disclosure button of an AccOcGroup in a buddy list outline view. - Fixed that dragging a buddy from one buddy list group to another with no modifiers pressed resulted in a copy instead of a move. - Fixed assertion if drag-move buddy to an empty group. - Fixed that drag-copying a user from one group to another inserted the same AccOcUser object in the destination group instead of making a copy, which left the AccOcUser in a bad state. - Fixed handling of dragging a buddy into a group in which the buddy already exists. - Fixed that AccOcPluginMenu sometimes executed the wrong command. - Added workaround for Apple crash bug related to xml parsing. - AccOcBuddy: - The Certificates popup button in Preferences/Sign On/Security is now disabled if security is unavailable. - Added preference app.connect.showAuthorizers. - Removed Preferences/Status/updateStatusText. This feature can no longer be turned off. - Renamed "Add" submenu in "Edit" menu to "Insert". - Changed "Image Link..." command in "Format" menu to "Image URL..." in "Edit"/"Insert" menu. - Added "Video Embed..." command in "Edit"/"Insert" menu. - Updated to Universal Binary NSS dylibs. - Changed to not assign Plugin key equivalents to commands in the Actions menu that have a submenu. - Fixed assertion that could occur in DynamicFrameSave* if a frameAutosaveName was NULL. - Fixed assertion that could occur if open Preferences window on Intel machine (related to use of PPC NSS libs). - Fixed assertion when clicking Preferences/Application/Events/Test button for secondary session events with sounds. 0.7, 2007/07/17 - Uses AIMCC 1.3.1.1705. - Added classes: AccOcPrimarySessionDependentHelper, AccOcSecurityManagerExt, NSSplitViewExt, NSTableViewExt. - Added public header AccOcUtils.h, mainly useful for plugin developers. - Added support for URL. - Added AccOcSession statusTextDate. - Added AccOcUser statusTextDate. - Added AccOcUsersOutlineView idealSize, sizeOfItem:. - Added AccOcPluginCommandExt aboutUi. - Added AccOcEnumerations pluginCommandFlagAboutUi. - Added AccOcPluginMenu addPluginInfoAtIndex:toMenu:forOptIdentities:. - Changed AccOcSecurityManager certificatesForUsage: to return NULL instead of throwing on error (e.g., no certs). - Changed AccOcImSession to support sending non-embed IMs while uploading DIM embeds. - Changed AccOcPluginInfoExt summary to not list command titles when using the default configuration. - Removed AccOcImSendState_Message, AccOcEnumerations imSendStateMessage and sdef "message". - Fixed that AccOcLocationExt summary returned a string starting with "," if location name was empty. - Fixed assertion when enumerating secondary sessions if AIMCC knows about a secondary session that AccOc doesn't know about. When this situation occurs, it's now logged. - Fixed that if one signed off with one identity and signed on with a different identity without quitting, the AccOcBuddList from the first login wasn't released if it was part of a binding, and that could lead to a crash. - Fixed exception if an AccOcLocation is still alive when the primary AccOcSession is dealloced. - Fixed intermittent crash after signing off caused by KVO observers being notified that the AccOcBuddyList was removed without having first been told that all AccOcGroups and AccOcUsers in the AccOcBuddyList were removed. - AccOcBuddy: - Added classes: BuddyListWindowDelegate, DynamicFrameSaveHelper, DynamicFrameSavePanel, DynamicFrameSaveWindow, PluginsTableView. - Added AppleScript access to im.isLocal, session.profile, session.statusTextDate, user.aimFightScore, user.statusTextDate. - Changed to unconditionally enable Preferences/"Buddy List"/"Icons on right" instead of making enabled state dependent on a pref that's only available when online. - Changed layout in several Preferences views to appear more horizontally centered. - Changed Sign On window to not fade-in because it makes application launch appear sluggish. - Renamed UserListOutlineViewDelegate to UsersOutlineViewDelegate. - The buddy list now zooms to the size of the content. - Plugin commands in the Actions menu are now assigned key equivalents. - The last IM window size and split view position are now remembered. - In Buddy List window, My Status and My Location menus moved from toolbar to above outline view. This is a better layout for the aspect ratio of a buddy list window. - In Buddy List window, statusDate is no longer displayed as a relative time beneath the status menu. Now it's displayed as an absolute time in the status menu tool-tip, along with statusTextDate. - Moved Preferences/Sign On/Plugins tab a few positions to the left. - Plugin "About" commands are now honored. They're available via contextual menu in Preferences/Sign On/Plugins. - Plugin "Preferences" commands are now honored. They're available via popup button in Preferences/Sign On/Plugins. - Fixed that several windows saved frame sizes globally instead of per identity. The windows affected are: Add Group, Add User, Buddy List, Find User, Instances, Preferences, Reconnect and Smileys. - Fixed that the Actions menu contained duplicate plugin commands. - Fixed that AccOcUserExt attributedNameAndInfo returned text that wrapped instead of truncated. 0.6.6, 2007/06/19 - Uses AIMCC 1.3.0.1683. 0.6.5, 2007/06/01 - Uses AIMCC 1.3.0.1679. - Added NSMutableArrayExt addUniqueObjectsFromArray:. - Added AccOcUsersOutlineView canEmail, email:. - Added AccOcUserExt aimFightScore, aimFightScoreRequested, canEmail. - Added AccOcSession attributedProfile, setAttributedProfile:. - Added AccOcSessionExt signOnProgressPercentForState:. - Added AccOcIm local, mimeType, setLocal:. - Added AccOcEnumerations pluginCommandFlagActionsUi, pluginCommandFlagBuddyUi, pluginCommandFlagGroupUi, pluginCommandFlagImSessionUi, pluginCommandFlagPreferencesUi, webPresencePrivacyModeDenyNone, webPresencePrivacyModePermitNone, webPresencePrivacyModeUsePrivacyMode. - Added AccOcPluginCommandExt actionsUi, buddyUi, groupUi, imSessionUi, preferencesUi. - Added AccOcPluginMenu uiFlags. - AccOcUsersOutlineView addItemsToContextMenu: now includes an "E-Mail..." command for users who have an e-mail address specified. - AccOcSession statusTextPersistent and related were disabled because that feature is no longer supported by AOL's servers. - Changed AccOcSession createImWithAttributedString:NULL to return NULL instead of an AccOcIm* with no text. - Changed internals to save clear text passwords in Keychain instead of password hashes. Existing saved passwords will no longer work. - Changed AccOcStateValueTransformer to map AccSessionState_Disconnected to "Disconnected" instead of to "Offline." - Changed AccOcImSession to not display a status string when a remote user's status changes to 'unknown'. - Changed AccOcImSession to suppress incoming DIM "track buddy" messages instead of displaying an error. - Changed AccOcImSession to support the OnLocalImReceived event. - Changed AccOcUsersOutlineView to honor AccCommandFlags_BuddyUi and AccCommandFlags_GroupUi. - Removed AccOcProfile (the feature is back in AccOcSession). - Removed AccOcPluginCommandExt buddyCentric. - Replaced AccOcPluginMenu setBuddyCentric: with setUiFlags:. - Auto-reconnect is now supported. - Updated to use preference "aimcc.prefs.onlineSpecifiers" (previously the preference specifier was private). - Fixed that editing one's profile could easily cause rate-limiting. AccOcProfile now throttles the rate at which profiles are asserted to host. - Fixed that AccOcUserExt attributedNameAndInfo didn't include away message text if it was specified and status text wasn't specified. - Fixed that various changes that could affect AccOcUserExt buddyListIcon (e.g., calling AccOcUser setBuddyFeedViewDate:) didn't flush the attributedName cache. - Fixed that preferences accoc.connect.signOn* were per account instead of global. - Fixed that NSTextAttachmentExt name didn't check NSFileWrapper preferredFilename if NSFileWrapper was NULL. This was an issue if one dragged & dropped an image file (as opposed to using the "Insert File..." command) into an AccOcComposeTextView. - Fixed that [@" " supernormalize] caused an infinite loop. - Fixed that secondary sessions leaked. Due to circular references, secondary session owners must call AccOcSecondarySession endSession. Yuck! - Fixed that if one received an IM from a user who just signed off or went invisible, a transition icon was displayed in IM history. This was caused by caching in AccOcBuddyListItem attributedNameWithIcon: instead of in attributedName. - AccOcBuddy: - Added e-mail address NSComboBox in info/inspector window. - Added AIM Fight score in info/inspector window. - Added classes: AddressBookBridge, Reconnect. - Changed InstanceSession name to include IP address, so in Instances window it's clearer that hierarchical items also represent instances. - Changed Preferences/Application/Events/PlaySound and Preferences/Application/Events/RunScript to accept files via drag & drop. - Changed Preferences/Application/Events/SpeakText and Preferences/Application/Events/OpenURL to be editable inline in order to accept text via drag & drop. - Changed Preferences/Sharing text field from "Shared Items:" to "Shared Files and Folders:." - Class PersistentStatusMenu was disabled because that feature is no longer supported by AOL's servers. - Most windows now open with a fast fade-in. - Removed Preferences/Status/PersistentMessage because that feature is no longer supported by AOL's servers. - Auto-reconnect is now supported. - Fixed that if one attempted to add a device in Preferences/Application/Bluetooth on a machine with Bluetooth unavailable, the app got into a bad state. Now a message is displayed and the Add/Remove button is disabled if Bluetooth isn't both available and turned on. - Fixed that if one was participating in a std. IM conversation, received a proposal to rollover to DIM, and rejected the proposal, the IM window closed. - Fixed exception if one selected a buddy in a buddy list, displayed the inspector window, and signed off. - AccOcSample: - Updated to work with current AccOc interfaces. 0.6.4, 2007/04/11 - Uses AIMCC 1.3.0.1652. - Added classes: AccOcArrayBluetoothNameOrAddressValueTransformer, AccOcBluetoothNameOrAddressValueTransformer, AccOcBluetoothNameValueTransformer, AccOcBuddyListItem, AccOcBuddyListSort, IOBluetoothDeviceExt. - Added images accOcStatusTextLeft.tif, accOcStatusTextRight.tif. - Added preferences accoc.bluetooth.deviceAddresses.#, accoc.buddyList.sortKind, accoc.userList.iconsOnRight. - Added AccOcBuddyListExt displayName, setSortDescriptors:. - Added AccOcGroupExt displayName, setSortDescriptors:, sortDescriptors. - Added AccOcLocationExt compare:. - Added AccOcGroup observeValueForKeyPath:ofObject:change:context:. - Added AccOcNotificationGroupSortAttributeChange. - Added AccOcUserExt identityIcon, infoIconOnRight:, isSelf. - Added accOcLocation.tif, accOcNote.tif. - Added AccOcComposeTextView performKeyEquivalent:. - Added AccOcComposeTextViewDelegate composeTextView:performKeyEquivalent:. - Added AccOcUser onPreferenceChange:. - Added AccOcLocation description. - Added AccOcSessionExt scriptActions. - Added NSArrayExt containsStringNormalPrefix:, indexOfStringNormalPrefix:. - Added events AccOcEvent_Computer_BluetoothDevicesReachable and AccOcEvent_Computer_BluetoothDevicesUnreachable. Unlike other events, these events are global instead of per account. - Changed AccOcUserExt buddyListIcon to not display away/idle icons. Those are now returned via infoIcon. - Changed AccOcUserExt attributedNameAndInfo to call infoIcon instead of prefixing info with a text label. - Changed AccOcUserExt canDirectIm: to return NO if user is self. - Changed AccOcImsession to honor the sending AccOcUser's color and font in IM history. - Changed AccOcImsession to honor preferences aimcc.buddyIcons.enabled and accoc.userList.iconsOnRight. - Changed AccOcImSessionExt canRolloverTo:AccImSessionType_DirectIm to return NO if remoteUser is self. - Changed AccOcUsersOutlineView canChat, canGetFiles, canSendBuddies and canSendFile to return NO for a user who is self. - Changed AccOcSecondarySession to stop being tracked at dealloc instead of at endSession. This is so that the secondary session map in AccOc is better in sync with the secondary session map in AIMCC. - Changed AccOcEventsSink to suppress OnDeliverStoredImsResult(..., ACC_E_TIMEOUT) since it's not actionable. - Changed AccOcExecutor to setup AccOcSessionExt scriptActions while running a script. - Optimized AccOcGroupExt countOfChildren. - Preference aimcc.buddyIcons.enabled is now honored in AccOcBuddyListItem attributedName. - Refactored AccOcBuddyList, AccOcGroup and AccOcUser to subclass AccOcBuddyListItem. - Removed AccOcSession setArriveSound:, setDepartSound:, setRichName:, setRichNamePersistent:. - AccOcBuddyListItem attributedName now can include buddyListIcon. - Fixed recently added bug that the array returned by AccOcSecondarySession participants could contain the remote participant twice. - Fixed intermittent exception raised in AccOcSession if sign off immediately after signing on. An attempt to retrieve stored IMs could be made while no longer online. - Fixed that when these AccOcSession properties changed, KVO observers weren't notified: badge, bigIcon, buddyIcon, location, richName, smallIcon, statusTextLink, wallpaper. - Fixed that with preference accoc.buddyList.hideOfflineBuddies TRUE, at sign on some online buddies were hidden. - Fixed that with the introduction of attributedNameAndInfo, renaming users in AccOcBuddyListOutlineView broke for two-line items. - Fixed crash if one attempted to rename a buddy with an invalid username twice in a row. AccOcGroup wasn't properly setting up undo KVO during the first rollback. - Fixed exception raised if attempt AccOcHistoryTextView save*As: xhtml and the text contains user icons (as opposed to emoticons). - AccOcBuddy: - Added classes: BluetoothPrefs, BluetoothSelector, BuddyListSort, EventInfo, ImView. - Added View/Sort By menu. - Added Preferences/Buddy List/Don't display buddy icons. - Added Preferences/Buddy List/Icons on right. - Added Preferences/Application/Bluetooth. - Added Preferences/Application/Events/Computer/Bluetooth*. - Added currentEventInfo (EventInfo) in AccOcSession(Scripting) and accocbuddy.sdef. - Changed user outline views to contain a single column, so space is used more economically. Now buddy list icons are integrated with attributedName. - Changed Info/Inspector window to use displayName instead of name in window title. - Changed ImSession to handle composeTextView:performKeyEquivalent:. - is now handled in this view instead of by ImWindow. - Changed ImParticipantsDrawerView to delegate to ImView instead of ImWindow. - Removed class ImWindow. - Optimized Preferences to not call AccOcSession setIdentity: as often. - Fixed that restoring saved location at sign on was broken. - Fixed that the buddy list outline view column was not the correct width for its outline view. - Fixed that after closing some secondary session windows (e.g., incoming file sharing), attempts to use a buddy contextual menu raised an exception. This was introduced with GrowlAdapter, though the fix is in AccOcSecondarySession. - Fixed console error if quit with IM window open: "An instance of class AccOcParticipant is being deallocated while key value observers are still registered with it." 0.6.3, 2007/03/18 - Uses AIMCC 1.2.5.1511. - Changed to use DWARF instead of STABS for debug symbols. - Added AccOcBuddyListExt backgroundColor, bold, displayBackgroundColor, displayColor, font, setBackgroundColor:, setBold:, setFont:. - Added AccOcBuddyListOutlineView drawBackgroundInClipRect:. This is used for drawing custom user list items' background colors. - Added AccOcGroupExt backgroundColor, bold, displayBackgroundColor, displayColor, font, setBackgroundColor:, setBold:, setFont:. - Added AccOcUserExt backgroundColor, displayBackgroundColor, displayColor, font, setBackgroundColor:, setFont:. - Added NSStringExt substringByDeletingPrefix:suffix:, unescapeFromPreference. - Added NSMenuExt copyItemsFromMenu:. - Added AccOcImSessionExt imSendStateIsEmbed. - Added AccOcUsersOutlineView canResetColors, resetColors:. - Added SYSTEM_FONT. - Added preferences accoc.buddies.*, accoc.buddyList.backgroundColor, accoc.buddyList.color, accoc.buddyList.font, accoc.groups.*. - Added AccOcNotificationUserAttributedNameAndInfoChange. - Added document tips.txt. - Added AccOcBuddyList observeValueForKeyPath:ofObject:change:context:. - AccOcUsersOutlineView now keeps the Font Panel in sync with the view's selection. - AccOcUsersOutlineView contextual menu can now include "Reset Colors" command. Also, rearranged Edit contextual menu commands. - Changed to not play arrive/depart sounds when non-buddy users go online/offline. - Changed AccOcSessionExt statusTitle/setStatusTitle: to use "Available" instead of "Online" and "Mobile" instead of "Forward IMs." - Changed AccOcBuddyListOutlineView changeFont: to apply to selected items instead of all items. - Changed AccOcBuddyListExt, AccOcGroupExt and AccOcUserExt to persist color. - Changed AccOcUserExt attributedNameAndInfo to not put quotes around status text. - Changed AccOcOutlineView menuForEvent: to handle NULL NSEvent* parameter. - Changed AccOcBuddyListExt buddyListIcon to return session's smallIcon, if there is one. - Implemented Undo for color and background color. - Moved AccOcBuddyListOutlineView changeColor: to AccOcUsersOutlineView. Changed to apply to selected items instead of all items. - Renamed accOcOnline.tif to accOcAvailable.tif. - Replaced with . - Removed AccOcUsersOutlineView font. - Removed preference accoc.userList.font. - Renamed AccOcUsersOutlineView selectedIdentities to selectedUsernames. - Replaced NSStringExt stringWithColor: with NSColorExt stringValue. - Ripped out AccOcUserExt buddyListIcon animation for buddyFeedChanged because it was too CPU intensive. The icon is now static. - When starting an IM session, if the remote user is not online, a status message is now displayed in the IM history. - Optimized AccOcBuddyListExt attributedName and attributedNameAndInfo. - Optimized AccOcGroupExt attributedName and attributedNameAndInfo. - Optimized AccOcUserExt attributedName and attributedNameAndInfo. - Optimized AccOcBuddyListOutlineView drawing/scrolling. - Fixed that AccOcBuddyList and AccOcGroup leaked an NSColor. - Fixed AccOcBuddyList initialize to not make keys "attributedName" and "attributedNameAndInfo" dependent on "name" (because name is not mutable). - Fixed crash if double-click on hierarchical item in buddy list outline view. - Fixed that after signing on, the Undo menu command was enabled (title "Undo Change Status"). - Fixed that AccOcSecondarySession initWithAccSecondarySession: did not add its remoteParticipant object to its array of remoteParticipant object. This broke things like imInputState. - AccOcBuddy: - StatusMenu now uses ""Available" instead of "Online" and "Mobile" instead of "Forward IMs." - Removed Preferences/Buddy List/Don't blink buddy info. - Removed Preferences/Buddy List/DonŐt show Frequent Buddies group. - Added Preferences/IM/Return key sends IM. - By default in buddy list views, group and buddy list names are bold. - Changed to honor preference aimcc.im.enterOrReturnInsertsLineBreak. - Standardized Action menu in Buddy List window (include actions besides just plugin commands). - In IM windows, upload progress is now hidden when not uploading. - In IM windows, by default the history text view is now larger and the compose text view is smaller. - Tweaked some tooltips. - Fixed that if an IM session proposal was declined, blocked or ignored, the IM window remained open. - Fixed crash if one signed off and a participant in an outline/table view was selected. Workaround is to deselect participants before participants are removed from controller. 0.6.2, 2007/02/28 - Uses AIMCC 1.2.5.1510. - Added classes: AccOcFileSharingManagerExt, AccOcShareBuddiesManagerExt. - Added AccOcSession phoneNumber, setPaused:. - Added AccOcParticipant forwardInvocation:, methodSignatureForSelector:, respondsToSelector:, and setValue:forUndefinedKey:. These methods all forward to the AccOcParticipant's associated AccOcUser. - Added AccOcStatusMenu onPreferenceChange:. - Added AccOcSessionExt attributedAlertsUrl. - Added AccOcEnumerations sessionStatePaused. - Added AccOcUserExt compareName, displayName. - Added AccOcBuddyListEx setFilterPredicate:. - Added AccOcGroupExt filterPredicate, setFilterPredicate:. - Added AccOcUsersOutlineView onPreferenceChange:. - Added mappings for AV and custom secondary sessions in AccOcServiceIdValueTransformer. - Added AccOcNotificationUserHiddenChange. - Changed AccOcUserExt attributedNameAndInfo to also display location summary, and to use a lightened color instead of grayColor. - Changed AccOcUserExt color to returned a lightened color even if a color was specified with setColor:. - Changed AccOcLocationExt summary to return NULL instead of an empty string. - Changed AccOcParticipant valueForUndefinedKey: to forward to AccOcUser. - Changed AccOcParticipant state to return secondarySessionStatePaused or a userState. - Changed AccOcStateValueTransformer to map paused state. - Changed AccOcGroupExt children and countOfChildren to honor filterPredicate and preference accoc.buddyList.hideOfflineBuddies. - Changed AccOcBuddyListOutlineView to update when preference accoc.buddyList.hideOfflineBuddies is applied. - Changed AccOcUser to broadcast AccOcNotificationUserHiddenChange, when appropriate. - Removed AccOcParticipant offline, online. - Removed AccOcParticipantExt buddyListIcon, smallIcon. - Fixed that in AccOcStatusMenu, the "Forward IMs" menu command never appeared. This was broken when optimizing AccOcStatusMenu. In order to continue to benefit from optimization, now "Forward IMs" is not added/removed, it's enabled/disabled. - Fixed loose infinite loop that can occur when trying to get bart image data and the data are invalid. - Fixed that when changing preference "accoc.userlist.font" and "accoc.userlist.hideinfo," the buddy list view did not redraw sufficiently, so crud was displayed. - Fixed that AccOcLocationExt summary returned "LAT=, LON=" instead of NULL for a location with no data. - Fixed that AccOcLocationExt kilometersFrom* returned garbage if one location had latitude/longitude specified and the other didn't. - Fixed that when an AccOcUser's location changed, KVO observers were not notified. - Fixed that after signing off, sometimes AccOcSession got into a state where it could not sign on again. The problem was the message could be non-empty at sign on, so AccOcSession was not notified of new messages. Now AccOcSession pumps the message queue once just in case. - Fixed that if AccOcSessionExt setPassword: is passed a non-empty value, setPasswordSavedForCurrentIdentity:YES is called, and setPasswordSavedForCurrentIdentity:NO is called, password returns NULL even though the password is still in a temporary signOn: cache. - Fixed that if a password has been previously saved via AccOcSessionExt setPasswordSavedForCurrentIdentity:YES when an AccOcSession is instantiated, and then setPasswordSavedForCurrentIdentity:NO is called, KVO observers aren't notified that signOnEnabled changed. - Fixed that incoming AccOcCustomSession proposals were dropped. - Fixed that AccOcStatusMessagePreferencesArray needed to override exists: and isNormalize to function properly. - Fixed AccOcUsersOutlineView setFont: caused redraw problems. - AccOcBuddy: - Added classes: BuddyListSearch, EmoticonsPanel, ParticipantsOutlineView, ToolbarItem, Window. - Added various menu keyboard equivalents. - Added 'paus' in AccOcSession(Scripting) and accocbuddy.sdef. - Added search field in buddy list toolbar. - Added "Show Offline Buddies"/"Hide Offline Buddies" command in View menu. - Added Preferences/Application/Alerts. - Added images compare.tif and search.tif. - AccOcEvent_SecondarySession_ParticipantJoined events for (D)IM no longer trigger Growl notifications. - Changed Info to handle AccOcParticipant. - Replaced BuddyListWindowDelegate with InspectableWindowDelegate. - Optimized LocationMenu. - Fixed that upon signing on, the "My Status" menu contained an "Other" item. - Fixed that various windows' default positions were arbitrary. - Fixed that multiple copies of the same Growl notification were sometimes displayed (e.g., for multiple instances of the same user). - Fixed that StatusMenu had preference observation redundant with AccOcStatusMenu. - Fixed that the overflow menu for My Location toolbar item contained only an 'x' menu item. - Fixed that LocationPrefs and StatusPrefs added items without going through the appropriate NSArrayController, so their table views didn't always update immediately. - Fixed that PersistentStatusMenu needed an overhaul after recent changes to StatusMenu and AccOcStatusMenu. - Fixed that LocationMenu calls NSNotificationCenter removeObserver: instead of removeObserver:name:object:. 0.6.1, 2007/02/07 - Uses AIMCC 1.2.5.1507. - Added AccOcComposeTextView canInsertFile, canOrderFrontLinkPanel. - Added classes: AccOcImValueTransformer, AccOcProfile, AccOcSoundController, NSParagraphStyleExt. - Added AccOcUsersOutlineView canViewBuddyFeed, viewBuddyFeed:. - Added AccOcUserExt attributedAimPagesProfileUrl, attributedNameAndInfo, viewBuddyFeed:. - Added AccOcCapabilities names, uuidForName:. - Added AccOcParticipantExt attributedNameAndInfo, observeValueForKeyPath:ofObject:change:context:, secondarySession. - Added AccOcImExt setString:. - Added AccOcGroup init. - Added AccOcLocationExt favoriteLocationsPreferenceSpecifier. - Added AccOcEmoticon url. - Added AccOcPrimarySessionOnlineDependent. - Added AccOcOutlineView onHandleInvalidTypeAheadKeyDown:. - Added AccOcUsersOutlineView onHandleInvalidTypeAheadKeyDown: to handle Enter & Return key input by calling im:. - Added AccOcStatusMenu buildMenu, dealloc, init. - Added AccOcImSessionExt canRolloverTo:. - Added AccOcSessionExt attributedAccountRegistrationUrl, attributedResetPasswordUrl, soundController. - Added AccOcBuddyListExt attributedNameAndInfo. - Added AccOcGroupExt attributedNameAndInfo. - Added AccOcParticipant valueForUndefinedKey:. - Added preference specifiers accoc.status.appearOfflineAtSignOn, app.location.dontPersist, accoc.userList.hideInfo. accoc.status.appearOfflineAtSignOn is enforced within AccOcSession. - Added AccOcNotificationDidExecuteActions. - Added AccOcEvent_SecondarySession_AboutToConnect. - AccOcXhtmlEncoder xhtmlForAttributedString:NULL is now supported. - Changed AccOcOutlineViewDataSource childItemWithPrefix: to outlineView:childItemWithPrefix:. - Changed AccOcEnumerations imSessionType* and rateState* return type from int to unsigned. - Changed AccOcParticipant state return type from unsigned to int. - Changed AccOcSecondarySession ejectUserWithName:withOptReason: to ejectParticipantWithName:optReason:. - Changed AccOcUser report:withOptReason: to report:optReason:. - Changed AccOcUser setName: to create its fAccUser member, if necessary. - Changed AccOcLocation init to create its fAccLocation member. - Changed AccOcAddItem, AccOcEmoticonController to inherit AccOcPrimarySessionOnlineDependent instead of AccOcPrimarySessionDependent. - Changed AccOcStatusMenu addHeaderItemsToMenu: to addHeaderItems, addSubjectsToMenu: to addSubjects, and addTitle:imageWithName:toMenu: to addTitle:imageWithName:. - Changed AccOcPreferencesExt typedValue:forKeyPath: to return NULL instead of raise for ACC_E_MUST_REQUEST_DATA. - Changed attributedName in AccOcBuddyListExt, AccOcGroupExt and AccOcUserExt to specify NSLineBreakByClipping to avoid the name wrapping onto a second line. - AccOcUsersOutlineView addItemsToContextMenu: now adds a "View buddy feed..." menu item when a user is selected. - Changed AccOcSessionExt createLocation to not call AccOcLocation autoFill. AccOcSessionExt guessedLocations now calls autoFill. - Disabled A/V device enumeration via aimcc.av.enumDevices preference to improve performance. - Removed AccOcSession attributedProfile and setAttributedProfile: because non-persistent profiles are no longer supported in AIMCC. - Renamed AccOcSession createImSessionForIdentity:withSessionType: to createImSessionForUserWithName:imSessionType:. - Renamed AccOcSessionExt secondarySessionsForOptServiceId:identity: to secondarySessionsForOptServiceId:username:. - Renamed AccOcSessionExt sendIm:toUserWithIdentity: to sendIm:toUserWithName:. - Optimized AccOcStatusMenu. It was noticeably slowing down signOn. - Optimized calls to AccDispatchMessages(). Now it's only called when needed. - Fixed various memory leaks. One notable leak in AccOcFileSharingItem fileSharingSession of IAccFileSharingSession objects resulted in various problems with secondary sessions after the associated AccOcFileSharingSession was released. - Fixed mishandling AccOcIm setAttributedString:NULL. - Fixed AccOcOutlineView type-ahead. - Fixed that when getting preference "aimcc.away.messages" the session's identity was not committed. - Fixed that AccOcEvent_SecondarySession_Succeeded executed if an incoming file xfer proposal was rejected. - Fixed that if one passed NULL to AccOcSession setLocation:, AccOcSession location returned a non-NULL but empty AccOcLocation*. - Fixed AccOcAddGroup and AccOcAddUser canAdd when session goes offline. - Fixed AccOcImageView import: did not use a file type filter. - Fixed that AccOcXhtmlEncoder's point-size-to-font-size mapping did not agree with that of NSMutableAttributedString initWithHTML:options:documentAttributes:. So conversion from NSAttributedString to xhtml back to NSAttributedString could result in different font attributes. - Fixed that AccOcSessionExt statusTitle was not properly KVO compliant. - Fixed that NSStringExt escapeForXml did not map \r to
. Some old software still uses \r when copying text to the pasteboard. - Fixed that when AccOcUserExt setName: failed asynchronously (e.g., invalid name), the user and associated data was lost. Now setName: user data are cached for 10s and restored upon async failure. - Fixed that the "active" application name was used in the client info description (if AIM is in the background, it's not active). - Fixed that AccOcEvent_Buddy_Away and AccOcEvent_Buddy_Idle events executed at sign on for away/idle buddies. - Fixed that AccOcEvent_Buddy_Online event didn't execute when buddies returned from away/idle. - Fixed AccOcEnumerations eventsForFeature:AccOcFeature_Im omitted AccOcEvent_SecondarySession_Error - AccOcEvent_SecondarySession_Disconnected. - Fixed exception in AccOcLocationPreferencesArray specifierForIndex: when no favorite locations have been specified. - Fixed that AccOcParticipantExt attributedName, attributedNameAndInfo, buddyListIcon, and smallIcon didn't stay in sync with the AccOcUser. - Fixed NSColorExt colorWithString: and NSString stringWithColor: endian issues on Intel. - AccOcBuddy: - Fleshed out AppleScript support. - Inserting images into a profile view is now disallowed except when inserting via a link. - Added classes: BuddyListOutlineViewDelegate, ProfileTextView. - In Find User window, added ability to search by buddy feed (changed, did not change). - Added Preferences/Yourself/Location "don't persist" checkbox. - Added Preferences/Status/appearOfflineAtSignOn checkbox. - Added ApplicationDelegate terminating. Used to suppress display of sign on window if quit while online. - Optimized StatusMenu. - Added File/Rollover To menu. - Added Rollover commands in IM Compose and History view contextual menus. - Added Preferences/Sign On/Register a New Account hyperlink. - Added Preferences/Sign On/Reset Password hyperlink. - Added Preferences/Buddy List/Don't show buddies' info. - Added Info (User)/Status/AIM Pages Profile hyperlink. - Added support for Growl, including BSD license in About panel. Currently using version 0.7.6. - Changed Info/Friendly Name and Info/Note text fields to update continuously. - Buddy list outline view and participants table now (optionally) display info on a second line in each user item cell. - A sample sound is now played when adjusting Preferences/Sound/Volume. - Enabled buddy list icon scaling. - Fixed that if one double-clicked on a username in the buddy list outline view, it opene an IM window instead of renaming the user. - Fixed that if one deselected a user, the Inspector view did not clear. - Fixed that if one deselected a user and selected a user, the Inspector did not always reselect the last selected toolbar item. - Fixed that some names initially appear truncated in the buddy list. The Cocoa scrollbar auto-hiding feature appears to have been to blame. - Fixed that a chat window remained open if the incoming chat proposal was canceled via the model instead of via the view. - Fixed Preferences/Yourself/Location view glitch. - Fixed that when My Location menu selection isn't "Best Guess" when guessedLocations changes, the menu item's tooltip isn't updated. - Fixed that sorting wasn't occurring when clicking on column headers in incoming file sharing window. - Fixed that at sign on, buddy list window becomes visible but not key. - Fixed that Find User and Preferences windows used a cascading position instead of saved position. - Fixed that some project paths relied on case-insensitivity. - Fixed that the /Edit/Add menu had autoenabling turned on, but the items in the menu were enabled with bindings. - Fixed exception that was raised if a selection was made in a participants table view and the Inspector window was open. - Fixed that the Inspector window could jump around when the inspected item changed. - Fixed that on Leopard an error is output to the console about the Edit/Add menu having autoenablesItems enabled. 0.6, 2006/12/06 - Uses AIMCC 1.2.5.1465 1/2. This is an internal version of AIMCC, so this version of AccOc must also be internal. - Updated country name/code tables. - Changed AccOcStatusMenu addTitle::toMenu: to addTitle:imageWithName:toMenu:. Now some status menu items have images. - Added AccOcBuddyListExt addableGroups, canAdd. - Added AccOcBuddyListOutlineView canAdd, canRename. - Added AccOcEnumerations hostAddresses, hostNames. - Added AccOcGroup readOnly. - Added AccOcGroupExt canAdd, canDelete, canRename, smartAsNumber. - Added AccOcLocationExt kilometersFromPrimarySessionCurrentLocation. - Added AccOcSessionExt attributedAimShareUrl, securityAvailable. - Added AccOcSessionExt delegate methods session:canPresentAddTo: session:presentAddTo:. - Added AccOcUserExt canDelete, canRename. - Added AccOcUsersOutlineView canEditSmartGroups, editSmartGroups:. - Added AccOcScripting categories to classes AccOcSecondarySession, AccOcSession, AccOcUser. - AccOcUsersOutlineView addItemsToContextMenu: now adds an "Edit Smart Groups..." menu item when a smart group is selected. - Added AccOcHostValueTransformer, NSMenuItemExt. - Added preference specifiers "app.location.kind," "app.location.nickname". - Added WebPreferencesExt. - Removed support for preference specifier "app.location.guess." - AccOcSession locationPersistent and related were disabled because that feature is no longer supported by AOL's servers. - AccOcUserExt delete: now tests canDelete and silently fails if canDelete returns NO. Previously delete: asserted the AccOcUser had an AccOcGroup. - AccOcUserExt setName: now tests canRename and silently fails if canRename returns NO. - Buddy list contextual menus no longer include Delete and Rename commands for users in read-only groups. - Changed AccOcIm attributedString when no font is specified. Previously the WebPreferences default (which seems to be Times-Roman:12 for US locale) was used. Now system font is used. - Changed NSAttributedString attributedStringWithHtml: to use small system font instead of the WebPreferences default (which seems to be Times-Roman:12 for US locale). This impacts all attributed*Url methods in AccOcSessionExt and AccOcUserExt. - Fixed undo action name for renaming buddies. - AccOcBuddy: - Changed to use Open AIM deploy key for Release builds. Debug builds continue to use dev key. - Now most LocationMenu items have images. - Added support for - to send IM. - Added "Add User..." button in secondary session proposal windows. - Changed objects of class NSImageView in secondary session proposal windows to AccOcImageView. - Added privacy/location preference. - Enabled AppleScript. This is a work in progress. - The Add User window no longer displays groups that don't permit adding users. - Buddy list contextual menus now have an "Add..." command. - Fixed that after a DIM containing embeds was sent, the progress indicator continued to display 100%. - Fixed that the "Format/Image Link..." command was never enabled. - Fixed Info window view autoresizing. 0.5, 2006/11/01 - Changed AccOcBuddy bundle identifier from "com.aol.accocbuddy" to "com.aol.acc.aim." If you want to continue using preferences from an older version of AccOcBuddy, rename your prefs file accordingly. - Changed AccOcBuddy bundle name from "AccOcBuddy" to "AIM." - Uses AIMCC 1.2.3. - Implemented Direct IM. - Implemented Stored IM. - Implemented Plugins. - Implemented Find a Buddy. - Implemented Instances. - Implemented Undo. - Added AccOcImSessionExt canStopIfSending, canStore, customSessionWithAccCustomSession:, embedsUploadLength, embedsUploadProgress, setStore:, store. - Added AccOcImSessionDelegate imSession:didFailSendingIm:toParticipant:withError:. - Added AccOcUser buddyFeedUrl. - Added AccOcUserExt canDirectIm, canIm, setText:, stateFromString:. - Added dashboard widget plugin and sample, AccOcWidgetPlugin.widgetplugin and DashBuddy.wdgt. - Added document dashboard.txt. - Added FAQ "What is the difference between persistent...." - Added AccOcParticipantExt buddyListIcon, children, countOfChildren, isLeaf, smallIcon. - Added AccOcStream streamWithData:name: initWithData:name:, length, name, position, read:, write:. - Added NSTextViewExt attributedSelectedText, replaceCharactersInRange:withAttributedString:. - Added AccOcNotificationTextAttachmentChange, AccOcNotificationTextAttachmentNeedsReplacement. - Added AccOcSession createCustomSessionWithUuid:, initWithAccSession:, pluginManager, requestServiceWithUuid:qualifiers:target:selector:, storedImManager. - Added AccOcSessionExt allUsers, attributedBuddyUpdatesUrl, attributedServices, attributedSmartGroupsUrl, cancelRequestsForTarget, onlineRo, onlineTime, secondarySessionsForOptServiceId:identity:. - Added AccOcIm containsImages. - Added NSTextAttachmentExt data. - Added AccOcImExt streamsLength. - Added AccOcEnumerations capabilityNameStrings, customSessionModeMessage, customSessionModeOfferAnswer, customSessionModeStreams, userFlag*, userState*. - Added NSAttributedStringExt attributedStringWithHtml:. - Added AccOcCapabilities hasCapabilityWithName:. - Added NSMenuExt setAllItemsTarget:action:. - Added AccOcHistoryTextView fSaveAsAccessoryView, saveDocumentAs:. - Added NSColorExt lightenedByFraction:. - Added AccOcCfReleaser, AccOcCustomSession, AccOcFileTableViewDataSource, AccOcImSummary, AccOcInstanceExt, AccOcLocationSinkTableViewDataSource, AccOcLocationSourceTableViewDataSource, AccOcPluginCommand, AccOcPluginCommandExt, AccOcPluginInfo, AccOcPluginInfoExt, AccOcPluginManager, AccOcPluginMenu, AccOcRequestTarget, AccOcStoredImManager. - Added preferences specifiers accoc.away.hideSecondarySessions, accoc.away.muteSounds, accoc.connect.signOnAtLaunch, accoc.connect.signOnAtLaunchIdentity, accoc.im.standard.autoDeliverStoredIms, accoc.userList.font. See prefsSpecifiers.txt for more info. - Added AccOcEvent_Session_BuddyListReady. - Added AccOcInstance flags. - Added AccOcFileXferManagerExt openPanel. - Added RELEASE_TIMER_SAFE() macro. - Added AccOcBuddyListExt insertObjects:inChildrenAtIndexes:, removeObjectsFromChildrenAtIndexes:. - Added AccOcGroupExt insertObjects:inChildrenAtIndexes:, removeObjectsFromChildrenAtIndexes:, setText:. - Added NSObjectExt addObserverOfObject:forKeyPaths:, addObserverOfObjects:forKeyPaths:, removeObserverOfObject:forKeyPaths:, removeObserverOfObjects:forKeyPaths:. - Changed AccOcImSession history to indicate if a received IM was stored. - Changed AccOcStatusMenu menu to not return NULL if the primary session is offline. This fixes AccOcBuddy editing accoc.events.[AccOcFeature].[AccOcEvent].statusSubject while offline. - Changed AccOcParticipantExt attributedName to fall back on an unformatted name if an IAccUser for the IAccParticipant couldn't be created. - Changed AccOcBuddy IM participants tree controller to use aoSecondarySession.participants instead oaoSecondarySession.participantUsers, so it handles cases where an IAccUser is not available. - Changed preference aimcc.connect.confirmSignOff to accoc.connect.confirmSignOff. - Changed AccOcLocation setAltitude:, setLatitude:, and setLongitude: parameter type from float to NSNumber*. This fixes the assertion if one tried to clear those fields. - Changed AccOcLocation useCount return type to NSNumber*. - Changed AccOcLocation declaration to mention it conforms to NSCopying protocol. - Changed AccOcUser attributedAwayMessage, attributedProfile and certificate to not assert if a request attempt fails. - Changed AccOcUser certificate and location to flush the cached value when requesting a new value. - Changed AccOcSecondarySession remoteUserName to remoteUsername. - Changed AccOcFileXferSessionExt remoteUserNameLabel to remoteUsernameLabel. - Changed AccOcSession searchDirectory: to searchDirectory:target:selector:. - Changed AccOcFileSharingItemExt, AccOcSecondarySession, AccOcUser to implement AccOcRequestTarget. - Changed AccOcUserExt color to use rich name color. - Changed AccOcSession so that linked sessions initially inherit the primary session's delegate. - Changed AccOcUser cache policy for attributedAwayMessage, attributedProfile and certificate to rely on AIMCC to notify when to reset instead of resetting after an arbitrary time elapses. - Changed AccOcSession createImSessionForIdentity:withSessionType: to work for chat. - Changed AccOcUserExt setName: to preserve certain attributes: blocked, emailAddress, friendlyName, ignored, note, voiceName. - Changed AccOcSession userWithIdentity: to return NULL instead of throw if an error occurs. Also changed to return existing AccOcUser, if possible. - Changed AccOcAddItem and subclasses addEnabled to canAdd. - Changed AccOcBuddyList such that if an AccOcGroup is passed addObject: or insertObject:inGroupsAtIndex:, the actual AccOcGroup is added/inserted instead of a copy. - Changed AccOcGroup such that if an AccOcBuddy is passed addObject: or insertObject:inBuddiesAtIndex:, the actual AccOcBuddy is added/inserted instead of a copy. - Changed AccOcSessionExt linked to return YES for a linked session for a little longer during the sign-off process. Now KVO observers of offline can still see whether a session is linked. - Implemented isKeyExcludedFromWebScript: and isSelectorExcludedFromWebScript: for the following classes to enable script access: AccOcAlert, AccOcAvManager, AccOcAvSession, AccOcBuddyList, AccOcCapabilities, AccOcCertificate, AccOcClientInfo, AccOcEmoticon, AccOcEmoticonSet, AccOcEnumerations, AccOcExecutor, AccOcFileSharingItem, AccOcFileSharingManager, AccOcFileSharingSession, AccOcFileXfer, AccOcFileXferManager, AccOcFileXferSession, AccOcGroup, AccOcIm, AccOcImSession, AccOcInstance, AccOcLocation, AccOcParticipant, AccOcPreferences, AccOcRichName, AccOcSecondarySession, AccOcSecurityManager, AccOcSession, AccOcShareBuddiesManager, AccOcShareBuddiesSession, AccOcStream, AccOcStreamListener, AccOcUpgradeInfo, AccOcUser. - Improved AccOc internal exception error handling/logging for xhtml conversion and parse errors. - Removed AccOcStreamListener.h. - Removed default emoticon set "Butterfly" (bart ID "AgHSDw4=") because of a complaint that it's lame. - Added VB2B and renamed B2V to B2VB. - AccOcUser timer-based caches (attributedAwayMessage, attributedProfile, certificate) are now flushed when user state changes. - AccOcUsersOutlineView contextual menus no longer contain "Im" and "Direct Im" menu items if there are already (D)IM sessions with any selected users. - AccOcUsersOutlineView contextual menus now contain buddy-centric plugin commands. - These sound prefs are now honored: aimcc.buddyList.playBuddySignOffSounds, aimcc.buddyList.playBuddySignOnSounds, and aimcc.im.playSounds. - AccOc's export symbols are now specified explicitly. - AccOcLocationPreferencesArray now handles auto-generating a unique nickname if a location with no nickname is added/inserted. - Removed AccOcUserExt capabilitiesRequested. Capabilities never need to be requested. - AccOcInviteesOutlineView now has an NSOutlineViewDataSource that allows usernames to be dragged & dropped to invite. - AccOcHistoryTextView now supports saving in 13 file formats. The entire content can be saved via saveDocumentAs:, and there is built-in contextual menu support for saving the selection. - When using the font panel with an AccOcUsersOutlineView (buddy list, etc.), the setting now persists. - AccOcBuddy now supports persistent custom toolbar configurations. - AccOcBuddy now uses NSViewAnimation to cross-fade when switching views via selectable toolbar items (Find Users, Info, Preferences). - AccOcBuddy now has a New Secondary Session window. - Moved these methods from AccOcUser to AccOcUserExt: bot, buddyMatchDirect, buddyMatchIndirect, forwardingIms, forwardingImsOneWay, official, onAim, onAol, onIcq, onMobile. - When an AccOcUser is removed from an AccOcGroup, the AccOcUser's reference the the AccOcGroup is now released. - Fixed several memory leaks. - Fixed that internal sound controller compared sounds based on path alone. Now it also compares data. - Fixed crash that could occur if bound to AccOcSecondarySession invitees. - Fixed that there was cruft in AccOcBuddy's Im.nib. - Fixed missing period in English time-out error string. - Fixed that "AccOcFontValueTransformer.h" was missing from "AccOc.h." - Fixed AccOcUserExt attributedName returned "null" instead of NULL if its IAccUser was NULL. - Fixed AccOcImSession reporting username "null" for participant arrivals and departures if the IAccUser was NULL. - Fixed AccOcSoundController could get into a state where no sound played while play was called repeatedly for the same sound. - Fixed assertion in NSTextViewExt selectedTextAttachment when selection was beyond end of text. Also changed selectedTextAttachment to return NULL if text after a text attachment is also selected. - Fixed AccOcHistoryTextView update when receiving uncached emoticons. - Fixed infinite recursion in NSTextAttachmentExt name. - Fixed AccOcImSession sometimes set AccImInputState_NotEmpty after sending an IM even if the compose view was empty. - Fixed typo "An non-specific...." - Fixed that AccOcLocation copy did not copy useCount. - Fixed AccOcPreferencesArray insertObject:inArrayAtIndex: caused corruption. - Fixed passing a passCode encoded within a password was busted because the passCode was cleared before it could be applied. - Fixed that some AccOcBuddy windows' visible attributes were bound to AccOcSession online, which was bad if the visible attribute value changed. Added onlineRo for such bindings. - Fixed AccOcUsersOutlineView setFont: rowHeight calculation. - Fixed KVO change notifications for AccOcUserExt onlineTime. - Fixed OnInstanceChange events were ignored. Now AccOcSession otherInstances is KVO compliant. - Fixed AccOcSession userForSelf sometimes asserted and if called multiple times returned different objects. - Fixed AccOcBuddy assertion if one removed a buddy from the buddy list with an Info window for the buddy open. - Fixed AccOcSession createChatSessionWithOptRoomName:withOptExchange:withOptInstance: did not generate AccOcEvent_SecondarySession_AboutToSendProposal. - Fixed AccOcUser methods that caused an unnecessary single recursion: setBlocked:, setBuddyFeedViewDate:, setEmailAddress:, setFriendlyName:, setIgnored:, setNote:. - Fixed AccOcGroup methods that caused an unnecessary single recursion: addObject: insertObject:inBuddiesAtIndex:, removeObjectFromBuddiesAtIndex: setCollapsed:, setName:. - Fixed AccOcSession methods that caused an unnecessary single recursion: setAppearOffline: setAttributedAwayMessage:, setAttributedProfile:, setAwayMessage:, setAwayMessageByIndex:, setImForwardingActive:, setStatusText:. - Fixed AccOcBuddyList methods that caused an unnecessary single recursion: addObject:, insertObject:inGroupsAtIndex:, removeObjectFromGroupsAtIndex:. - Fixed debug-only COOL assertion if the associated session was not online when calling AccOcUser certificate. - Fixed debug-only COOL assertion if the associated session was not online when calling AccOcUserExt attributedName, buddyListIcon. - Fixed that when a primary AccOcSession went offline, AIMCC message pumping was halted and any linked sessions were released before linked sessions had a chance for an orderly sign off. - Fixed releasing an AccOcSecondarySession after its associated AccOcSession has been released. - Fixed that temp buddy AccOcUser objects were not notified of user changes. - Fixed that AccOcAddUser setGroup: did not trigger a change notification for canAdd. - Fixed that if one called AccOcSessionExt setStatusTitle:, there were multiple KVO notificatons about the change to statusTitle. - Fixed assertion in AccOcSessionExt allIdentities if there are no identities. 0.4.1, 2006/09/12 - Uses AIMCC 1.1.2. - Uses XCode 2.4. 0.4, 2006/06/06 - Uses AIMCC 1.1. - Added AccOcArrayStringValueTransformer. - Added AccOcEnumerations bartItemTypeBigIcon, bartItemTypeImmersiveWallpaper, countries, countryCodes, nationalSubdivisionForNationalSubdivisionCode:country:, nationalSubdivisionsForCountry:. - Added NSMutableArrayExt sortUsingLocalizedCompare. - Added AccOcSession maxFavoriteLocationCount, badge, badgePersistent, bigIcon, bigIconPersistent, setBadge:, setBadgePersistent:, setBigIcon:, setBigIconPersistent:, upgradeInfo, upgradeInfoBeta, upgradeRecommended. - Added AccOcSessionExt locationNickname, setLocationNickname:, allSessions, disableAlerts, hideChangeEmail, hideConfirmEmail, hideFormatScreenName, hideRegisStatusPref, hideSns, signOnActionEnabled, badgeOfficial, badgePersistentOfficial, badgePersistentRequested, badgeRequested, bigIconOfficial, bigIconPersistentOfficial, bigIconPersistentRequested, bigIconRequested, soundNames, soundNamesRequested, speechController, wallpapers, wallpaperRequested, linked. - Added AccOcSessionExt delegate methods session:didSetupClientInfo:, session:shouldAddBuddiesWithNames:inGroupWithName:, session:shouldOpenUrl:, sessionNeedsKey:, sessionUpgradeRecommended:. - Added AccOcSecondarySessionExt ownerParticipant, participantUsers, delegate method secondarySessionDidGoOnline:withError:. - Added AccOcIm bigIcon, disposition, setDisposition:, setStore:, store. - Added AccOcImExt bigIconRequested. - Added AccOcUser bigIcon. - Added AccOcUserExt canBeEjected, eject:, bigIconRequested. - Added AccOcBuddyListOutlineView eject:. - Added normalize: param to AccOcPreferences' specifierForIndexedValue:keyPath:objectKeyPath: and removed specifierForIndexedValue:keyPath:. - Added My Location menu. - Added AccOcClientInfo country, location, setCountry:, setLocation:. - Added preferences: accoc.buddyList.hideOfflineBuddies, app.location.guess, app.upgrade.alert, app.upgrade.alertBeta. - Added handling of ACC_E_PLUGIN_ABORTED_ACTION. - Added AccOcUsersOutlineView, superclass of AccOcBuddyListOutlineView. - Added AccOcRegistrationStatus canGet. - Added AccOcScreenNameFormat canGet. - Added AccOcDistanceValueTransformer. - Added AccOcLocationExt. - Added NSStringExt unescapeFromUrl. - Added AccOcAppleEvents, AccOcAimAppleEvents. - Added AccOcStatusMenu addHeaderItemsToMenu:, addSubjectsToMenu:, addTitle:toMenu:. - Added support for aim: URLs. - Added urls.txt document. - Added issues.txt document. - Added ACCOC_E_INVALID_URL, ACCOC_E_UNKNOWN_URL_SCHEME, ACCOC_E_USER_NOT_BUDDY. - Added AccOcLocation init, useCount. - Added AccOcCountryValueTransformer. - Added AccOcUpgradeInfo. - Added AccOcInviteesOutlineView. - Added AccOcGroup smart. - Added error code->string mappings. - Added NSAttributedStringExt attributedStringWithUrlString:text:. - Added UI in AccOcBuddy for aimcc.im.rollover.permissions.buddies and aimcc.im.rollover.permissions.nonBuddies. - Added AccOcBartItemTypeValueTransformer. - Renamed FRAMEWORK_E_INVALID_GROUP_NAME to ACCOC_E_INVALID_GROUP_NAME. - Introduced AccOcSample minimal sample application. - Changed "America Online, Inc." to "AOL LLC." - Changed AccOcImSession segmentIm: to return a BOOL (instead of throwing if segmenting is not needed). - Changed AccOcImSession sendCompose: to call segmentIm:. - Changed AccOcLocation numeric getters' type from float to NSNumber* so callers can differentiate n/a from 0.0. - Changed AccOcPreferencesExt escapeKeyPath: and normalizeKeyPath: to ignore the key path prefix. - Changed selected preference tab view storage to use AccOc prefs instead of NSUserDefaults directly. - Changed NSStringExt escapeForUrl: to escape '<' and '>'. - Changed AccOc to a private framework. - Changed to not enable any script event actions by default (because they can be so slow). - Changed AccOcBuddy info/inspector to use AccOcLocationExt nationalSubdivision instead of AccOcLocation state. - Moved AccOcBuddy localizable strings into separate file. - Removed RAISE_IF_HRESULT. Callers now use RaiseIfHResult(), which generates a more descriptive exception. - Implemented NSCopying protocol in AccOcLocation. - The last chosen toolbar item in Info/Inspector windows is now remembered. - Removed AccOcDispatch. Now Variant2Object() knows how to create specific accoc objects from AIMCC objects. - Removed most references to radioStation. - Removed AccOcStatusMenu titles. - Removed AccOcSessionExt richNamePersistentRequested, richNameRequested, setOffline:, setOnline:, statusTextLinkPersistentRequested, statusTextLinkRequested, statusTextPersistentRequested, statusTextRequested. - Removed AccOcUserExt richNameRequested, statusTextLinkRequested, statusTextRequested. - Removed AccOcDirectoryEntry and related. - Renamed AccOcSession createChatSessionWithRoomName:withOptExchange:withOptInstance: to createChatSessionWithOptRoomName:withOptExchange:withOptInstance:. - Renamed AccOcSessionExt imsVisible to secondarySessionsVisible. - Changed AccOcSessionExt signOnAction: to only do sign on and sign off, not pass code. - Changed AccOcSessionExt signOnEnabled to only apply to sign on, not sign off or pass code. - Changed AccOcSessionExt signOnTitle to only apply to sign on and sign off, not pass code. - Changed AccOcEmoticonController such that if the emoticon set is not in the bart cache, it is loaded. - Updated prefsSpecifiers.txt document to include AccOcBuddy-specific preference specifiers. - When setting a status, it is now set for linked sessions too, not just the primary session. - The country code and language code from System Preferences are now applied to AccOcClientInfo when signing on. - If one specifies TIH for the host address pref, the TIH authorizer is now automatically set. - Changed AccOcRegistrationStatus and AccOcScreenNameFormat to honor session uiFlags. - AccOcStatusMenu now sets tool-tips for messages. - Implemented window cascading in AccOcBuddy. - Implemented Finder-like rules for opening Info windows in AccOcBuddy. - Added AccOcSpeechController, factoring text-to-speech into a common controller to allow sequencing and continuation. - Preference aimcc.im.speakIms is now honored. - Added AccOcBuddy Edit/Speech menu. - Added AccOcBuddy "Close All" menu command. - AccOcBuddy invitees can now be uninvited. - Internal AccOcEventDispatch & AccOcEventSink refactoring. - AccOcBuddy now honors aimcc.away.hideIms. It is applied for all secondary session windows. - OnPreferenceInvalid errors are now bubbled up through AccOcSessionExt presentError:presentError:. - Fixed that if one signed off a linked account, gPrimarySession was NULLed. - Fixed assertion that occurred if an event action attempted to set status while offline. - Fixed AccOcSession setLocation: to accept NULL. - Fixed crash if a property of an AccOcLocation of an AccOcUser was bound and it changed. - Fixed that selected preference tabs were being saved by label instead of by identifier. - Fixed that AccOcUsersOutlineView canBlock and canUnblock did not take privacy mode into account. - Fixed that AccOc object delegates were retained. The caller is now responsible for calling setDelegate:NULL. - Fixed that AccOcUsers could try to unregister themselves from the primary AccOcSession after the primary AccOcSession was dealloc'ed. - Fixed that AccOcSession *PersistentRequested returned YES when there was no data to request. - Fixed AccOcImSessionExt name for when a rollover proposal is received. - Fixed in AccOcBuddy that if one rejected a rollover proposal, the associated secondary session window closed. - Fixed changes to aimcc.buddyList.hideBuddyFeedNotification did not take effect immediately. - Fixed that if one added a group in a buddy list and immediately tried to add buddies to the group, adding buddies failed. - Fixed that AccOcSessionExt setDelegate: succeeded for non-primary sessions. - Fixed that change notifications for users were not reaching AccOcUsers in linked account buddy lists. - Fixed that AccOcImSessionExt setComposeAttributedString: did not properly notify observers of changes. - Fixed that AccOcSession createImSessionForIdentity:withSessionType: allowed creation of a new DIM session if there was already an IM session with the same user, and vice-versa. - Fixed that AccOcImageView import: did not notify observers of change. - Fixed that buddy list icons for away and idle users were not returned. - Fixed that passing NULL to AccOcIm setAttributedString: produced xhtml markup. - Fixed that the AccOcSession statusText change notifications were not sent to observers. - Fixed that AccOcBuddy's preferences/status/persistentMessage had no None item. - Fixed that AccOcBuddy's preferences/status/persistentMessage committed the subject instead of the message. - Fixed that AccOcBuddy's buddyList/statusMenu displayed a blank item if an unknown persistent status message was set. - Fixed kAccOcStrEventImSession_SubsequentMessageReceived typo. - Fixed double-free of AccOcUser that could occur due to a reentrancy when tearing down an AccOcSession. - Fixed that a circular reference between AccOcGroup and AccOcUser caused some objects of those classes to leak. - Fixed that when an AccOcSecondarySession went offline, participant lists were not updated. - Fixed that when an AccOcImSession went offline, participants continued to be observed. - Fixed that if one signed on with a PassCode, signed off, and started to sign on again, the PassCode field displayed the PassCode from before. - Fixed flicker in AccOcBuddy's StatusMenu when changing status selection. - Fixed AccOcBuddyList and AccOcGroup addObject: methods to send proper KVO notifications. - Fixed buddy list drag & drop editing (moving/copying buddies/groups). - Fixed that various errors did not bubble up to the primary AccOcSession's delegate session:presentError:. - Fixed that the identity textField in AccOcBuddy's Sign On window did not auto-complete. - Fixed assertion when calling AccOcUser capabilities for an offline user. - Fixed that setting one's wallpaper failed because the image data were transcoded through NSImage. - Fixed internal emoticon sets crash. - Fixed memory leak in AccOcImageView. 0.3, 2006/03/22 - Implemented chat invitees/participants drawer. - Implemented file xfer collision handling. - Implemented user picker. - Implemented ability to Get Info for users not in buddy list. - Implemented secondary session Invite. - Implemented contextual menu for info/inspector buddy icon. - Implemented prefs UI. It is generally similar to Macaque, with some redesign. The content is a superset of Macaque except logging prefs and the one DIM-related pref are not implemented. - Implemented default status (away, etc.) messages, loaded from localized, external RTF files. - Implemented status menu (in accocbuddy's buddy list toolbar). - Implemented support for AOL PassCodes within passwords (so PassCode accounts can use software developed by third parties who don't implement PassCode UI). - Implemented incoming IM reformatting (configured via prefs). - Made info/inspector text fields selectable. - Moved PassCode UI to a sheet. - Added "Image Link..." menu command, for inserting image URLs in text views. - Added a number of event actions. - Added AccOcPreferences method requestValueForKeyPath:target:selector:. - Added AccOcSession delegate method session:presentError:. - Added AccOcArraySubjectValueTransformer. Applies AccOcSubjectValueTransformer to an NSArray. - Added AccOcAttributedStringValueTransformer. Transforms an object via its attributedString method. - Added AccOcComboBox. NSComboBox subclass that automatically updates numberOfVisibleItems. - Added AccOcImageView. NSImageView subclass that adds contextual menu. - Added AccOcNegateBooleanValueTransformer. Like NSNegateBooleanTransformer, but the BOOL can be encoded as an NSString. - Added AccOcSignOnNamesPreferencesArray. AccOcPreferencesArray subclass for sign on names. - Added AccOcStatusMenu. Provides NSMenu of Away messages and related. - Added AccOcStatusMessagePreferencesArray. AccOcPreferencesArray subclass for status messages. - Added AccOcStringValueTransformer. Transforms an object via its string method. - Added AccOcSubjectValueTransformer. Transforms an object via its subject method. - Added AccOcTempPreferencesArray. AccOcPreferencesArray subclass for working with a copy of a preferences array and then committing or discarding the changes. - Added AccOcTransparentBackgroundTextView. NSTextView subclass. - Added NSMutableStringExt. - Added AccOcFileXferManagerExt. - Added AccOcScreenNameFormat. - Added Play/Stop button for Voice in Info/Inspector window. - Added accOcInfo.tif. Displayed in buddy list icon when a buddy feed changes. - Added prefsSpecifiers.txt document, listing framework-specific preference specifiers. - Added AccOcAvManager, AccOcAvManagerExt, and AccOcAvSessionExt. - Added NSMutableArrayExt. - Added AccOcCertificate chainIncludeRoot:. - Added AccOcSession buddyIconOfficial, buddyIconPersistentOfficial, smallIconOfficial, smallIconPersistentOfficial. - Added AccOcOfficialValueTransformer. Transforms a BOOL to "Official" or NULL. - Added Join Chat command. - Added AccOcUser attributedBuddyFeedUrl. - Added buddy feed in info/inspector window. - Enabled Sign On window position auto-save. - Uses updated AIMCC/COOL. - Now links to SystemConfiguration.framework. - Objective-C exceptions can no longer jump out of AIMCC events. - AccOcSession signOn: exceptions are now caught and routed to the delegate. - Made AccOcActions.h, AccOcExecutor.h, and some related keys public. - Renamed withOptInvitation: parameter to optInvitation: everywhere. - Renamed AccOcUser awayMessageRequested to attributedAwayMessageRequested. - Renamed AccOcUser profileRequested to attributedProfileRequested. - Renamed AccOcBartItem itemId to bartId. - Renamed AccOcBartItem itemIdHex to bartIdHex. - Removed Session Settings. - Changed variant conversion utils to throw instead of returning HRESULTs. - Changed Sign On prefs icon to one that is less artistic but more appropriate. - Updated to gcc 4.0.1. - Fixed inability to initiate secondary sessions via buddy list contextual menu with buddies who were idle. - Fixed AccOcImSession's name method to return "Chat #" instead of "Chat (null)" for chat rooms with no name. - Fixed AccOcSecondarySession participantWithName:. - Fixed AccOcSecondarySession invitees. - Fixed that if an ObjC exception was thrown while handling an AIMCC event, AccOc stopped getting events because a C++ stack object was not released. - Fixed that the AccOcEvent_Session_AboutToSignOff event was executed if canceling sign on. - Fixed that after sending an IM, in some cases focus remained on the Send button. - Fixed inability to copy images (emoticons, small icons) in text views. - Fixed info/inspector drawing glitch when selecting Service(s) value. - Fixed AccOcImSession historyAttributedString bug that resulted in a message intermittently not appearing in history until another message was added. - Fixed that signing on linked accounts was busted. - Fixed sending hyperlinks in IMs. - Fixed crash when _NSCAssertBody() family of macros was called from a C++ template and evaluated to false. - Fixed that the file xfer window's "Sender/Recip:" label text field was static. It now says "Sender:" or "Recipient:". - Fixed that if the current emoticon set was not cached, "accoc.emoticons.autoConvert" was true, and one entered text in a message, text was not converted. - Fixed that NSStringExt stringWithColor: didn't prefix the output with a '#' character. - Fixed AccOcExecutor sound playing: a) workaround for QTMovieDidEndNotification not consistently honoring the notification object (as of Mac OS 10.4.5); b) AccOcSoundController doesn't always play the same QTMovie* passed to it, so now it returns the actual QTMovie* that it plays. - Fixed that if one changed one's screen name format, instances of one's username in the buddy list and elsewhere didn't immediately update. - Fixed a couple non-localizable strings that slipped into AccOcBuddyListOutlineView. - Fixed getting uncached IM bart buddy icon and wallpaper. - Fixed various objects making multiple requests for the same bart item. - Fixed a crash that could occur if an object's removal from the transId map caused another object to immediately remove itself from the transId map. 0.2, 2005/12/07 - Instituted formal versioning. - Implemented file sharing. - Implemented share buddies (no filtering). - Implemented buddy List contextual menu. - Implemented support for key in outline views. - Implemented support for these buddy list icons: arriving, departing, blocked, ignored. - Implemented dynamic buddy icon display in proposal windows. - Implemented playing of bart sounds. - Implemented event actions, roughly equivalent to the feature set in Macaque. - Implemented emoticon palette & dynamic text-to-emoticon. - Implemented IM compose and history NSTextView subclasses. - Implemented Info/Inspector window. - Implemented sign on progress indicator. - Implemented IM wallpaper backgrounds. - Enabled secure secondary sessions support. - Uses updated AIMCC. - Numerous bug fixes. 0.1, 2005/09/29 - Improved IM: knock-knocks, chat, dim (not embeds), IM Forwarding indicator. - Implemented file xfer. - Implemented support for buddy List font/color change. - Uses updated AIMCC. - Numerous bug fixes. 0.0, 2005/09/22 - Implemented sign on/sign off. - Implemented basic buddy list: account linking, add/remove user/group, saved group disclosure, mini icons. - Implemented standard IM with minimal formatting. - Implemented basic preferences.