Timeline

See how your PhoneGap platform is evolving.

PhoneGap
Guides
Tutorials
Console
Business Logic
Business Logic CLI
  • Roles - Created roles guide.
  • Imporvement: Live Service is now EA (Early Adopter) for our PhoneGap SDK. Please check our Live Service Guide.
  • Bugfix: Support mutiple MIC providers in a single app.
  • Bugfix: Data was not correctly synced with the backend when using the LocalStorageAdapter and SessionStorageAdapter.
  • Fixed: Kinvey.initialize() fixed to resolve with either an instance of Kinvey.User or null.
  • Added: Requests are logged using loglevel. Please refer to the Troubleshooting Guide for more information.
  • Added: Support for multiple MIC providers in a single app. The SDK adds a micId to the client_id value when it makes a request to authenticate with Mobile Identity Connect.
  • Added: Replace native node modules with npm packages.
  • Fixed: In previous SDK versions, the active user was read and stored asychronously using the storage adapter used to cache data loaded from the datastore. This caused us to make the initialization of the SDK asychronous to read the active user from storage. Some SDK environments do not work well with an asynchronous initialization process. To fix this problem each SDK can now override the storage location to make this process work correctly for that particular SDK. The PhoneGap SDK will store the active user in LocalStorage.
  • Fixed: Default to removing a user with hard equal to false. Please refer to the User Guide for more information.
  • Fixed: Throw any errors encountered when trying to load a storage adapter use to cache data loaded with a data store.
  • Deprecated: Kinvey.initialize() has been deprecated. Please use Kinvey.init() instead. Kinvey.init() does not return a promise.

Warning If you start using Kinvey.init() and have been using Kinvey.initialize() you will not have an active user anymore. You will need to migrate the active user to the new storage location by continuing to use Kinvey.initialize(). After the active user has been migrated you can replace Kinvey.initialize() with Kinviey.init(). You can also just logout using Kinvey.User.logout() and ask the user to login again.

// --------------------------------------------------
// Example code snippet on how to migrate active user.
// ---------------------------------------------------

var promise = Promise.resolve();

// Initialize the SDK using Kinvey.init()
Kinvey.init({
  appKey: '<appKey>',
  appSecret: '<appSecret>'
});

// Check if you have an active user.
if (!Kinvey.User.getActiveUser()) {
  promise = Kinvey.initialize({
    appKey: '<appKey>',
    appSecret: '<appSecret>'
  });
}

promise
  .then(function() {
    // ...
  });
  • Fixed: Allow special characters ('.', '$', '~', '>', '<', '!', '@') to be in the _id for an entity. #134
  • Fixed: Import es6-promise to prevent Promise Undefiend errors on environments that do not have a native promise implementation. #135
  • Fixed: Errors will now show the message property properly when logging errors to the console. #136
  • Fixed: Added a try/catch around openDatabase(). This allows any errors thrown when opening a new database connection to WebSQL be caught and used to reject the pending promise. #17
  • Changed: https: will automatically be used when a custom hostname is missing a protocol. #129
  • Fixed: Prevent the active user from being null for a short period of time when setting the active user. #128
  • Added: usePopupClass() as a static function to the User class for registering a popup class to be used for MIC authentication.
  • Added: operation property to results returned when pushing sync items to the backend. The property either be equal to Kinvey.SyncOperation.Create, Kinvey.SyncOperation.Update, or Kinvey.SyncOperation.Delete.
var store = Kinvey.DataStore.collection('books', Kinvey.DataStoreType.Sync);
var query = new Kinvey.Query().equalTo('title', 'Kinvey');
store.remove(query)
  .then(function(response) {
    // response.count contains the count of books removed matching the query
    return store.push();
  })
  .then(function(results) {
    // Results is an array of responses from the pushing the sync items.
    // Each result object now contains an operation set to Kinvey.SyncOperation.Delete
  })
  • Changed: restore() static function on the User class to throw an error whenever it is called. This function required the master secret for an application. We strongly advise not to do this in your application.
  • Changed: All toJSON() functions have now been replaced by toPlainObject(). The returned result is the exact same.
  • Changed: save(), create(), and update() on datastore instances to no longer accept an array of entities. See the example below to see how to save an array of entities.
var books = [{ name: 'book1' }, { name: 'book2' }];
var store = Kinvey.DataStore.collection('books');
var promises = [];

// Loop through each of the books and save them one by one.
// You can now reference a book easily in the event an error
// occurs when saving a book.
books.forEach(function(book) {
  var promise = store.save(book)
    .catch(function(error) {
      console.log('Error saving book ' + book.name);
    });
  promises.push(promise);
});

// Using a third party library wait for all the promises to complete
RSVP.Promise.all(promises)
  .then(function(books) {
    // ...
  });
  • Changed: remove() and removeById() on datastore instances to now return the count of entities removed and not the actual entity removed.
var store = Kinvey.DataStore.collection('books');

// Remove books using a query
var query = new Kinvey.Query().equalTo('title', 'Kinvey');
store.remove(query)
  .then(function(response) {
    // response.count contains the count of books removed matching the query
  });

// Remove a book using an id
store.removeById('1')
  .then(function(response) {
    // response.count will equal 1 if the book was removed or 0 if the book was not removed
  });
  • Removed: init() static function on Kinvey namespace. This was deprecated with v3.3.3.
  • Removed: baseUrl, protocol, and host properties on a client instance. These were deprecated with v3.0.0.
  • Removed: syncCount() and purge() on CacheStore and SyncStore instances. These were deprecated with v3.2.0.
  • Removed Kinvey.Users and Kinvey.UserStore. These were deprecated with v3.2.0.
  • Share active user information with 1.x SDK. Just use version 3.4.5 to share active user information. No changes are needed to your 3.x application.
  • Use query to push a subset of sync entities to the backend. #120
  • Add more tests for query. #121
  • Allow multiple sync push operations to be in progress at the same time for difference collections.. Only one sync push operation is allowed to be in progress for the same collection. This fixes an issue caused with #117 that only allowed one sync push operation to be in progress regardless of the collection. #123
  • Don't perform a sync push operation while one is already in progress. #117
  • Use tls: true by default when fetching files. #118
  • Catch a NotFoundError thrown when trying to store an active user in the cache. #119
  • Close IndexedDB connection before deleting database. This fixes an issue that prevented a user from being logged out on IE. #14
  • Clone body of CacheRequest. #112
  • Add back es6-promise. #113
  • Add method to remove user by id. #114
  • Correctly refresh MIC sessions. #104
  • Add missing error objects. #105
  • Fixed a bug that prevented files from being uploaded to GCS. #106
  • Add more unit tests for user logout. #110
  • Refactor source to export all modules, expose Rack API, and to clean up code. #94 and #10
  • Remove password hash from stored user object. #102
  • Fix errors with using Kinvey.ACL on an entity that does not contain an _acl property. #103
  • Fix issues with push notifications. #8 and #9
  • Fix a bug that causes a TypeError when unregistering a device for push notifications. Add push notification unit tests. #6
  • Add User.lookup() API to perform user discovery. #96
  • Fix a bug that causes any requests sent to the backend after updating a user to respond with a 401 status code. #101
  • Prevent popup from being shown to allow an application to store 10mb of data with WebSQL when it hasn't stored more then 5mb of data. #7
  • Increase the size of a WebSQL database as needed. #8
  • Improved test coverage. #92
  • Fixed a bug that would produce a TypeError for a failed login or any network request that resulted in an InvalidCredentialsError #95
  • Added error.kinveyRequestId as a property to error objects. This property is set to the X-Kinvey-Request-Id header value of a Kinvey API response. It is undefined by default. #84
  • Added a global get/set default timeout property on the client. The library sets the default timeout to a value of 60 seconds. You can change this value by passing a default timeout when you initialize the SDK. #85
Kinvey.initialize({
  appKey: '<appKey>',
  appSecret: '<appSecret>',
  defaultTimeout: 30000 // 30 seconds in ms
});
  • Delta fetch requests now works with queries. #83
  • Fixed a check with instanceof in Mobile Identity Connect that caused a TypeError to be thrown. #87
  • Entities will now be persisted when calling store.sync on a data store instance. #88
  • Fixed issues that caused inconsistencies with Error objects. #89
  • Sort, limit, and skip now work correctly when querying the local cache. #90
  • Bugfix: Add missing semicolon in aggregation count function.
  • Enhancement: Update aggregation processing.
  • Bugfix: Aggregations have been fixed. See Aggregation Guide to learn how to use aggregations.
  • Bugfix: user._socialIdentity properties returned from the network are no longer removed on a succesful login.
  • Bugfix: Fixed a typo in the NetworkStore.
  • Change help text to help disambiguate argument order.
  • Enhancement: All error objects are exposed on the Kinvey namespace. See Troubleshooting Guide for more information.
  • Bugfix: Fix name property on Error objects.
  • Bugfix: Merge user._socialIdentity properties when using an identity to login a user with the response from a login request.
  • Bugfix: Do not disconnect identities on a user logout.
  • Bugfix: Support private browser mode for Chrome, Firefox, and Safari.
  • Deprecated: Kinvey.initialize should be used instead of Kinvey.init.
Kinvey.initialize({
  appKey: '<appKey>',
  appSecret: '<appSecret>'
})
  .then(function(activeUser) {
    // ...
  });
  • Bugfix: Fix a bug that prevents a user from registering for push notifications.
  • Bugfix: Unregister the phonegap-plugin-push properly.
  • To avoid conflicts with other Kinvey CLIs, renamed the executable to kinvey-bl, and the configuration file to .kinvey-bl.
  • Bugfix: Import UserStore from correct path. Kinvey.UserStore is now not undefined.
  • Bugfix: Add missing group function to data stores.
  • Bugfix: Fix typo of CacheRequest in Push module.
  • Internal improvements.
  • Enhancement: Default apiHostname protocol to https: if one is not provided.
  • Bugfix: Make default timeout for network requests 10 seconds.
  • Bugfix: Prevent delta fetch from loading all entities when they are not needed.
  • Bugfix: Fixed bug that prevented a device from being registered and unregistered for push notifications.
  • Bugfix: Fix a bug that prevented a popup from being opened when trying to login with Kinvey.User.loginWithMIC().
  • Bugfix: Don't send a DELETE request to the backend when calling clear() on a CacheStore or SyncStore instance to clear the local cache.
  • Bugfix: Allow a the credentials for a user to be provided as an object to Kinvey.User.login().
  • Bugfix: Use { field: <value> } format when serializing a query that contains an equalTo expression.
  • Deprecated: forgotUsername(), verifyEmail(), and resetPassword() instance functions on the Kinvey.User class. You should now use the static version of each function.
  • Bugfix: Fixed bug that prevented logout of a user.
  • Bugfix: Send correct X-Kinvey-Device-Information header format.
  • Bugfix: Update the cache to represent the state of the backend correctly when a sync pull is performed.
  • Bugfix: Expose the Acl class on the Kinvey namespace.
  • API Change: Deprecated connectWithIdentity() function on the User class. Use connectIdentity() instead. Please refer to the Social Identities Guide on how to connect a user to social identities.
  • Bugfix: Fixed a bug that would cause DataStore errors when connecting a user to a social identity.
  • API Change: To get an instance of DataStore you now have to call the collection() function instead of getInstance()
var store = Kinvey.DataStore.collection('myCollection');
  • Bugfix: Store results from a pull in the cache.
  • Bugfix: Return server generated _id when creating entities.
  • Enhancement: Make file uploads resumable.
  • Enhancement: Make Kinvey.Promise accessible as a property on the Kinvey namespace.
  • Bugfix: Use a promise polyfill to support browsers that don't have a native promise.
  • Bugfix: Don't throw an unexpected error when performing a find with a query on the CacheStore.
  • Bugfix: Fix an error with user logout.
  • Bugfix: Don't send an empty array back on sync completion.
  • Enhancment: Update IndexedDB, WebSQL, and Web Storage adapters.
  • Bugfix: Listen for loadstart event on popups to capture redirect when using MIC login for url that results in a 404.
  • Bugfix: Provide a way to change the MIC hostname.
  • Bugfix: Fix issues when downloading files.
  • Bugfix: Make resetPassword() on the User class a static function that does not require an active user.
  • Bugfix: Add try/catch block to MIC to catch errors when trying to access popup urls that are cross domain.
  • Bugfix: Don't use indexeddbshim as not all browsers support WebSQL (e.g., Firefox)
  • Bugfix: Improve error message when a sync failure occurs.
  • Bugfix: Check that a query is able to be run loccaly before it is processed.
  • Bugfix: Do not remove entity data when a sync failure occurs.
  • Bugfix: Add isEmailVerified() to the User class.
  • Bugfix: Check that global.device is not undefined.
  • Bugfix: Fixed query syntax bug for filtering data.
  • Bugfix: Added more information to MIC error to help debug.
  • Enhancement: Added the ability to set a global app version.
  • Bugfix: Allow a database to be created again after it is deleted.
  • Enhancement: Add back DataStoreType.Cache.
  • Enhancement: Implemented the observable pattern for data store fetch APIs. See the example below and refer to the dev center fetching guide for how to use this new API pattern.
var store = Kinvey.DataStore.getInstance('books');
store.find().subscribe(function(books) {
  // ...
}, function(error) {
  // ...
}, function() {
  // completed
});
  • Bugfix: Swap the PhoneGapHttpMiddleware class with the correct default http middleware class.
  • Bugfix: RAPID is not compatible with DeltaFetch. Turn delta fetch off by default.
  • Bugfix: Fix issues related to the FileStore.
  • Bugfix: Fixed race condition when saving an array of entities to the cache.
  • Enhancement: Clear the database after user logout.
  • Fixed bug that prevented the library from being exposed as the global variable Kinvey.
  • Fixed a bug with push that prevented registration on iOS devices.
  • Fixed push from being able to be registered on iOS devices.
  • Fixed sync bug that prevented entities from being added to the sync table to be synced at a later time.
  • Added adapters for http, popup, and device.
  • 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.
  • Fixed a bug that caused the library to be exported incorrectly.
  • Fixed a bug that prevented a user from being able to login with Mobile Identity Connect.
  • Fixed a bug that prevented entities from being updated.
  • Fixed bug that would resolve promise when using incorrect credentials to login a user.
  • Fixed a bug that would remove entities locally on a device but not on the network.
  • Fixed a bug that would not allow items to be saved to the device locally.
  • Bug fixes.
  • Initial release.
  • RapidData - Added the documentation for zero-code SharePoint, SQL and Salesforce connectors.
  • 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
  • Internal improvements.
  • Updated API to use https://manage.kinvey.com. You can still use the --host option to override this setting.
  • 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
  • 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
  • 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
  • Internal Improvements
  • Data Browser - Fixed but where _kmd and _acl properties would not automatically update when editing other fields
  • 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.
  • 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 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
  • 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.
  • 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
  • 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.
  • 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
  • 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
  • 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 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
  • 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
  • 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
  • Collection Hooks - Added support to allow for collection hooks to be created for the Files API
  • 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.
  • Business Logic - Fixed a bug with verisoning where saving with a message would not actually update your code
  • Added support for archived environments which was causing some users to get a non-responsive web console
  • Internal Stability Improvements
  • 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
  • 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.
  • 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.
  • Fixed a bug with iOS Push
  • Internal improvements
  • 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.
  • 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
  • Internal improvements release
  • Internal stability improvements
  • 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
  • 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
  • Analytics - Fixed a display issue causing timezone offset to show data in the wrong day
  • 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
  • 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
  • Internal improvements release
  • Fixed bug with missing argument in collectionAccess.findAndModify
  • Added support Google Cloud Messaging
  • Added appKey as modules.request parameter
  • 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
  • Internal improvements
  • Fixed async.js bug where series, parallel, and parallel limit functions only supported arrays and not objects
  • 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
  • Updated request to force API v1 when streaming requests.
  • Fixed bug with request form handling.
  • Added support for GCM push
  • 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
  • Internal improvements release
  • Added support for modules.request to allow creation of outgoing HTTP requests
Got a question?