# Version history

##

Chicken is originally based on a program called VNCViewer, written by Helmut Maierhofer for OpenStep on Intel. Jason Harris ported VNCViewer to the Cocoa API on Mac OS X with the name Chicken of the VNC to avoid confusion with several VNC programs on Mac OS X. After several years of inactivity, Chicken was started, based on the Chicken of the VNC code, with several improvements.

Version 2.2b2 (November 19, 2011)
  - - Fixed bug with changes to ssh host not being saved in some circumstances.
  - - Reduce accesses to KeyChain while typing passowrd.
  - - Some error message include the encoding which was likely responsible.
  - - Correctly detect password prompt from ssh in more cases (thanks to Darren Oster for helping track this down).
  - - Report error messages with establishing tunneled connection.
Version 2.2b1 (August 5, 2011)
  - - Added ability to have Chicken set up SSH tunnels.
  - - Reconnections no longer open a new window.
  - - On 10.7 Lion, the scrollbars on the connection window should remain always visible (workaround for bug 3192491).
  - - Upgraded libjpeg-turbo to version 1.1.1.
  - - Stops listening for reverse connections after first connects.
  - - Minor speed improvments in Hextile and ZlibHex encodings.
  - - Fixed bug with refresh getting stuck while using the ZlibHex encoding.
  - - If no password has been set, prompts for one rather than trying a blank password.
  - - Fixed behavior of display box when disabled.
  - - Improved formatting of text in performance preferences tab.
  - - Reconnecting panel now has an icon.
  - - Tweaked layout of modifier tab in profiles.
  - - Force reconnect is now disabled on reverse connections.
  - - Take default keyboard preferences from NIB instead of KeyEquivalentScenarios.plist.
  - - Fixed handling of URLs with unspecified port.
  - - More efficient at handling lots of data coming in small pieces.
  - - Servers now saved in property list format.
  - - Replaced functions for manipulating KeyChain with non-deprecated ones.
Version 2.1.1 (February 12, 2011)
  - - Fixed bug with changes to the update speed not taking effect immediately.
  - - Fixed non-functioning interface elements in Japanese and Italian.
  - - Fixed bug with settings for currently selected server not being saved if it is a Bonjour server.
  - - Fixed bug with fullscreen warning giving the incorrect shortcut if the display is view-only.
  - - Automatically stops tinting in fullscreen mode.
Version 2.1 (January 3, 2011)
  - - Quits after command-line connection (restores behavior from Chicken of the VNC 2.0b4).
  - - Can specify a saved server on the command-line.
  - - Added command-line options --Listen and --Shared.
  - - Fixed a number of bugs with spurious and non-functioning key equivalents appearing in menus.
  - - Doesn't prompt for password when authentication failed for reasons other than the password, e.g. too many tries.
  - - Changes to profile's encodings now take effect immediately.
  - - Login dialog defaults to last-used server.
  - - Fixed bug with disconnections due to "Write to server failed: invalid argument" (bug 3146982).
  - - Option to tint remote display for visual distinguishability (feature request 1310836).
  - - Improvements to the password prompting, reconnection, and fullscreen warning panels.
  - - Fixed pointer behavior when using view-only option.
Version 2.1b3 (December 4, 2010)
  - - Fixed crash when receiving corrupt data from the server in certain circumstances.
  - - The Profiles dialog now opens to the currently used profile.
  - - Improved some error messages on connection failure.
  - - Fixed bug with some text not displaying correctly when using a language other than English.
  - - Uses Sparkle framework for automatic updates.
  - - Fixed bug with wrong error messages being displayed on connection failure.
  - - More efficient when receiving lots of data.
  - - Fixed bug with "Save Server" checkbox in "New Connection" dialog.
  - - Added ability for server to change the name of the connection.
Version 2.1b2 (November 7, 2010)
  - - In fullscreen mode, autoscroll now works while dragging.
  - - Changing scenarios in the key equivalents preference no longer collapses all the submenus.
  - - The connection information window includes the encodings used by the server.
  - - If reconnection attempt fails, the reconnect message indicates that it's a reconnection attempt.
  - - Warn user if entering fullscreen mode without a key combination to exit.
  - - Fixed crash when exiting fullscreen mode when more than one connection window is open.
  - - Fixed bug with mouse movements not being sent to server after scolling.
Version 2.1b1 (October 24, 2010)
  - - Name changed to Chicken.
  - - The open connection window is displayed after the last connection is closed and when there are no connections open and the Dock icon is selected.
  - - Improved invalid host error messages. (bug 1653634)
  - - Fixed the Denial of Service concept attack posted at http://www.securityfocus.com/archive/1/458907/100/0/threaded by "poplix".
  - - Support for JPEG encoding using libjpeg-turbo.
  - - Added Japanese localization.
  - - A server screen smaller than the client screen is centered in fullscreen mode (thanks to Yuri D'Elia).
  - - Scrolling with the trackpad works more smoothly (thanks to pen_sq).
  - - IPv6 is supported (thanks to John Wright and Bob Van Zant).
  - - Supports client-side display of remote cursor.
  - - Mouse movement throttling means that fewer mouse movements are sent over slow connections.
  - - Connection attempts can be cancelled. (bug 1031249)
  - - Uses TCP keep-alive, which makes it less likely that idle connection will be dropped.
  - - "Display" box has been replaced by "Display or port" box.
  - - Option to immediately enter fullscreen mode in the Listener interface.
  - - Modifier keys can be unmapped.
  - - Prompts for a password if one is required.
  - - Prevent crashes due to SIGPIPE.
  - - Allows scrolling diagonally in fullscreen mode. (bug 668887)
  - - If "Remember Password" is not checked, then the password is only used for that connection attempt, and not the entire Chicken session. (bug 1054199)
  - - Fixed issue with unintended key autorepeat when using the shift key. (bug 1520626)
  - - Fixed crash when closing a window which had been assigned a shortcut key. (bug 1011876)
  - - Fixed issue with stuck modifier keys when entering fullscreen mode or using Spaces. (bugs 1423667, 1675113, 2995729)
  - - Fixed handling of certain servers which claimed to be using the non-existent RFB version 4.0.
  - - Use sheets instead of alerts for most connection errors.
  - - Hiding in fullscreen mode no longer locks machine (bug 1493839)
  - - Fixed crash connecting to Apple Remote Desktop with thousands of colors (bug 1316654)
  - - Denying keychain access doesn't delete passwords from keychain (bug 1637352)
  - - Improved handling of non-US keyboards and text.
  - - Supports server-side mouse movements.
  - - Option in profile settings so that option key can be used to enter modified characters.
Version 2.0b4 (January 18, 2006)
  - - Chicken of the VNC is now a universal binary.
  - - Resolved an issue that caused an "ZLibHex unknown subencoding" error when using ZRLE encoding to connect to an UltraVNC server.
  - - Resolved an issue that caused pasting text to work incorrectly if the text contained repeating characters.
  - - Bonjour server discovery now works properly when the server uses a non-standard port or display number.
  - - Clicking an inactive connection window no longer passes that click through to the server.
Version 2.0b3 (August 22, 2005)
  - New Features
      - - Reimplemented mouse button emulation and added new options to either turn off emulation for a particular mouse button, emulate when holding a modifier key and clicking the left button, emulate when tapping a modifier key multiple times, or emulate when tapping a modifier key quickly and then clicking the left button.
      - - Added VNC view-only mode, used for watching a server without interacting with it.
      - - Added VNC listening mode, used for connecting to a server that is behind a firewall.
      - - Added menu commands to send cmd-option-escape, Insert, Delete, Pause, Break, Print and Execute keystrokes.
      - - Added a "New Connection..." menu item allows you to connect to a server without having to use a server in the server list.
      - - It's now possible to set bookmarked connections to always open in fullscreen mode.
      - - Settings for servers discovered via Bonjour are now saved when Chicken closes.
      - - Bonjour server discovery now looks for _rfb._tcp as well as the previous _vnc._tcp.
      - - It's now possible to explicitly specify a port number rather than a display number, either via the user interface or from the command line.
      - - Added French localization courtesy of Pascal Frey.
      - - Added Italian localization courtesy of Claudio Santucci.
      - - The server list in the Open Connection panel is now displayed in alphabetical order.
      - - Chicken now handles urls of type vnc:// and rfb://.
      - - Minimized connection windows no longer show a generic VNC icon.
      - - Connection windows now remember their size and location.
      - - Dropped connections now attempt to auto-reconnect.
    Bug Fixes
      - - Resolved compatibility issues with Apple Remote Desktop 2.2.
      - - The 'F1' key is now transmitted to servers correctly.
      - - Improved handling of double and triple clicks. They now work reliably.
      - - Colors are no longer mapped improperly when using millions of colors mode.
      - - Resolved an issue that caused error messages when connecting to TightVNC.
      - - Resolved issues that caused connections to die with the message "Unknown rectangle encoding" or "Inflate error".
      - - Resolved issues with pasting text to the remote machine.
      - - Window frames are now saved properly between launches.
      - - Resolved an issue that could cause a crash when using a Logitech mouse.
      - - The Set Title and Connection Information windows are now closed properly when a connection is closed.
      - - Rendezvous is now called Bonjour in the UI to fit new Apple naming conventions.
Version 2.0b2 (August 26, 2004)
  - - Resolved a crash on startup that could occur in some situations when upgrading from 1.3.6.
  - - Resolved an issue that would prevent the creation of Connection Profiles if none had been created in an earlier version of Chicken. This manifested itself as an insistence upon connection to port 5900 of localhost.
  - - Resolved an issue that prevented connecting when no servers were present in the list, while appearing as though it would work properly. This manifested itself as a successful, but very slow connection, in which modifier keys would not work at all.
  - - Resolved an issue that caused closing a windowed connection via a customizable key equivalent to crash.
  - - Revamped the Profile Manager window to act more sensibly and be easier to use.
  - - Revamped the Preferences and removed settings that never get used.
  - - Added html documentation that's accessible from within Chicken.
  - - It's now possible to specify a profile name when launching Chicken via the command line.
  - - The "Use Rendezvous" setting is now remembered between launches.
  - - Changed the default order of encodings so that the fastest one defaults to the first one to try.
  - - Newly created servers are now created with their names immediately editable.
  - - Widened the Display text field in the connection dialog.
Version 2.0b1 (August 18, 2004)
  - - New connection manager that stores commonly used servers.
  - - Auto-discovery of servers via Rendezvous.
  - - Added keychain support.
  - - Added support for keyboard commands when connection windows are not the frontmost windows.
  - - Added support for customizable menu key equivalents.
  - - Clarified menus. rearranged them, and made them more "Mac-like".
  - - Drastically improved documentation.
  - - Added timers for mouse button emulation that help prevent accidental emulation.
  - - Added ability to specify connection options from the command line.
  - - Shift-Tab now works properly on Windows machines.
  - - Capslock now works on Windows machines.
  - - Resolved errors when connection to RealVNC using ZLibHex encoding.
  - - Resolved errors when connecting to OSXVNC using Tight encoding.
  - - Miscellaneous other encoding fixes.
  - - Tight encoding is no longer the default encoding.
  - - Widened "Port (or Display)" text field so it can hold 5 digits.
  - - Port numbers below 100 are now interpreted as a display number, instead of numbers below 10.
  - - Mouse tracking no longer breaks after exiting from full-screen mode.
  - - Resolved an issue that could cause Chicken to crash if the server connection unexpectedly died.
  - - When a server connection dies, Chicken now notifies the user with a sheet so that the user can see which connection it was.
  - - Removed the "Quit" option from the notification presented when a server has died.
  - - Changed release date in "About Chicken of the VNC" for 1.3.6 to properly reflect the year 2003.
  - - New VNC graphics in About dialog by Tobia Conforto tobix@linux.it
Version 1.3.6 (January 17, 2003)
  - - Fixed a nasty memory leak and checked all encodings to verify that none of them memory problems.
  - - Added preferences to modify the CPU performance of the frontmost connection independently of all other connections.
  - - Finally fixed Tight Encoding - previously, it only worked when the server had a small screen.
  - - More speed optimization when running under Jaguar.
  - - Redid the scheduler to fix a problem that caused excessive CPU usage.
  - - Added lots of internal error-checking.
  - - Modified many default preferences to have more reasonable values - display and preferred encodings particularly. If upgrading, you will need to restore the order of your preferred encodings.
Version 1.3.5 (January 13, 2003)
  - - More improvements to Tight Encoding
  - - JPEG encoding support in Tight Encoding (only available for expert users who install jpeglib and recompile Chicken)
  - - ZRLE encoding
  - - ZLIB encoding
  - - Added "Send Ctrl-Alt-Del" menu item
  - - Fixed several full-screen windowing bugs
  - - Added support for mouse scroll-wheels when connecting to servers that support this extension to the VNC protocol
  - - Works with OSXvnc 1.0
  - - When a connection is dropped, Chicken asks if you'd like to reconnect
  - - Presents the connection dialog when Chicken is brought frontmost and there are no open sessions
  - - Improvements to window drawing speed
  - - The Login dialog window now stores the server addresses you've connected to
Version 1.3.1 (October 24, 2002)
  - - Restored support for versions of Mac OS X lower than 10.2.
  - - Improved connection issues when using Tight encoding, although it's still not perfect.
  - - Added support for specification of a port number instead of a display number.
  - - Added native support for three-button mice.
  - - Fixed a bug that caused Chicken to crash on machines with Unsanity's FruitMenu installed.
  - - Chicken is now hosted on SourceForge.
Version 1.3 (October 8, 2002)
  - - Added a full-screen, auto-scrolling mode and associated preference settings.
  - - Connection windows no longer default to being larger than your main screen.
  - - Windows now initially appear scrolled to the top-left instead of the bottom left.
  - - You are no longer prompted to type a key without a modifier when you type special characters.
  - - Revamped the text sending engine.
  - - Arrow keys are no longer sent twice.
  - - Revamped and reorganized the profile window so that it makes more sense for Mac OS X (and follows the Aqua guidelines). Also, the profile window could now be localized if someone felt the urge to do it (it no longer uses string constants). However, this change means that previous users will either need to reset their modifier keymappings in all of their profiles, or delete their preferences.
  - - Changed the rectangle drawing options in the Preference window so that they more accurately reflect behaviour on Mac OS X.
  - - The rectangle drawing options in the Preferences window now show their current value. Previously, they always showed the default value, although they used whatever value had been set.
  - - Synced with Helmut's 1.2.5 release. This adds the ability to paste a file's path into your VNC window by dragging the corresponding file into the window (untested).
Version 1.2.3 (March 22, 2002)
  - - Initial Mac OS X release.