You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- NEW: Added convenience method `Parse.Cloud.sendEmail(...)` to send email via email adapter in Cloud Code. [#7089](https://github.com/parse-community/parse-server/pull/7089). Thanks to [dblythy](https://github.com/dblythy)
12
21
- NEW: LiveQuery support for $and, $nor, $containedBy, $geoWithin, $geoIntersects queries [#7113](https://github.com/parse-community/parse-server/pull/7113). Thanks to [dplewis](https://github.com/dplewis)
13
22
- NEW: Supporting patterns in LiveQuery server's config parameter `classNames`[#7131](https://github.com/parse-community/parse-server/pull/7131). Thanks to [Nes-si](https://github.com/Nes-si)
23
+
- NEW: `requireAnyUserRoles` and `requireAllUserRoles` for Parse Cloud validator. [#7097](https://github.com/parse-community/parse-server/pull/7097). Thanks to [dblythy](https://github.com/dblythy)
24
+
- IMPROVE: Retry transactions on MongoDB when it fails due to transient error [#7187](https://github.com/parse-community/parse-server/pull/7187). Thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo).
25
+
- IMPROVE: Bump tests to use Mongo 4.4.4 [#7184](https://github.com/parse-community/parse-server/pull/7184). Thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo).
14
26
- IMPROVE: Added new account lockout policy option `accountLockout.unlockOnPasswordReset` to automatically unlock account on password reset. [#7146](https://github.com/parse-community/parse-server/pull/7146). Thanks to [Manuel Trezza](https://github.com/mtrezza).
15
-
- IMPROVE: Parse Server will from now on be continuously tested against all relevant MongoDB versions (minor versions). Added MongoDB compatibility table to Parse Server docs. [7161](https://github.com/parse-community/parse-server/pull/7161). Thanks to [Manuel Trezza](https://github.com/mtrezza).
27
+
- IMPROVE: Parse Server is from now on continuously tested against all recent MongoDB versions that have not reached their end-of-life support date. Added MongoDB compatibility table to Parse Server docs. [7161](https://github.com/parse-community/parse-server/pull/7161). Thanks to [Manuel Trezza](https://github.com/mtrezza).
28
+
- IMPROVE: Parse Server is from now on continuously tested against all recent Node.js versions that have not reached their end-of-life support date. [7161](https://github.com/parse-community/parse-server/pull/7177). Thanks to [Manuel Trezza](https://github.com/mtrezza).
16
29
- IMPROVE: Optimize queries on classes with pointer permissions. [#7061](https://github.com/parse-community/parse-server/pull/7061). Thanks to [Pedro Diaz](https://github.com/pdiaz)
30
+
- IMPROVE: Parse Server will from now on be continuously tested against all relevant Postgres versions (minor versions). Added Postgres compatibility table to Parse Server docs. [#7176](https://github.com/parse-community/parse-server/pull/7176). Thanks to [Corey Baker](https://github.com/cbaker6).
31
+
- FIX: Fix error when a not yet inserted job is updated [#7196](https://github.com/parse-community/parse-server/pull/7196). Thanks to [Antonio Davi Macedo Coelho de Castro](https://github.com/davimacedo).
17
32
- FIX: request.context for afterFind triggers. [#7078](https://github.com/parse-community/parse-server/pull/7078). Thanks to [dblythy](https://github.com/dblythy)
18
33
- FIX: Winston Logger interpolating stdout to console [#7114](https://github.com/parse-community/parse-server/pull/7114). Thanks to [dplewis](https://github.com/dplewis)
-[Parse Server Configuration](#parse-server-configuration)
18
+
-[Code of Conduct](#code-of-conduct)
4
19
5
-
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.
20
+
## Contributing
6
21
7
-
## Setting up the project for debugging and contributing:
22
+
Before you start to code, please open a [new issue](https://github.com/parse-community/parse-server/issues/new/choose) to describe your idea, or search for and continue the discussion in an [existing issue](https://github.com/parse-community/parse-server/issues).
8
23
9
-
### Recommended setup:
24
+
> ⚠️ Please do not post a security vulnerability on GitHub or in the Parse Community Forum. Instead, follow the [Parse Community Security Policy](https://github.com/parse-community/parse-server/security/policy).
25
+
26
+
Please completely fill out any templates to provide essential information about your new feature or the bug you discovered.
27
+
28
+
Together we will plan out the best conceptual approach for your contribution, so that your and our time is invested in the best possible approach. The discussion often reveals how to leverage existing features of Parse Server to reach your goal with even less effort and in a more sustainable way.
29
+
30
+
When you are ready to code, you can find more information about opening a pull request in the [GitHub docs](https://help.github.com/articles/creating-a-pull-request/).
31
+
32
+
Whether this is your first contribution or you are already an experienced contributor, the Parse Community has your back – don't hesitate to ask for help!
33
+
34
+
## Why Contributing?
35
+
36
+
Buy cheap, buy twice. What? No, this is not the Economics 101 class, but the same is true for contributing.
37
+
38
+
There are two ways of writing a feature or fixing a bug. Sometimes the quick solution is to just write a Cloud Code function that does what you want. Contributing by making the change directly in Parse Server may take a bit longer, but it actually saves you much more time in the long run.
39
+
40
+
Consider the benefits you get:
41
+
42
+
-#### 🚀 Higher efficiency
43
+
Your code is examined for efficiency and interoperability with existing features by the community.
44
+
-#### 🛡 Stronger security
45
+
Your code is scrutinized for bugs and vulnerabilities and automated checks help to identify security issues that may arise in the future.
46
+
-#### 🧬 Continuous improvement
47
+
If your feature is used by others it is likely to be continuously improved and extended by the community.
48
+
-#### 💝 Giving back
49
+
You give back to the community that contributed to make the Parse Platform become what it is today and for future developers to come.
50
+
-#### 🧑🎓 Improving yourself
51
+
You learn to better understand the inner workings of Parse Server, which will help you to write more efficient and resilient code for your own application.
52
+
53
+
Most importantly, with every contribution you improve your skills so that future contributions take even less time and you get all the benefits above for free — easy choice, right?
54
+
55
+
## Environment Setup
56
+
57
+
### Recommended Tools
10
58
11
59
*[vscode](https://code.visualstudio.com), the popular IDE.
12
60
*[Jasmine Test Explorer](https://marketplace.visualstudio.com/items?itemName=hbenl.vscode-jasmine-test-adapter), a very practical test exploration plugin which let you run, debug and see the test results inline.
13
61
14
-
### Setting up you local machine:
62
+
### Setting up your local machine
15
63
16
64
*[Fork](https://github.com/parse-community/parse-server) this project and clone the fork on your local machine:
17
65
@@ -27,13 +75,15 @@ $ npm run watch # run babel watching for local file changes
27
75
28
76
Once you have babel running in watch mode, you can start making changes to parse-server.
29
77
30
-
### Good to know:
78
+
### Good to Know
31
79
32
-
* The `lib/` folder is not commited, so never make changes in there.
80
+
* The `lib/` folder is not committed, so never make changes in there.
33
81
* Always make changes to files in the `src/` folder.
34
82
* All the tests should point to sources in the `lib/` folder.
83
+
* The `lib/` folder is produced by `babel` using either the `npm run build`, `npm run watch`, or the `npm run prepare` step.
84
+
* The `npm run prepare` step is automatically invoked when your package depends on forked parse-server installed via git for example using `npm install --save git+https://github.com/[username]/parse-server#[branch/commit]`.
35
85
36
-
### Troubleshooting:
86
+
### Troubleshooting
37
87
38
88
*Question*: I modify the code in the src folder but it doesn't seem to have any effect.<br/>
39
89
*Answer*: Check that `npm run watch` is running
@@ -42,7 +92,10 @@ Once you have babel running in watch mode, you can start making changes to parse
42
92
*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.
43
93
44
94
*Question*: How do I deploy my forked version on my servers?<br/>
45
-
*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.
95
+
*Answer*: In your `package.json`, update the `parse-server` dependency to `https://github.com/[username]/parse-server#[branch/commit]`. Run `npm install`, commit the changes and deploy to your servers.
96
+
97
+
*Question*: How do I deploy my forked version using docker?<br/>
98
+
*Answer*: In your `package.json`, update the `parse-server` dependency to `https://github.com/[username]/parse-server#[branch/commit]`. Make sure the `npm install` step in your `Dockerfile` is running under non-privileged user for the ``npm run prepare`` step to work correctly. For official node images from hub.docker.com that non-privileged user is `node` with `/home/node` working directory.
46
99
47
100
48
101
### Please Do's
@@ -53,8 +106,9 @@ Once you have babel running in watch mode, you can start making changes to parse
53
106
* Run the tests for the whole project to make sure the code passes all tests. This can be done by running the test command for a single file but removing the test file argument. The results can be seen at *<PROJECT_ROOT>/coverage/lcov-report/index.html*.
54
107
* Lint your code by running `npm run lint` to make sure the code is not going to be rejected by the CI.
55
108
***Do not** publish the *lib* folder.
109
+
* Please consider if any changes to the [docs](http://docs.parseplatform.org) are needed or add additional sections in the case of an enhancement or feature.
56
110
57
-
### Run your tests against Postgres (optional)
111
+
### Test against Postgres
58
112
59
113
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.
60
114
@@ -76,7 +130,7 @@ If your pull request introduces a change that may affect the storage or retrieva
76
130
-`it_only_mongodb_version('>=4.4')` // will test with any version of Postgres but only with version >=4.4 of MongoDB; accepts semver notation to specify a version range
77
131
-`it_exclude_mongodb_version('<4.4')` // will test with any version of Postgres and MongoDB, excluding version <4.4 of MongoDB; accepts semver notation to specify a version range
78
132
79
-
#### Run Postgres setup for Parse with Docker
133
+
#### Postgres with Docker
80
134
81
135
[PostGIS images (select one with v2.2 or higher) on docker dashboard](https://hub.docker.com/r/postgis/postgis) is based off of the official [postgres](https://registry.hub.docker.com/_/postgres/) image and will work out-of-the-box (as long as you create a user with the necessary extensions for each of your Parse databases; see below). To launch the compatible Postgres instance, copy and paste the following line into your shell:
0 commit comments