Breaking Changes
- Remove deletion of Anonymous User on logout (#1324) See https://community.parseplatform.org/t/anonymous-user-destroyed-on-logout/1425
Improvements
- Allow multiple classNames for
Parse.Object.registerSubclass
(#1315)
const classNames = ['ClassOne', 'ClassTwo', 'ClassThree'];
for (const className of classNames) {
Parse.Object.registerSubclass(className, CustomClass);
}
Fixes
- Fixes build for WeChat WeApp, to reduce package size, see issue/#1331
Breaking Changes
Parse.Push.send
will now return the pushStatusId instead of { result: true }
Features
- Add Server Health Check
Parse.getServerHealth()
(#1307) - Allow saving with custom objectId
Parse.allowCustomObjectId = true
(#1309) Parse.Push.send
now returns pushStatusId (#1302)- Add
Parse.Push.getPushStatus
(#1302)
Improvements
Fixes
- EventuallyQueue now polls against
/health
endpoint, caused 403 forbidden side effect (#1305) - Allow nested increment on undefined fields (#1303)
- Handle increment on nested fields any level deep (#1301)
Breaking Changes
For security purposes, logIn will default to POST
instead of GET
method. (#1284)
If you need to use GET
set the usePost
option to false.
Parse.User.logIn('username', 'password', { usePost: false })
Features
- Add EventuallyQueue API, object.saveEventually, object.destroyEventually (#1291)
- Add Parse.CLP Object to control ClassLevelPermissions (#1145)
- Add option
{ json: true }
on queries (#1294) - Add IndexedDB Storage Controller (#1297)
- Parse.User.isCurrentAsync() for async storage (#1298)
Improvements
Fixes
- Allow connect to LiveQuery with null fields (#1282)
- fromJSON: Return date if value is type
Date
(#1293) - fromJSON: Allow keys to dirty, allows save fromJSON (#1295)
- Parse.Schema.addField accepts Pointer and Relation types (#1281)
Features
- New error code 210 (MFA_ERROR) (#1268)
- New error code 211 (MFA_TOKEN_REQUIRED) (#1268)
- New error code 161 (FILE_DELETE_UNNAMED_ERROR) (#1257)
Improvements
- Parse.File.destroy without name error message (#1257)
Fixes
- Remove unnecessary object reference and comment from AddUniqueOp (#1253)
- Internal Referencing for Increment Dot Notation (#1255)
- Saving for Increment Dot Notation (#1219)
Features
- Support query.findAll() (#1233)
Improvements
- Pass objects into query.equalTo / query.notEqualTo (#1235)
- Improving legacy initialization setters/getters (#1237)
- Remove deprecated backbone options from Parse.Push (#1238)
- Code Coverage and Unit Tests (#1241)
Fixes
- Prevent crashing LiveQueryClient if emitter error is not set (#1241)
- Handle LiveQuery subscription socket error (#1241)
- Set WeChat socket handlers before connecting (#1241)
- Parse.Installation validating attribute error (#1241)
Improvements
- User LogIn with usePost option (#1229)
Idempotency enforcement for client requests. This deduplicates requests where the client intends to send one request to Parse Server but due to network issues the server receives the request multiple times. (Parse-Server 4.3.0+) Caution, this is an experimental feature that may not be appropriate for production.
To enable use either of the following:
Parse.CoreManager.set('IDEMPOTENCY', true)
Parse.idempotency = true
Features
- Idempotency Request (#1210)
Improvements
- Allow Pin of unsaved objects in LocalDatastore (#1225)
Fixes
- crypto-js crashing React Native (#1218)
- Schema mismatch error on add / remove empty array on Relation (#1222)
- query.select error on null fields (#1223)
Features
- New Parse.Error 159 DUPLICATE_REQUEST (#1189)
Fixes
- Live Query Subscription Error Event (#1193)
New Features
- Passing context in destroy, saveAll, get, find hooks. (#1159)
- Support using aggregate on top of constructed query (#1170)
Improvements
- Performance improvement for Query.eachBatch (#1179)
Fixes
- Fix context for cascade saving (#1186)
New Features
Improvements
- Add read preference for aggregate query (#1143)
- Add file progress type (upload/download) (#1140)
- Add context to Parse.Object.save (#1150)
Fixes
New Features
- Support Parse.Query hint (#1054)
- Support Parse.Query eachBatch (#1114)
- Support Parse.Object decrement (#1069)
- Support deleting Parse.File (#1067)
- Support File Metadata (#1065) (#1070)
Improvements
- Support global request batch size (#1053)
- Username signup error (#1080)
- Pass SaveAll options to Files (#1107)
- Make iteration query methods (map, filter, reduce) returned promises (#1112)
Fixes
- Fix user.become for AsyncStorage (#1056)
- Subscribing to query with null sessionToken (#1058)
- Fix addIndex annotation in Parse.Schema (#1071)
- Fix cascadeSave=false bug for SingleInstance objects (#1078)
- Fix react-native build (#1094)
New Features
Improvements
- Support query.cancel() on Node (#1030)
Fixes
New Features
- Add query.fromNetwork() (#1002)
- Add query.cancel() (browser only) (#1003)
- Support custom request headers (#1019)
Fixes
- To subclass Parse.User:
Parse.Object.registerSubclass('_User', CustomUser);
Security Address Security Advisory of possible leak of sensitive user info. (#d110617), big thanks to Colin Ulin for identifying the problem, following the vulnerability disclosure guidelines
Fixes
Deprecation
_linkWith
and _logInWith
are deprecated. Replace with linkWith
and logInWith
respectively. (#963)
New Features
- Set Class Level Permission via Parse.Schema (#960)
- Set required fields and default values via Parse.Schema (#961)
- Add installationId to LiveQuery (#977)
- Add response object to LiveQuery (#979)
- Support query.map, query.filter, query.reduce (#987)
Fixes
Improvements
- User subclass support for logInWith, hydrate, me, current (#968)
- Remove unused options from Parse.Schema (#959)
- Documentation for linking users and custom auth (#963)
- Generate installationId as uuid v4 (#972)
- Reuse StorageController for LDS (#984)
New Features
Fixes
- React Native Emitter module (#946)
- Parse.Schema deleteIndex, deleteField returns Parse.Schema (#949)
Improvements
New Features
- Support for
ParseConfig.save
withmasterKeyOnlyFlags
option (#910) (Requires Parse-Server 3.8.0+) - Support for
ParseConfig.get
withuseMasterKey
option (#907)
New Features
- Support for
ParseObject.fetchAllIfNeededWithInclude
(#900) - Support for
ParseObject.exists
(#898) - Support for
ParseObject.save
withcascadeSave
option (#881)
Fixes
ParseUser.become
should return subclass (#897)- Ensure LiveQuery subscribes before returning subscription (#878)
Improvements
- Remove deprecated
@babel/polyfill
(#877)
New Features:
- Support configurable WebSocketController (#64f359a)
- Support for Wechat Mini Program (#874)
- Support withCount query constraint (#868)
Improvements:
- Fix SERVER_RENDERING environment variable (#873)
- FIX: NPM credentials
New Features:
- Support query exclude keys (#857)
- Support query read preference (#855)
- Support object isDataAvailable (#856)
Improvements:
- Add options for AnonymousUtils (#860)
- Stateless UserController (#846)
- Fix Facebook login isExisted (#845)
- Allow any Blob to be uploaded (#837)
- Support _linkWith if no provider (#810)
- LDS: Improve querying dates (#808)
- Support testing on Windows (#808)
- Support installing SDK from branch (#821)
New Features:
Improvements:
- LocalDatastore: Improve pinning unsaved objects (#795)
- LocalDatastore: Improve error handling (#803)
- Support
getData
from Parse.File (#780) - Parse.FacebookUtils
logIn
andlink
support MasterKey and SessionToken options (#779) - Remove node modules
http
andhttps
from React-Native build (#776)
_linkWith
and_unlinkFrom
support MasterKey and SessionToken options (#767)- Correct homepage in package.json (#9e198b3)
- Add Issues template for opening GitHub Issue (#760)
- Add Public email address to satisfy an npmjs requirement (#764)
- File uri upload for Browser / React-Native (#765)
- LocalDatastore fixes for React-Native (#753)
- LocalDatastore update from Server (#734)
- Support for Anonymous Users (#750)
- File upload via uri (#749)
- Add support to secured endpoints throught Authorization header (#358)
- Remove authResponse in FacebookUtils (#728)
- UserSubclass.logIn and UserSubclass.signUp returns subclass (#756)
- Subscribe to multiple LiveQuery subscriptions (#758)
- Addresses issue with babel runtime regenerator (#740)
- Support for Local Datastore (#612)
- LiveQuery override data on update (#718) (Requires Parse-Server 3.1.3+)
- Support setting user from JSON (hydrate) (#730)
- Improve dot notation for updating nested objects (#729)
- LiveQuery handle unset operation (#714) (Requires Parse-Server 3.1.3+)
- Add original object to LiveQuery events (#712) (Requires Parse-Server 3.1.3+)
- Add support for providing file upload progress. (#373) (Browser Only)
- Support clone with relation (#382)
- Add batchSize to saveAll / destroyAll (#701)
- Add save Method for Parse.Config (#684)
- Allow specific keys to be reverted in unsaved objects (#565)
- Handle undefined in Cloud Code (#682)
- Validate if geopoint values is number (#671)
- LiveQuery Support for Subclasses (#662)
- Parse.Error now inherits from Error (#658)
- Fixes issue affecting unsubscribing from liveQueries (#640)
- Adds support for aggregate stages with identical names (#637)
- Adds ability to fetch an object with includes (#631)
- Adds support for $nor operator in queries (#634)
- Adds support for containedBy operator in queries (#633)
- Adds support for includeAll (#632)
- Ensure we only read the job status id header if present. (#623)