2.2.17 (07/23/2016)
- Cloud code logs #2370 (flovilmart)
- Make sure _PushStatus operations are run in order #2367 (flovilmart)
- Typo fix for error message when can't ensure uniqueness of user email addresses #2360 (AndrewLane)
- LiveQuery constrains matching fix #2357 (simonas-notcat)
- Fix typo in logging for commander parseConfigFile #2352 (AndrewLane)
- Fix minor typos in test names #2351 (acinader)
- Makes sure we don't strip authData or session token from users using masterKey #2348 (flovilmart)
- Run coverage with istanbul #2340 (flovilmart)
- Run next() after successfully sending data to the client #2338 (blacha)
- Cache all the mongodb/version folder #2336 (flovilmart)
- updates usage of setting: emailVerifyTokenValidityDuration #2331 (cherukumilli)
- Update Mongodb client to 2.2.4 #2329 (flovilmart)
- Allow usage of analytics adapter #2327 (deashay)
- Fix flaky tests #2324 (flovilmart)
- don't serve null authData values #2320 (yuzeh)
- Fix null relation problem #2319 (flovilmart)
- Clear the connectionPromise upon close or error #2314 (flovilmart)
- Report validation errors with correct error code #2299 (flovilmart)
- Parses correctly Parse.Files and Dates when sent to Cloud Code Functions #2297 (flovilmart)
- Adding proper generic Not Implemented. #2292 (vitaly-t)
- Adds schema caching capabilities (5s by default) #2286 (flovilmart)
- add digits oauth provider #2284 (ranhsd)
- Improve installations query #2281 (flovilmart)
- Adding request headers to cloud functions fixes #1461 #2274 (blacha)
- Creates a new sessionToken when updating password #2266 (flovilmart)
- Add Gitter chat link to the README. #2264 (nlutsenko)
- Restores ability to include non pointer keys #2263 (flovilmart)
- Allow next middleware handle error in handleParseErrors #2260 (mejcz)
- Exposes the ClientSDK infos if available #2259 (flovilmart)
- Adds support for multiple twitter auths options #2256 (flovilmart)
- validate_purchase fix for SANDBOX requests #2253 (valeryvaskabovich)
- New: Expose InMemoryCacheAdapter publicly, thanks to Steven Shipton
- New: Add ability to prevent login with unverified email, thanks to Diwakar Cherukumilli
- Improved: Better error message for incorrect type, thanks to Andrew Lane
- Improved: Better error message for permission denied, thanks to Blayne Chard
- Improved: Update authData on login, thanks to Florent Vilmart
- Improved: Ability to not check for old files on Parse.com, thanks to OzgeAkin
- Fix: Issues with email adapter validation, thanks to Tyler Brock
- Fix: Issues with nested $or queries, thanks to Florent Vilmart
- Fix: Type in description for Parse.Error.INVALID_QUERY, thanks to Andrew Lane
- Improvement: Stop requiring verifyUserEmails for password reset functionality, thanks to Tyler Brock
- Improvement: Kill without validation, thanks to Drew Gross
- Fix: Deleting a file does not delete from fs.files, thanks to David Keita
- Fix: Postgres stoage adapter fix, thanks to Vitaly Tomilov
- Fix: Results invalid session when providing an invalid session token, thanks to Florent Vilmart
- Fix: issue creating an anonymous user, thanks to Hussam Moqhim
- Fix: make http response serializable, thanks to Florent Vilmart
- New: Add postmark email adapter alternative Glenn Reyes
- Hotfix: Fix Parse.Cloud.HTTPResponse serialization
- Hotfix: Pin version of deepcopy
- New: Custom error codes in cloud code response.error, thanks to Jeremy Pease
- Fix: Crash in beforeSave when response is not an object, thanks to Tyler Brock
- Fix: Allow "get" on installations
- Fix: Fix overly restrictive Class Level Permissions, thanks to Florent Vilmart
- Fix: Fix nested date parsing in Cloud Code, thanks to Marco Cheung
- Fix: Support very old file formats from Parse.com
- Security: Censor user password in logs, thanks to Marco Cheung
- New: Add PARSE_SERVER_LOGS_FOLDER env var for setting log folder, thanks to KartikeyaRokde
- New: Webhook key support, thanks to Tyler Brock
- Perf: Add cache adapter and default caching of certain objects, thanks to Blayne Chard
- Improvement: Better error messages for schema type mismatches, thanks to Jeremy Pease
- Improvement: Better error messages for reset password emails
- Improvement: Webhook key support in CLI, thanks to Tyler Brock
- Fix: Remove read only fields when using beforeSave, thanks to Tyler Brock
- Fix: Use content type provided by JS SDK, thanks to Blayne Chard and Florent Vilmart
- Fix: Tell the dashboard the stored push data is available, thanks to Jeremy Pease
- Fix: Add support for HTTP Basic Auth, thanks to Hussam Moqhim
- Fix: Support for MongoDB version 3.2.6, (note: do not use MongoDB 3.2 with migrated apps that still have traffic on Parse.com), thanks to Tyler Brock
- Fix: Prevent
pm2
from crashing when push notifications fail, thanks to benishak - Fix: Add full list of default _Installation fields, thanks to Jeremy Pease
- Fix: Strip objectId out of hooks responses, thanks to Tyler Brock
- Fix: Fix external webhook response format, thanks to Tyler Brock
- Fix: Fix beforeSave when object is passed to
success
, thanks to Madhav Bhagat - Fix: Remove use of deprecated APIs, thanks to Emad Ehsan
- Fix: Crash when multiple Parse Servers on the same machine try to write to the same logs folder, thanks to Steven Shipton
- Fix: Various issues with key names in
Parse.Object
s - Fix: Treat Bytes type properly
- Fix: Caching bugs that caused writes by masterKey or other session token to not show up to users reading with a different session token
- Fix: Pin mongo driver version, preventing a regression in version 2.1.19
- Fix: Various issues with pointer fields not being treated properly
- Fix: Issues with pointed getting un-fetched due to changes in beforeSave
- Fix: Fixed crash when deleting classes that have CLPs
- Fix: Write legacy ACLs to Mongo so that clients that still go through Parse.com can read them, thanks to Tyler Brock and carmenlau
- Fix: Querying installations with limit = 0 and count = 1 now works, thanks to ssk7833
- Fix: Return correct error when violating unique index, thanks to Marco Cheung
- Fix: Allow unsetting user's email, thanks to Marco Cheung
- New: Support for Node 6.1
- Fix: Fix a regression that caused Parse Server to crash when a null parameter is passed to a Cloud function
- New: Support for Pointer Permissions
- New: Expose logger in Cloud Code
- New: Option to revoke sessions on password reset
- New: Option to expire inactive sessions
- Perf: Improvements in ACL checking query
- Fix: Issues when sending pushes to list of devices that contains invalid values
- Fix: Issues caused by using babel-polyfill outside of Parse Server, but in the same express app
- Fix: Remove creation of extra session tokens
- Fix: Return authData when querying with master key
- Fix: Bugs when deleting webhooks
- Fix: Ignore _RevocableSession header, which might be sent by the JS SDK
- Fix: Issues with querying via URL params
- Fix: Properly encode "Date" parameters to cloud code functions
- Adds support for --verbose and verbose option when running ParseServer #1414 (flovilmart)
- Adds limit = 0 as a valid parameter for queries #1493 (seijiakiyama)
- Makes sure we preserve Installations when updating a token (#1475) #1486 (flovilmart)
- Hotfix for tests #1503 (flovilmart)
- Enable logs #1502 (drew-gross)
- Do some triple equals for great justice #1499 (TylerBrock)
- Apply credential stripping to all untransforms for _User #1498 (TylerBrock)
- Checking if object has defined key for Pointer constraints in liveQuery #1487 (simonas-notcat)
- Remove collection prefix and default mongo URI #1479 (drew-gross)
- Store collection prefix in mongo adapter, and clean up adapter interface #1472 (drew-gross)
- Move field deletion logic into mongo adapter #1471 (drew-gross)
- Adds support for Long and Double mongodb types (fixes #1316) #1470 (flovilmart)
- Schema.js database agnostic #1468 (flovilmart)
- Remove console.log #1465 (drew-gross)
- Push status nits #1462 (flovilmart)
- Fixes #1444 #1451 (flovilmart)
- Removing sessionToken and authData from _User objects included in a query #1450 (simonas-notcat)
- Move mongo field type logic into mongoadapter #1432 (drew-gross)
- Prevents _User lock out when setting ACL on signup or afterwards #1429 (flovilmart)
- Update .travis.yml #1428 (flovilmart)
- Adds relation fields to objects #1424 (flovilmart)
- Update .travis.yml #1423 (flovilmart)
- Sets the defaultSchemas keys in the SchemaCollection #1421 (flovilmart)
- Fixes #1417 #1420 (drew-gross)
- Untransform should treat Array's as nested objects #1416 (blacha)
- Adds X-Parse-Push-Status-Id header #1412 (flovilmart)
- Schema format cleanup #1407 (drew-gross)
- Updates the publicServerURL option #1397 (flovilmart)
- Fix exception with non-expiring session tokens. #1386 (0x18B2EE)
- Move mongo schema format related logic into mongo adapter #1385 (drew-gross)
- WIP: Huge performance improvement on roles queries #1383 (flovilmart)
- Removes GCS Adapter from provided adapters #1339 (flovilmart)
- DBController refactoring #1228 (flovilmart)
- Spotify authentication #1226 (1nput0utput)
- Expose DatabaseAdapter to simplify application tests #1121 (steven-supersolid)
- Important Fix: Disables find on installation from clients #1374 (flovilmart)
- Adds missing options to the CLI #1368 (flovilmart)
- Removes only master on travis #1367 (flovilmart)
- Auth._loadRoles should not query the same role twice. #1366 (blacha)
- Improves config loading and tests #1363 (flovilmart)
- Adds travis configuration to deploy NPM on new version tags #1361 (gfosco)
- Inject the default schemas properties when loading it #1357 (flovilmart)
- Adds console transport when testing with VERBOSE=1 #1351 (flovilmart)
- Make notEqual work on relations #1350 (flovilmart)
- Accept only bool for $exists in LiveQuery #1315 (drew-gross)
- Adds more options when using CLI/config #1305 (flovilmart)
- Update error message #1297 (drew-gross)
- Properly let masterKey add fields #1291 (flovilmart)
- Point to #1271 as how to write a good issue report #1290 (drew-gross)
- Adds ability to override mount with publicServerURL for production uses #1287 (flovilmart)
- Single object queries to use include and keys #1280 (jeremyjackson89)
- Improves report for Push error in logs and _PushStatus #1269 (flovilmart)
- Removes all stdout/err logs while testing #1268 (flovilmart)
- Matching queries with doesNotExist constraint #1250 (andrecardoso)
- Added session length option for session tokens to server configuration #997 (Kenishi)
- Regression test for #1259 #1286 (drew-gross)
- Regression test for #871 #1283 (drew-gross)
- Add a test to repro #701 #1281 (drew-gross)
- Fix for #1334: using relative cloud code files broken #1353 (airdrummingfool)
- Fix Issue/1288 #1346 (flovilmart)
- Fixes #1271 #1295 (drew-gross)
- Fixes issue #1302 #1314 (flovilmart)
- Fixes bug related to include in queries #1312 (flovilmart)
- Hotfix: fixed imports issue for S3Adapter, GCSAdapter, FileSystemAdapter #1263 (drew-gross
- Fix: Clean null authData values on _User update #1199 (yuzeh)
- Fixed bug with invalid email verification link on email update. #1253 (kzielonka)
- Badge update supports increment as well as Increment #1248 (flovilmart)
- Config/Push Tested with the dashboard. #1235 (drew-gross)
- Better logging with winston #1234 (flovilmart)
- Make GlobalConfig work like parse.com #1210 (framp)
- Improve flattening of results from pushAdapter #1204 (flovilmart)
- Push adapters are provided by external packages #1195 (flovilmart)
- Fix flaky test #1188 (drew-gross)
- Fixes problem affecting finding array pointers #1185 (flovilmart)
- Moves Files adapters to external packages #1172 (flovilmart)
- Mark push as enabled in serverInfo endpoint #1164 (drew-gross)
- Document email adapter #1144 (drew-gross)
- Reset password fix #1133 (carmenlau)
- Important Fix: Mounts createLiveQueryServer, fix babel induced problem #1153 (flovilmart)
- Move ParseServer to it's own file #1166 (flovilmart)
- Update README.md * remove deploy buttons * replace with community links #1139 (drew-gross)
- Adds bootstrap.sh #1138 (flovilmart)
- Fix: Do not override username #1142 (flovilmart)
- Fix: Add pushId back to GCM payload #1168 (wangmengyan95)
- New: Add FileSystemAdapter file adapter #1098 (dtsolis)
- New: Enabled CLP editing #1128 (drew-gross)
- Improvement: Reduces the number of connections to mongo created #1111 (flovilmart)
- Improvement: Make ParseServer a class #980 (flovilmart)
- Fix: Adds support for plain object in $add, $addUnique, $remove #1114 (flovilmart)
- Fix: Generates default CLP, freezes objects #1132 (flovilmart)
- Fix: Properly sets installationId on creating session with 3rd party auth #1110 (flovilmart)
- New Feature: Real-time functionality with Live Queries! #1092 (wangmengyan95)
- Improvement: Push Status API #1004 (flovilmart)
- Improvement: Allow client operations on Roles #1068 (flovilmart)
- Improvement: Add URI encoding to mongo auth parameters #986 (bgw)
- Improvement: Adds support for apps key in config file, but only support single app for now #979 (flovilmart)
- Documentation: Getting Started and Configuring Parse Server #988 (hramos)
- Fix: Various edge cases with REST API #1066 (flovilmart)
- Fix: Makes sure the location in results has the proper objectId #1065 (flovilmart)
- Fix: Third-party auth is properly removed when unlinked #1081 (flovilmart)
- Fix: Clear the session-user cache when changing _User objects #1072 (gfosco)
- Fix: Bug related to subqueries on unfetched objects #1046 (flovilmart)
- Fix: Properly urlencode parameters for email validation and password reset #1001 (flovilmart)
- Fix: Better sanitization/decoding of object data for afterSave triggers #992 (flovilmart)
- Fix: Changes default encoding for httpRequest #892 (flovilmart)
- Improvement: Full query support for badge Increment (#931) #983 (flovilmart)
- Improvement: Shutdown standalone parse server gracefully #958 (raulr)
- Improvement: Add database options to ParseServer constructor and pass to MongoStorageAdapter #956 (steven-supersolid)
- Improvement: AuthData logic refactor #952 (flovilmart)
- Improvement: Changed FileLoggerAdapterSpec to fail gracefully on Windows #946 (aneeshd16)
- Improvement: Add new schema collection type and replace all usages of direct mongo collection for schema operations. #943 (nlutsenko)
- Improvement: Adds CLP API to Schema router #898 (flovilmart)
- Fix: Cleans up authData null keys on login for android crash #978 (flovilmart)
- Fix: Do master query for before/afterSaveHook #959 (wangmengyan95)
- Fix: re-add shebang #944 (flovilmart)
- Fix: Added test command for Windows support #886 (aneeshd16)
- New: FileAdapter for Google Cloud Storage #708 (mcdonamp)
- Improvement: Minimize extra schema queries in some scenarios. #919 (Marco129)
- Improvement: Move DatabaseController and Schema fully to adaptive mongo collection. #909 (nlutsenko)
- Improvement: Cleanup PushController/PushRouter, remove raw mongo collection access. #903 (nlutsenko)
- Improvement: Increment badge the right way #902 (flovilmart)
- Improvement: Migrate ParseGlobalConfig to new database storage API. #901 (nlutsenko)
- Improvement: Improve delete flow for non-existent _Join collection #881 (Marco129)
- Improvement: Adding a role scenario test for issue 827 #878 (gfosco)
- Improvement: Test empty authData block on login for #413 #863 (gfosco)
- Improvement: Modified the npm dev script to support Windows #846 (aneeshd16)
- Improvement: Move HooksController to use MongoCollection instead of direct Mongo access. #844 (nlutsenko)
- Improvement: Adds public_html and views for packaging #839 (flovilmart)
- Improvement: Better support for windows builds #831 (flovilmart)
- Improvement: Convert Schema.js to ES6 class. #826 (nlutsenko)
- Improvement: Remove duplicated instructions #816 (hramos)
- Improvement: Completely migrate SchemasRouter to new MongoCollection API. #794 (nlutsenko)
- Fix: Do not require where clause in $dontSelect condition on queries. #925 (nlutsenko)
- Fix: Make sure that ACLs propagate to before/after save hooks. #924 (nlutsenko)
- Fix: Support params option in Parse.Cloud.httpRequest. #912 (carmenlau)
- Fix: Fix flaky Parse.GeoPoint test. #908 (nlutsenko)
- Fix: Handle legacy _client_permissions key in _SCHEMA. #900 (drew-gross)
- Fix: Fixes bug when querying equalTo on objectId and relation #887 (flovilmart)
- Fix: Allow crossdomain on filesRouter #876 (flovilmart)
- Fix: Remove limit when counting results. #867 (gfosco)
- Fix: beforeSave changes should propagate to the response #865 (gfosco)
- Fix: Delete relation field when _Join collection not exist #864 (Marco129)
- Fix: Related query on non-existing column #861 (gfosco)
- Fix: Update markdown in .github/ISSUE_TEMPLATE.md #859 (igorshubovych)
- Fix: Issue with creating wrong _Session for Facebook login #857 (tobernguyen)
- Fix: Leak warnings in tests, use mongodb-runner from node_modules #843 (drew-gross)
- Fix: Reversed roles lookup #841 (flovilmart)
- Fix: Improves loading of Push Adapter, fix loading of S3Adapter #833 (flovilmart)
- Fix: Add field to system schema #828 (Marco129)
- New: serverInfo endpoint that returns server version and info about the server's features
- Improvement: Add support for badges on iOS
- Improvement: Improve failure handling in cloud code http requests
- Improvement: Add support for queries on pointers and relations
- Improvement: Add support for multiple $in clauses in a query
- Improvement: Add allowClientClassCreation config option
- Improvement: Allow atomically setting subdocument keys
- Improvement: Allow arbitrarily deeply nested roles
- Improvement: Set proper content-type in S3 File Adapter
- Improvement: S3 adapter auto-creates buckets
- Improvement: Better error messages for many errors
- Performance: Improved algorithm for validating client keys
- Experimental: Parse Hooks and Hooks API
- Experimental: Email verification and password reset emails
- Experimental: Improve compatability of logs feature with Parse.com
- Fix: Fix for attempting to delete missing classes via schemas API
- Fix: Allow creation of system classes via schemas API
- Fix: Allow missing where cause in $select
- Fix: Improve handling of invalid object ids
- Fix: Replace query overwriting existing query
- Fix: Propagate installationId in cloud code triggers
- Fix: Session expiresAt is now a Date instead of a string
- Fix: Fix count queries
- Fix: Disallow _Role objects without names or without ACL
- Fix: Better handling of invalid types submitted
- Fix: beforeSave will not be triggered for attempts to save with invalid authData
- Fix: Fix duplicate device token issues on Android
- Fix: Allow empty authData on signup
- Fix: Allow Master Key Headers (CORS)
- Fix: Fix bugs if JavaScript key was not provided in server configuration
- Fix: Parse Files on objects can now be stored without URLs
- Fix: allow both objectId or installationId when modifying installation
- Fix: Command line works better when not given options
- Feature: Add initial support for in-app purchases
- Feature: Better error messages when attempting to run the server on a port that is already in use or without a server URL
- Feature: Allow customization of max file size
- Performance: Faster saves if not using beforeSave triggers
- Fix: Send session token in response to current user endpoint
- Fix: Remove triggers for _Session collection
- Fix: Improve compatability of cloud code beforeSave hook for newly created object
- Fix: ACL creation for master key only objects
- Fix: Allow uploading files without Content-Type
- Fix: Add features to http requrest to match Parse.com
- Fix: Bugs in development script when running from locations other than project root
- Fix: Can pass query constraints in URL
- Fix: Objects with legacy "_tombstone" key now don't cause issues.
- Fix: Allow nested keys in objects to begin with underscores
- Fix: Allow correct headers for CORS
- Change: The S3 file adapter constructor requires a bucket name
- Fix: Parse Query should throw if improperly encoded
- Fix: Issue where roles were not used in some requests
- Fix: serverURL will no longer default to api.parse.com/1
- Experimental: Schemas API support for DELETE operations
- Fix: Session token issue fetching Users
- Fix: Facebook auth validation
- Fix: Invalid error when deleting missing session
- Feature: Support for additional OAuth providers
- Feature: Ability to implement custom OAuth providers
- Feature: Support for deleting Parse Files
- Feature: Allow querying roles
- Feature: Support for logs, extensible via Log Adapter
- Feature: New Push Adapter for sending push notifications through OneSignal
- Feature: Tighter default security for Users
- Feature: Pass parameters to cloud code in query string
- Feature: Disable anonymous users via configuration.
- Experimental: Schemas API support for PUT operations
- Fix: Prevent installation ID from being added to User
- Fix: Becoming a user works properly with sessions
- Fix: Including multiple object when some object are unavailable will get all the objects that are available
- Fix: Invalid URL for Parse Files
- Fix: Making a query without a limit now returns 100 results
- Fix: Expose installation id in cloud code
- Fix: Correct username for Anonymous users
- Fix: Session token issue after fetching user
- Fix: Issues during install process
- Fix: Issue with Unity SDK sending _noBody
- Add: support for Android and iOS push notifications
- Experimental: cloud code validation hooks (can mark as non-experimental after we have docs)
- Experimental: support for schemas API (GET and POST only)
- Experimental: support for Parse Config (GET and POST only)
- Fix: Querying objects with equality constraint on array column
- Fix: User logout will remove session token
- Fix: Various files related bugs
- Fix: Force minimum node version 4.3 due to security issues in earlier version
- Performance Improvement: Improved caching