Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: parse-community/parse-server
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 2.8.3
Choose a base ref
...
head repository: parse-community/parse-server
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 2.8.4
Choose a head ref

Commits on Aug 12, 2018

  1. Don't merge JSON fields after save() when using Postgres to keep same…

    … behaviour as MongoDB (#4808) (#4815)
    jaeggerr authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    3484897 View commit details
  2. Don't error when attempting to sort on an object field (#4806)

    * add failing test to demonstrate that you can't sort on a
    field in an object.
    
    * Only validate the base of the field name.
    
    * fix test name
    
    * Only test sort for mongo.
    
    * pg order by nested object
    
    * level 2 test
    
    * Factor out operation to get a field's base name.  Add comment.
    
    * tweak comment wording so it wont make my grammar teacher angry.
    acinader authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    1427eea View commit details
  3. Copy the full SHA
    f2f9285 View commit details
  4. add support for geoWithin.centerSphere queries via withJSON (#4825)

    * add support for geoWithin.centerSphere queries via withJSON
    
    * added test for passing array of lat, lng instead of Parse.GeoPoint
    
    * added postgres support
    
    * added more tests
    
    * improved tests and validation
    
    * added more tests
    mtrezza authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    cddb924 View commit details
  5. Copy the full SHA
    4d81f8f View commit details
  6. Added verify password to users router and tests. (#4747)

    * Added verify password to users router and tests.
    
    * Added more tests to support more coverage.
    
    * Added additional tests to spec. Removed condition from verifyPassword function where authData null keys condition wasn't necessary.
    
    * Removed POST handling from verifyPassword.
    
    * Refactored handleLogin and handleVerifyPassword to use shared helper function to validate the password provided in the request.
    
    * Refactored verifyPassword and login to not use try/catch. Parent promise returns the error. Moved login specific functions to login handler.
    
    * Added account lockout policy to verify password function. Added test spec for account lockout in verify password.
    
    * no message
    
    * Merged new changes from master. Made changes as requested from comments.
    
    * We cannot remove hidden properties from the helper before returning to the login function. The password expiration check in the login function is dependent on some hidden properties, otherwise three password policy tests fail.
    johnnydimas authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    c8b303a View commit details
  7. add includeAll option

    dplewis authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    48ddcdb View commit details
  8. nit

    dplewis authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    197190f View commit details
  9. Aggregate allow multiple of same stage (#4835)

    * Aggregate Allow Multiple Stages
    
    * remove testing files
    
    * nit
    
    * spread them
    dplewis authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    df01846 View commit details
  10. Update ws to the latest version 🚀 (#4849)

    * fix(package): update ws to version 5.2.1
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    dccd7d7 View commit details
  11. Copy the full SHA
    b660ca5 View commit details
  12. Update eslint to the latest version 🚀 (#4848)

    * chore(package): update eslint to version 5.0.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    f1ebdef View commit details
  13. #4678: Converting strings to Date when schema.type is Date within agg… (

    #4743)
    
    * #4678: Converting strings to Date when schema.type is Date within aggregate function
    
    * Added test cases to test new date match aggregate query
    
    * Added function to parse match aggregate arguments and convert necessary values to Date objects
    
    * Added missing return value
    
    * Improved code quality based on suggestions and figured out why tests were failing
    
    * Added tests from @dplewis
    
    * Supporting project aggregation as well as exists operator
    
    * Excluding exists match for postgres
    
    * Handling the $group operator similar to $match and $project
    
    * Added more tests for better code coverage
    
    * Excluding certain tests from being run on postgres
    
    * Excluding one more test  from postgres
    
    * clean up
    cjbland authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    43be9fe View commit details
  14. Update mongodb to the latest version 🚀 (#4855)

    * fix(package): update mongodb to version 3.1.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    
    * starting mongo 3.1.0, read preferences are passed again
    
    * Adds test confirming #4831 is properly functional now
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    320eba1 View commit details
  15. Update multer to the latest version 🚀 (#4858)

    * fix(package): update multer to version 1.3.1
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    f969c7b View commit details
  16. Update cross-env to the latest version 🚀 (#4830)

    * chore(package): update cross-env to version 5.2.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    938564a View commit details
  17. Copy the full SHA
    82fec72 View commit details
  18. Ensure User ACL's are more flexible and secure #3588 (#4860)

    * Fixes an issue that would let the beforeDelete be called when user has no access to the object
    
    * Ensure we properly lock user
    
    - Improves find method so we can attempt to read for a write poking the right ACL instead of using masterKey
    - This ensure we do not run beforeDelete/beforeFind/beforeSave in the wrong scenarios
    
    * nits
    
    * Caps insufficient
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    6b36ce1 View commit details
  19. Update commander to the latest version 🚀 (#4861)

    * fix(package): update commander to version 2.16.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    ec27bc7 View commit details
  20. improves test performance on mongodb (#4862)

    * improves test performance on mongodb
    
    * Removes unused methdos
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    7319aab View commit details
  21. Testing improvements (#4863)

    * Adds supports-color so spec reporter dont output colors when not supported
    
    * Adds babelrc so breakpoints dont jump around in specs
    
    * Rename test to avoid duplicated name
    
    * Removes unused methods
    
    * Better naming for it_exclude
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    96bc744 View commit details
  22. Update pg-promise to the latest version 🚀 (#4866)

    * fix(package): update pg-promise to version 8.4.5
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    566ac26 View commit details
  23. Copy the full SHA
    f23eb4c View commit details
  24. Removes need to use babel-register (#4865)

    * Removes need to use babel-register
    
    - Adds watch to watch changes when running the test to regenerate
    - Tests are now pure node 8
    
    * Adds timing to helper.js
    
    * Update contribution guide
    
    * Adds inline sourcemaps generation to restore coverage
    
    * nits
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    305e4ba View commit details
  25. Even faster tests (#4868)

    * Various improvements in test name / de-duplications
    
    * Reverts to class by class deletion, introduced fast mode that just delete data for mongo
    
    - Speeds up are incredible Executed 1695 of 1713 specs INCOMPLETE (18 PENDING) in 4 mins 19 secs.
    
    * Adds documentation about the deleteEverything
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    461ca5d View commit details
  26. Update mongodb-runner to the latest version 🚀 (#4869)

    * chore(package): update mongodb-runner to version 4.0.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    fb7d9b5 View commit details
  27. Greenkeeper/flow bin 0.75.0 (#4872)

    * chore(package): update flow-bin to version 0.75.0
    
    Closes #4816
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    3c89eb3 View commit details
  28. Update mongodb to the latest version 🚀 (#4874)

    * fix(package): update mongodb to version 3.1.1
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    3e7b1b3 View commit details
  29. Update ws to the latest version 🚀 (#4888)

    * fix(package): update ws to version 5.2.2
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    27d8f86 View commit details
  30. Greenkeeper/nodemon 1.18.1 (#4891)

    * chore(package): update nodemon to version 1.18.1
    
    Closes #4885
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    31d8947 View commit details
  31. Update bcrypt to the latest version 🚀 (#4875)

    * chore(package): update bcrypt to version 3.0.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    41b0bf0 View commit details
  32. Update flow-bin to the latest version 🚀 (#4877)

    * chore(package): update flow-bin to version 0.76.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    c99cbbf View commit details
  33. Support incrementing push badge value by more than 1 (#4889)

    * Support 'IncrementByN' badge value for higher push badge increments
    
    * Fix test
    
    * Rely on object for badge incrementation (i.e. {increment: 3}) rather than string (IncrementBy3)
    
    * For badge incrementation, utilize format similar to other operation notation
    Ross Bayer authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    faa04f7 View commit details
  34. Enable express error handler (#4697)

    * Propagate error to express handler in all situations
    
    * Call the default error handler if `enableExpressErrorHandler` is truthy
    
    * Updating options interface and definitions
    
    * Testing express error handler
    
    * Test spec fixes
    
    * Fix test
    saulogt authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    2c316ce View commit details
  35. Ensure legacy users with authData are not locked out (#4898)

    * Adds fix for issue, ensuring legacy users with no ACL are properly handled
    
    * Runs tests only on mongo
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    5a32eb3 View commit details
  36. Ensures the test suites are properly formed for vscode jasmine plugin (

    …#4901)
    
    * Ensures the test suites are properly formed for vscode jasmine plugin
    
    * nit
    flovilmart committed Aug 12, 2018
    Copy the full SHA
    83cf68a View commit details
  37. Update ws to the latest version 🚀 (#4909)

    * fix(package): update ws to version 6.0.0
    
    * chore(package): update lockfile
    
    https://npm.im/greenkeeper-lockfile
    greenkeeper[bot] authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    d9cf3ce View commit details
  38. Add the addFileNameHash option that allows users to remove the hash f… (

    #4915)
    
    * Add the addFileNameHash option that allows users to remove the hash from file names
    
    * Change option name to preserveFileName
    
    * Revert changes to package-lock.json
    GabrielLomba authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    37e6459 View commit details
  39. Copy the full SHA
    b92e76d View commit details
  40. Fix typo in FilesController.spec (#4917)

    * Add the addFileNameHash option that allows users to remove the hash from file names
    
    * Change option name to preserveFileName
    
    * Revert changes to package-lock.json
    
    * Fix typo in FileController.spec
    GabrielLomba authored and flovilmart committed Aug 12, 2018
    Copy the full SHA
    5a0d09e View commit details
  41. ⚡ Release 2.8.3

    flovilmart committed Aug 12, 2018
    Copy the full SHA
    0e9725b View commit details
  42. ⚡ Release 2.8.4

    flovilmart committed Aug 12, 2018
    Copy the full SHA
    18b9641 View commit details
Showing with 6,300 additions and 5,246 deletions.
  1. +2 −1 .babelrc
  2. +17 −0 .github/ISSUE_TEMPLATE/---feature-request.md
  3. +7 −0 .github/ISSUE_TEMPLATE/---push-notifications.md
  4. +53 −0 .github/ISSUE_TEMPLATE/---report-an-issue.md
  5. +1 −1 .nycrc
  6. +1 −8 .travis.yml
  7. +38 −3 CHANGELOG.md
  8. +45 −6 CONTRIBUTING.md
  9. +13 −4 README.md
  10. +3,169 −3,999 package-lock.json
  11. +16 −15 package.json
  12. +0 −40 resources/npm-git.sh
  13. +14 −0 spec/.babelrc
  14. +1 −1 spec/AccountLockoutPolicy.spec.js
  15. +4 −4 spec/AdaptableController.spec.js
  16. +3 −3 spec/AdapterLoader.spec.js
  17. +4 −4 spec/AudienceRouter.spec.js
  18. +1 −1 spec/Auth.spec.js
  19. +5 −5 spec/AuthenticationAdapters.spec.js
  20. +4 −4 spec/CLI.spec.js
  21. +1 −1 spec/CacheController.spec.js
  22. +2 −2 spec/Client.spec.js
  23. +1 −1 spec/ClientSDK.spec.js
  24. +2 −2 spec/CloudCode.spec.js
  25. +2 −2 spec/CloudCodeLogger.spec.js
  26. +1 −1 spec/DatabaseController.spec.js
  27. +1 −1 spec/EmailVerificationToken.spec.js
  28. +66 −0 spec/EnableExpressErrorHandler.spec.js
  29. +3 −3 spec/EnableSingleSchemaCache.spec.js
  30. +1 −1 spec/EventEmitterPubSub.spec.js
  31. +44 −8 spec/FilesController.spec.js
  32. +3 −3 spec/GridStoreAdapter.js
  33. +34 −39 spec/HTTPRequest.spec.js
  34. +1 −1 spec/InMemoryCache.spec.js
  35. +1 −1 spec/InMemoryCacheAdapter.spec.js
  36. +4 −4 spec/InstallationsRouter.spec.js
  37. +2 −2 spec/JobSchedule.spec.js
  38. +1 −1 spec/Logger.spec.js
  39. +5 −5 spec/LoggerController.spec.js
  40. +3 −3 spec/LogsRouter.spec.js
  41. +2 −2 spec/Middlewares.spec.js
  42. +1 −1 spec/MongoSchemaCollectionAdapter.spec.js
  43. +1 −1 spec/MongoStorageAdapter.spec.js
  44. +2 −2 spec/MongoTransform.spec.js
  45. +1 −1 spec/NullCacheAdapter.spec.js
  46. +1 −1 spec/OAuth1.spec.js
  47. +3 −3 spec/ParseACL.spec.js
  48. +22 −3 spec/ParseAPI.spec.js
  49. +4 −4 spec/ParseCloudCodePublisher.spec.js
  50. +0 −18 spec/ParseFile.spec.js
  51. +1 −1 spec/ParseGlobalConfig.spec.js
  52. +16 −8 spec/ParseHooks.spec.js
  53. +4 −4 spec/ParseInstallation.spec.js
  54. +24 −24 spec/ParseLiveQueryServer.spec.js
  55. +27 −0 spec/ParseObject.spec.js
  56. +136 −127 spec/ParsePolygon.spec.js
  57. +17 −17 spec/ParsePubSub.spec.js
  58. +292 −0 spec/ParseQuery.Aggregate.spec.js
  59. +4 −4 spec/ParseQuery.FullTextSearch.spec.js
  60. +255 −0 spec/ParseQuery.spec.js
  61. +3 −3 spec/ParseRole.spec.js
  62. +15 −8 spec/ParseServer.spec.js
  63. +2 −2 spec/ParseServerRESTController.spec.js
  64. +108 −11 spec/ParseUser.spec.js
  65. +1 −1 spec/ParseWebSocket.spec.js
  66. +1 −1 spec/ParseWebSocketServer.spec.js
  67. +1 −1 spec/PointerPermissions.spec.js
  68. +1 −1 spec/PostgresConfigParser.spec.js
  69. +2 −2 spec/PostgresInitOptions.spec.js
  70. +1 −1 spec/PostgresStorageAdapter.spec.js
  71. +1 −1 spec/PromiseRouter.spec.js
  72. +82 −4 spec/PushController.spec.js
  73. +2 −2 spec/PushQueue.spec.js
  74. +1 −1 spec/PushRouter.spec.js
  75. +9 −5 spec/PushWorker.spec.js
  76. +2 −2 spec/QueryTools.spec.js
  77. +54 −11 spec/ReadPreferenceOption.spec.js
  78. +1 −1 spec/RedisCacheAdapter.spec.js
  79. +1 −1 spec/RedisPubSub.spec.js
  80. +3 −3 spec/RestQuery.spec.js
  81. +1 −1 spec/RevocableSessionsUpgrade.spec.js
  82. +2 −2 spec/Schema.spec.js
  83. +3 −3 spec/SchemaCache.spec.js
  84. +1 −1 spec/SessionTokenCache.spec.js
  85. +2 −2 spec/Subscription.spec.js
  86. +1 −1 spec/TwitterAuth.spec.js
  87. +1 −1 spec/Uniqueness.spec.js
  88. +2 −2 spec/UserController.spec.js
  89. +1 −1 spec/UserPII.spec.js
  90. +1 −1 spec/ValidationAndPasswordsReset.spec.js
  91. +494 −0 spec/VerifyUserPassword.spec.js
  92. +1 −1 spec/WinstonLoggerAdapter.spec.js
  93. +1 −1 spec/batch.spec.js
  94. +1 −1 spec/cryptoUtils.spec.js
  95. +19 −18 spec/helper.js
  96. +3 −3 spec/index.spec.js
  97. +2 −2 spec/parsers.spec.js
  98. +4 −4 spec/rest.spec.js
  99. +465 −479 spec/schemas.spec.js
  100. +0 −1 spec/support/jasmine.json
  101. +5 −5 spec/testing-routes.js
  102. +133 −22 src/Adapters/Storage/Mongo/MongoStorageAdapter.js
  103. +56 −30 src/Adapters/Storage/Mongo/MongoTransform.js
  104. +37 −3 src/Adapters/Storage/Postgres/PostgresStorageAdapter.js
  105. +1 −1 src/Adapters/Storage/StorageAdapter.js
  106. +6 −6 src/Auth.js
  107. +31 −10 src/Controllers/DatabaseController.js
  108. +5 −3 src/Controllers/FilesController.js
  109. +4 −1 src/Controllers/PushController.js
  110. +2 −1 src/Controllers/index.js
  111. +12 −0 src/Options/Definitions.js
  112. +5 −0 src/Options/index.js
  113. +0 −8 src/Push/PushWorker.js
  114. +11 −4 src/Push/utils.js
  115. +55 −9 src/RestQuery.js
  116. +14 −4 src/RestWrite.js
  117. +62 −40 src/Routers/AggregateRouter.js
  118. +4 −1 src/Routers/ClassesRouter.js
  119. +135 −95 src/Routers/UsersRouter.js
  120. +6 −3 src/TestUtils.js
  121. +3 −0 src/middlewares.js
  122. +28 −12 src/rest.js
3 changes: 2 additions & 1 deletion .babelrc
Original file line number Diff line number Diff line change
@@ -9,5 +9,6 @@
"node": "8"
}
}]
]
],
"sourceMaps": "inline"
}
17 changes: 17 additions & 0 deletions .github/ISSUE_TEMPLATE/---feature-request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
---
name: "\U0001F4A1 Feature request"
about: Suggest an idea for this project

---

**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

**Describe the solution you'd like**
A clear and concise description of what you want to happen.

**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.

**Additional context**
Add any other context or screenshots about the feature request here.
7 changes: 7 additions & 0 deletions .github/ISSUE_TEMPLATE/---push-notifications.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
name: "\U0001F4F2 Push Notifications"
about: Issues with setting up or delivering push notifications

---


53 changes: 53 additions & 0 deletions .github/ISSUE_TEMPLATE/---report-an-issue.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
---
name: "\U0001F41B Report an issue"
about: Report an issue on parse-server

---

<!---
We use GitHub Issues for bugs.
If you have a non-bug question, ask on Stack Overflow or Server Fault:
- https://stackoverflow.com/questions/tagged/parse.com
- https://serverfault.com/tags/parse
If you have a vulnerability disclosure, please follow our policy available here https://github.com/parse-community/parse-server/blob/master/SECURITY.md
You may also search through existing issues before opening a new one: https://github.com/parse-community/parse-server/issues?utf8=%E2%9C%93&q=is%3Aissue
--- Please use this template. If you don't use this template, your issue may be closed without comment. ---
--->
### Issue Description

<!--- Describe your issue in as much detail as possible. -->

### Steps to reproduce

<!--- Please include a detailed list of steps that reproduce the issue. Include curl commands when applicable. --->

### Expected Results

<!--- What you expected to happen. --->

### Actual Outcome

<!--- What is happening instead. --->

### Environment Setup

- **Server**
- parse-server version (Be specific! Don't say 'latest'.) : [FILL THIS OUT]
- Operating System: [FILL THIS OUT]
- Hardware: [FILL THIS OUT]
- Localhost or remote server? (AWS, Heroku, Azure, Digital Ocean, etc): [FILL THIS OUT]

- **Database**
- MongoDB version: [FILL THIS OUT]
- Storage engine: [FILL THIS OUT]
- Hardware: [FILL THIS OUT]
- Localhost or remote server? (AWS, mLab, ObjectRocket, Digital Ocean, etc): [FILL THIS OUT]

### Logs/Trace

<!--- Include all relevant logs. You can turn on additional logging by configuring VERBOSE=1 in your environment. --->
2 changes: 1 addition & 1 deletion .nycrc
Original file line number Diff line number Diff line change
@@ -5,7 +5,7 @@
],
"exclude": [
"**/spec/**",
"lib/"
"src/"
]
}

9 changes: 1 addition & 8 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -55,21 +55,14 @@ after_script:

jobs:
include:
# release on github latest branch
# release on npm on tags
- stage: release
node_js: '8.10'
env:
before_script: skip
after_script: skip
script: skip
deploy:
- provider: script
skip_cleanup: true
script: ./resources/npm-git.sh && npm install -g https://github.com/parse-community/parse-server#latest
on:
branch:
- master
- 3.x
- provider: npm
skip_cleanup: true
email:
41 changes: 38 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,50 @@
## Parse Server Changelog

### master
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.3...master)
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.4...master)

### 2.8.4
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.3...2.8.4)

#### Improvements
* Adds ability to forward errors to express handler (#4697)
* Adds ability to increment the push badge with an arbitrary value (#4889)
* Adds ability to preserve the file names when uploading (#4915)
* `_User` now follow regular ACL policy. Letting administrator lock user out. (#4860) and (#4898)
* Ensure dates are properly handled in aggregates (#4743)
* Aggregates: Improved support for stages sharing the same name
* Add includeAll option
* Added verify password to users router and tests. (#4747)
* Ensure read preference is never overriden, so DB config prevails (#4833)
* add support for geoWithin.centerSphere queries via withJSON (#4825)
* Allow sorting an object field (#4806)
* Postgres: Don't merge JSON fields after save() to keep same behaviour as MongoDB (#4808) (#4815)

#### Dependency updates
* [commander@2.16.0](https://www.npmjs.com/package/commander)
* [mongodb@3.1.1](https://www.npmjs.com/package/mongodb)
* [pg-promise@8.4.5](https://www.npmjs.com/package/pg-promise)
* [ws@6.0.0](https://www.npmjs.com/package/ws)
* [bcrypt@3.0.0](https://www.npmjs.com/package/bcrypt)
* [uws@10.148.1](https://www.npmjs.com/package/uws)

##### Devevelopment Dependencies Updates:
* [cross-env@5.2.0](https://www.npmjs.com/package/cross-env)
* [eslint@5.0.0](https://www.npmjs.com/package/eslint)
* [flow-bin@0.76.0](https://www.npmjs.com/package/flow-bin)
* [mongodb-runner@4.0.0](https://www.npmjs.com/package/mongodb-runner)
* [nodemon@1.18.1](https://www.npmjs.com/package/nodemon)
* [nyc@12.0.2](https://www.npmjs.com/package/nyc)
* [request-promise@4.2.2](https://www.npmjs.com/package/request-promise)
* [supports-color@5.4.0](https://www.npmjs.com/package/supports-color)

### 2.8.3
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.3...2.8.2)
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.2...2.8.3)

* Adds support for JS SDK 2.0 job status header

### 2.8.2
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.2...2.8.1)
[Full Changelog](https://github.com/parse-community/parse-server/compare/2.8.1...2.8.2)

##### Bug Fixes:
* Ensure legacy users without ACL's are not locked out, thanks to [Florent Vilmart](https://github.com/flovilmart)
51 changes: 45 additions & 6 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,49 @@
### Contributing to Parse Server
# Contributing to Parse Server

#### Pull Requests Welcome!
We really want Parse to be yours, to see it grow and thrive in the open source community.

We really want Parse to be yours, to see it grow and thrive in the open source community.
If you are not familiar with Pull Requests and want to know more about them, you can visit the [Creating a pull request](https://help.github.com/articles/creating-a-pull-request/) article. It contains detailed informations about the process.

##### Please Do's
## Setting up the project for debugging and contributing:

### Recommended setup:

* [vscode](https://code.visualstudio.com), the popular IDE.
* [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), a very practical test exploration plugin which let you run, debug and see the test results inline.

### Setting up you local machine:

* [Fork](https://github.com/parse-community/parse-server) this project and clone the fork on your local machine:

```sh
$ git clone https://github.com/parse-community/parse-server
$ cd parse-server # go into the clone directory
$ npm install # install all the node dependencies
$ code . # launch vscode
$ npm run watch # run babel watching for local file changes
```

Once you have babel running in watch mode, you can start making changes to parse-server.

### Good to know:

* The lib/ folder is not commited, so never make changes in there.
* Always make changes to files in the `src/` folder.
* All the tests should point to sources in the `lib/` folder.

### Troubleshooting:

*Question*: I modify the code in the src folder but it doesn't seem to have any effect.<br/>
*Answer*: Check that `npm run watch` is running

*Question*: How do I use breakpoints and debug step by step?<br/>
*Answer*: The easiest way is to install [Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-test-explorer), it will let you run selectively tests and debug them.

*Question*: How do I deploy my forked version on my servers?<br/>
*Answer*: In your `package.json`, update the `parse-server` dependency to `https://github.com/MY_USERNAME/parse-server#MY_FEATURE`. Run `npm install`, commit the changes and deploy to your servers.


### Please Do's

* Begin by reading the [Development Guide](http://docs.parseplatform.org/parse-server/guide/#development-guide) to learn how to get started running the parse-server.
* Take testing seriously! Aim to increase the test coverage with every pull request. To obtain the test coverage of the project, run:
@@ -17,7 +56,7 @@ We really want Parse to be yours, to see it grow and thrive in the open source c
* Lint your code by running `npm run lint` to make sure the code is not going to be rejected by the CI.
* **Do not** publish the *lib* folder.

##### Run your tests against Postgres (optional)
### Run your tests against Postgres (optional)

If your pull request introduces a change that may affect the storage or retrieval of objects, you may want to make sure it plays nice with Postgres.

@@ -28,6 +67,6 @@ If your pull request introduces a change that may affect the storage or retrieva
- `it_only_db('mongo')` // will make a test that only runs on mongo
- `it_exclude_dbs(['postgres'])` // will make a test that runs against all DB's but postgres

##### Code of Conduct
### Code of Conduct

This project adheres to the [Contributor Covenant Code of Conduct](https://github.com/parse-community/parse-server/blob/master/CODE_OF_CONDUCT.md). By participating, you are expected to honor this code.
17 changes: 13 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -232,6 +232,7 @@ The client keys used with Parse are no longer necessary with Parse Server. If yo
#### Advanced options

* `fileKey` - For migrated apps, this is necessary to provide access to files already hosted on Parse.
* `preserveFileName` - Set to true to remove the unique hash added to the file names. Defaults to false.
* `allowClientClassCreation` - Set to false to disable client class creation. Defaults to true.
* `enableAnonymousUsers` - Set to false to disable anonymous users. Defaults to true.
* `auth` - Used to configure support for [3rd party authentication](http://docs.parseplatform.org/parse-server/guide/#oauth-and-3rd-party-authentication).
@@ -393,16 +394,24 @@ If you believe you've found an issue with Parse Server, make sure these boxes ar

# Want to ride the bleeding edge?

The `latest` branch in this repository is automatically maintained to be the last
commit to `master` to pass all tests, in the same form found on npm. It is
recommend to use builds deployed npm for many reasons, but if you want to use
It is recommend to use builds deployed npm for many reasons, but if you want to use
the latest not-yet-released version of parse-server, you can do so by depending
directly on this branch:

```
npm install parseplatform/parse-server.git#latest
npm install parse-community/parse-server.git#master
```

## Experimenting

You can also use your own forks, and work in progress branches by specifying them:

```
npm install github:myUsername/parse-server#my-awesome-feature
```

And don't forget, if you plan to deploy it remotely, you should run `npm install` with the `--save` option.

# Contributing

We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Server guide](CONTRIBUTING.md).
Loading