iOS / OS X / tvOS / watchOS Changelog

v1.12.0 — January 8, 2016

New

  • Parse now requires Xcode 7.0+.
  • Parse now supports Carthage.
  • New, more flexible API for SDK initialization.
  • PFRelation now supports ObjC generics.
  • All asynchronous methods that use invocations (end with target:selector:) are now deprecated.
  • All synchronous methods that rely on network fetches / disk I/O are now split into separate categories.
  • Convert PFQuery.hasCachedResult to a readonly property.
  • Old and deprecated constants were removed (e.g. PARSE_API_VERSION).

Improved

  • PFSubclassing now extends NSObject protocol.
  • Updated and improved documentation.
  • Improved performance of -saveEventually/-deleteEventually calls when not using Local Datastore.

Fixed

  • Fixed usage of PFObject.-setValuesForKeysWithDictionary: with NSNull values.
  • Fixed wrong result type set on pin*/unpin* methods of PFObject.
  • Fixed potential deadlock and slow getters of local paths for PFFile.
  • Fixed PurchaseController not initialized on tvOS.

v1.11.0 — December 14, 2015

New

  • Parse SDK now fully supports tvOS and watchOS 2.
  • Added ability to schedule push notifications to be delivered at a specific time.
  • +parseClassName is now the only required method of PFSubclassing protocol.
  • All instance variables of PFObject are private only.

Improved

  • Improved performance of querying objects from Local Datastore.
  • Improved performance of saving objects to Local Datastore.
  • Improved performance of parsing dates from strings.
  • Updated, cleaned up and improved documentation.
  • Cleaned up header polluting imports.

Fixed

  • Fixed inability to use iOS SDK in App Extensions when installed via CocoaPods.
  • Fixed potential crash when loading offline objects from Local Datastore.
  • Fixed memory leak when using Local Datastore.
  • Fixed saving a PFObject with circular links.

v1.11.0 — December 14, 2015

New

  • Parse SDK now fully supports tvOS and watchOS 2.
  • Added ability to schedule push notifications to be delivered at a specific time.
  • +parseClassName is now the only required method of PFSubclassing protocol.
  • All instance variables of PFObject are private only.

Improved

  • Improved performance of querying objects from Local Datastore.
  • Improved performance of saving objects to Local Datastore.
  • Improved performance of parsing dates from strings.
  • Updated, cleaned up and improved documentation.
  • Cleaned up header polluting imports.

Fixed

  • Fixed inability to use iOS SDK in App Extensions when installed via CocoaPods.
  • Fixed potential crash when loading offline objects from Local Datastore.
  • Fixed memory leak when using Local Datastore.
  • Fixed saving a PFObject with circular links.

v1.10.0 — November 19, 2015

New

  • Removed PFObject mutable container tracking.
  • Added generic types to PFUser login/link methods.
  • Added generic type to PFInstallation's channels property.
  • Added generic type to PFPush.getSubscribedChannels... methods.
  • Converted PFUser's isAuthenticated method to a property.
  • Converted PFFile's isDataAvailable, isDirty methods to properties.
  • Converted PFObject's isDataAvailable, isDirty, allKeys methods to properties.
  • Converted PFACL's publicReadAccess and publicWriteAccess methods to properties.

Improved

  • Staged PFFiles are now stored in caches directory.
  • Replaced all nullability annotations via macros with generic ones.
  • Made all access to sqlite thread-safe to mitigate a potential crash.
  • PFPurchase.buyProduct() no longer requires non-nil completion block.
  • Removed usage of nullability specifier on types that support annotations.
  • Improved persistence logic for all local files in preparation for tvOS/watchOS release.
  • Added extra safety guards to mitigate potential crash when buying products via PFPurchase.
  • Keys that are used for query result caching are now generated in consistent order across architectures.

Fixed

  • Fixed a crash on trying to getData/save a PFFile without any local data.
  • Fixed an issue where failed PFUser.linkWithAuthType() would persist wrong information to disk.

v1.9.1 — October 24, 2015

New

  • Parse SDK now fully supports Xcode 7.1.

Improved

  • Cleaned up and updated documentation.
  • Improved caching of PFFiles on network errors.
  • Added more compile-time guarantees to improve reliability.

Fixed

  • Fixed potential deadlock when encoding PFUser.
  • Fixed default content type for JSON network requests.
  • Fixed URL constriction on iOS 7, which led to network errors.
  • Fixed potential deadlock on encoding objects for save in Local Datastore.

v1.9.0 — October 9, 2015

New

  • ParseFacebookUtils and ParseTwitterUtils are now open source.
  • Ability to download a PFFile and get only a local file path.

Improved

  • Improved NSInputStream behavior when using streaming PFFile downloads.
  • PFFile constructors now report errors instead of throwing exceptions.
  • Improved performance of loading PFConfig from disk.
  • Improved ObjC generic support.

Fixed

  • Fixed late initialization of PFNetworkActivityIndicatorManager that could lead to inability to disable it.
  • Fixed an issue with using PFUser APIs before any calls to PFInstallation.
  • Fixed initialization of Facebook/Twitter Utils blocking the main thread.
  • Fixed currentUser not restoring authentication when loaded from disk.
  • Fixed potential crash when network error doesn't have a description.
  • Fixed parameter URL Encoding when signing requests with Twitter.
  • Fixed deprecation warnings surfaced on Cocoapods with iOS 9.
  • Fixed deadlock when saving and fetching PFObjects.

v1.8.5 — September 17, 2015

Improved

  • Replaced exceptions with errors when trying to delete installation, delete a user without a session.

Fixed

  • OS X Framework not being able to link without address sanitizer turned on.
  • Crash related to using PFPush.handlePush().
  • PFInstallation not updating automatic fields when used in PFObject.saveAll().

v1.8.4 — September 15, 2015

New

  • Added notifications for all network requests for debugging.
  • All methods that return a BFTask now have generic result types.
  • Publicized API for PFUser integration with ParseFacebookUtils and ParseTwitterUtils.

Improved

  • Improved unlinking a PFUser from third party authentication sources.
  • Improved decoding of updateAt/createdAt fields of PFObjects to handle edge case scenarios.

Fixed

  • Fixed crash on PFObject.deleteAll() with empty array.
  • Fixed nullability annotations for block types in PFPurchase.
  • Fixed potential infinite recursion when calling PFObject.isDirty() on an object with recursive children.
  • Fixed an issue with Local Datastore losing information on PFObjects that were pending to be eventually saved/deleted.

v1.8.3 — September 11, 2015

New

  • Parse SDK now officially supports iOS 9, Xcode 7 and OS X 10.11.
  • PFQuery can now be used with the new Objective-C generics syntax.
  • Now shipping with backwards-compatible bitcode support on the Xcode 7 GM.

Improved

  • PFUser.signUp() with a nil username or password will now use an error instead of an exception.
  • PFFile downloads now use https, and are App Transport Security ready for iOS 9/OS X 10.11.
  • Added preventive assert for initialize parse with a nil applicationId or clientKey.
  • PFPush.handlePush() will no longer vibrate if no sound is specified.
  • All synchronous APIs imported in Swift 2 now have 'throws' keyword.
  • Nullability annotations for synchronous methods on PFObject.
  • Performance of query caching.

Fixed

  • Issue with PFObjects with a custom error field being reported as network errors.
  • Major performance issue related to subclass properties not being properly cached.
  • Issue with PFObject subclass trees crashing due to bad registration logic.
  • Rare issue with Mutable Containers due to undefined behavior.

View all issues and pull requests associated with this release here.

v1.8.2 — August 28, 2015

  • New: Ability to revert all changes or a single key on PFObject.
  • New: Parse SDK now fully compiles from source when used with App Extensions.
  • Improved: Swift projects that use Parse SDK no longer need to explicitly import Bolts to get access to methods that return BFTask.
  • Improved: Subclasses of PFObject will now properly use instance variables that are @synthesized to custom names.
  • Improved: Network Activity Indicator is now properly managed by Parse on all network requests on iOS.
  • Improved: PFFile now properly manages and evicts stale staged data from previous app launches.
  • Improved: PFGeoPoint constructors now return instancetype for better subclassing support.
  • Improved: In-App-Purchase verification now uses appStoreReceipt and works on iOS 9.
  • Improved: 100% of public API now has nullability annotations.
  • Fixed: Potentially not performed PFObject fetch and delete methods, if there is no strong reference to instance of object.
  • Fixed: Not presented account selection dialog when logging in/linking with Twitter on iOS 8+.
  • Fixed: Missing umbrella header for ParseFacebookUtilsV4.framework.
  • Fixed: Code signing problems with Parse.framework for OS X.
  • Performance and behind the scene improvements.

v1.8.1 — August 19, 2015

  • New: ParseOSX.framework was renamed to Parse.framework.
  • Feature: PFInstallation now automatically detects and stores current device locale.
  • Improved: Original network errors (if any) are now stored under NSUnderlyingErrorKey in error.userInfo.
  • Fixed: Potential crash in PFQueryCollectionViewController on returning nil supplementary view for footer in sections.
  • Fixed: ParseFacebookUtilsV4 and ParseTwitterUtils when used as static libraries via Cocoapods.
  • Fixed: Overwritten localizations when used via CocoaPods and integrating as static library.
  • Fixed: Potential collision of PFObject subclasses instance variables with _state name.
  • Fixed: BOOL properties on PFObject subclasses treated as numbers instead of booleans.
  • Fixed: Potential threading problems when concurrently loading images in PFImageView.
  • Fixed: Potential crash when receiving a push notification with sound set to null.

v1.8.0 — August 13, 2015

Hello, open source!

  • New: ParseTwitterUtils is now a separate framework.
  • New: Parse SDK now requires iOS 7.0+ and OS X 10.9+.
  • New: ParseFacebookUtilsV4 now defines a clang module and has a modulemap.
  • Improved: Multiple concurrent file downloads from the same URL now share single network connection.
  • Improved: Performance of all network requests, as well as file download/upload performance.
  • Improved: isEqual: and hash methods support for PFPush, PFQuery.
  • Improved: Binary size of all frameworks in Parse SDK.
  • Improved: Performance and memory usage.
  • Fixed: Warning being logged when calling PFConfig.currentConfig() from main thread.
  • Fixed: Potential crash when printing description of PFObject with cycle reference.
  • Fixed: In-app-purchase verification failing if purchase was already downloaded.
  • Fixed: Collision of state property in PFObject subclasses with internal code.
  • Fixed: Multiple calls to PFQuery.selectKeys() now include all keys specified.
  • Fixed: Rare potential deadlock on saving PFUser.
  • Updated and improved documentation.
  • Other small bug fixes.

v1.7.5 — June 24, 2015

  • New: Push Notifications for OS X.
  • New: PFInstallation and PFPush are available on OS X.
  • New: PFFile now has public streaming API for downloading files.
  • New: Ability to get error when constructing a PFFile from contents on disk.
  • New: MobileCoreServices.framework is no longer required to be linked when using Parse SDK.
  • Improved: Performance of fetching count of a PFQuery.
  • Improved: Boolean properties are fully supported on subclasses of PFObject in Swift.
  • Fixed: PFRelation queries from Local Datastore.
  • Fixed: Potential memory leak when pinning PFObjects.
  • Fixed: Inability to use BETWEEN predicates with PFQuery.
  • Fixed: Potential issue with restoring Twitter authentication.
  • Fixed: Rare issue when PFQuery from Local Datastore can deadlock.
  • Fixed: Fetching first object when using CacheThenNetwork cache policy.
  • Fixed: Rare issue with wrong progress reported when downloading a PFFile.
  • Documentation fixes and improvements.
  • Other small bug fixes.

v1.7.4 — May 20, 2015

  • New: PFQueryTableViewController and PFQueryCollectionViewController in ParseUI now support dynamic deletion of objects.
  • Improved: Task-based PFFile APIs now support downloading a file with a progress block.
  • Improved: Error alert descriptions in all ParseUI components.
  • Fixed: Crash when enabling ParseCrashReporting.
  • Other small bug fixes.

v1.7.3 — May 18, 2015

  • Fixed: Issue with unavailable PFObject subclass constructor without parameters in Swift.
  • Fixed: Fields are no longer automatically populated for non-current PFInstallation.
  • Fixed: Not updated data across apps and app extensions that wasn't saved to Parse.
  • Fixed: Missing permissions in FBSDKAccessToken after logging in with Facebook.
  • Fixed: Potential crash on downloading/uploading a PFFile with a progress block.
  • Fixed: Inability to query for remotely fetched relations in Local Datastore.
  • Fixed: Issue with revoked session token on signing up an anonymous user.
  • Improved: Performance of receipt validation through PFPurchase APIs.
  • Improved: Populating -localizedDescription for every NSError.
  • Improved: Support for -isEqual: and -hash on PFConfig.
  • Reduced binary size for Parse, ParseOSX frameworks.
  • Documentation fixes and improvements.
  • Other small bug fixes.

v1.7.2 — April 27, 2015

  • New: Local Data Sharing for Extensions and WatchKit.
  • Improved nullability annotations for ParseFacebookUtils.
  • Fixed: logOutInBackground with block callback not called on main thread.
  • Fixed: Potential compilation error with using imports for PFSubclassing.h.
  • Fixed: Not persistent currentUser if saving automatic user via saveEventually.
  • Fixed: Rare deadlock scenario with using ParseFacebookUtils and currentUser.
  • Fixed: Rare issue with pinning multiple objects in a row to the same pin.
  • Fixed: Rare scenario when user could be not linked with Facebook.
  • Improved performance and reliability of Local Datastore.
  • Performance improvements.
  • Other small bug fixes.

v1.7.1 — April 1, 2015

  • New: PFLogInViewController now supports both ParseFacebookUtils V3 and V4.
  • Fixed: Issues when compiling projects with latest Xcode 6.3 beta.
  • Fixed: Rare issues when using saved data and iOS Data Protection.
  • Fixed: Compilation errors if umbrella header is not imported.
  • Improved retry logic on network operation failures.
  • Performance improvements.
  • Other small bug fixes.

v1.7.0 — March 25, 2015

  • New: Revocable sessions and PFSession class.
  • New: Facebook SDK v4 support, using new ParseFacebookUtilsV4.framework.
  • New: Support for logging out user in background using new PFUser +logOutInBackground:.
  • Documentation improvements and fixes.
  • Other small bug fixes.

v1.6.5 — March 19, 2015

  • New: Added Obj-C nullability annotations for PFObject+Subclass, PFSubclassing.
  • New: Added ability to specify login behavior when using PFFacebookUtils.
  • Fixed: Issue with saving a PFObject eventually with a cycle reference.
  • Optimized memory usage when saving a lot of objects at once.
  • Documentation improvements and fixes.
  • Other small bug fixes.

v1.6.4 — March 4, 2015

  • Feature: Objective-C Nullability Annotations for all Parse frameworks.
  • Feature: PFQueryCollectionViewController can now be used with Storyboards/XIBs.
  • Feature: Properties of PFQueryCollectionViewController, PFQueryTableViewController can now be configured directly inside Interface Builder.
  • Fixed: Rare issues where saveEventually could save no data to Parse.
  • Fixed: Not saved automatic information when using PFInstallation saveEventually.
  • Fixed: 'Unrecognized selector' message logged to console on sending Crash Reports.
  • Fixed: Warnings logged to console on using PFUser currentUser with Local Datastore and Anonymous Users.
  • Documentation improvements and fixes.
  • Performance improvements.
  • Other bug fixes.

v1.6.3 — February 20, 2015

  • Feature: New option to ignore ACLs when quering data from Local Datastore.
  • Feature: If there was an exception thrown when using methods with callbacks - it will be logged to console.
  • Improved reliability of saveEventually/deleteEventually in poor network conditions and across app runs.
  • Improved behaviour of Local Datastore queries with containedIn and containsAllObjectsInArray constraints.
  • Improved consistency of Local Datastore / Parse queries with includeKey: and NSNull values.
  • Fixed issue with using currentUser/currentInstallation that have pointers to other Users/Installations.
  • Fixed not called callback when using PFObject +fetchAll: with array of duplicates.
  • Fixed issue with saving/fetching a PFInstallation that was deleted on the server.
  • Fixed issue with user reauthorization with new Facebook permissions.
  • Fixed code signing of Parse OS X SDK.
  • General and networking performance improvements.
  • Other small bug fixes.

v1.6.2 — January 23, 2015

  • Feature: New Starter Projects in Swift for both iOS and OSX.
  • Feature: New PFQueryCollectionViewController that displays data from PFQuery in a UICollectionView.
  • Feature: All condition/include/ordering methods of PFQuery now support chaining.
  • Fixed queries returning empty results from Local Datastore on armv7/armv7s architectures.
  • Fixed anonymous users being not anonymous when using Local Datastore.
  • Fixed relogin with Facebook/Twitter when using Local Datastore.
  • Fixed long-running operations executed on main thread on SDK setup.
  • Fixed code signing for ParseOSX and Bolts frameworks.
  • Documentation improvements and fixes.
  • Performance improvements.
  • Other bug fixes.

v1.6.1 — December 20, 2014

  • Feature: Automatic migration of [PFUser currentUser] and [PFInstallation currentInstallation] to Local Datastore.
  • Feature: Added [Parse setLogLevel:] and PFLogLevel API for an ability to control logging.
  • Added debug logging for ParseCrashReporting when reports are being sent.
  • Fixed problem with using PFQueryTableViewController and Local Datastore.
  • Fixed problem with using cachePolicy on PFQuery and NSDates.
  • Fixed rare problem with downloading PFFile and cancellation.
  • Documentation improvements and fixes.
  • Performance improvements.
  • Other small bug fixes.

v1.6.0 — December 9, 2014

  • Feature: Crash Reporting. See our QuickStart.
  • Feature: Local Datastore.
  • Feature: Added ability to create PFQuery with NSPredicate from subclasses of PFObject.
  • Fixed failing download of assets for PFPurchase.
  • Performance improvements.
  • Documentation improvements and fixes.
  • Other small bug fixes.

v1.5.0 — November 6, 2014

Starting this release, all UI components for iOS are moved into ParseUI.framework. It is located in the Parse SDK download.

  • Major update for all UI components with all new design.
  • Moved all UI components into separate ParseUI.framework.
  • Fixed rare problem with saving automatic data on PFInstallation.
  • Reduced binary size of Parse.framework.
  • Added modulemap for ParseOSX.framework.
  • Documentation updates and fixes.
  • Other small bug fixes.

v1.4.2 — October 15, 2014

  • Added a new set of APIs based on Bolts Tasks.
  • Parse iOS SDK now supports modulemaps, which brings much easier imports for other apps and Swift code.
  • Fixed a minor bug in PFSignUpViewController/PFLogInViewController when using emailAsUsername.
  • Fixed a minor bug in PFQuery when using CacheThenNetwork cache policy.
  • Added support for clang headermaps.
  • Major documentation improvements.
  • Other small bug fixes.

v1.4.1 — September 23, 2014

  • Added armv7s architecture into iOS frameworks.
  • Fixed potential crash in PFFile when saving a file with wrong file extension.

v1.4.0 — September 18, 2014

Starting this release, Parse SDK is built with iOS 8 SDK, but still supports iOS 6.0+ and OSX 10.7+.

  • Performance improvements for PFFile download and upload.
  • Smarter permission requests on iOS 8 for PFGeoPoint creation from current location.
  • Updated push notifications integration to support features in iOS 8.
  • Sensitive user data of PFUser is now stored in the System Keychain.
  • Fixed Twitter authentication dialog rotation on iOS 8.
  • Documentation fixes.
  • Other small bug fixes.

v1.3.0 — September 8, 2014

Starting this release, Parse SDK supports only iOS 6.0+, OSX 10.7+

  • Implemented Parse Config via PFConfig.
  • Fixed layout in PFTableViewCell, when using some UITableViewCellStyles.
  • Fixed Login with Twitter, when there is more than one system account available.
  • Fixed authentication dialog when using Login with Twitter without system accounts.
  • Fixed edge-case deadlock when saving PFUser.
  • Fixed edge-case crash in PFPush.
  • Documentation fixes.
  • Other small bug fixes.

v1.2.21 — August 22, 2014

Starting this release, you'll need to drag Bolts.framework (and ParseFacebookUtils.framework if your app interacts with the Facebook SDK) into your Xcode project folder target. Both are located in the Parse SDK download.

  • Parse SDK now depends on Bolts.framework.
  • Move PFFacebookUtils from Parse.framework to the new ParseFacebookUtils.framework.
  • Implemented NSCopying for PFQuery and PFPush.
  • Implemented NSCoding for PFACL and PFGeoPoint.
  • Implemented PFNetworkActivityIndicatorManager.
  • Improved PFSignUpViewController and PFLoginViewController.
  • Fixed emailAsUsername property usage inside PFLogInView and PFSignUpView.
  • Fixed minor bugs in PFQuery and PFObject.
  • Fixed Twitter authentication on iOS 5.0.
  • Fixed documentation.

v1.2.20 — July 16, 2014

  • Added PFParseErrorDomain.
  • Improved cold start time.
  • Update iOS login and signup UI.
  • Convert all -(id)init methods to -(instancetype)init.
  • Fix more memory leaks by ARCifying all the things!
  • Fix failed re-signup of anonymous user.
  • Fix rotation bug in PFLogInViewController / PFLogInButton.
  • Fix retain cycle when creating PFRelation objects.
  • Fix memory leak with automatic users in ACLs.
  • Other small bug fixes.

v1.2.19 — April 4, 2014

Fixed some memory leaks.

PFTwitterUtils now supports system Twitter accounts (SSO). The following dependencies should be added to Xcode projects that use PFTwitterUtils:

  • Accounts.framework
  • Social.framework

v1.2.18 — January 6, 2014

  • Removes dependence on SBJSON library.
  • Adds relationForKey as a replacement for relationforKey.

v1.2.17 — December 13, 2013

  • Improves support for Facebook iOS SDK v3.10

v1.2.16 — November 14, 2013

  • Add isDirty and isDirtyForKey: to PFObject.
  • Add become APIs to PFUser.

v1.2.15 — September 23, 2013

Adds support for 64-bit iOS applications.

v1.2.14 — September 19, 2013

Fix some lock contention on the current user that was causing deadlocks when logged in and accessing Parse from a large number of threads.

v1.2.13 — September 5, 2013

Adds Custom Analytics tracking with [PFAnalytics trackEvent:dimensions:].

v1.2.12 — August 21, 2013

  • Improved compatibility between PFQueryTableViewController and yet-to-be-released iOS versions.
  • Improves integration with the Facebook SDK.

v1.2.11 — July 16, 2013

Support for +[PFObject deleteAll:]
Upgrades to subclasses of PFObject:

  • Subclasses now support @property (readonly) PFRelation *.
  • Object properties can now be deleted by assigning nil to them.
  • Property syntax will correctly convert a literal null (NSNull in Objective-C) field to a nil property value.
  • (Bugfix) Subclasses of subclasses will not get a default dynamic implementation when the superclass had an explicit definition. This fixes issues seen by some customers with PFInstallation subclasses.

v1.2.10 — June 14, 2013

Fix a problem with crashing when a saveEventually is rejected on the server.

v1.2.9 — May 15, 2013

Remove implementation details from some headers and deprecate sendToIOS/Android in PFPush. Users who wish to target a specific device type should use a PFQuery.

v1.2.8 — May 2, 2013

Adds third party license info.

v1.2.7 — April 27, 2013

Fixes a bug where an assert in PFFile may fire incorrectly.

v1.2.6 — April 16, 2013

The set of keys returned by a query can be restricted using selectKeys:

v1.2.5 — March 29, 2013

Add support for float and double @dynamic properties on PFObjects.

v1.2.4 — March 28, 2013

Improve responsiveness when detecting that the network is unreachable.

v1.2.3 — March 23, 2013

Adds the registerSubclass method to the PFSubclassing protocol

v1.2.2 — March 21, 2013

Supports subclassing PFObject through the PFSubclassing protocol.

v1.2.1 — March 20, 2013

Ensure that Analytics is included on OS X.

v1.2.0 — March 18, 2013

Analytics iOS SDK.

v1.1.33 — March 11, 2013

  • Adds support for version 3.2 of the Facebook iOS SDK
  • Note: This change includes some breaking changes for developers using Facebook. Please see this blog post for more information.

v1.1.32 — February 23, 2013

Fixes a linker error in our release from earlier today.

v1.1.31 — February 22, 2013

Improves the threading model and fixes some issues around hangs when using the SDK

v1.1.30 — February 12, 2013

  • Add appIdentifier field to PFInstallation
  • Add whereKey:containsAllObjectsInArray: method to PFQuery

v1.1.29 — February 5, 2013

  • Make PFObject's +fetchAll: behavior (re: limits) consistent with PFQuery.
  • Fix backingScaleFactor bug for OS X 10.6

v1.1.28 — February 1, 2013

Route PFPush subscription methods through PFInstallation. These methods now populate the Installation's timeZone field.

v1.1.27 — January 18, 2013

Fix a linking problem with PFQuery queryWithClassName:predicate:.

v1.1.26 — January 10, 2013

Addresses a hang that occurs when using Facebook login.

v1.1.25 — January 2, 2013

Fixes a bug with restoring Facebook session data on application restart.

v1.1.24 — December 27, 2012

Fix "object not found for update" on objects included in query results.

v1.1.23 — December 22, 2012

Fix a bug adding new PFObjects to arrays with [PFObject addObject:forKey:].

v1.1.22 — December 11, 2012

Fix ParseOSX.framework's Info.plist.

v1.1.21 — December 10, 2012

Update current user after refresh.

v1.1.20 — December 7, 2012

Splits apart iOS and OS X SDKs into two separate .frameworks.

v1.1.19 — November 26, 2012

Improves behavior alongside SenTestKit

v1.1.18 — November 26, 2012

Fix a crash in PFQuery.

v1.1.17 — November 20, 2012

  • Fixed some memory leaks.
  • Fixed a path in the OS X Starter Project.

v1.1.16 — November 19, 2012

  • Adds OS X support to Parse.framework.
  • OS X Starter Project.

v1.1.15 — November 8, 2012

Allow multiple simultaneous saves on a PFObject.

v1.1.14 — October 29, 2012

Better isolate Parse from developers' versions of AFNetworking.

v1.1.13 — October 25, 2012

Fix a bug with arrays and fetchAllIfNeeded that said "PFObject contains container item that isn't cached."

v1.1.12 — October 4, 2012

Incorporates Facebook 3.1.1 SDK changes and bugfixes.

v1.1.11 — October 2, 2012

The PFInstallation class now manages the appVersion, appName, and parseVersion keys automatically

v1.1.10 — October 1, 2012

  • Corrects an issue with using the new Facebook 3.1 SDK
  • Please see Facebook's documentation on upgrading to the latest SDK. In particular, read and publish permissions now need to be requested separately. To add publish permissions, call [PFFacebookUtils reauthorizeUser:withPublishPermissions:...].

v1.1.9 — September 27, 2012

  • Adds support for the Facebook 3.1 SDK
  • New framework dependencies (may require Xcode 4.5): Social.framework, Accounts.framework, AdSupport.framework
  • If you're targeting iOS versions less than iOS 6, you'll need to make AdSupport.framework, Social.framework, and Accounts.framework optionally-linked.

v1.1.8 — September 22, 2012

Stability improvements to saveEventually with objects with relations to new objects while offline.

v1.1.7 — September 22, 2012

Stability improvements to saveEventually with objects with relations to new objects while online.

v1.1.6 — September 18, 2012

Ensures that all of the Facebook headers are imported when you import Parse.h

v1.1.5 — September 13, 2012

  • Allows Parse to be used in iOS 6 apps built with the Xcode 4.5 GM seed.
  • Support removed for armv6.
  • Minimum supported deployment target is iOS 4.3.

v1.1.4 — September 11, 2012

Fixes a build issue

v1.1.3 — September 11, 2012

Add PFCloud support

v1.1.2 — September 6, 2012

Allow saveEventually of objects with relations to other new, unsaved objects.

v1.1.1 — September 5, 2012

Fixes some issues with having the Parse SDK side-by-side with the standard Facebook SDK

v1.1.0 — August 23, 2012

  • Integrates Facebook SDK for iOS v3.0.
  • New library dependency: libsqlite3.dylib

v1.0.69 — August 16, 2012

Fixes warnings revealed by Xcode 4. One in PFHTTPHeaders is a bugfix.

v1.0.68 — August 13, 2012

Creates .badge= method for PFInstallation to force a badge update to be persisted to the server.

v1.0.67 — August 7, 2012

Inherit PFQueryTableViewController from UITableViewController to be easier to use with storyboard

v1.0.66 — August 1, 2012

Internationalization

v1.0.65 — July 31, 2012

Fixes a crash when using query caching or managing push channels on iOS 4.0 through 4.2.x.

v1.0.64 — July 27, 2012

PFFile networking bugfix.

v1.0.63 — July 26, 2012

  • General upgrades to networking infrastructure.
  • Removes warnings when compiling with XCode 4.4 and above.

v1.0.62 — July 24, 2012

iOS in-app purchase. Please include StoreKit.framework in your linked libraries.

v1.0.61 — July 23, 2012

Enable push-to-query for client-originated pushes.

v1.0.60 — July 23, 2012

Fix a bug with calling increment between calls to saveEventually.

v1.0.59 — July 18, 2012

Automatically persist application badge on currentInstallation save.

v1.0.58 — July 11, 2012

Addresses a rare bug in the retry logic for -[PFFile save]

v1.0.56 — July 3, 2012

Fixes a bug in PFInstallation saveInBackground.

v1.0.55 — July 3, 2012

Re-allow multiple concurrent subscribe requests using PFPush subscribeToChannelInBackground.

v1.0.54 — July 2, 2012

Fixes a bug in PFPush channel-related methods when defaultACL is specified.

v1.0.53 — June 29, 2012

Adds the PFInstallation class for client installation management.

v1.0.52 — June 28, 2012

Fix a bug in PFQueryTableViewController where refresh header view disappears after view unloads and reloads

v1.0.51 — June 27, 2012

Fix a bug in query caching that 1.0.50 introduced.

v1.0.50 — June 26, 2012

  • -[PFFile getData] and its counterparts use systems programming techniques which obviate concerns about memory warnings
  • PFObject supports get & set by literal syntax in Xcode 4.4 and greater. I.e. myObject[@"foo"] = @"bar"; instead of [myObject setObject:@"bar" forKey:@"foo"]
  • Fix a display glitch with PFQueryTableViewController

v1.0.49 — June 22, 2012

Improved stability of saveEventually.

v1.0.48 — June 22, 2012

Added atomic array operations.

v1.0.47 — June 15, 2012

PFQueryTableViewController feature: loading remote images Introducing PFImageView: loading remote images backed by PFFile Fixing a bug with changing frames of Facebook/Twitter buttons in PFLogInViewController and PFSignUpViewController

v1.0.46 — June 15, 2012

Corrects an issue downloading PFFiles which were created from the data browser.

v1.0.45 — June 15, 2012

Adds -[PFObject saveEventually:] with a completion callback.

v1.0.44 — June 13, 2012

Reduces memory usage of saveEventually.

v1.0.43 — June 13, 2012

Add whereKey:matchesKey:inQuery to PFQuery

v1.0.42 — June 11, 2012

Fixes a rare bug where saveEventually might double release an object.

v1.0.41 — June 6, 2012

  • Performance fetching cached queries has been improved
  • Unsaved or still-saving PFFiles can be added to PFObjects. It is safe to call save or saveInBackground variants on these PFObjects at any time.

v1.0.40 — May 31, 2012

Improves responsiveness and error handling of saveEventually.

v1.0.39 — May 25, 2012

  • Greatly improves responsiveness for many simultaneous PFFile network operations
  • It is now safe to call any PFFile getData methods concurrently; PFFile will not assert and only one network request will be made

v1.0.38 — May 25, 2012

Adds PFRole and support for Role-based Access Controls

v1.0.37 — May 25, 2012

Fixed a bug where PFFiles weren't be created from the response in fetchAll

v1.0.36 — May 23, 2012

Added a missing include to remove a warning with PFRelation.

v1.0.35 — May 23, 2012

Rebuild the SDK because of corrupted build

v1.0.34 — May 17, 2012

Added support for large many-to-many relations by introducing PFRelation.

v1.0.33 — May 16, 2012

  • PFFile downloads cache on disk instead of in memory.
  • PFFile uploads are staged to disk instead of keeping data in memory.
  • Improved PFFile cancellation performance.

v1.0.32 — May 14, 2012

Fixes a bug where the HUD does not hide after data load in PFQueryTableViewController

v1.0.31 — May 11, 2012

Add features to networking code to improve throughput on 3G Verizon iPhones

v1.0.30 — May 8, 2012

  • Adds the ability to target iOS/Android/both in client-generated push notifications.
  • Updates push documentation to reflect naming requirements for push channels.
  • Fixes threading issues with PFHTTPCommand.

v1.0.29 — May 4, 2012

Improvement on UI of PFLogInView and PFSignUpView.

v1.0.28 — May 1, 2012

Improves multi-threaded ownership of PFFiles.

v1.0.27 — May 1, 2012

Updates PFFile to report download progress after its first download buffer.

v1.0.26 — April 30, 2012

Various enhancements related to memory management with PFPush and failed automatic user creations.

v1.0.25 — April 30, 2012

Improvements to internal JSON parsing of dictionaries.

v1.0.24 — April 26, 2012

Improvements related to ACLs.

v1.0.23 — April 25, 2012

Enhancements related to anonymous users and Facebook/Twitter authentication.

v1.0.22 — April 25, 2012

Minor improvements.

v1.0.21 — April 24, 2012

Networking related enhancements.

v1.0.20 — April 23, 2012

Added the login and signup view controllers (PFLoginViewController, PFSignUpViewController) which allow you to quickly add a login screen to your app.

Android Changelog

v1.12.0 — December 28, 2015

  • New: Better, more flexible APIs for SDK initialization
  • New: APIs to initialize/copy ParseQuery, ParseACL, ParseGeoPoint and ParsePush
  • Improved: Logging for push notifications
  • Improved: JSONArray and JSONObject usage
  • Fix: Removed caching of auto-converted values in ParseObject
  • Fix: Do not remove currentUser's authData with LDS single instance
  • Fix: NPE in ManifestInfo due to missing required permissions during GCM permission checking
  • Fix: NPE in ParsePushBroadcastReceiver due to incomplete data from GCM
  • Other small bug fixes
  • Other small improvements

v1.11.0 — November 11, 2015

  • New: Removed ParseFile in memory cache
  • New: Removed ParseObject mutable container tracking
  • New: Removed GET_ACCOUNTS requirement for Push
  • New: Reduced required network requests for Push
  • New: ParseStarterProject supports compileSdkVersion 23 with minifyEnabled true
  • Fix: Multiple "current" ParseInstallation instances being created
  • Fix: NPE in ParseKeyValueCache due to cache dir not existing

v1.10.3 — October 9, 2015

  • New: ParseFacebookUtils and ParseTwitterUtils are now open source
  • New: Added APIs to ParseFile for uploading File directly
  • New: Added APIs to ParseFile for downloading ParseFile as File and InputStream
  • Fix: NullPointerException in ParseKeyValueCache due to cache directory not exist

v1.10.2 — September 15, 2015

  • Feature: Added APIs for network interceptors (See ParseInterceptors-Android)
  • New: Added ParseObject.revert() and revert(key) to allow reverting dirty changes
  • New: Publicized APIs for to ParseUser integration with ParseFacebookUtils and ParseTwitterUtils
  • Improved: ParseFiles download directly to disk
  • Fix: Not closing ApacheHttpClient Gzip Stream
  • Fix: Possible UI stutter
  • Other small improvements

v1.10.1 — August 19, 2015

  • Feature: ParseInstallation now automatically detects and stores current device locale.
  • Fix: Ability to receive null as a result from Cloud Code.
  • Fix: Ability to query for a ParseObject with a JSONArray value in Local Datastore.
  • Fix: ParseUser.getCurrentUser() returning a non-authenticated ParseUser with Local Datastore.
  • Enhancement: Better memory management.

v1.10.0 — August 13, 2015

Hello, open source!

  • New: ParseTwitterUtils and PPNS are now separate libraries.
  • New: ParseImageView and ParseQueryAdapter are now part of ParseUI.
  • Fixed: Inability to save an anonymous user that was persisted to disk on clean app start.
  • Fixed: Inability to query on a ParseRelation.
  • Fixed: Deadlock when calling pinAll on objects that have shared children.
  • Fixed: Deadlock when persisting the current user to disk while calling fetchIfNeeded on an object that's a child of the current user.
  • Removed: Support for old Push APIs (e.g. PushService.subscribe(), PushService.unsubscribe(), PushService.getSubscriptions(), PushService.setDefaultPushCallback()).
  • Other small bug fixes.

v1.9.4 — July 17, 2015

  • Fixed: ParseInstallation deviceToken not set in GCM-enabled devices.

v1.9.3 — July 1, 2015

  • Feature: Added support for Android M Preview.
  • Feature: Added support to use Apache HttpClient, URLConnection, and OkHttp for networking when available.
  • Fixed: saveAll/deleteAll now returns errors if some or all of the batch fails.
  • Fixed: deleteAll now properly dirties objects that were successfully deleted.
  • Fixed: Receiving duplicate pushes to the same application on the same device.
  • Improved: Reduced current ParseInstallation API requests.
  • Improved: Local Datastore optimizations.
  • Other small bug fixes.

v1.9.2 — May 12, 2015

  • Fixed: fetch() not updating instance with LDS enabled
  • Fixed: saveAll() with more objects than max REST batch limit
  • Fixed: Lazy anonymous current user persistence
  • Fixed: Sending pushes from client

v1.9.1 — April 9, 2015

  • Improved: ParseTwitterUtils no longer asks for reauthorization after first authorization.
  • Fixed: Losing current user due to Anonymous User race condition.
  • Fixed: Losing current user due to user pointer on current user.
  • Fixed: Unnecessary retries.
  • Fixed: ParseFacebookUtilsV4 javadocs.

v1.9.0 — March 25, 2015

  • Feature: Added manageable revocable session tokens with ParseSession.
  • Feature: Facebook Android SDK v4 support with ParseFacebookUtilsV4.jar.
  • Feature: Added support for logging out in background using ParseUser#logOutInBackground.
  • Other small bug fixes.

v1.8.4 — March 23, 2015

  • Split ParseFacebookUtils into ParseFacebookUtils.jar
  • Fixed: Deadlock on single core devices
  • Fixed: StackoverflowException while saveEventually cyclic ParseObjects

v1.8.3 — March 3, 2015

  • Feature: New option to ignore ACLs when querying data from Local Datastore
  • Improved Javadocs
  • Improved *Eventually commands with LDS and connectivity changes
  • Fixed: Push notifications now show ticker text by default
  • Fixed: Callbacks are no longer abstract classes, but interfaces
  • Fixed: ParseFile upload progress callbacks
  • Fixed: Unavailable API warnings
  • Other small bug fixes

v1.8.2 — January 23, 2015

  • Fixed anonymity getting cleared if signup fails.
  • Small bug fixes.

v1.8.1 — January 7, 2015

  • Feature: Automatically migrate current user/installation to Local Datastore.
  • Fix: Lower LDS memory consumption.
  • Fix: ParseQuery#count error causing NullPointerException.
  • Fix: Pushes without URIs not launching default Activity properly.
  • Small bug fixes.

v1.8.0 — December 9, 2014

  • Feature: Crash Reporting. See our QuickStart.
  • Feature: Support for registering for GCM push with extra sender IDs.
  • Feature: Wrap bolts.AggregateException with ParseException so it can be caught.
  • Fix deadlocks.
  • Small bug fixes.

v1.7.1 — October 15, 2014

  • Added a new set of APIs based on Bolts Tasks.
  • Fixed a bug with ParseQuery.whereEqualTo constraint.
  • Changed ParsePush.subscribeInBackground to not send an API request if the app is already subscribed to the channel.
  • Updated documentation.
  • Other small bug fixes.

v1.7.0 — September 30, 2014

  • Deadlock & local datastore fixes
  • Brand new Push API:
  • Introducing the ParsePushBroadcastReceiver, which makes customization dramatically easier. Subscribing to and handling pushes are now decoupled. To enable the new API, register the ParsePushBroadcastReceiver and replace your PushService calls with their replacement APIs in ParsePush.
  • Notification big views are automatically created if a notification's alert is too long to display in the small view.
  • The new "uri" push option will navigate to a URI with your application in the back stack.
  • Large icons are now available by subclassing ParsePushBroadcastReceiver and implementing getLargeIcon
  • PushService.subscribe is now deprecated. See ParsePush.subscribeInBackground which exposes completion and error information.
  • PushService.unsubscribe is now deprecated. See ParsePush.unsubscribeInBackground which exposes completion and error information.
  • PushService.setDefaultCallback is now deprecated. See ParsePushBroadcastReceiver.getNotification.
  • Push icons are now specified with the com.parse.push.notification_icon or ParsePushBroadcastReceiver.getSmallIconId.

v1.6.0 — September 8, 2014

  • Starting this release, Parse SDK supports only android-9+.
  • Add ParseConfig.
  • Fix ACLs with Local Datastore.
  • Parse.saveAll and deleteAll takes <T extends ParseObject> instead of ParseObject.
  • Speed up ParseUser.getCurrentUser() and ParseInstallation.getCurrentInstallation().
  • Automatically read Facebook app id from AndroidManfiest.xml .
  • Update documentation.
  • Small bug fixes.

v1.5.1 — May 30, 2014

Fixed various bugs with Local Datastore.

v1.5.0 — April 30, 2014

Adds Local Datastore.

v1.4.3 — April 4, 2014

Minor networking fix for a very small number of apps.

v1.4.2 — March 14, 2014

  • Speed up HTTP requests.
  • Speed up cached queries.
  • Optimize thread pool memory usage.
  • Fixed the duplication bug when CACHE_THEN_NETWORK is used with pagination.

v1.4.1 — February 11, 2014

  • When handling a push with an "action" item, only invoke receivers within the current package.
  • Improved reliability of keep alive packets sent by non-GCM push clients.
  • New ParseFile constructors ParseFile(String name, byte[] data, String contentType) and ParseFile(byte[] data, String contentType) allow for explicit content typing.

v1.4.0 — January 13, 2014

  • Support for receiving pushes via Google Cloud Messaging (GCM).
  • PushService.subscribe/unsubscribe no longer block the calling thread.

v1.3.9 — December 6, 2013

  • Improved reliability of keep alive packets sent by Parse Push.
  • Fixed deadlocks in ParseInstallation.saveEventually().
  • Added offline caching to ParseFile.

v1.3.8 — November 14, 2013

  • Add isDirty() and isDirty(key) to ParseObject.
  • Add ParseUser.become APIs.

v1.3.7 — November 9, 2013

  • Fixed a performance regression introduced in 1.3.6 in PushService hostname resolution.
  • Fixed a crasher in ParseStarterProject.

v1.3.6 — November 6, 2013

  • Fix an issue where ParseInstallation is saved on launch.
  • Improve reliability of PushConnection.

v1.3.5 — September 5, 2013

Adds Custom Analytics tracking with ParseAnalytics.trackEvent().

v1.3.4 — August 22, 2013

  • Fix CACHE_THEN_NETWORK with getFirst, count, and get(objectId).
  • Make ParseInstallation subclassable.
  • Make fetchAllIfNeeded properly generic.

v1.3.3 — August 9, 2013

Make current user more persistent in some error conditions.

v1.3.2 — July 31, 2013

Add deleteAll hooks. Fix bug in tracking app-opens.

v1.3.1 — July 3, 2013

Adds ParseQueryAdapter + ParseImageView.

v1.3.0 — May 30, 2013

Adds subclassing and strong typing. Please see this blog post for more information about how to fix compile errors when updating existing code.

v1.2.5 — May 11, 2013

Adds additional connectivity checks for the Push Service, improving responsiveness.

v1.2.4 — May 2, 2013

Adds third party license info.

v1.2.3 — March 29, 2013

Fixes a ConcurrencyModificationException that could happen if network connectivity status changes during application launch.

v1.2.2 — March 26, 2013

Fixes a bug where the ParseBroadcastReceiver can crash in the background after a device reboot for Push enabled apps.

v1.2.1 — March 21, 2013

Improves ParseFile handling of multiple calls to getData() and save()

v1.2.0 — March 18, 2013

Analytics Android SDK.

v1.1.16 — March 13, 2013

Fix occasional slowness of saveEventually.

v1.1.15 — March 1, 2013

Fixes a bug related to saving the current user with concurrent saves.

v1.1.14 — February 22, 2013

Enables multiple simultaneous saves and improves the threading model.

v1.1.13 — February 20, 2013

Rewrote networking code in PushService. Should now be much more resilient to network interface changes and reduces latency of aging connections.

v1.1.12 — February 12, 2013

Add new method whereContainsAll to ParseQuery

v1.1.11 — January 8, 2013

  • Updates to use Facebook 3.0 SDK
  • Note: the model for inclusion of the Facebook SDK has changed. You will need to follow these instructions when updating your SDK.

v1.1.10 — December 17, 2012

Adds Javadocs to the Android SDK for integration with Eclipse.

v1.1.9 — October 31, 2012

  • Fix a bug where automatic users + default ACLs inhibited PushService.subscribe.
  • PushService.subscribe now sets the managed fields on ParseInstallation (i.e. timeZone) that ParseInstallation.save does.

v1.1.8 — October 30, 2012

Fix a bug where non-JSONObject results from cloud functions crashed the client.

v1.1.7 — October 30, 2012

Added whereDoesNotMatchKeyInQuery

v1.1.6 — October 2, 2012

Fixes an Application Not Responding error in PushService.subscribe

v1.1.5 — October 2, 2012

The ParseInstallation class now manages the appVersion, appName, and parseVersion keys automatically

v1.1.4 — September 28, 2012

  • Adds an optional callback to ParseObject.saveEventually and deleteEventually.
  • Improves the latency of push channel subscriptions.
  • Improves push service reliability.
  • Makes some error messages more helpful.

v1.1.3 — September 14, 2012

  • Send pushes using a query.
  • Android devices can receive pushes with advanced targeting (e.g. push by query)

v1.1.2 — September 11, 2012

Added ParseCloud support

v1.1.1 — September 7, 2012

Fixes a bug in atomic array operations (add/addUnique/removeAll)

v1.1.0 — September 5, 2012

Allow saveEventually of objects with relations to other new, unsaved objects.

v1.0.28 — August 30, 2012

Adds the default push callback to PushService. The PushService will now shut down whenever it is fully unsubscribed.

v1.0.27 — August 20, 2012

Adds ParseInstallation. Push users should ensure that they call Parse.initialize from within their Application.onCreate

v1.0.25 — August 8, 2012

  • Fixes a bug where atomic ops make an object forever dirty
  • Fixes a timing bug in tests
  • Fixes a bug where pushes stomped over each other's intent
  • Fixes a bug where transfer encodings might trigger an AIOOB exception

v1.0.24 — July 30, 2012

Fixes a bug in saving relations with other saves

v1.0.23 — July 13, 2012

Improves handling of user authentication

v1.0.22 — June 22, 2012

Added atomic array operations.

v1.0.21 — June 13, 2012

Add whereMatchesKeyInQuery

v1.0.20 — May 29, 2012

Adds ParseRole and support for Role-based Access Controls

v1.0.18 — May 17, 2012

Added support for large many-to-many relations through the ParseRelations object.

v1.0.17 — May 8, 2012

  • Fixes a thread-safety error in PushService.
  • Updates push documentation to reflect naming requirements for push channels.

v1.0.16 — April 26, 2012

Enhancements to dirty tracking and ACLs.

v1.0.15 — April 25, 2012

Improvements to related to anonymous users and switching to existing Facebook/Twitter users.

v1.0.14 — April 24, 2012

Update the Facebook SDK.

v1.0.13 — April 19, 2012

Enhancements to count queries with respect to local caching.

v1.0.12 — April 19, 2012

Added support for notInQuery.

v1.0.11 — April 17, 2012

  • Enhancements to multiple JSON encoding of objects.
  • Store time on disk so that push notifications aren't re-sent on some app restarts.

v1.0.10 — April 16, 2012

  • Improvement with multiple instances of an authenticated user.
  • Throws better errors when calling uninitialized Facebook and Twitter utils.

v1.0.9 — April 11, 2012

  • Update the starter and todo projects to use the state-of-the-art in ADT-recommended settings.
  • Improvements to logging out of users.

.NET Changelog

v1.7.0 — January 8, 2016

New

  • Conversion.As() API for converting between collections of various types is now public (#71)
  • Implemented new, better APIs for initialization of the SDK (#79)
  • Can now change the server URL that the SDK points to (#147)
  • Can now send delayed push notifications (thanks, @Julien-Mialon! #94)
  • Now have alpha support for tvOS on Unity platforms (#144)

Fixed

  • Fixed bug with ParseObject properties such as ACL, ObjectId (#98)
  • Can now handle date formats with any number of trailing zeroes (#84)
  • ParseObject subclassing should work once again on Unity (#118, #123)
  • Releases should now be properly strongly-signed again (#129)
  • TimeZones of installations should now be properly reported regardless of device language on Unity and WinPhone (#148)

v1.6.2 — November 19, 2015

  • Dropped support for Unity 4. Read more here: http://blogs.unity3d.com/2015/12/17/final-release-for-unity-4-x/
  • Fixed: Rare threading crash in Xamarin.iOS.
  • Fixed: Unity push notifications are now functioning again.
  • Fixed: No longer will silently fail when installation info changes.
  • Improved: URLs for ParseFiles now use HTTPs when applicable.
  • Improved: Can now query from ParseReleations that were created locally.
  • Improved: HttpClient will no longer fail to report certain rare exceptions.
  • Improved: Removed 'mutable containers' functionality, significantly enhances performance.

v1.6.1 — October 20, 2015

  • Fixed a potential crash when saving an object in multiple collections.
  • Safer parsing of error codes returned by unity's http client.
  • Properly report errors during user signup.
  • Fixed a potential NullReferenceException when recieving a push notification on WinRT.
  • Fixed crash related to UIKit properties on Xamarin.iOS not being accessed from the main thread.
  • Fixed crash related to UnityEngine properties not being accessed from the main thread.

v1.6.0 — September 23, 2015

  • Hello, open source!
  • Fixed: Error code parsing on Unity.
  • Fixed: SaveAsync throws NullPointerException while saving LocaleIdentifier.

v1.5.5 — August 19, 2015

Feature: ParseInstallation now automatically detects and stores current device locale.

v1.5.4 — August 7, 2015

  • Feature: Add DeleteAllAsync.
  • Fixed: Issue with get_version on Unity.
  • Fixed: Unity Android Plugin is now optional.
  • Fixed: Unity Android not getting notification when the app is soft-closed.
  • Fixed: ParseInstallation can now save properly after restart.
  • Fixed: Deadlock issue on Xamarin iOS.
  • Fixed: WinRT issue due to empty X-Parse-OS-Version.

v1.5.3 — July 12, 2015

  • Fixed: Issue with aggresive caching on Windows Phone 8.1.
  • Fixed: Parse Unity sample projects bundling.
  • Fixed: SubscribeAsync("") throwing exception on Windows Phone 8.1.

v1.5.2 — June 9, 2015

Fixed: Minor Xamarin Android Push bug fix.

v1.5.1 — June 4, 2015

  • Fixed: Server error (error code > 500) will throw ParseException.InternalServerError instead of ParseException.OtherCause.
  • Fixed: Xamarin iOS foreground push now works properly.
  • Fixed: get_isWebPlayer error now shouldn't happen anywhere (be it in Editor nor in device).
  • Fixed: Very long query now works (previously it gets truncated in Xamarin Android).
  • Fixed: Remove dependency issue with Xamarin.Android.Support.V4.
  • Fixed: parse.PushService should now be detected if built from either Xamarin 4.x or Xamarin 5.x.
  • Fixed: Add ParsePush.jar to Unity library.
  • Fixed: Xamarin iOS, Xamarin Android, Unity sample projects updated to reflect all the fixes.

v1.5.0 — May 21, 2015

  • Feature: Unity iOS can now receive Push Notifications.
  • Feature: Unity Android can now receive Push Notifications.
  • Feature: Xamarin iOS can now receive Push Notifications.
  • Feature: Xamarin Android can now receive Push Notifications.
  • Fixed: Add NuGet package to Windows Phone 8.1.
  • Fixed: Fix ParseInstallation properties not updating correctly.

v1.4.1 — April 9, 2015

  • Improved: Unity query performance.
  • Fixed: Duplicate user when registering twice with ParseFacebookUtils.
  • Fixed: ParseInstallation crashes when manifest contains DisplayName tags.
  • Fixed: deviceUri field is not set on first time open.
  • Fixed: Upgrade Xamarin Android to use SDK 9.

v1.4.0 — March 25, 2015

  • Feature: Added manageable revocable session tokens with ParseSession.
  • Fix: Bug when fetching data with BeforeSave hook.
  • Xamarin iOS and Xamarin Android are now on NuGet package.

v1.3.5 — March 11, 2015

This release is mainly focused on fixing Unity iOS IL2CPP compatibility. When using IL2CPP, please be sure to use the 4.6.3p2 patch release or later. Unity 5 does not have all the IL2CPP fixes in Unity 4.6.3pX releases, so Unity 5 is not supported yet.

  • Fixes ParseObject.SaveAsync on Unity iOS IL2CPP.
  • Fixes ParseObject.GetAsync on Unity iOS IL2CPP.
  • Fixes ParseUser.LoginAsync on Unity iOS IL2CPP.
  • Fixes ParseQuery.FindAsync on Unity iOS IL2CPP.
  • Fixes a few Task-related bugs on Unity iOS IL2CPP.
  • Fixes ParseObject.Get<List> on Unity.

Known remaining limitations on Unity iOS IL2CPP:

  • ParseObjects with IList/IDictionary field values nested more than 1 level deep may cause TypeLoadException during query or save (waiting for Unity's IL2CPP MakeGenericType fix).
  • Consecutive Parse network calls in a short period of time may degrade game performance (waiting for Unity's IL2CPP ThreadPool fix).

v1.3.4 — February 12, 2015

  • Adds Select.
  • Adds WhereDoesNotMatchesKeyInQuery.
  • Bug fixes for Xamarin Android.

v1.3.3 — January 23, 2015

  • Enables stripping on iOS and Android for Unity.
  • Fixes bug on Windows Phone queries.
  • Unity iOS now can use ParseQuery.Or properly.

v1.3.2 — December 19, 2014

Support for Xamarin 64 bit Unified API. Fixes some minor bugs on Unity.

v1.3.1 — October 17, 2014

Adds more ParseException and few bug fixes.

v1.3.0 — September 8, 2014

Adds ParseConfig.

v1.2.16 — July 19, 2014

Small bug fixes.

v1.2.15 — July 19, 2014

Fixes bugs in Unity.

v1.2.14 — February 6, 2014

Fixes an issue with certain versions of Unity on iOS.

v1.2.13 — January 18, 2014

Adds Single Sign-on to Facebook for Windows Phone and Windows 8

v1.2.12 — January 9, 2014

Fixes a minor bug when saving an object with dirty children.

v1.2.11 — December 28, 2013

Make Windows 8 push notification received events synchronous so that Toasts can be canceled.

v1.2.10 — November 15, 2013

  • Adds IsKeyDirty()
  • Adds BecomeAsync() for becoming a user based on a session token
  • Fixes an issue with ParseFacebookUtils.IsLinked()

v1.2.9 — October 4, 2013

Fixes a bug related to culture-dependent JSON parsing.

v1.2.8 — September 30, 2013

  • Adds support for ContainsAll queries.
  • Fixes a bug when using increment on a double field.
  • Ensures availability of ParseAnalytics in Xamarin SDKs.
  • Moves processing of large queries off of the main thread on Unity.

v1.2.7 — September 5, 2013

  • Adds Custom Analytics tracking with ParseAnalytics.TrackEventAsync().
  • Adds support for the new Unity SDK.

v1.2.6 — July 31, 2013

  • Adds support for subclassing ParseObject
  • Enables LINQ query syntax for Xamarin.iOS

v1.2.5 — June 25, 2013

  • Bugfixes for ParseInstallation on Windows Phone
  • Add support for receiving pushes on Windows Phone
  • Add support for tracking push-initiated app opens in Windows Phone.

v1.2.4 — May 15, 2013

Adds the ParsePush and ParseAnalytics classes.

v1.2.3 — May 3, 2013

Fixes JIT errors using the Xamarin.iOS SDK on-device.

v1.2.2 — May 2, 2013

Adds third party license info.

v1.2.1 — April 16, 2013

Adds support for Xamarin.iOS and Xamarin.Android.

v1.0.5 — March 15, 2013

Improves SaveAllAsync and FetchAllAsync so that they use fewer requests.

v1.0.4 — January 23, 2013

Adds support for .NET 4.5

v1.0.3 — November 21, 2012

Implements INotifyPropertyChanged on ParseObjects so they can be used with data binding.

v1.0.2 — November 15, 2012

Adds support for Windows Phone 8

v1.0.1 — November 9, 2012

Adds support for login with Facebook

v1.0.0 — October 25, 2012

Initial version of the Parse Windows 8 SDK

JavaScript Changelog

v1.6.14 — January 5, 2016

Fixes:

  • Catch quota exceptions on Safari Private Browsing, so that the SDK does not break
  • Fix non-inherited static methods in IE10
  • Avoid exceptions when encountering unsaved objects in dirty mutable containers
  • Fix an inheritance issue with ParseObject.prototype.clone()
  • Move legacy initialization to the top of the ParseObject constructor
  • Avoid a potential "resolved after rejected" error in IE9
  • Use stored server url's path for batch requests

v1.6.13 — December 18, 2015

No changes, other than fixing an npm problem due to a network issue during publishing.

v1.6.12 — December 17, 2015

Changes:

  • Fix a case where ACLs set in beforeSave calls would become null on the client
  • Ensure that query results do not override the className of returned objects for rare cases when it is provided by the server

v1.6.11 — December 16, 2015

Changes:

  • Fixed a false detection of a Promise in Promise.is
  • Modified FacebookUtils to work better with React Native
  • CoreManager.get('VERSION') now appends 'js' to the package.json version
  • RestController no longer automatically prepends '/1/' to SDK paths

v1.6.9 — November 10, 2015

Fixed a case where a failed save would later require a successful save before later changes were sent to the server.

Adds an option to ignore validation when creating an object or setting attributes

Calling logOut is only resolved after the AJAX request completes, not after the disk entry is deleted.

v1.6.8 — October 29, 2015

Fixes object encoding for deeply-nested objects

Strips anonymous authData when a username is set (only useful for Cloud Code)

Exposes Parse.Promise.enableAPlusCompliant() and Parse.Promise.disableAPlusCompliant(), to make the exception handling follow the A+ spec.

Retries on connection failure in Node.js, and returns human-friendly errors when this fails.

Allow custom session tokens to be used when calling cloud functions

v1.6.7 — October 13, 2015

Continuation of v1.6.6 fixes. This ensures that nested objects returned from cloud code properly encode their createdAt / updatedAt fields.

v1.6.6 — October 13, 2015

Modifies a previous bugfix that led Cloud Code to only return pointers. With v1.6.6, the SDK properly encodes cycles while still including any .include()-ed objects.

v1.6.5 — October 6, 2015

Bug fixes:

  • Make sure objects inflated from fromJSON() are marked as previously existing
  • Properly decode ACL fields when inflating JSON objects
  • Querying for 'User' objects obeys the global rewrite flag (when enabled, it rewrites 'User' to '_User'

v1.6.4 — September 28, 2015

  • Fixed an issue with the return result of ParseRelation.add
  • Fixed a case where encoding Parse Objects could result in a stack overflow
  • Allow user login on server environments, without touching the current user
    • Also allow disabling current user once it had been enabled on server environments
    • Passing the user to Backbone-style callbacks on login failure
  • Fix a FB login error
  • Some general documentation cleanup

Build process: - Leveraging Babel plugin for injecting variables from package.json - Including PATENTS.md and the compiled dist/ releases in the npm module

v1.6.3 — September 15, 2015

Encoded Parse.Objects will expose their createdAt and updatedAt fields as strings, not Date objects. This should fix some Cloud Code issues.

Synchronizing the authentication data of a Parse.User will ignore any authentication providers that are not locally registered.

The SDK will not send an unnecessary JavaScript Key in the payload of Master Key-signed requests.

v1.6.1 — September 11, 2015

Fixed an issue where Users that had been saved to disk with prior versions of the SDK could no longer be loaded with 1.6 onwards.

Exposing require('parse').Parse, which simply points back to the top-level Parse npm package, for legacy codebases.

v1.6.0 — September 9, 2015

New Features

Designed to work with ES6. Parse.Object can be treated as a class, and can be subclassed with the extend keyword

When subclassing Parse.Object, you will need to call Parse.Object.registerSubclass()

Better support for different platforms, with custom builds for React Native and Node

All platforms still use the “parse” npm module, but node.js applications should use “require(‘parse/node’)” and React Native applications should use “require(‘parse/react-native’)”

Objects can be created from JSON with Parse.Object.fromJSON()

Pointers can be generated with Parse.Object.prototype.toPointer()

All SDK configuration is now stored in Parse.CoreManager

Controllers for concepts like local storage can be hot-swapped via CoreManager

Changes

SDK no longer contains Backbone-specific behavior. Moving forward, the core SDK will not be tied to any single framework, but we will work with the community to produce up-to-date bindings like Parse+React. The major changes are the removal of Parse.Collection, and allowing Parse.Objects to act as event channels.

SDK no longer ships with Underscore.js included.

Field type mismatches (trying to increment a string field) will now throw exceptions on the client side.

In server environments where the current user has not been explicitly enabled, fetching the current user will now return null instead of throwing. Attempts to change the current user through logIn or become will still throw.

Parse.Ops no longer publicly expose their values

v1.5.0 — July 13, 2015

Removed the concept of the current user when running in node.js Current users can be enabled in node with Parse.User.enableUnsafeCurrentUser() Many requests now support passing an explicit session token as an option

v1.4.0 — March 25, 2015

  • Adding support for new enhanced Sessions.
  • Dependencies have been updated.
  • Adding support for the React Native environment.

v1.3.5 — February 20, 2015

  • SDK requests that result in a 500 error will now be retried
  • Empty objects can be created with createWithoutData
  • Fixed an issue with selecting specific fields on an .each() query
  • Fixed a case where arrays of pointers might be incorrectly marked as dirty

v1.3.4 — January 23, 2015

  • Improved compatibility with Webpack and Browserify.
  • Updated documentation.

v1.3.2 — November 24, 2014

Minor bug fix.

v1.3.1 — October 20, 2014

  • Improve error handling in Parse.Analytics.track()
  • Fix Parse.Query#get() on relations when the parent object is not yet fetched
  • Fix Parse.Events#off() when called without a callback or context

v1.3.0 — September 8, 2014

  • Add Parse.Config.
  • Minor bug fixes.

v1.2.19 — July 9, 2014

Fix useMasterKey option on Parse.Query.each.

v1.2.18 — March 19, 2014

Fix an issue with the locally-cached copy of Parse.User after save operations.

v1.2.17 — March 12, 2014

Add more sorting methods and fetchAll.

v1.2.16 — January 6, 2014

Add getSessionToken method to Parse.User.

v1.2.15 — December 17, 2013

Make IE 10 use XMLHttpRequest instead of XDomainRequest. This makes error messages better, and also fixes ParseUser.existed().

v1.2.14 — December 16, 2013

Make many errors that had code -1 have more specific error codes.

v1.2.13 — November 14, 2013

  • Add Parse.User.become.
  • Add Parse.Object#dirtyKeys.
  • Add Parse.Promise methods always, done, fail.
  • Add Parse.User.allowCustomUserClass.

v1.2.12 — September 11, 2013

Improves interaction between Parse.FacebookUtils and the Facebook Javascript SDK.

v1.2.11 — September 10, 2013

Fix ability to send dimensions along with Custom Events.

v1.2.10 — September 5, 2013

Adds Custom Analytics tracking with Parse.Analytics.track().

v1.2.9 — August 13, 2013

  • Add the ability to bulk delete objects using Parse.Object.destroyAll().
  • Fixes infinite recursion when saving objects with files in them.

v1.2.8 — June 3, 2013

  • Fix bug with saving an object with Parse.File in it.
  • Fix bug with getting a User subclass after logging in with Facebook.
  • Improve the way atomic relations deal with duplicate objects.

v1.2.7 — April 17, 2013

Release to fix Parse Data Browser.

v1.2.5 — April 12, 2013

Add ability to use Master Key in node.js.

v1.2.4 — April 12, 2013

  • Fixes saving objects with cycles.
  • Adds Parse.File.
  • Adds query.select() to retrieve only certain keys.

v1.2.3 — April 4, 2013

Fixes interaction with Facebook SDK when logging in.

v1.2.2 — March 10, 2013

  • Fix a bug where objects get unfetched after a save.
  • Fix some bugs with promises on users.

v1.2.1 — February 12, 2013

  • Add new containsAll method to Parse.Query
  • saveAll calls now batch server requests to make as few requests as possible

v1.2.0 — January 30, 2013

Add Parse.Promise, which is returned from most async methods.

v1.1.16 — January 17, 2013

Fixes a bug when encoding dates obtained from Moment.js.

v1.1.15 — December 5, 2012

Fixes removing Parse.Objects from arrays atomically by objectId.

v1.1.14 — December 4, 2012

Fixes a problem with adding a model to Parse.Collection at the 0th index.

v1.1.13 — November 21, 2012

Fixes a bug in handling logout for Facebook users.

v1.1.12 — November 21, 2012

Corrects an issue caused by use of a deprecated Facebook API.

v1.1.11 — November 14, 2012

Corrects an issue with name validation for Roles.

v1.1.10 — November 13, 2012

Extended JSON serialization for Parse.Object: Calling JSON.stringify() on a Parse.Object will now include the default attributes 'objectId', 'createAt', and 'updatedAt' in the output.

v1.1.9 — November 12, 2012

Prefixes Parse.version with "js"

v1.1.8 — November 2, 2012

Fixed Parse.Query's get() and find() to return createdAt/updatedAt as Dates instead of Strings.

v1.1.7 — October 30, 2012

Added doesNotMatchKeyInQuery

v1.1.6 — October 16, 2012

Fixes a problem with missing localStorage and XMLHttpRequest in node.js.

v1.1.5 — October 2, 2012

Fixes a bug with emailVerified being set incorrectly on the current user.

v1.1.4 — September 28, 2012

Fixes an issue with keeping the Facebook SDK in sync with the current user's Facebook data.

v1.1.3 — September 27, 2012

Added OR queries

v1.1.1 — September 17, 2012

Improved serialization/deserialization of Parse.Op

v1.1.0 — September 17, 2012

Added ability to send pushes

v1.0.23 — September 11, 2012

Added Parse.Cloud support

v1.0.22 — September 7, 2012

Fix a bug when querying for a Parse.Role and then saving it.

v1.0.21 — August 31, 2012

Allow properties to be inherited when subclassing from a subclass of Parse.Object.

v1.0.20 — August 31, 2012

Fix a rare bug when property changes on Parse.Objects weren't firing events.

v1.0.19 — August 21, 2012

Fix a bug where field continues to be dirty after fetch.

v1.0.18 — August 20, 2012

More minor refactoring.

v1.0.17 — August 20, 2012

Minor refactoring.

v1.0.16 — August 20, 2012

Added Parse.History and Parse.Router

v1.0.15 — August 14, 2012

Added increment, add, addUnique

v1.0.13 — July 30, 2012

Add Parse.Query.withinGeoBox.

v1.0.12 — July 23, 2012

Make include() work with Parse.Query.get().

v1.0.11 — July 23, 2012

Fix recursive saving of Parse.Objects inside arrays.

v1.0.10 — July 17, 2012

  • Removes use of deprecated Facebook SDK APIs
  • Improves handling of Facebook login

v1.0.9 — July 13, 2012

Improves handling of user authentication.

v1.0.8 — July 9, 2012

Fix a bug where objects retrieved by query.include had extra fields that couldn't be saved.

v1.0.7 — July 6, 2012

Added notContainedIn support

v1.0.6 — June 26, 2012

Adds Parse.FacebookUtils for enabling login with Facebook.

v1.0.5 — June 19, 2012

Fix a bug in objects with a "length" attribute.

v1.0.4 — June 13, 2012

Added new query constraint matchesKeyInQuery

v1.0.3 — June 11, 2012

Add an optional parameter to check if a particular key on a Parse.Object is dirty.

v1.0.2 — June 8, 2012

  • Adds ability to subclass Parse.User with Parse.Object.extend("User").
  • Adds automatic refreshing of current user data after saves and fetches.

v1.0.1 — June 5, 2012

Fixes a bug in Parse.Relation where the query was not being constructed correctly.

v1.0.0 — May 30, 2012

First release of the JavaScript SDK