Skip to content

Commit 50dbcfa

Browse files
authored
Merge branch 'alpha' into moumouls/disableIndexValidation
2 parents ae8cbee + 6e66b20 commit 50dbcfa

File tree

77 files changed

+5023
-1656
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

77 files changed

+5023
-1656
lines changed

.babelrc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"presets": [
77
["@babel/preset-env", {
88
"targets": {
9-
"node": "12"
9+
"node": "14"
1010
}
1111
}]
1212
],

.github/workflows/ci.yml

Lines changed: 68 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,38 @@
11
name: ci
22
on:
33
push:
4-
branches: [ release, alpha, beta, next-major ]
4+
branches: [ release, alpha, beta ]
55
pull_request:
6-
branches:
7-
- '**'
6+
branches: [ release, alpha, beta ]
87
env:
9-
NODE_VERSION: 16.14.2
8+
NODE_VERSION: 18.12.1
109
PARSE_SERVER_TEST_TIMEOUT: 20000
1110
jobs:
11+
check-code-analysis:
12+
name: Code Analysis
13+
runs-on: ubuntu-latest
14+
permissions:
15+
actions: read
16+
contents: read
17+
security-events: write
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
language: [ 'javascript' ]
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v3
25+
- name: Initialize CodeQL
26+
uses: github/codeql-action/init@v2
27+
with:
28+
languages: ${{ matrix.language }}
29+
source-root: src
30+
- name: Perform CodeQL Analysis
31+
uses: github/codeql-action/analyze@v2
1232
check-ci:
1333
name: Node Engine Check
1434
timeout-minutes: 15
15-
runs-on: ubuntu-20.04
35+
runs-on: ubuntu-latest
1636
steps:
1737
- uses: actions/checkout@v2
1838
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -33,7 +53,7 @@ jobs:
3353
check-lint:
3454
name: Lint
3555
timeout-minutes: 15
36-
runs-on: ubuntu-20.04
56+
runs-on: ubuntu-latest
3757
steps:
3858
- uses: actions/checkout@v2
3959
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -53,7 +73,7 @@ jobs:
5373
check-circular:
5474
name: Circular Dependencies
5575
timeout-minutes: 5
56-
runs-on: ubuntu-20.04
76+
runs-on: ubuntu-latest
5777
steps:
5878
- uses: actions/checkout@v2
5979
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -73,7 +93,7 @@ jobs:
7393
check-docker:
7494
name: Docker Build
7595
timeout-minutes: 15
76-
runs-on: ubuntu-20.04
96+
runs-on: ubuntu-latest
7797
steps:
7898
- name: Checkout repository
7999
uses: actions/checkout@v2
@@ -90,7 +110,7 @@ jobs:
90110
check-lock-file-version:
91111
name: NPM Lock File Version
92112
timeout-minutes: 5
93-
runs-on: ubuntu-20.04
113+
runs-on: ubuntu-latest
94114
steps:
95115
- uses: actions/checkout@v2
96116
- name: Check NPM lock file version
@@ -101,77 +121,45 @@ jobs:
101121
strategy:
102122
matrix:
103123
include:
104-
- name: MongoDB 5.2, ReplicaSet, WiredTiger
105-
MONGODB_VERSION: 5.2.1
106-
MONGODB_TOPOLOGY: replicaset
107-
MONGODB_STORAGE_ENGINE: wiredTiger
108-
NODE_VERSION: 14.19.1
109-
- name: MongoDB 5.1, ReplicaSet, WiredTiger
110-
MONGODB_VERSION: 5.1.1
111-
MONGODB_TOPOLOGY: replicaset
112-
MONGODB_STORAGE_ENGINE: wiredTiger
113-
NODE_VERSION: 14.19.1
114-
- name: MongoDB 5.0, ReplicaSet, WiredTiger
115-
MONGODB_VERSION: 5.0.6
124+
- name: MongoDB 4.2, ReplicaSet
125+
MONGODB_VERSION: 4.2.19
116126
MONGODB_TOPOLOGY: replicaset
117-
MONGODB_STORAGE_ENGINE: wiredTiger
118-
NODE_VERSION: 16.14.2
119-
- name: MongoDB 4.4, ReplicaSet, WiredTiger
127+
NODE_VERSION: 18.12.1
128+
- name: MongoDB 4.4, ReplicaSet
120129
MONGODB_VERSION: 4.4.13
121130
MONGODB_TOPOLOGY: replicaset
122-
MONGODB_STORAGE_ENGINE: wiredTiger
123-
NODE_VERSION: 16.14.2
124-
- name: MongoDB 4.2, ReplicaSet, WiredTiger
125-
MONGODB_VERSION: 4.2.19
131+
NODE_VERSION: 18.12.1
132+
- name: MongoDB 5, ReplicaSet
133+
MONGODB_VERSION: 5.3.2
126134
MONGODB_TOPOLOGY: replicaset
127-
MONGODB_STORAGE_ENGINE: wiredTiger
128-
NODE_VERSION: 16.14.2
129-
- name: MongoDB 4.0, ReplicaSet, WiredTiger
130-
MONGODB_VERSION: 4.0.28
135+
NODE_VERSION: 18.12.1
136+
- name: MongoDB 6, ReplicaSet
137+
MONGODB_VERSION: 6.0.2
131138
MONGODB_TOPOLOGY: replicaset
132-
MONGODB_STORAGE_ENGINE: wiredTiger
133-
NODE_VERSION: 16.14.2
134-
- name: MongoDB 4.0, Standalone, MMAPv1
135-
MONGODB_VERSION: 4.0.28
136-
MONGODB_TOPOLOGY: standalone
137-
MONGODB_STORAGE_ENGINE: mmapv1
138-
NODE_VERSION: 16.14.2
139+
NODE_VERSION: 18.12.1
139140
- name: Redis Cache
140141
PARSE_SERVER_TEST_CACHE: redis
141142
MONGODB_VERSION: 4.4.13
142143
MONGODB_TOPOLOGY: standalone
143-
MONGODB_STORAGE_ENGINE: wiredTiger
144-
NODE_VERSION: 16.14.2
145-
- name: Node 12
146-
MONGODB_VERSION: 4.4.13
147-
MONGODB_TOPOLOGY: standalone
148-
MONGODB_STORAGE_ENGINE: wiredTiger
149-
NODE_VERSION: 12.22.11
144+
NODE_VERSION: 18.12.1
150145
- name: Node 14
151146
MONGODB_VERSION: 4.4.13
152147
MONGODB_TOPOLOGY: standalone
153-
MONGODB_STORAGE_ENGINE: wiredTiger
154-
NODE_VERSION: 14.19.1
155-
- name: Node 17
148+
NODE_VERSION: 14.21.1
149+
- name: Node 16
156150
MONGODB_VERSION: 4.4.13
157151
MONGODB_TOPOLOGY: standalone
158-
MONGODB_STORAGE_ENGINE: wiredTiger
159-
NODE_VERSION: 17.9.0
160-
- name: Node 18
161-
MONGODB_VERSION: 4.4.13
162-
MONGODB_TOPOLOGY: standalone
163-
MONGODB_STORAGE_ENGINE: wiredTiger
164-
NODE_VERSION: 18.1.0
152+
NODE_VERSION: 16.18.1
165153
fail-fast: false
166154
name: ${{ matrix.name }}
167155
timeout-minutes: 15
168-
runs-on: ubuntu-20.04
156+
runs-on: ubuntu-latest
169157
services:
170158
redis:
171159
image: redis
172160
ports:
173161
- 6379:6379
174-
env:
162+
env:
175163
MONGODB_VERSION: ${{ matrix.MONGODB_VERSION }}
176164
MONGODB_TOPOLOGY: ${{ matrix.MONGODB_TOPOLOGY }}
177165
MONGODB_STORAGE_ENGINE: ${{ matrix.MONGODB_STORAGE_ENGINE }}
@@ -205,26 +193,32 @@ jobs:
205193
include:
206194
- name: PostgreSQL 11, PostGIS 3.0
207195
POSTGRES_IMAGE: postgis/postgis:11-3.0
208-
NODE_VERSION: 16.14.2
196+
NODE_VERSION: 18.12.1
209197
- name: PostgreSQL 11, PostGIS 3.1
210198
POSTGRES_IMAGE: postgis/postgis:11-3.1
211-
NODE_VERSION: 16.14.2
199+
NODE_VERSION: 18.12.1
212200
- name: PostgreSQL 11, PostGIS 3.2
213201
POSTGRES_IMAGE: postgis/postgis:11-3.2
214-
NODE_VERSION: 16.14.2
215-
- name: PostgreSQL 12, PostGIS 3.2
216-
POSTGRES_IMAGE: postgis/postgis:12-3.2
217-
NODE_VERSION: 16.14.2
218-
- name: PostgreSQL 13, PostGIS 3.2
219-
POSTGRES_IMAGE: postgis/postgis:13-3.2
220-
NODE_VERSION: 16.14.2
221-
- name: PostgreSQL 14, PostGIS 3.2
222-
POSTGRES_IMAGE: postgis/postgis:14-3.2
223-
NODE_VERSION: 16.14.2
202+
NODE_VERSION: 18.12.1
203+
- name: PostgreSQL 11, PostGIS 3.3
204+
POSTGRES_IMAGE: postgis/postgis:11-3.3
205+
NODE_VERSION: 18.12.1
206+
- name: PostgreSQL 12, PostGIS 3.3
207+
POSTGRES_IMAGE: postgis/postgis:12-3.3
208+
NODE_VERSION: 18.12.1
209+
- name: PostgreSQL 13, PostGIS 3.3
210+
POSTGRES_IMAGE: postgis/postgis:13-3.3
211+
NODE_VERSION: 18.12.1
212+
- name: PostgreSQL 14, PostGIS 3.3
213+
POSTGRES_IMAGE: postgis/postgis:14-3.3
214+
NODE_VERSION: 18.12.1
215+
- name: PostgreSQL 15, PostGIS 3.3
216+
POSTGRES_IMAGE: postgis/postgis:15-3.3
217+
NODE_VERSION: 18.12.1
224218
fail-fast: false
225219
name: ${{ matrix.name }}
226220
timeout-minutes: 15
227-
runs-on: ubuntu-20.04
221+
runs-on: ubuntu-latest
228222
services:
229223
redis:
230224
image: redis
@@ -267,3 +261,6 @@ jobs:
267261
env:
268262
CI: true
269263
- run: bash <(curl -s https://codecov.io/bash)
264+
concurrency:
265+
group: ${{ github.workflow }}-${{ github.ref }}
266+
cancel-in-progress: true

.github/workflows/release-automated.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ jobs:
1717
persist-credentials: false
1818
- uses: actions/setup-node@v2
1919
with:
20-
node-version: 14
20+
node-version: 18.1.0
2121
registry-url: https://registry.npmjs.org/
2222
- name: Cache Node.js modules
2323
uses: actions/cache@v2
@@ -93,7 +93,7 @@ jobs:
9393
- name: Use Node.js
9494
uses: actions/setup-node@v1
9595
with:
96-
node-version: 14
96+
node-version: 18.1.0
9797
- name: Cache Node.js modules
9898
uses: actions/cache@v2
9999
with:

CONTRIBUTING.md

Lines changed: 47 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,14 @@
22

33
## Table of Contents <!-- omit in toc -->
44
- [Contributing](#contributing)
5+
- [Issue vs. Pull Request](#issue-vs-pull-request)
56
- [Templates](#templates)
67
- [Why Contributing?](#why-contributing)
8+
- [Contribution FAQs](#contribution-faqs)
9+
- [Reviewer Role](#reviewer-role)
10+
- [Review Feedback](#review-feedback)
11+
- [Merge Readiness](#merge-readiness)
12+
- [Review Validity](#review-validity)
713
- [Environment Setup](#environment-setup)
814
- [Recommended Tools](#recommended-tools)
915
- [Setting up your local machine](#setting-up-your-local-machine)
@@ -87,6 +93,46 @@ Consider the benefits you get:
8793

8894
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?
8995

96+
## Contribution FAQs
97+
98+
### Reviewer Role
99+
100+
> *Instead of writing review comments back-and-forth, why doesn't the reviewer just write the code themselves?*
101+
102+
A reviewer is already helping you to make a code contribution through their review. A reviewer *may* even help you to write code by actually writing it for you, but is not obliged to do so.
103+
104+
GitHub allows reviewers to suggest and write code changes as part of the review feedback. These code suggestions are likely to contain mistakes due to the lack of code syntax checks when writing code directly on GitHub. You should therefore always review these suggestions before accepting them, ideally in an IDE. If you merge a code suggestion and the CI then fails, take another look at the code change before asking the reviewer for help.
105+
106+
### Review Feedback
107+
108+
> *It takes too much effort to incorporate the review feedback, why why can't you just merge my pull request?*
109+
110+
If you are a new contributor, it's naturally a learning experience for you and therefore takes longer. We welcome contributors of any experience levels and gladly support you in getting familiar with the code base and our quality standards and contribution requirements. In return we expect you to be open to and appreciative of the reviewers' feedback.
111+
112+
In a large pull request, it can be a significant effort to bring it over the finish line. Luckily this is a collaborative environment and others are free to jump in to contribute to the pull request to share the effort. You can either give others access to your fork or they can open their own pull request based on your previous work.
113+
114+
If you are out of resources stay calm, explain your personal constraints (expertise or time) and ask for help. Wasting time by complaining about the amount of review comments will neither use your own time in a meaningful way, nor the time of others who read your complaint.
115+
116+
This is a collaborative enviroment in which everyone works on a common goal - to get a pull request ready for merging. Reviewers are working *with* you to get your pull request ready, *not against you*.
117+
118+
**❗️ Always be mindful that the reviewers' efforts are an integral part of code contribution. Their review is as important as your written code and their review time is a valuable as your coding time.**
119+
120+
### Merge Readiness
121+
122+
> *The feature already works, why do you request more changes instead of just merging my pull request?*
123+
124+
A feature may work for your own use case or in your own environment, but that doesn't necessarily mean that it's ready for merging. Aside from code quality and code style requirements, reviewers also review based on strategic and architectural considerations. It's often easy to just get a feature to work, but it needs to be also maintained in the future, robust therefore well tested and validated, intuitive for other developers to use, well documented, and not cause a forseeable breaking change in the near future.
125+
126+
### Review Validity
127+
128+
> *The reviewer has never worked on the issue and was never part of any previous discussion, why would I care about their opinion?*
129+
130+
It's contrary to an open, collaborative environment to expect others to be involved in an issue or discussion since its beginning. Such a mindset would close out any new views, which are important for a differentiated discussion.
131+
132+
> *The reviewer doesn't have any expertise in that matter, why would I care about their opinion?*
133+
134+
Your arguments must focus on the issue, not on your assumption of someone else's personal experience. We will take immediate and appropriate action in case of personal attacks, regardless of your previous contributions. Personal attacks are not permissible. If you became a victim of personal attacks, you can privately [report](https://docs.github.com/en/communities/maintaining-your-safety-on-github/reporting-abuse-or-spam) the GitHub comment to the Parse Platform PMC.
135+
90136
## Environment Setup
91137

92138
### Recommended Tools
@@ -453,7 +499,7 @@ The following changes are done in the `alpha` branch, before publishing the last
453499
3. Pull all remote branches into local branches.
454500
4. Create a new temporary branch `backmerge` on branch `release`.
455501
5. Create PR to merge `backmerge` into `beta`:
456-
- PR title: `<pr-name> [skip release]` where `<pr-name>` is the PR title of step 1.
502+
- PR title: `refactor: <commit-summary>` where `<commit-summary>` is the commit summary of step 1. The commit type needs to be `refactor`, otherwise the commit will show in the changelog of the `release` branch, once the `beta` branch is merged into release; this would a duplicate entry because the same changelog entry has already been generated when the PR was merged into the `release` branch in step 1.
457503
- PR description: (leave empty)
458504
6. Resolve any conflicts:
459505
- During back-merging, usually all changes are preserved; current changes come from the hotfix in the `release` branch, the incoming changes come from the `beta` branch usually being ahead of the `release` branch. This makes back-merging so complex and bug-prone and is the main reason why it should be avoided if possible.

DEPRECATIONS.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ The following is a list of deprecations, according to the [Deprecation Policy](h
55
| ID | Change | Issue | Deprecation [ℹ️][i_deprecation] | Planned Removal [ℹ️][i_removal] | Status [ℹ️][i_status] | Notes |
66
|--------|-------------------------------------------------|----------------------------------------------------------------------|---------------------------------|---------------------------------|-----------------------|-------|
77
| DEPPS1 | Native MongoDB syntax in aggregation pipeline | [#7338](https://github.com/parse-community/parse-server/issues/7338) | 5.0.0 (2022) | 6.0.0 (2023) | deprecated | - |
8-
| DEPPS2 | Config option `directAccess` defaults to `true` | [#6636](https://github.com/parse-community/parse-server/pull/6636) | 5.0.0 (2022) | 6.0.0 (2023) | deprecated | - |
8+
| DEPPS2 | Config option `directAccess` defaults to `true` | [#6636](https://github.com/parse-community/parse-server/pull/6636) | 5.0.0 (2022) | 6.0.0 (2023) | removed | - |
99
| DEPPS3 | Config option `enforcePrivateUsers` defaults to `true` | [#7319](https://github.com/parse-community/parse-server/pull/7319) | 5.0.0 (2022) | 6.0.0 (2023) | deprecated | - |
10-
| DEPPS4 | Remove convenience method for http request `Parse.Cloud.httpRequest` | [#7589](https://github.com/parse-community/parse-server/pull/7589) | 5.0.0 (2022) | 6.0.0 (2023) | deprecated | - |
10+
| DEPPS4 | Remove convenience method for http request `Parse.Cloud.httpRequest` | [#7589](https://github.com/parse-community/parse-server/pull/7589) | 5.0.0 (2022) | 6.0.0 (2023) | removed | - |
1111
| DEPPS5 | Config option `allowClientClassCreation` defaults to `false` | [#7925](https://github.com/parse-community/parse-server/pull/7925) | 5.3.0 (2022) | 7.0.0 (2024) | deprecated | - |
1212
| DEPPS6 | Auth providers disabled by default | [#7953](https://github.com/parse-community/parse-server/pull/7953) | 5.3.0 (2022) | 7.0.0 (2024) | deprecated | - |
1313
| DEPPS7 | Remove file trigger syntax `Parse.Cloud.beforeSaveFile((request) => {})` | [#7966](https://github.com/parse-community/parse-server/pull/7966) | 5.3.0 (2022) | 7.0.0 (2024) | deprecated | - |
14+
| DEPPS8 | Login with expired 3rd party authentication token defaults to `false` | [#7079](https://github.com/parse-community/parse-server/pull/7079) | 5.3.0 (2022) | 7.0.0 (2024) | deprecated | - |
1415

1516
[i_deprecation]: ## "The version and date of the deprecation."
1617
[i_removal]: ## "The version and date of the planned removal."

0 commit comments

Comments
 (0)