For more information see what's new in Facebook SDK 3.0 for Android.
Settings.publishInstallAndWaitForResponse() to manually publish install attribution and return the server response.Settings.publishInstallAsync() overloaded with Request.Callback to allow for handling the server response.Settings.getSdkVersion() to provide the current SDK version.Settings.getMigrationBundle() to provide the current migration bundle supported by the SDK.LoginButton respects the button text for non-default style.UiLifecycleHelper monitors currently active session only when the activity is foreground.Session.requestNewPermissions() now properly calls Session.StatusCallback.null messages passed in to Utility.logd(). NullPointerException when Utility.publishInstall() called.NullPointerException when user presses 'back' during Session.open().onCancel listener for the legacy facebook.authorize() method.Added support for Android native Login Dialog
Added support for authentication via an Android service if the Facebook app already has an access token for the user
Added category support to FacebookRequestError
Requesting new permissions now validates that re-authenticated user is same as original user
Added batch-level callbacks to RequestBatch
AccessToken: publicly documented
AccessTokenSource: removed FACEBOOK_APPLICATION. Added FACEBOOK_APPLICATION_WEB, FACEBOOK_APPLICATION_NATIVE, FACEBOOK_APPLICATION_SERVICE.
DialogError: deprecated all methods
FacebookActivity: removed and replaced by UiLifecycleHelper
FacebookError: Deprecated all methods
FacebookRequestError: Added getUserActionMessageId, shouldNotifyUser, getCategory
FacebookSdkVersion: no longer public
LoggingBehaviors: Renamed to LoggingBehavior
LoginButton: Added getDefaultAudience and setDefaultAudience
LoginFragment: Renamed to UserSettingsFragment. Added getDefaultAudience and setDefaultAudience
NonCachingTokenCachingStrategy: New class
RequestBatch: added addCallback, removeCallback, Callback inner class
Session: removed openForRead(Activity), openForRead(Fragment), two overloads of openActiveSession that were missing the SessionCallback parameter, and open. Renamed reauthorizeForRead and reauthorizeForPublish to requestNewReadPermissions and requestNewPublishPermissions. Renamed ReauthorizeRequest to NewPermissionsRequest. Renamed openActiveSession(Context) to openActiveSessionFromCache. Moved getShouldAutopublishInstall from Builder to Settings
SessionDefaultAudience: updated value names - e.g. OnlyMe to ONLY_ME
Settings: added getShouldAutoPublishInstall and setShouldAutoPublishInstall
UiLifecycleHelper: new class used to add Session support to Activity subclasses
Util: deprecated all methods
{LoginButton,LoginFragment}.setLoginBehavior to be able to specify the login behavior for the session that will be opened.
Session status callback can be set for LoginButton and LoginFragment.
AccessTokenSource class to identify the source of a Facebook access token.
FacebookRequestError to describe error details for requests.
Session.openWithImportedAccessToken to facilitate token import from a previous version of an app.
WebDialog to support web dialogs including Feed and Request dialogs. WebDialog includes theme support via constructor.
Refactored namespace com.facebook to add .model and .widget. Some classes have moved accordingly.
TokenCache: moved TokenCache.{get,put}IsSSO to {get,put}Source.
ProfilePictureView: moved {get,set}UserID to {get,set}ProfileID.
PickerFragment is now base class for pickers instead of interface.
Settings.publishInstall moved to two new methods: Settings.publishInstallAsync and Settings.publishInstallAndWait providing asynchronous and synchronous options to publish install attribution.
Renamed FacebookServiceErrorException to FacebookServiceException. The error is now represented in an FacebookRequestError object.
GraphObjectWrapper moved to GraphObject.Factory. To create a GraphObject, use GraphObject.Factory.create().
ProfilePictureView: profile photos are now square by default, i.e., isCropped() returns true by default.
Deprecated the rest of the Facebook class. Previously the facebook.dialog() methods were not deprecated. You can use the new WebDialog class to implement facebook.dialog() functionality.
TestSession is now public.