Timeline

See how your Android platform is evolving.

Android
Guides
Tutorials
Console
Business Logic
Business Logic CLI
  • 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
  • Add new Client constructor to pass custom HttpTransport
  • Bug Fix(es):
    • Fix null pointer on Client initialization when ClientKey or ClientSecret is not provided
  • Bug Fix(es):
    • Fix MIC refresh token flow
  • Change help text to help disambiguate argument order.
  • To avoid conflicts with other Kinvey CLIs, renamed the executable to kinvey-bl, and the configuration file to .kinvey-bl.
  • Internal improvements.
  • Bug Fix(es):
    • Fix library issue to work on locales that use RTL languages
  • 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.
  • Bug Fix(es):
    • Fixed an issue when kinveyDeleteResponse always returns 0 if Offline Policy is set
  • Allow to initialize existing projects (i.e. where a business-logic directory already exists).
  • Generate common test setup file as part of test stub generation.
  • Add enum of all possible Kinvey errors. Add enum code to all Kinvey error objects
  • Add global timeout parameter to configure kinvey requests timeout
  • RapidData - Added the documentation for zero-code SharePoint, SQL and Salesforce connectors.
  • Internal improvements related to caching
  • Bug Fix(es):
    • Fixed File upload with custom mimetype
  • 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
  • Generate mocha test stubs when creating a collection hook or custom endpoint.
  • Fixed bug where the deploy function sometimes would not actually deploy.
  • Upgraded request module to v2.65.0
  • Upgraded async module to v1.4.2
  • Upgraded moment to v2.10.6
  • Added modules.twilio library for twilio support
  • Bug Fix(es):
    • Fixed an issue with re-using authentication headers
  • Internal improvements.
  • Updated API to use https://manage.kinvey.com. You can still use the --host option to override this setting.
  • Bug Fix(es):
    • Properly using UTF-8 encoding for all request and response payloads
  • Internal improvements related to caching and offline schemas
  • Changes to random _id generation for saving new entities in Offline mode
  • 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(){});
  • When navigating to a collection that no longer exists, the link to the dashboard will now navigate to the environment dashboard.
  • Improved collection navigation for users with multiple browsers or computers
  • Verifying an email address no longer requires clicking a button
  • Bug Fix(es):
    • Fixed an issue with uploading files larger than 10 megabytes
  • 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
  • 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().
  • 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.
  • New underlying execution engine
  • Business Logic now includes access to node.js v0.10.38 core libraries and APIs
  • Added support for Bluebird promises and promise-enabled the Collection Access and Request modules.
  • Added cc and bcc to Email module
  • Methods in logger, push, and email moduels now take callbacks
  • New Kinvey Module, which allows creation/updating of metadata in Kinvey Entities, and allows for ACL management
  • Deprecated use of utils.kinvey in favor of the Kinvey module
  • Deprecated request.username in favor of requestContext.getAuthenticatedUsername
  • 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
  • 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();        
    }
});
  • Added requestContext module with support for:
    • Retrieving request username and request userId
    • Retrieving and setting custom request properties
    • Retrieving client-side app version information
  • Deprecated use of backendContext.getAuthenticatedUsername() as it has been moved to requestContext
  • 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);
  • Improved error messaging for data-driven exceptions
  • Internal Improvements
  • Bug Fix(es):
    • Fixed an issue with Offline Background Execution failing to properly encode query strings
  • 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
  • Bug Fix(es):
    • Fixed an issue where creating a new User would not properly save custom fields, such as email
  • Data Browser - Fixed but where _kmd and _acl properties would not automatically update when editing other fields
  • 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
  • Business Logic - Fixed a bug that was preventing business logic from being saved.
  • Data - Collection list refreshes it's content on environment change properly
  • Internal Improvements
  • Internal Improvements
  • Users - Fixed empty user splashscreen CSS issue
  • Users - Bypass business logic button is now functional
  • Small Bugfixes
  • Files - Max file size allowed in file uploads has been updated
  • File uploads across the entire application have been improved
  • Fixed issue when navigating in the databrowser with the arrow keys
  • API Console - Autocompletion is now improved
  • Data Browser - The filter panel is collapsed automatically on page transition
  • Environments - Archived environments have a better display, and will automatically unarchive
  • Business Logic - BL scripts can be renamed
  • Small Bugfixes
  • Updated the server to https://legacy.kinvey.com. You can still use the --host option to override this setting.
  • Bugfixes
  • Internal Improvements
  • New beta console released, designed from the ground up with your feedback along the way.
  • Added support for authenticating with Mobile Identity Connect
    • myClient.user().loginMobileIdentity(string accessToken, KinveyUserCallback callback);
  • Internal improvements
  • Fixed bug where the CLI would report "app not found" after the user session was refreshed.
  • Added collectionAccess.collection.collectionExists method to check if a collection exists
  • Internal Improvements
  • Internal improvements
  • Internal Improvements
  • Increased timeout for long running tasks.
  • Collaboration - Fixed bug where users could not be invited to collaborate to an environment when they already work on a different environment
  • API Console - Fixed bug with the DELETE method getting back an error related to missing a body
  • Databrowser - We no longer sort on collections that are too large to be sorted
  • Internal Improvements
  • Changes to moment module
    • Upgrade to moment 2.5.x
    • Adds new methods associated with moment 2.5
      • as
      • get
      • set
      • min
      • max
      • toISOString
      • quarter
      • weekday
      • isoWeekday
      • weekYear
      • zone
      • parseZone
      • isDSTShifted
    • Adds support for duration objects
    • Fixes several methods that accepted moments as arguments
  • New tempObjectStore in utils module, for storing transient data and objects within the same request
  • New backendContext method getAuthenticatedUsername for retrieving the name of the user who initiated the request
  • Internal improvements
  • Users - Fixed bugs when trying to fetch a user that does not pass form validation
  • Scheudled Code - Added new shorter intervals to schedules
  • Internal Stability Improvements
  • Versioning - Added notification to users that they have a stale version of the client
  • Custom Endpoints - Improved error handling
  • Users - You can now add users when the collection is configured as read-only from the console
  • Import - Added better file validation
  • Internal Stability Improvements
  • BL-CLI - Fixed issue when trying to get hooks that are defined against data links for the CLI.
  • Internal Improvements
  • Added --host option to configure the server to connect to.
  • Internal Stability Improvements
  • Internal Stability Improvements
  • Users - When creating users through the console and the email verification flag is set, the email field will be required
  • Push - Fixed a bug that would cause a failure of push if a user's configuration was in an inconsistent state
  • Data Store - Fixed incorrect errors that would render on destroying or renaming a collection
  • Error Handling - Drastically reduced the number of "Uh, oh" and "broken pipes" style errors across the board.
  • API Console - Added support for using Microsoft Dynamics Data Links
  • Collection Hooks - Fixed issue that prevented the page from loading when custom data links are enabled
  • Internal Stability Improvements
  • Internal Stability Improvements
  • Custom Data Link - Unified interface to match how the other data links function
  • Internal Improvements
  • In email module, if reply to is null, reply to is now set to the from address.
  • Internal Improvements
  • Internal Stability Improvements
  • Fixed issue with scheduled tasks not running properly
  • Fixed bug with icons not showing up for apps
  • Internal Stability Improvements
  • Updated copyright to 2014
  • Internal Stability Improvements
  • Added support for managing Collection Hooks for users and files.
  • Internal improvements.
  • Internal Stability Improvements
  • 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
  • Added tooling to better track down future errors
  • Fixed a bug with Business Logic logs that would cause slowdowns
  • Internal Stability Improvements
  • Internal Improvements
  • Fix for some outbound requests using the request module timing out too quickly
  • Internal Improvements
  • Added a latest version check. A warning will be displayed when using an old version. Use --suppress-version-check to disable this behavior.
  • Added prompt to generate command when script type is not specified.
  • User credentials are now stored in the users home directory. App credentials remain in the project directory.
  • Decreased error rates across the board with better error handling
  • Internal Stability Improvements
  • 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.
  • Internal Improvements
  • Outbound requests using the request module are now limited to 20 per second per app environment
  • url argument now accepted as an alias to uri in request module
  • Fix issue where errors logged through the logger module would be written to the log as an empty object
  • Internal Improvements
  • Removed Yahoo Local addon.
  • Fixed bug with links being generated with .... instead of the characters in the name
  • Internal Stability Improvements
  • Internal improvements
  • Added common BL scripts support. Now you can store commonly used business logic code in a single file or set of files, and have it shared across all your business logic scripts.
  • 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.
  • Internal Stability Improvements
  • Updated support phone number
  • Improved error handling when rolling back business logic
  • Improved error handling when there is a password error on push certificate upload.
  • Business Logic - Added support for common Business Logic from the command line tool.
  • Users - Added configuration for password reset URL in settings page
  • Internal Stability Improvements
  • Improved error handling when rate limit is encountered
  • Added an "add column" button in the Users addon table view
  • Added the ability to lockdown a user (which triggers a wipe of the device cache)
  • Fixed Files addon rendering to support non-string filenames
  • Security improvements
  • 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
  • Fixed bug related to adding custom data links when the current plan does not have support for them
  • Minor placeholder changes to forms
  • Internal Stability Improvements
  • Users - Fixed bug with exporting of large datasets not preforming well
  • Internal Stability Improvements
  • Fixed issue where navigation out of the billing page was not possible
  • Made enterprise dashboard dismissable
  • Fixed some databrowser filter issues regarding case sensitivity
  • Internal Stability Improvements
  • Added self-serve unarchiving support
  • Scheduled Code - Added support for running business logic on a schedule basis
  • Internal Stability Improvements
  • Added new method getSecurityContext to backendContext module, which returns 'app', 'master', or 'user' depending on the type of security credentials that were passed in the request
  • Changed blacklist violation error to include the name of the script that triggered the blacklisting event
  • Internal improvements
  • Fixed a bug with regards to environment creation limits
  • Internal Stability Improvements
  • Internal Stability Improvements
  • Billing - Fixed navigation issues with page reloads and paths with a trailing slash not redirecting properly
  • Analytics - Fixed a bug with the retrieval of analytics data from the server
  • Support - Updated links around the site to give people ways to connect with all their support options available
  • Improvements to sqlite synchronization for offline AppData sync
  • Pricing - Updated the interface for the new pricing model, including support to upgrade your plan
  • Analytics - Updated analytics styling to fix a bunch of UI bugs
  • Internal Stability Improvements
  • Bug Fix(es):
    • Throwing a KinveyException if File requests are missing required json fields
  • Collection Hooks - Added support to allow for collection hooks to be created for the Files API
  • Bug Fix(es):
    • No longer forcing a logout if the device is offline when Client is built
  • API Console - Fixed a bug where the request body would not reset it's value from previous requests properly
  • Internal Stability Improvements
  • Fixed a bug where message was always required when it should have been optional
  • The generate command no longer throws an integer error when a valid value is passed in
  • Business Logic - Rollbacks are now ran on a background task, similar to how cloning is done
  • Updated the interface to archived apps to present a more friendly display
  • Users - When cloning user records the groups are now also cloned.
  • 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
  • Business Logic - Fixed a bug with verisoning where saving with a message would not actually update your code
  • Fixed a few small bugs
  • Microsoft Dynamics® CRM Data Link - Added a new data link to connect with your Microsoft Dynamics® CRM
  • Internal Stability Improvements
  • Internal Stability Improvements
  • Internal Stability Improvements
  • Added support for archived environments which was causing some users to get a non-responsive web console
  • Initial release
  • Business Logic - Added revision support to business logic, including adding a command line tool to manage your logic. Read the tutorial to get started with business logic revisions.
  • 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.
  • Collaboration - Fixed an issue where admins could not invite other admins or collaborators.
  • Environment Management - Fixed bug where no addons would show up on the left when selecting clone from a different environment than is currently selected
  • Push - Added support for iOS push certificate password
  • Billing - Fixed a bug where a user could not select a different billing month. Also fixed the default month to be displayed to be the latest statement instead of the first statement.
  • Collection Hooks/Custom Endpoints - Updated the way logs are returned from the system, previously after 100 logs now new logs would be returned. Now the latest logs are always returned.
  • 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
  • API Console - Refactored the way the API console makes requests. They are now sent direct from the browser instead of passed through the management console backend.
  • Fixed a bug with iOS Push
  • Internal improvements
  • Users - Add information about email verification options, as well as the new HTML Templates addon and its support for customizing the email verification 'success' page.
  • API Console - Removed temporary measure of limit of 100 records on every request that was added in 3.7.8.
  • Updated display case when an app is suspended, it now renders a proper message.
  • Internal Stability Improvements
  • Internal Stability Improvements
  • API Console - Added a limit of 100 records to every request as a temporary bugfix until a permanent fix is ready for deployment.
  • Environment Management - Fixed a bug with jobs not clearing their update when they get removed from the collection.
  • Internal Stability Improvements
  • Internal stability and speed improvements
  • App Settings - Ownership display no longer attempts to use a variable that might not exist
  • Environments:
    • Fixed a bug with ownership being assigned to the wrong user on environment creation. This was causing some bad behavior when trying to update owner of the app or manage billing.
    • Collaborators can no longer create or delete environments
  • HTML Templates - Released a new addon to manage your HTML templates
  • Users - Added the ability to force email verification
  • Environment Cloning - Increased clone duration timeouts
  • Administration - Updated ownership display to only show ownership transfer form when the user is the owner
  • Internal stability improvements
  • 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)
  • Internal improvements release
  • Internal stability improvements
  • 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("")
  • Environment Cloning:
    • Clicking clone on an app with only one environment no longer causes a javascript failure on the page.
    • Files now correctly show up on the batch clone dialog.
  • Business Logic Logs:
    • Logs now sort with the proper timestamps.
    • Logs no longer seem to "fill up" over time. Old logs will get automatically removed after a threshold of new logs being created.
  • Internal stability improvements
  • Environments - Updated interface so only addons with differences show up in the clone page
  • Internal stability improvements
  • Internal improvements release
  • 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
  • Environments - Added environment management, with the ability to copy data and settings from one environment to the other. Check out the tutorial for more details.
  • Added UI elements for viewing task status on clone operations.
  • Added support in email module for sending HTML Emails
  • Added a new module, backendContext, with helper methods for obtaining the current app's appKey, appSecret, and masterSecret
  • Internal Improvements
  • 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
  • Analytics - Fixed a display issue causing timezone offset to show data in the wrong day
  • 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
  • Fixed bug in push processing that prevented pushing to both Android and iOS devices for the same user
  • Internal Improvements
  • Internal improvements release
  • Users - Fixed a bug where users with invalid email address were not showing up in the user listing
  • API Version - Fixed a bug where the API Version could get set to a string instead of a number
  • Push Triggers - Fixed a bug that was causing the addon to fail loading
  • Added timeline link to the dashboard
  • Internal stability improvements
  • 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
  • Files - Fixed bug with old entries that were causing the UI to crash
  • Datastore - Internal improvements
  • Users - Updated validation handlers
  • Added support for running Business Logic on Google App Engine
  • Internal improvements release
  • Fixed handling of unknown mime types for file uploads
  • Internal improvements
  • Bugfixes for Premium Analytics UI
  • Fixed bug for User UI where id cells were not linking properly
  • Changed the regex patters on the query builder to be case insensitive by default
  • Internal improvements release
  • Added support for Google Cloud Storage as the underlying service for Files.
  • Internal improvements release
  • Adding support for configuring push with Client Builder
  • Adding optional programmatic configuration for KinveyGCMService
  • Removing UrbanAirship dependencies
  • 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
  • Internal improvements release
  • Fixed bug with missing argument in collectionAccess.findAndModify
  • Introducing Custom Endpoint support, both synchronous and asynch
  • Bug fix(es):
    • fixed possible memory leak with persisting credentials
  • Added support Google Cloud Messaging
  • Added appKey as modules.request parameter
  • Introducing support for using GCM directly for push notifications
  • Adding AppData support for getting entites by a list of ids, both synchronous and asynch
  • Business Logic - Updated guide with information about Custom Endpoints
  • Release of Premium Analytics (beta)
  • Added support for Custom Endpoints in Business Logic
  • Fixed bug with billing UI where it displayed wrong dollar amount
  • 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
  • Internal improvements
  • Fixed async.js bug where series, parallel, and parallel limit functions only supported arrays and not objects
  • Bug fix(es):
    • Fixed additional instances of "sort" bug appearing in all appdata queries
    • Fixed JavaDoc formatting issues
  • Internal improvements release
  • Added the ability to clear Users
  • Fixed a bug with sorting users
  • Fixed a bug where collaboration was not able to be edited
  • Fixed a bug where the user page was not showing users with invalid emails
  • Made the export code streaming for collections
  • Internal improvements release
  • Added the ability to have multiple custom data links
  • Removed UI for non-admins to be able to edit collaborators or remove/change owner of the app
  • Fixed bug where the Azure blob container was not being created on app creation
  • Internal improvements
  • Fixed a bug with a failing collection destroy for externally created collections
  • Added error display to settings page.
  • Added UI state memory BL addon - now remembers which collection and stage of BL you last edited, per app per user
  • Updated importer so it will throttle based on if the item has BL or not, it will also now detect filetype and throw errors if the filetype does not match a predefined list.
  • Internal improvements
  • Fixed a bug with setting the content length incorrectly causing documents to get cut off
  • Added the "Building For" question to new apps
  • 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.
  • Updated request to force API v1 when streaming requests.
  • Fixed bug with request form handling.
  • Added support for GCM push
  • 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

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
  • Enabled blacklisting support
  • Upgraded the request library and fixed content length while streaming from Azure
  • Updated the exposure of Business Logic logs in the Management Console
  • Upgraded MongoDB driver version
  • Support for POSTing formdata
  • Support for streaming Kinvey Files to formdata
  • Internal improvements
  • Bug fix(es):
    • support for UTF-8 encoding
  • Internal improvements release
  • Added Twitter authentication
  • Bug fix(es):
    • none
  • 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
  • Bug fix(es):
    • Fix to explicit user management and login flow
  • Added support for modules.request to allow creation of outgoing HTTP requests
  • Enabled Google+ and Facebook login
  • Some API changes to make more consistent with iOS
  • Bug fix(es):
    • Various fixes to user management
  • Added CachedStore an implementation of AppdataStore that will cache your entity queries
  • Bug fix(es):
    • Fixed issue reported when username and password were invalid
  • 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
  • Added geo queries to SimpleQuery API
  • Persisting Location data is now possible.
  • Removed all deprecated APIs
  • Bug fix(es):
    • none
Got a question?