SDK Download

Version 2.10.12 - Apr 7, 2017
or download the library directly
Download

Changelog

Want to see how the rest of your backend is evolving? Check out the timeline.

2.10.12
- Apr 7, 2017

  • Add new Client constructor to pass custom InputStream of properties file to allow use different properties files
  • Add new Client.user().create(user, password, email) method to create user user with email verifications
  • Bug Fix(es):
    • Fix exceptions when special characters are used in collection name

2.10.11
- Jan 27, 2017

  • Add new Client constructor to pass custom HttpTransport
  • Bug Fix(es):
    • Fix null pointer on Client initialization when ClientKey or ClientSecret is not provided

2.10.10
- Dec 22, 2016

  • Bug Fix(es):
    • Fix MIC refresh token flow

2.10.9
- Oct 7, 2016

  • Bug Fix(es):
    • Fix library issue to work on locales that use RTL languages

2.10.8
- Apr 8, 2016

  • Bug Fix(es):
    • Fix issue when myClient.push().disablePush() leave token registered on backend. Provided a method myClient.push().disablePush(callback) to control execution time.

2.10.7
- Mar 31, 2016

  • Bug Fix(es):
    • Fixed an issue when kinveyDeleteResponse always returns 0 if Offline Policy is set

2.10.6
- Mar 24, 2016

  • Add enum of all possible Kinvey errors. Add enum code to all Kinvey error objects
  • Add global timeout parameter to configure kinvey requests timeout

2.10.5
- Dec 23, 2015

  • Internal improvements related to caching
  • Bug Fix(es):
    • Fixed File upload with custom mimetype

2.10.4
- Dec 10, 2015

  • Bug Fix(es):
    • Fixed an issue with file upload mimetype
    • Correct warnings about wrong string comparations
    • Fixed unhandled Unathorized request on android 4.1-4.3

2.10.3
- Oct 13, 2015

  • Bug Fix(es):
    • Fixed an issue with re-using authentication headers

2.10.2
- Sep 11, 2015

  • Bug Fix(es):
    • Properly using UTF-8 encoding for all request and response payloads

2.10.1
- Aug 5, 2015

  • Internal improvements related to caching and offline schemas
  • Changes to random _id generation for saving new entities in Offline mode

2.10.0
- Jul 24, 2015

  • Distributing the Library as an aar file instead of a jar.
  • Properly populating all analytics headers on login requests
  • Added support for specifiying a MIC login API Version: myClient.user().setMICApiVersion("2"));
  • Added support for setting mic.base.url and mic.version in the kinvey.properties file
  • Added a MIC login method to automatically open the native browser with the login page:
myClient.user().presentMICLoginActivity("myRedirectURI://", new KinveyUserCallback(){});

2.9.5
- Jun 29, 2015

  • Bug Fix(es):
    • Fixed an issue with uploading files larger than 10 megabytes

2.9.4
- Jun 24, 2015

  • Deprecated internal File api methods, if you see deprecated methods after updating use the class com.kinvey.android.File instead of com.kinvey.java.File.
  • Bug Fix(es):
    • Offline Sync is now properly performing Put requests for newly created entities
    • Stacktraces will no longer be written to the logs by default
    • No longer throwing index out of bounds exception when querying for a file with no results
    • Better handling of 4xx/5xx error responses with unsupported json payloads

2.9.3
- Jun 10, 2015

  • Added support for configuring logging levels: network, info, warning, and error
    • By default all logging is turned off
    • After creating your Client, use the method com.kinvey.java.Logger.configBuilder() to configure levels
      • com.kinvey.java.Logger.configBuilder().all() will enable all logging levels
      • com.kinvey.java.Logger.configBuilder().info().error() will enable info and error logging
      • com.kinvey.java.Logger.configBuilder().network().info().error().warning() is functionally equivalent to calling all().

2.9.2
- Jun 5, 2015

  • Bug Fix(es):
    • Fixed an issue with Delete by Query appending an empty &Sort parameter
    • Fixed an issue with Delete by Query not properly executing in the background from the offline store.
    • Fixed an issue with myClient.push().isPushEnabled() always returning false.
      • Note this method relies on SharedPreferences, so if the end user Clears Application Data they might see false negatives.
      • There is no problem with calling myClient.push().initialize(this) multiple times, which will update SharedPreferences.
    • Fixed an issue with myClient.push().disablePush requiring old deprecated dependencies
    • Sanitized logs which could cause issues with 3rd party remote logging systems.

2.9.1
- Apr 27, 2015

  • The Kinvey library version will now be written to the logs when a new Client is created.
  • Improved error messaging when json parsing fails as a result of a type error.
  • Bug Fix(es):
    • calling addSort("myField", SortOrder.ASC) will no longer require casting from AbstractQuery to Query
    • File().download(...) methods which take a Query now properly support skip, limit, and sort
    • myClient.Ping(...) will now properly return any exceptions which may have occured

2.9.0
- Apr 9, 2015

  • Added support for using the Mobile Identity Connect (MIC) oauth flow through the library
    • Full details about usage are provided in the MIC guide
    • myKinveyClient.user().loginWithAuthorizationCodeLoginPage(myRedirect, myCallback);
    • myKinveyClient.user().loginWithAuthorizationCodeAPI(myUsername, myPassword, myRedirect, myCallback);
    • For example:
kinveyClient.user().loginWithAuthorizationCodeAPI(myUsername, myPassword, "myRedirectURI://", new KinveyUserCallback() {
    @Override
    public void onSuccess(User result) {
        //logged in successfully!
    }
    @Override
        public void onFailure(Throwable error) {
        //something went wrong!
        error.printStackTrace();        
    }
});

2.8.0
- Mar 24, 2015

  • Added support for setting custom request properties on requests
    • myClient.setCustomRequestProperty("region", "FR");
  • Added support for setting Client App Version on requests
    • myClient.setClientAppVersion("123");
    • myClient.setClientAppVersion(1, 2, 3);

2.7.2
- Mar 11, 2015

  • Improved error messaging for data-driven exceptions

2.7.1
- Feb 19, 2015

  • Bug Fix(es):
    • Fixed an issue with Offline Background Execution failing to properly encode query strings

2.7.00
- Feb 9, 2015

  • Push Messages now uses Google Play Services, take a look at the Push Guide
    • KinveyGCMService has a slightly different interface, all methods now take Strings as parameters.
    • GCMBroadcastReceiver has been replaced with a WakefulBroadcastReceiver
    • Push now requires Google Play Services as a dependency instead of GCM.jar

2.6.17
- Jan 27, 2015

  • Bug Fix(es):
    • Fixed an issue where creating a new User would not properly save custom fields, such as email

2.6.16
- Nov 13, 2014

  • Updated dependency versions:
    • now using google-http-client-1.19.0.jar
    • now using google-http-client-android-1.19.0.jar
    • now using google-http-client-gson-1.19.0.jar
    • now using guava-18.0.jar
  • Bug Fix(es):
    • Fixed an issue where an offline GET all request would not properly queue for background execution
    • Fixed an issue where offline collections were missing from the master offline record

2.6.15
- Aug 4, 2014

  • Added support for authenticating with Mobile Identity Connect
    • myClient.user().loginMobileIdentity(string accessToken, KinveyUserCallback callback);

2.6.14
- Feb 6, 2014

  • Added support for batching offline appdata sync operations, allowing a specific number of requests to be fired off in the background with a time interval between them
    • in kinvey.properties, batch.size=5 will execute 5 requests at a time when sync occurs
    • in kinvey.properties, batch.rate=30000 will execute batch.size requests every 30 seconds. Note this value is milliseconds
  • Bug Fix(es):
    • Fixed an issue where ONLINE_FIRST would not trigger background sync under certain conditions

2.6.13
- Jan 24, 2014

  • Added KinveyCancellableCallback, which allows for cancelling AppData requests.
    • Use this class where you would use a KinveyClientCallback, and implement the two new methods
    • Have the methodisCancelled() return true whenever a request should be cancelled.
    • After cancellation has occured, the onCancelled() method will be executed on the UI thread, if you need to update any views depending on your reasons for cancelling.
  • Added support for executing a get all (or empty query) request while offline locally, which will now return all stored records in an offline store.
  • Bug Fix(es):
    • Fixed an issue where OfflinePolicy.ONLINE_FIRST would call onFailure without attempting to execute the request locally.

2.6.12
- Jan 13, 2014

  • Added MetaUploadProgressListener and MetaDownloadProgressListener, for accessing the FileMetaData object associated with an upload or download.
    • Use these classes anywhere you would use a DownloadProgressListener or UploadProgressListener when you also need access to the metadata of the file operation.
    • The new getMetadata() method can be called in progressChanged or onSuccess to access metadata about the file operation.
  • Bug Fix(es):
    • Fixed a crash when uploading a file with the public flag set to true
    • Fixed a bug with CachePolicy.BOTH ignoring a cache hit.

2.6.11
- Dec 19, 2013

  • Added support for locked down users and removing all their locally stored content
  • No longer supporting /i in a regex query, and all regex queries must begin with a ^
    • If these conditions are not met, the library will throw an exception
  • Bug Fix(es):
    • Preventing offline sync service from creating two clients with a weak network connection
    • Fixing possible ANR exception when accessing database from offline sync service
    • Offline sync service is now asyncronously logging in, to prevent a possible null pointer on the current user

2.6.10
- Nov 7, 2013

  • Improvements to sqlite synchronization for offline AppData sync

2.6.9
- Oct 24, 2013

  • Bug Fix(es):
    • Throwing a KinveyException if File requests are missing required json fields

2.6.8
- Oct 23, 2013

  • Bug Fix(es):
    • No longer forcing a logout if the device is offline when Client is built

2.6.7
- Oct 8, 2013

  • Automatically updating auth token if it is renewed after updating the current user
  • CustomEndpoints now supports Generic Typing for both input and output
    • AsyncCustomEndpoints endpoints = myClient.customEndpoints(MyResponseClass.class);
    • endpoints.callEndpoint("myEndpoint", new MyRequestClass(), new KinveyClientCallback() { … }
  • Introduced smarter error handling and retry logic with offline sync
  • Bug Fix(es):
    • CustomEndpoint Request classes are now public

2.6.6
- Sep 26, 2013

  • Added support for resolving KinveyReferences with a provided Class (instead of GenericJson)
    • myKinveyReference.getTypedObject(MyClass.class)
  • Introduced KinveyAggregateCallback for easily accessing results of all 5 aggregation methods on AppData:
    • myKinveyClient.appData("MyCollection", Aggregation.Result[].class);
    • new KinveyAggregateCallback({ public void onSuccess(Aggregation res) { … } … });
  • Added methods for updating a provided user object through the User API
    • User.update(User u);
    • AsyncUser.update(User u, KinveyUserCallback(){ … });
  • Bug Fix(es):
    • Preventing a null pointer if an entity cannot be retrieved from the local offline store.

2.6.5
- Sep 18, 2013

  • Clearing Offline AppData queue and sqlite3 storage on logout
    • optionally, call myKinveyClient.user().keepOfflineStorageOnLogout() to persist data on logout
  • Forcing a logout of the client if a user's auth token is invalidated
  • Introduced AndroidMimeTypeFinder for automatically calculating MimeType of uploaded files
  • Bug Fix(es):
    • fixed generics typing issue on AppData Queries with KinveyReferences
    • fixed possible null pointer when writing an entity to local storage for offline AppData

2.6.4
- Sep 9, 2013

  • added debug=true option to property file, to enable HTTP logging
  • introduced KinveyException, to help troubleshoot some common configuration issues with client initialization and push registration
  • LinkedFile now supports a map of extras, which will be added to the FileMetaData object on upload
    • myLinkedFile.addExtra(String key, Object value)
  • Added support for accessing KinveyReferences through the User API:
    • User().retrieveBlocking(String[] resolves)
    • User().retrieveBlocking(Query query, String[] resolves)
    • AsyncUser().retrieve(String[] resolves, KinveyUserCallback callback)
    • AsyncUser().retrieve(Query query, String[] resolves, KinveyUserListCallback callback)

2.6.3
- Sep 3, 2013

  • Client now requires the same response class to use a cached intance of appdata
  • Offline queue now checks if a request is already queued before adding it, to prevent duplicates
  • Bug Fix(es):
    • AsyncAppData.count(...) now constructs the request properly
    • OfflinePolicy.ONLINE_FIRST will now no longer re-que requests and instead modifies the local store directly
    • Fixed Null Pointer when using LinkedData to save an entity
    • replaced call to String.isEmpty with !myString.equals("")

2.6.2
- Aug 21, 2013

  • Updated google-http library dependencies to v1.16.0-rc
  • Added wrapper methods for accessing KinveyReferences:
    • AppData(…).getBlocking(Query query, String[] resolves)
    • AppData(…).getEntityBlocking(String id, String[] resolves)
    • AsyncAppData(…).get(Query q, String[] resolves, KinveyListCallback callback)
    • AsyncAppData(…).getEntity(String id, String[] resolves, KinveyClientCallback callback)
  • Added wrapper methods for downloading files with custom time-to-live:
    • file().downloadWithTTLBlocking(String id, int ttl)
    • Asyncfile().downloadWithTTL(String id, int ttl, OutputStream out, DownloaderProgressListener listener)
  • Bug fix(es):
    • no longer attempting to reset primary key when recreating sqliteofflinestore
    • sending broadcast instead of starting service when registring for GCM
    • using native UUID to generate unique keys
    • fixed issues with lifecycle of database connections

2.6.1
- Aug 12, 2013

  • Adding support for logging in a user with a userId and valid AuthToken, see the updated User reference docs
  • Removed @Deprecated methods from AppData, User, and Push API
  • Ping now supports App Credentials and no longer requires a logged in user, see the updated Client reference docs
  • Bug fix(es):
    • Fixed race condition with consecutive offline requests to different collections

2.6.0
- Jul 29, 2013

  • Introducing Offline functionality to AppData, utilizing SQLLite and a bound Service
    • Deprecated the OfflineAppData API
    • Deprecated the OfflineGenericJson class
    • Expanded the AppData API to support executing requests against a local sqllite database
    • Introduced OfflinePolicy enum, which configures AppData execution
    • Set up is much simpler, see the updated offline guide for instructions

2.5.1
- Jul 11, 2013

  • Bug fix(es):
    • Fixed possible null pointer when requesting custom TTL with File API
    • Using App Credentials for Reset Password and Verification E-Mail
    • Reset Password no longer requires a logged in user, and takes a username as a parameter

2.5.0
- Jul 3, 2013

2.4.2
- Jun 17, 2013

  • Adding support for configuring push with Client Builder
  • Adding optional programmatic configuration for KinveyGCMService
  • Removing UrbanAirship dependencies

2.4.1
- Jun 17, 2013

  • Bug fix(es):
    • adding verbose logging to GCM initilization flow
    • Fixing issue with loading custom User fields from credential store
    • Automatically retrying step 2 of GCM registration if it fails
    • Adding support for null as a parameter in various LinkedData methods

2.4.0
- Jun 7, 2013

  • Introducing Custom Endpoint support, both synchronous and asynch
  • Bug fix(es):
    • fixed possible memory leak with persisting credentials

2.3.0
- Jun 4, 2013

  • Introducing support for using GCM directly for push notifications
  • Adding AppData support for getting entites by a list of ids, both synchronous and asynch

2.2.2
- May 24, 2013

  • Introducing OfflineGenericJson for easy serialization
  • Bug fix(es):
    • Fixing serialization issue with offline DataStore
    • Fixing multiple collection offline sync support
    • Pulling offline disc read/write into async task to address performance issues
    • Fixing issue with null files with LinkedAppData
    • Fixing issue with Download/Upload Progess Listener for LinkedAppData
    • Supporting resetting of a KinveyReference for uploading resolved objects
    • Fixed issue with user logout recreating credential store

2.2.1
- May 20, 2013

  • Bug fix(es):
    • Fixed additional instances of "sort" bug appearing in all appdata queries
    • Fixed JavaDoc formatting issues

2.2.0
- Apr 4, 2013

  • LDAP Authlink - Pass authentication token obtained from LDAP server to Kinvey for authentication
  • Operation Builder - New builder for constructing complex Syncronous AppData requests
  • New optional callback for Client.Builder to be called upon initialization of the client
  • New optional Retrieve User callback for client builder which is called upon retrieving all user attributes of a locally-cached user from the server
  • Added an Exponential Backoff Policy for all HTTP Requests to the Kinvey backend
  • Bug fix(es):
    • Added handling for the EOF bug in Android's HttpUrlConneciton
    • Fixed bug with "sort" appearing in all appdata queries, regardless of whether or not a sort was used.

2.1.0
- Mar 18, 2013

  • Offline Store - use OfflineAppData to save and fetch data while device is offline
  • Linked App Data - Save and retrieve BLOB files to and from a collection
  • Introduced several new callbacks for User to simplify operations
    • KinveyUserListCallback
    • KinveyUserDeleteCallback
    • KinveyUserManagementCallback
  • Bug fix(es):
    • UserDiscovery Asynchronous Calls not returning the proper data

2.0.8
- Mar 13, 2013

API breaking change, see the migration guide to v2 for more details

  • Relational data - use KinveyReference to relate one entity to another
  • Data aggregation - average, sum, count or entity collections
  • Compound querying - add AND and OR to your queries
  • Caching - cache all data request responses, including aggregation and query results
  • New social login - Twitter and LinkedIn
  • Added custom push notification builder
  • Bug fix(es):
    • compatibility issue with pre-Honeycomb
    • 3rd party login resulting in error "The request body is either missing or incomplete" has been fixed
    • Push User registration not properly linking device to user has been fixed

1.4.5
- Jan 21, 2013

  • Bug fix(es):
    • support for UTF-8 encoding

1.4.4
- Jan 15, 2013

  • Added Twitter authentication
  • Bug fix(es):
    • none

1.4.3
- Dec 19, 2012

  • Standarized MappedAppdata interface and deprecated all uses of MappedEntity class as input parameters except during construction
  • Bug fix(es):
    • Issue with _geoloc field marshalling with null data

1.4.2
- Feb 18, 2012

  • Added geo queries to SimpleQuery API
  • Persisting Location data is now possible.
  • Removed all deprecated APIs
  • Bug fix(es):
    • none

1.4.1
- Dec 5, 2012

  • Bug fix(es):
    • Fix to explicit user management and login flow

1.4.0
- Nov 30, 2012

  • Enabled Google+ and Facebook login
  • Some API changes to make more consistent with iOS
  • Bug fix(es):
    • Various fixes to user management

1.3.4
- Oct 23, 2012

  • Added CachedStore an implementation of AppdataStore that will cache your entity queries
  • Bug fix(es):
    • Fixed issue reported when username and password were invalid

1.3.3
- Oct 4, 2012

  • Bug fix(es):
    • Upgraded to urbanairship 1.1.5 to fix a bug on ICS
    • Synchronous and asynchronous save on MappedAppdata was getting a ClassCastException

Download Older Versions

We recommend using the latest version.

Version Download Date
2.10.12 Download Apr 7, 2017
2.10.11 Download Jan 27, 2017
2.10.10 Download Dec 22, 2016
2.10.9 Download Oct 7, 2016
2.10.8 Download Apr 8, 2016
2.10.7 Download Mar 31, 2016
2.10.6 Download Mar 24, 2016
2.10.5 Download Dec 23, 2015
2.10.4 Download Dec 10, 2015
2.10.3 Download Oct 13, 2015
2.10.2 Download Sep 11, 2015
2.10.1 Download Aug 5, 2015
2.10.0 Download Jul 24, 2015
2.9.5 Download Jun 29, 2015
2.9.4 Download Jun 24, 2015
2.9.3 Download Jun 10, 2015
2.9.2 Download Jun 5, 2015
2.9.1 Download Apr 27, 2015
2.9.0 Download Apr 9, 2015
2.8.0 Download Mar 24, 2015
2.7.2 Download Mar 11, 2015
2.7.1 Download Feb 19, 2015
2.7.00 Download Feb 9, 2015
2.6.17 Download Jan 27, 2015
2.6.16 Download Nov 13, 2014
2.6.15 Download Aug 4, 2014
2.6.14 Download Feb 6, 2014
2.6.13 Download Jan 24, 2014
2.6.12 Download Jan 13, 2014
2.6.11 Download Dec 19, 2013
2.6.10 Download Nov 7, 2013
2.6.9 Download Oct 24, 2013
2.6.8 Download Oct 23, 2013
2.6.7 Download Oct 8, 2013
2.6.6 Download Sep 26, 2013
2.6.5 Download Sep 18, 2013
2.6.4 Download Sep 9, 2013
2.6.3 Download Sep 3, 2013
2.6.2 Download Aug 21, 2013
2.6.1 Download Aug 12, 2013
2.6.0 Download Jul 29, 2013
2.5.1 Download Jul 11, 2013
2.5.0 Download Jul 3, 2013
2.4.2 Download Jun 17, 2013
2.4.1 Download Jun 17, 2013
2.4.0 Download Jun 7, 2013
2.3.0 Download Jun 4, 2013
2.2.2 Download May 24, 2013
2.2.1 Download May 20, 2013
2.2.0 Download Apr 4, 2013
2.1.0 Download Mar 18, 2013
2.0.8 Download Mar 13, 2013
1.4.5 Download Jan 21, 2013
1.4.4 Download Jan 15, 2013
1.4.3 Download Dec 19, 2012
1.4.2 Download Feb 18, 2012
1.4.1 Download Dec 5, 2012
1.4.0 Download Nov 30, 2012
1.3.4 Download Oct 23, 2012
1.3.3 Download Oct 4, 2012
Got a question?