Skip to content

Commit f0aba55

Browse files
authored
Merge branch 'master' into afterFind-Pointers
2 parents b280398 + 2b5bf22 commit f0aba55

19 files changed

+688
-516
lines changed

.babelrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
["@babel/preset-env", {
88
"targets": {
99
"node": "12"
10-
}
10+
},
11+
"exclude": ["proposal-dynamic-import"]
1112
}]
1213
],
1314
"sourceMaps": "inline"

.github/workflows/ci.yml

Lines changed: 27 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches:
88
- '**'
99
env:
10-
NODE_VERSION: 14.17.6
10+
NODE_VERSION: 14.18.0
1111
PARSE_SERVER_TEST_TIMEOUT: 20000
1212
jobs:
1313
check-ci:
@@ -17,7 +17,7 @@ jobs:
1717
steps:
1818
- uses: actions/checkout@v2
1919
- name: Use Node.js ${{ matrix.NODE_VERSION }}
20-
uses: actions/setup-node@v1
20+
uses: actions/setup-node@v2
2121
with:
2222
node-version: ${{ matrix.node-version }}
2323
- name: Cache Node.js modules
@@ -29,8 +29,10 @@ jobs:
2929
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
3030
- name: Install dependencies
3131
run: npm ci
32-
- name: CI Self-Check
32+
- name: CI Environments Check
3333
run: npm run ci:check
34+
- name: CI Node Engine Check
35+
run: npm run ci:checkNodeEngine
3436
check-changelog:
3537
name: Changelog
3638
timeout-minutes: 5
@@ -45,7 +47,7 @@ jobs:
4547
steps:
4648
- uses: actions/checkout@v2
4749
- name: Use Node.js ${{ matrix.NODE_VERSION }}
48-
uses: actions/setup-node@v1
50+
uses: actions/setup-node@v2
4951
with:
5052
node-version: ${{ matrix.node-version }}
5153
- name: Cache Node.js modules
@@ -65,7 +67,7 @@ jobs:
6567
steps:
6668
- uses: actions/checkout@v2
6769
- name: Use Node.js ${{ matrix.NODE_VERSION }}
68-
uses: actions/setup-node@v1
70+
uses: actions/setup-node@v2
6971
with:
7072
node-version: ${{ matrix.node-version }}
7173
- name: Cache Node.js modules
@@ -101,43 +103,43 @@ jobs:
101103
matrix:
102104
include:
103105
- name: MongoDB 5.0, ReplicaSet, WiredTiger
104-
MONGODB_VERSION: 5.0.2
106+
MONGODB_VERSION: 5.0.3
105107
MONGODB_TOPOLOGY: replicaset
106108
MONGODB_STORAGE_ENGINE: wiredTiger
107-
NODE_VERSION: 14.17.6
109+
NODE_VERSION: 14.18.0
108110
- name: MongoDB 4.4, ReplicaSet, WiredTiger
109-
MONGODB_VERSION: 4.4.8
111+
MONGODB_VERSION: 4.4.9
110112
MONGODB_TOPOLOGY: replicaset
111113
MONGODB_STORAGE_ENGINE: wiredTiger
112-
NODE_VERSION: 14.17.6
114+
NODE_VERSION: 14.18.0
113115
- name: MongoDB 4.2, ReplicaSet, WiredTiger
114-
MONGODB_VERSION: 4.2.15
116+
MONGODB_VERSION: 4.2.17
115117
MONGODB_TOPOLOGY: replicaset
116118
MONGODB_STORAGE_ENGINE: wiredTiger
117-
NODE_VERSION: 14.17.6
119+
NODE_VERSION: 14.18.0
118120
- name: MongoDB 4.0, ReplicaSet, WiredTiger
119-
MONGODB_VERSION: 4.0.25
121+
MONGODB_VERSION: 4.0.27
120122
MONGODB_TOPOLOGY: replicaset
121123
MONGODB_STORAGE_ENGINE: wiredTiger
122-
NODE_VERSION: 14.17.6
124+
NODE_VERSION: 14.18.0
123125
- name: MongoDB 4.0, Standalone, MMAPv1
124-
MONGODB_VERSION: 4.0.25
126+
MONGODB_VERSION: 4.0.27
125127
MONGODB_TOPOLOGY: standalone
126128
MONGODB_STORAGE_ENGINE: mmapv1
127-
NODE_VERSION: 14.17.6
129+
NODE_VERSION: 14.18.0
128130
- name: Redis Cache
129131
PARSE_SERVER_TEST_CACHE: redis
130-
MONGODB_VERSION: 4.4.8
132+
MONGODB_VERSION: 4.4.9
131133
MONGODB_TOPOLOGY: standalone
132134
MONGODB_STORAGE_ENGINE: wiredTiger
133-
NODE_VERSION: 14.17.6
135+
NODE_VERSION: 14.18.0
134136
- name: Node 12
135-
MONGODB_VERSION: 4.4.8
137+
MONGODB_VERSION: 4.4.9
136138
MONGODB_TOPOLOGY: standalone
137139
MONGODB_STORAGE_ENGINE: wiredTiger
138140
NODE_VERSION: 12.22.6
139141
- name: Node 15
140-
MONGODB_VERSION: 4.4.8
142+
MONGODB_VERSION: 4.4.9
141143
MONGODB_TOPOLOGY: standalone
142144
MONGODB_STORAGE_ENGINE: wiredTiger
143145
NODE_VERSION: 15.14.0
@@ -159,7 +161,7 @@ jobs:
159161
steps:
160162
- uses: actions/checkout@v2
161163
- name: Use Node.js ${{ matrix.NODE_VERSION }}
162-
uses: actions/setup-node@v1
164+
uses: actions/setup-node@v2
163165
with:
164166
node-version: ${{ matrix.NODE_VERSION }}
165167
- name: Cache Node.js modules
@@ -182,16 +184,16 @@ jobs:
182184
include:
183185
- name: PostgreSQL 11, PostGIS 3.0
184186
POSTGRES_IMAGE: postgis/postgis:11-3.0
185-
NODE_VERSION: 14.17.6
187+
NODE_VERSION: 14.18.0
186188
- name: PostgreSQL 11, PostGIS 3.1
187189
POSTGRES_IMAGE: postgis/postgis:11-3.1
188-
NODE_VERSION: 14.17.6
190+
NODE_VERSION: 14.18.0
189191
- name: PostgreSQL 12, PostGIS 3.1
190192
POSTGRES_IMAGE: postgis/postgis:12-3.1
191-
NODE_VERSION: 14.17.6
193+
NODE_VERSION: 14.18.0
192194
- name: PostgreSQL 13, PostGIS 3.1
193195
POSTGRES_IMAGE: postgis/postgis:13-3.1
194-
NODE_VERSION: 14.17.6
196+
NODE_VERSION: 14.18.0
195197
fail-fast: false
196198
name: ${{ matrix.name }}
197199
timeout-minutes: 15
@@ -219,7 +221,7 @@ jobs:
219221
steps:
220222
- uses: actions/checkout@v2
221223
- name: Use Node.js ${{ matrix.NODE_VERSION }}
222-
uses: actions/setup-node@v1
224+
uses: actions/setup-node@v2
223225
with:
224226
node-version: ${{ matrix.NODE_VERSION }}
225227
- name: Cache Node.js modules
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Trigger this workflow only to manually create a Docker release; this should only be used
2+
# in extraordinary circumstances, as Docker releases are normally created automatically as
3+
# part of the automated release workflow.
4+
5+
name: release-manual-docker
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
ref:
10+
default: ''
11+
description: 'Reference (tag / SHA):'
12+
env:
13+
REGISTRY: docker.io
14+
IMAGE_NAME: parseplatform/parse-server
15+
jobs:
16+
build:
17+
runs-on: ubuntu-18.04
18+
permissions:
19+
contents: read
20+
packages: write
21+
steps:
22+
- name: Determine branch name
23+
id: branch
24+
run: echo "::set-output name=branch_name::${GITHUB_REF#refs/*/}"
25+
- name: Checkout repository
26+
uses: actions/checkout@v2
27+
with:
28+
ref: ${{ github.event.inputs.ref }}
29+
- name: Set up QEMU
30+
id: qemu
31+
uses: docker/setup-qemu-action@v1
32+
- name: Set up Docker Buildx
33+
uses: docker/setup-buildx-action@v1
34+
- name: Log into Docker Hub
35+
if: github.event_name != 'pull_request'
36+
uses: docker/login-action@v1
37+
with:
38+
username: ${{ secrets.DOCKERHUB_USERNAME }}
39+
password: ${{ secrets.DOCKERHUB_TOKEN }}
40+
- name: Extract Docker metadata
41+
id: meta
42+
uses: docker/metadata-action@v3
43+
with:
44+
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
45+
flavor: |
46+
latest=${{ steps.branch.outputs.branch_name == 'master' && github.event.inputs.ref == '' }}
47+
tags: |
48+
type=semver,enable=true,pattern={{version}},value=${{ github.event.inputs.ref }}
49+
type=raw,enable=${{ github.event.inputs.ref == '' }},value=latest
50+
- name: Build and push Docker image
51+
uses: docker/build-push-action@v2
52+
with:
53+
context: .
54+
platforms: linux/amd64, linux/arm/v6, linux/arm/v7, linux/arm64/v8
55+
push: ${{ github.event_name != 'pull_request' }}
56+
tags: ${{ steps.meta.outputs.tags }}
57+
labels: ${{ steps.meta.outputs.labels }}

CHANGELOG.md

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ Jump directly to a version:
44

55
| 4.x |
66
|--------------------------------------|
7-
| [**4.10.3 (latest release)**](#4103) |
7+
| [**4.10.4 (latest release)**](#4104) |
8+
| [4.10.3](#4103) |
89
| [4.10.2](#4102) |
910
| [4.10.1](#4101) |
1011
| [4.10.0](#4100) |
@@ -94,7 +95,7 @@ Jump directly to a version:
9495
___
9596

9697
## Unreleased (Master Branch)
97-
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.10.3...master)
98+
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.10.4...master)
9899

99100
### Breaking Changes
100101
- Improved schema caching through database real-time hooks. Reduces DB queries, decreases Parse Query execution time and fixes a potential schema memory leak. If multiple Parse Server instances connect to the same DB (for example behind a load balancer), set the [Parse Server Option](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) `databaseOptions.enableSchemaHooks: true` to enable this feature and keep the schema in sync across all instances. Failing to do so will cause a schema change to not propagate to other instances and re-syncing will only happen when these instances restart. The options `enableSingleSchemaCache` and `schemaCacheTTL` have been removed. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required. (Diamond Lewis, SebC) [#7214](https://github.com/parse-community/parse-server/issues/7214)
@@ -104,6 +105,7 @@ ___
104105
- Remove support for Node 10 which has reached its End-of-Life date (Manuel Trezza) [#7314](https://github.com/parse-community/parse-server/pull/7314)
105106
- Remove S3 Files Adapter from Parse Server, instead install separately as `@parse/s3-files-adapter` (Manuel Trezza) [#7324](https://github.com/parse-community/parse-server/pull/7324)
106107
- Remove Session field `restricted`; the field was a code artifact from a feature that never existed in Open Source Parse Server; if you have been using this field for custom purposes, consider that for new Parse Server installations the field does not exist anymore in the schema, and for existing installations the field default value `false` will not be set anymore when creating a new session (Manuel Trezza) [#7543](https://github.com/parse-community/parse-server/pull/7543)
108+
- ci: add node engine version check (Manuel Trezza) [#7574](https://github.com/parse-community/parse-server/pull/7574)
107109

108110
### Notable Changes
109111
- Added Parse Server Security Check to report weak security settings (Manuel Trezza, dblythy) [#7247](https://github.com/parse-community/parse-server/issues/7247)
@@ -152,8 +154,16 @@ ___
152154
- ci: bump ci environment (Manuel Trezza) [#7539](https://github.com/parse-community/parse-server/pull/7539)
153155
- CI now pushes docker images to Docker Hub (Corey Baker) [#7548](https://github.com/parse-community/parse-server/pull/7548)
154156
- Allow afterFind and afterLiveQueryEvent to set unsaved pointers and keys (dblythy) [#7310](https://github.com/parse-community/parse-server/pull/7310)
157+
- Allow setting descending sort to full text queries (dblythy) [#7496](https://github.com/parse-community/parse-server/pull/7496)
158+
- Allow cloud string for ES modules (Daniel Blyth) [#7560](https://github.com/parse-community/parse-server/pull/7560)
155159
- docs: Introduce deprecation ID for reference in comments and online search (Manuel Trezza) [#7562](https://github.com/parse-community/parse-server/pull/7562)
156160

161+
## 4.10.4
162+
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.10.3...4.10.4)
163+
164+
### Security Fixes
165+
- Strip out sessionToken when LiveQuery is used on Parse.User (Daniel Blyth) [GHSA-7pr3-p5fm-8r9x](https://github.com/parse-community/parse-server/security/advisories/GHSA-7pr3-p5fm-8r9x)
166+
157167
## 4.10.3
158168
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.10.2...4.10.3)
159169

CONTRIBUTING.md

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,11 @@ The _type_ is the category of change that is made, possible types are:
309309
- `ci` - continuous integration
310310
- `test` - tests
311311

312-
The _summary_ is a short change description in present tense, not capitalized, without period at the end.
312+
The _summary_ is a short change description in present tense, not capitalized, without period at the end. This summary will also be used as the changelog entry.
313+
- It must be short and self-explanatory for a reader who does not see the details of the full pull request description
314+
- It must not contain abbreviations, e.g. instead of `LQ` write `LiveQuery`
315+
- It must use the correct product and feature names as referenced in the documentation, e.g. instead of `Cloud Validator` use `Cloud Function validation`
316+
- In case of a breaking change, the summary must not contain duplicate information that is also in the [BREAKING CHANGE](#breaking-change) chapter of the pull request description. It must not contain a note that it is a breaking change, as this will be automatically flagged as such if the pull request description contains the BREAKING CHANGE chapter.
313317

314318
For example:
315319

@@ -321,11 +325,15 @@ Currently, we are not making use of the commit _scope_, which would be written a
321325

322326
### Breaking Change
323327

324-
If a pull request contains a braking change, the text of the pull request must contain the word `BREAKING CHANGE` capitalized as the _last, most bottom_ part of the text. It must be followed by an empty line, then a short description of the character of the breaking change, and ideally how the developer should address it.
328+
If a pull request contains a braking change, the description of the pull request must contain a special chapter at the bottom.
329+
330+
The chapter consists of the phrase `BREAKING CHANGE`, capitalized, in a single line without any formatting. It must be followed by an empty line, then a short description of the breaking change, and ideally how the developer should address it. This chapter should contain more details focusing on the "breaking” aspect of the change, as it is intended to assist the developer in adapting their deployment. However, keep it concise, as it will also become part of the changelog entry.
325331
326332
For example:
327333
328334
```
335+
Detailed pull request description...
336+
329337
BREAKING CHANGE
330338
331339
The door handle has be pulled up to open the door, not down. Adjust your habits accordingly by walking on your hands.

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -115,18 +115,18 @@ Parse Server is continuously tested with the most recent releases of Node.js to
115115
| Version | Latest Version | End-of-Life Date | Compatibility |
116116
|------------|----------------|------------------|--------------------|
117117
| Node.js 12 | 12.22.6 | April 2022 | ✅ Fully compatible |
118-
| Node.js 14 | 14.17.6 | April 2023 | ✅ Fully compatible |
118+
| Node.js 14 | 14.18.0 | April 2023 | ✅ Fully compatible |
119119
| Node.js 15 | 15.14.0 | June 2021 | ✅ Fully compatible |
120120

121121
#### MongoDB
122122
Parse Server is continuously tested with the most recent releases of MongoDB to ensure compatibility. We follow the [MongoDB support schedule](https://www.mongodb.com/support-policy) and only test against versions that are officially supported and have not reached their end-of-life date.
123123

124124
| Version | Latest Version | End-of-Life Date | Compatibility |
125125
|-------------|----------------|------------------|--------------------|
126-
| MongoDB 4.0 | 4.0.25 | April 2022 | ✅ Fully compatible |
127-
| MongoDB 4.2 | 4.2.15 | TBD | ✅ Fully compatible |
128-
| MongoDB 4.4 | 4.4.8 | TBD | ✅ Fully compatible |
129-
| MongoDB 5.0 | 5.0.2 | January 2024 | ✅ Fully compatible |
126+
| MongoDB 4.0 | 4.0.27 | April 2022 | ✅ Fully compatible |
127+
| MongoDB 4.2 | 4.2.17 | TBD | ✅ Fully compatible |
128+
| MongoDB 4.4 | 4.4.9 | TBD | ✅ Fully compatible |
129+
| MongoDB 5.0 | 5.0.3 | January 2024 | ✅ Fully compatible |
130130

131131
#### PostgreSQL
132132
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility, using [PostGIS docker images](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated). We follow the [PostgreSQL support schedule](https://www.postgresql.org/support/versioning) and [PostGIS support schedule](https://www.postgis.net/eol_policy/) and only test against versions that are officially supported and have not reached their end-of-life date. Due to the extensive PostgreSQL support duration of 5 years, Parse Server drops support if a version is older than 3.5 years and a newer version has been available for at least 2.5 years.
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)