May 12, 2005: David Hammerton * Password support: You can now connect to servers with passwords. Based on a patch by Benjamin Meyer. May 10, 2005: David Hammerton * Playlist support: Fetch playlists on connect and provide APIs for accessing playlists. * Security Fixes: Fix several possible buffer overflows. * Better handling of HTTP error codes: Pass error codes back as return values January 29, 2005: David Hammerton * Solaris fixes: Ensure integers are properly aligned when necessary. Based on code by Rico Pajarola. * Various bug fixes: Based on code by Rico Pajarola. January 27, 2005: David Hammerton * Add configure check for various integer types. * Various mdnsd fixes: Add a flag to the query callback to determine if the record was added or removed, define various class types, understand unicast responses, add some debugging information, answer cached answers to questions that we already have - on first time send of query. January 7, 2005: David Hammerton * Replace Apple's mDNS with mdnsd: mdnsd is a free mdns implementation. libopendaap can now be considered entirely free January 4, 2005: David Hammerton * Improve debugging support: Create an API to turn on and off debug options. * Add manpage: Add a basic man page. Initial work done by Simon Freiberg . * Some small build fixes. December 16, 2004: David Hammerton * Fix some threading issues: Unlock mutex before calling callback in the ioloop. Use a recursive mutex in the ioloop. * Remove thread timer: This frees up a thread that was never being used. * Improved debug traces: Now properly optional based on debug class. December 13, 2004: Daniel Drake * Fix some header problems. December 13, 2004: David Hammerton * Watch remote hosts for updates: This includes the creation of a custom ioloop to watch as many clients as we've been asked to in a single thread. Currently we don't handle updates properly. * Fix bug where suddenly iTunes would refuse to serve us: This is a consequence of the above work. * Fix some haader problems. November 8, 2004: David Hammerton * Can connect to mt-daapd servers: Address a few issues where mt-daapd fails to return fields that iTunes always does. Strictly speaking, most were mt-daapd bugs, but we work around them now. October 31, 2004: David Hammerton * Sends errors as status callbacks to application. * Handle more error possiblities in HTTP connections. October 10, 2004: David Hammerton * Now connects on the advertised port, not the default. August 1, 2004: David Hammerton * Fix crash on connecting to machines with AAC files: we were using the wrong type for songformat when testing its size. July 31, 2004: David Hammerton * Add support for hosts going away: Properly remove remote hosts from the host list when they are no longer available. * More robust HTTP connections: Every time we get a file it needs to be retrieved over its own HTTP connection. * Add support for other file types: The file type is given to the application and it must pass it back to us. This change has been sent to me by many people, so I figure it was time to put it in. July 31, 2004: Chriss Barnett * Various XBOX fixes: Mostly compile fixes merged in for now. Also fixed 4.5 hash generation for non-async file gets. June 6, 2004: David Hammerton * Don't pretend we're downloading when we aren't: Send the negotiating signal before the downloading signal, so the app knows when downloading has started. * Portability: Create a thread abstraction layer. * Update mDNS: New mDNS.c file from Apple * Make libopendaap build on Windows: Now builds in MS VC++ version 6. Includes many build changes and the reimplementation of the discovery class using DNSServiceDiscovery API. June 5, 2004: David Moore * Fix discovery race: Should solve crashing on multiple hosts. May 5, 2004: David Hammerton * Fix for big endian machines (like Macs): Swap bytes in the MD5 hash generation, even on big endian machines. April 29, 2004: David Hammerton * Update for iTunes 4.5: New authentication module, using a non-kosher MD5 algorithm and new tricks. Also fix up some protocol changes. * Better support for multiple hosts: Don't crash all the time when multiple hosts exist on the network. April 13, 2004: David Hammerton * Initial work to build with mdnsd: Imported their sources and build them. Don't actually use them yet. (incomplete) * Initial work to get playlists: We can get the playlists, but we don't deal with them yet. (incomplete) April 13, 2004: David Hammerton * Compile fixes for OSX: Check for sockaddr.sa_len and do endian checks / correct swappings. April 1, 2004: David Hammerton * Fix crash on BSD machines: Initilize an unused mutex April 1, 2004: David Hammerton * Allow cancelation of song downloads: iTunes allows one to disconnect and reconnect if you specify the Connection: Close header (only works on getting a song). This allows us to interupt the getting of songs. March 30, 2004: Derrick J Brashear * Fix for bad IP addresses: Use unsigned byte not signed, so IPs with any element greater than 128 works. March 10, 2004: David Hammerton * Don't automatically connect on discover: Hosts are not automatically connected to on discovery anymore, rather only their connection details and 'share name' are stored until the app asks to connect to them. Changes API to the extent of breaking any existing apps. March 10, 2004: David Hammerton * Don't crash on dodgy host: Fixes problems with crashing when a host that requires authentication or something exists on the network. March 1, 2004: Thor Sigvaldason * Change MD5 Function anmes: In order to avoid a symbol conflict when linking against other libs that implement the MD5 stuff. Feburary 29, 2004: David Hammerton * Initial release.