All Versions
22
Latest Version
Avg Release Cycle
73 days
Latest Release
1586 days ago

Changelog History
Page 2

  • v0.5.3 Changes

    November 18, 2016

    ๐Ÿš€ This will be the final release using Swift 2.2

    ๐Ÿ›  Fixed

    • Issue #51 Added Information about Server Token in README
    • โšก๏ธ Issue #58 Updated README examples to correctly use pickup & dropoff
    • โšก๏ธ Issue #76 Update Ride Request Button Delegate to always fire. The RideRequestButtonDelegate will now always fire didLoadRideInformation once information has been loaded. Including if it encounters an error. Any errors that are encountered will still fire didReceiveError. didReceiveError will always be called before didLoadRideInformation
    • Issue #86 via Pull #114 Fix RideScope not mapping for all cases
    • Issue #94 Make ride status available in Objective-C
    • Issue #127 Shared Credentials across iOS app and extension

    • โœ๏ธ Pull #105 Fixing typos

    • โšก๏ธ Pull #72 Updates to make README more clear

    • โšก๏ธ Pull #73 Updates to README about info.plist

    • Pull #65 Example of how to run samples without Carthage

  • v0.5.2 Changes

    โž• Added

    The Ride Request Widget now attempts to refresh expired access tokens automatically. If you are using the RideRequestViewController, the SDK will attempt to hit the Refresh endpoint with your current Access Token's Refresh Token. If that fails, the user will be redirected to the appropriate login

    ๐Ÿ›  Fixed

    • Issue #64 Refresh Endpoint returning error
    • Issue #57 Client login errors from expired access tokens.
    • Issue #52 Carthage setup incorrectly copying frameworks
  • v0.5.1 Changes

    June 14, 2016

    ๐Ÿ›  Fixed

    • ๐Ÿ”ง Issue #47 SSO fails for correctly configured China apps. SDK now sends the correct Region string for SSO
  • v0.5.0 Changes

    โž• Added

    SSO (Native login with Uber)

    Introducing SSO. Allows a user to sign in & authorize your application via the native Uber app. Users no longer have to remember their username & password as long as they are signed into the Uber app.

    • โž• Added LoginType.Native
    • โž• Added NativeLoginAuthenticator
    • โž• Added LoginButton

    LoginButton

    โž• Added a built in button to make login easier. Uses a LoginManager to initiate the login process when the user taps the button. Reflects the logged in / logged out state of the user

    ๐Ÿ‘Œ Support all REST API Endpoints

    โšก๏ธ Updated RidesClient to support all of the REST API endpoints. See https://developer.uber.com/docs/api-overview for a complete overview of the endpoints

    UberAuthenticating Classes

    โž• Added Authenticating classes to handle the possible login types

    • ImplicitGrantAuthenticator
    • AuthorizationCodeGrantAuthenticator
    • NativeAuthenticator

    โšก๏ธ These classes should be created with your requested scopes (and potentially other information) and will handle making the correct login call for you. LoginView and LoginManager have been updated to use these new classes

    Deeplinks

    All deeplink objects now subclass the BaseDeeplink which encapsulates shared logic for executing a deeplink.

    โž• Added new Deeplinking objects, AuthenticationDeeplink which is used for SSO, and AppStoreDeeplink which is used to fallback to the Uber App on the App Store

    ๐Ÿ”„ Changed

    Swift 2.2

    โšก๏ธ Updated to using Swift 2.2. XCode 7.3+ is now required

    Info.plist

    โšก๏ธ There has been an update in how you define your callback URIs in your Info.plist. We now support callbackURIs for different login types. Anything that is not defined will use the General type (if you still use the old UberCallbackURI key, that will be treated as General)

    ๐Ÿ‘€ We have also added UberDisplayName. This should contain the name of your application. See an example of the new format below

        <key>UberClientID</key>
        <string>YOUR_CLIENT_ID</string>
        <key>UberDisplayName</key>
        <string>YOUR_APP_NAME</string>
        <key>UberCallbackURIs</key>
        <array>
            <dict>
                <key>UberCallbackURIType</key>
                <string>General</string>
                <key>URIString</key>
                <string>callback://your_callback_uri</string>
            </dict>
            <dict>
                <key>UberCallbackURIType</key>
                <string>AuthorizationCode</string>
                <key>URIString</key>
                <string>callback://optional_authorization_code_uri</string>
            </dict>
        </array>
    

    You also need to add a new Application Query Scheme on iOS 9+ in order to use SSO

        <key>LSApplicationQueriesSchemes</key>
        <array>
            <string>uberauth</string>
            <string>uber</string>
        </array>
    

    RideRequestButton

    โšก๏ธ The RideRequestButton has been updated to show information about your Uber ride. Requires setting a product ID in your RideParameters and optionally a dropoff address.

    • โšก๏ธ If only a productID is set, the button will update with a time estimate of how far away a car is
    • If dropoff address & productID are set, the button will show a time estimate and a price estimate of the trip

    Ride Request Widget Button

    0๏ธโƒฃ The Ride Request Widget Button now defaults to using the .Native LoginType instead of the previous .Implicit. If Native login is unavailable, it will automatically fallback to Implicit

    ๐Ÿ’ฅ Breaking

    LoginBehavior -> LoginType

    ๐Ÿšš LoginBehavior has been removed, replaced by LoginType. Available login types:

    • .Implicit
    • .AuthorizationCode
    • .Native

    LoginManager

    LoginManager now takes a LoginType instead of a LoginBehavior

    LoginView

    LoginView is now initialized using the new UberAuthenticating classes rather than an array of RidesScope

    RidesClient

    ๐Ÿ“‡ Renamed getAccessToken() to fetchAccessToken()

    ๐Ÿ›  Fixed

    • โšก๏ธ Issue #29 Carthage Compatible. Updated the SDK to work with Carthage
    • Issue #25 AllTrips scope missing. With the addition of Authorization Code Grant & Native it is now possible to request privileged scopes
    • โšก๏ธ Issue #17 Warnings with Xcode 7.3. Selector syntax has been updated for Swift 2.2
    • ๐Ÿ“š Issue #1 Unclear documentation. Updated README to be more clear
  • v0.4.2 Changes

    April 19, 2016

    ๐Ÿ”„ Changed

    โšก๏ธ Correctly updated Change Log

  • v0.4.1 Changes

    April 19, 2016

    โž• Added

    ๐Ÿ‘ NotSupported RideRequestViewErrorType, which occurs when an operation is not supported by the current device (currently fired if you attempt to open an sms or tel link on the simulator

    ๐Ÿ›  Fixed

    • Issue #22 Attempting to Call / Text driver resulted in Ride Request Widget Closing
  • v0.4.0 Changes

    April 11, 2016

    โž• Added

    ๐Ÿ”ง Configuration

    ๐Ÿ”ง Handles SDK Configuration, including ClientID and RedirectURI. Values are pulled from your app's Info.plist

    LoginManager / Implicit Grant flow

    โž• Added implicit grant (i.e. token) login authorization flow for non-privileged scopes (profile, history, places, ride_widgets)

    • โž• Added OAuthViewController & LoginView
    • โž• Added LoginManager to handle login flow
    • โž• Added TokenManager to handle access token management

    Ride Request Widget

    Introducing the Ride Request Widget. Allows for an end to end Uber experience without leaving your application.

    • Requires the ride_widgets scope
    • Base view is RideRequestView
    • RideRequestViewController & ModalRideRequestViewController for easy implementation that handles presenting login to the user

    RideParameters

    All ride requests are now specified by a RideParameters object. It allows you to set pickup/dropoff location, nickname, formatted address & product ID. Use the RideParametersBuilder to easily create RideParameters objects

    โšก๏ธ RideRequestButton Updates

    RequestButton has been renamed to RideRequestButton

    RideRequestButton now works by using a RideParameters and a RequestingBehavior. The RideParameters defines the parameters for the ride and the requestingBehavior defines how to execute it. Currently available requestingBehaviors are:

    • DeeplinkRequestingBehavior
      • Deeplinks into the Uber app to request a ride
    • RideRequestViewRequestingBehavior
      • Presents the Ride Request Widget modally in your app to provide and end to end Uber experience

    ๐Ÿ›  Fixed

    • Issue #13 Using CLLocation for ride parameters
    • Issue #16 Added new Uber logo for RideRequestButton

    ๐Ÿ’ฅ Breaking

    • ClientID must now be set in your app's Info.plist under the UberClientID key
    • RequestButton --> RideRequestButton
      • Removed init(colorStyle: RequestButtonColorStyle) use init(rideParameters: RideParameters, requestingBehavior: RideRequesting)
      • Removed all setting parameter methods (setPickupLocation(), setDropoffLocation(), ect) use a RideParameters object instead
      • Removed RequestButtonError, only used to indicate no ClientID which is now handled by Configuration
      • uberButtonTapped() no longer public
    • RequestDeeplink
      • Removed init(withClientID: String, fromSource: SourceParameter) use init(rideParameters: RideParameters) instead
      • Removed all setting parameter methods (setPickupLocation(), setDropoffLocation, ect) use a RideParameters object instead
      • SourceParameter removed
    • โœ‚ Removed Carthage support
  • v0.3.1 Changes

    February 11, 2016

    ๐Ÿ›  Fixed

    • Issue #12 where there's a "&" missing in the user-agent query item.
  • v0.3.0 Changes

    February 01, 2016

    ๐Ÿ’ฅ Breaking

    • ๐Ÿ”„ Change function signature of setPickupLocationWithLatitude:longitude:nickname:address: and setDropoffLocationWithLatitude:longitude:nickname:address: in RequestButton and RequestDeeplink to accept Double for latitude and longitude parameters instead of String.
  • v0.2.1 Changes

    January 26, 2016

    ๐Ÿ›  Fixed

    • Issue #8 where manual integration of SDK didn't allow use of resources.