v1.0 New methods: -- Photo and file upload now supported through #put_picture -- Added UploadableIO class to manage file uploads -- Added a delete_like method (thanks to waseem) -- Added put_connection and delete_connection convenience methods Updated methods: -- Search can now search places, checkins, etc. (thanks, rickyc!) -- You can now pass :beta => true in the http options to use Facebook's beta tier. -- TestUser#befriend now requires user info hashes (id and access token) due to Facebook API changes (thanks, pulsd and kbighorse!) -- All methods now accept an http_options hash as their optional last parameter (thanks, spiegela!) -- url_for_oauth_code can now take a :display option (thanks, netbe!) -- Net::HTTP can now accept :timeout and :proxy options (thanks, gilles!) -- Test users now supports using test accounts across multiple apps Internal improvements: -- For public requests, Koala now uses http by default (instead of https) to improve speed -- This can be overridden through Koala.always_use_ssl= or by passing :use_ssl => true in the options hash for an api call -- Read-only REST API requests now go through the faster api-read server -- Replaced parse_signed_request with a version from Facebook that also supports the new signed params proposal -- Note: invalid requests will now raise exceptions rather than return nil, in keeping with other SDKs -- Delete methods will now raise an error if there's no access token (like put_object and delete_like) -- Updated parse_signed_request to match Facebook's current implementation (thanks, imajes!) -- APIError is now < StandardError, not Exception -- Added KoalaError for non-API errors Test improvements: -- Incorporated joshk's awesome rewrite of the entire Koala test suite (thanks, joshk!) -- Expanded HTTP service tests (added Typhoeus test suite and additional Net::HTTP test cases) -- Live tests now verify that the access token has the necessary permissions before starting -- Replaced the 50-person network test, which often took 15+ minutes to run live, with a 5-person test v0.10.0 -- Added test user module -- Fixed bug when raising APIError after Facebook fails to exchange session keys -- Made access_token accessible via the readonly access_token property on all our API classes v0.9.1 -- Tests are now compatible with Ruby 1.9.2 -- Added JSON to runtime dependencies -- Removed examples directory (referenced from github instead) v0.9.0 -- Added parse_signed_request to handle Facebook's new authentication scheme -- note: creates dependency on OpenSSL (OpenSSL::HMAC) for decryption -- Added GraphCollection class to provide paging support for GraphAPI get_connections and search methods (thanks to jagthedrummer) -- Added get_page method to easily fetch pages of results from GraphCollections -- Exchanging sessions for tokens now works properly when provided invalid/expired session keys -- You can now include a :typhoeus_options key in TyphoeusService#make_request's options hash to control the Typhoeus call (for example, to set :disable_ssl_peer_verification => true) -- All paths provided to HTTP services start with leading / to improve compatibility with stubbing libraries -- If Facebook returns nil for search or get_connections requests, Koala now returns nil rather than throwing an exception v0.8.0 -- Breaking interface changes -- Removed string overloading for the methods, per 0.7.3, which caused Marshaling issues -- Removed ability to provide a string as the second argument to url_for_access_token, per 0.5.0 v0.7.4 -- Fixed bug with get_user_from_cookies v0.7.3 -- Added support for picture sizes -- thanks thhermansen for the patch! -- Adjusted the return values for several methods (get_access_token, get_app_access_token, get_token_from_session_key, get_tokens_from_session_keys, get_user_from_cookies) -- These methods now return strings, rather than hashes, which makes more sense -- The strings are overloaded with an [] method for backwards compatibility (Ruby is truly amazing) -- Using those methods triggers a deprecation warning -- This will be removed by 1.0 -- There are new info methods (get_access_token_info, get_app_access_token_info, get_token_info_from_session_keys, and get_user_info_from_cookies) that natively return hashes, for when you want the expiration date -- Responses with HTTP status 500+ now properly throw errors under Net::HTTP -- Updated changelog -- Added license v0.7.2 -- Added support for exchanging session keys for OAuth access tokens (get_token_from_session_key for single keys, get_tokens_from_session_keys for multiple) -- Moved Koala files into a koala/ subdirectory to minimize risk of name collisions -- Added OAuth Playground git submodule as an example -- Updated tests, readme, and changelog v0.7.1 -- Updated RealtimeUpdates#list_subscriptions and GraphAPI#get_connections to now return an array of results directly (rather than a hash with one key) -- Fixed a bug with Net::HTTP-based HTTP service in which the headers hash was improperly formatted -- Updated readme v0.7.0 -- Added RealtimeUpdates class, which can be used to manage subscriptions for user updates (see http://developers.facebook.com/docs/api/realtime) -- Added picture method to graph API, which fetches an object's picture from the redirect headers. -- Added _greatly_ improved testing with result mocking, which is now the default set of tests -- Renamed live testing spec to koala_spec_without_mocks.rb -- Added Koala::Response class, which encapsulates HTTP results since Facebook sometimes sends data in the status or headers -- Much internal refactoring -- Updated readme, changelog, etc. v0.6.0 -- Added support for the old REST API thanks to cbaclig's great work -- Updated tests to conform to RSpec standards -- Updated changelog, readme, etc. v0.5.1 -- Documentation is now on the wiki, updated readme accordingly. v0.5.0 -- Added several new OAuth methods for making and parsing access token requests -- Added test suite for the OAuth class -- Made second argument to url_for_access_token a hash (strings still work but trigger a deprecation warning) -- Added fields to facebook_data.yml -- Updated readme v0.4.1 -- Encapsulated GraphAPI and OAuth classes in the Koala::Facebook module for clarity (and to avoid claiming the global Facebook class) -- Moved make_request method to Koala class from GraphAPI instance (for use by future OAuth class functionality) -- Renamed request method to api for consistancy with Javascript library -- Updated tests and readme v0.4.0 -- Adopted the Koala name -- Updated readme and tests -- Fixed cookie verification bug for non-expiring OAuth tokens v0.3.1 -- Bug fixes. v0.3 -- Renamed Graph API class from Facebook::GraphAPI to FacebookGraph::API -- Created FacebookGraph::OAuth class for tokens and OAuth URLs -- Updated method for including HTTP service (think we've got it this time) -- Updated tests -- Added CHANGELOG and gemspec v0.2 -- Gemified the project -- Split out HTTP services into their own file, and adjusted inclusion method v0.1 -- Added modular support for Typhoeus -- Added tests v0.0 -- Hi from F8! Basic read/write from the graph is working