Skip to content

Commit 2549540

Browse files
authored
build: release (#8263)
2 parents 8011b2f + 50409aa commit 2549540

Some content is hidden

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

54 files changed

+2255
-1987
lines changed

Diff for: .github/workflows/ci.yml

+52-30
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@ on:
66
branches:
77
- '**'
88
env:
9-
NODE_VERSION: 16.13.0
9+
NODE_VERSION: 16.14.2
1010
PARSE_SERVER_TEST_TIMEOUT: 20000
1111
jobs:
1212
check-ci:
1313
name: Node Engine Check
1414
timeout-minutes: 15
15-
runs-on: ubuntu-18.04
15+
runs-on: ubuntu-20.04
1616
steps:
1717
- uses: actions/checkout@v2
1818
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -33,7 +33,7 @@ jobs:
3333
check-lint:
3434
name: Lint
3535
timeout-minutes: 15
36-
runs-on: ubuntu-18.04
36+
runs-on: ubuntu-20.04
3737
steps:
3838
- uses: actions/checkout@v2
3939
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -53,7 +53,7 @@ jobs:
5353
check-circular:
5454
name: Circular Dependencies
5555
timeout-minutes: 5
56-
runs-on: ubuntu-18.04
56+
runs-on: ubuntu-20.04
5757
steps:
5858
- uses: actions/checkout@v2
5959
- name: Use Node.js ${{ matrix.NODE_VERSION }}
@@ -73,7 +73,7 @@ jobs:
7373
check-docker:
7474
name: Docker Build
7575
timeout-minutes: 15
76-
runs-on: ubuntu-18.04
76+
runs-on: ubuntu-20.04
7777
steps:
7878
- name: Checkout repository
7979
uses: actions/checkout@v2
@@ -90,7 +90,7 @@ jobs:
9090
check-lock-file-version:
9191
name: NPM Lock File Version
9292
timeout-minutes: 5
93-
runs-on: ubuntu-18.04
93+
runs-on: ubuntu-20.04
9494
steps:
9595
- uses: actions/checkout@v2
9696
- name: Check NPM lock file version
@@ -101,51 +101,71 @@ jobs:
101101
strategy:
102102
matrix:
103103
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
104114
- name: MongoDB 5.0, ReplicaSet, WiredTiger
105-
MONGODB_VERSION: 5.0.3
115+
MONGODB_VERSION: 5.0.6
106116
MONGODB_TOPOLOGY: replicaset
107117
MONGODB_STORAGE_ENGINE: wiredTiger
108-
NODE_VERSION: 16.13.0
118+
NODE_VERSION: 16.14.2
109119
- name: MongoDB 4.4, ReplicaSet, WiredTiger
110-
MONGODB_VERSION: 4.4.10
120+
MONGODB_VERSION: 4.4.13
111121
MONGODB_TOPOLOGY: replicaset
112122
MONGODB_STORAGE_ENGINE: wiredTiger
113-
NODE_VERSION: 16.13.0
123+
NODE_VERSION: 16.14.2
114124
- name: MongoDB 4.2, ReplicaSet, WiredTiger
115-
MONGODB_VERSION: 4.2.17
125+
MONGODB_VERSION: 4.2.19
116126
MONGODB_TOPOLOGY: replicaset
117127
MONGODB_STORAGE_ENGINE: wiredTiger
118-
NODE_VERSION: 16.13.0
128+
NODE_VERSION: 16.14.2
119129
- name: MongoDB 4.0, ReplicaSet, WiredTiger
120-
MONGODB_VERSION: 4.0.27
130+
MONGODB_VERSION: 4.0.28
121131
MONGODB_TOPOLOGY: replicaset
122132
MONGODB_STORAGE_ENGINE: wiredTiger
123-
NODE_VERSION: 16.13.0
133+
NODE_VERSION: 16.14.2
124134
- name: MongoDB 4.0, Standalone, MMAPv1
125-
MONGODB_VERSION: 4.0.27
135+
MONGODB_VERSION: 4.0.28
126136
MONGODB_TOPOLOGY: standalone
127137
MONGODB_STORAGE_ENGINE: mmapv1
128-
NODE_VERSION: 16.13.0
138+
NODE_VERSION: 16.14.2
129139
- name: Redis Cache
130140
PARSE_SERVER_TEST_CACHE: redis
131-
MONGODB_VERSION: 4.4.10
141+
MONGODB_VERSION: 4.4.13
132142
MONGODB_TOPOLOGY: standalone
133143
MONGODB_STORAGE_ENGINE: wiredTiger
134-
NODE_VERSION: 16.13.0
144+
NODE_VERSION: 16.14.2
135145
- name: Node 12
136-
MONGODB_VERSION: 4.4.10
146+
MONGODB_VERSION: 4.4.13
137147
MONGODB_TOPOLOGY: standalone
138148
MONGODB_STORAGE_ENGINE: wiredTiger
139-
NODE_VERSION: 12.22.7
149+
NODE_VERSION: 12.22.11
140150
- name: Node 14
141-
MONGODB_VERSION: 4.4.10
151+
MONGODB_VERSION: 4.4.13
152+
MONGODB_TOPOLOGY: standalone
153+
MONGODB_STORAGE_ENGINE: wiredTiger
154+
NODE_VERSION: 14.19.1
155+
- name: Node 17
156+
MONGODB_VERSION: 4.4.13
157+
MONGODB_TOPOLOGY: standalone
158+
MONGODB_STORAGE_ENGINE: wiredTiger
159+
NODE_VERSION: 17.9.0
160+
- name: Node 18
161+
MONGODB_VERSION: 4.4.13
142162
MONGODB_TOPOLOGY: standalone
143163
MONGODB_STORAGE_ENGINE: wiredTiger
144-
NODE_VERSION: 14.18.1
164+
NODE_VERSION: 18.1.0
145165
fail-fast: false
146166
name: ${{ matrix.name }}
147167
timeout-minutes: 15
148-
runs-on: ubuntu-18.04
168+
runs-on: ubuntu-20.04
149169
services:
150170
redis:
151171
image: redis
@@ -158,6 +178,8 @@ jobs:
158178
PARSE_SERVER_TEST_CACHE: ${{ matrix.PARSE_SERVER_TEST_CACHE }}
159179
NODE_VERSION: ${{ matrix.NODE_VERSION }}
160180
steps:
181+
- name: Fix usage of insecure GitHub protocol
182+
run: sudo git config --system url."https://github".insteadOf "git://github"
161183
- uses: actions/checkout@v2
162184
- name: Use Node.js ${{ matrix.NODE_VERSION }}
163185
uses: actions/setup-node@v2
@@ -183,26 +205,26 @@ jobs:
183205
include:
184206
- name: PostgreSQL 11, PostGIS 3.0
185207
POSTGRES_IMAGE: postgis/postgis:11-3.0
186-
NODE_VERSION: 16.13.0
208+
NODE_VERSION: 16.14.2
187209
- name: PostgreSQL 11, PostGIS 3.1
188210
POSTGRES_IMAGE: postgis/postgis:11-3.1
189-
NODE_VERSION: 16.13.0
211+
NODE_VERSION: 16.14.2
190212
- name: PostgreSQL 11, PostGIS 3.2
191213
POSTGRES_IMAGE: postgis/postgis:11-3.2
192-
NODE_VERSION: 16.13.0
214+
NODE_VERSION: 16.14.2
193215
- name: PostgreSQL 12, PostGIS 3.2
194216
POSTGRES_IMAGE: postgis/postgis:12-3.2
195-
NODE_VERSION: 16.13.0
217+
NODE_VERSION: 16.14.2
196218
- name: PostgreSQL 13, PostGIS 3.2
197219
POSTGRES_IMAGE: postgis/postgis:13-3.2
198-
NODE_VERSION: 16.13.0
220+
NODE_VERSION: 16.14.2
199221
- name: PostgreSQL 14, PostGIS 3.2
200222
POSTGRES_IMAGE: postgis/postgis:14-3.2
201-
NODE_VERSION: 16.13.0
223+
NODE_VERSION: 16.14.2
202224
fail-fast: false
203225
name: ${{ matrix.name }}
204226
timeout-minutes: 15
205-
runs-on: ubuntu-18.04
227+
runs-on: ubuntu-20.04
206228
services:
207229
redis:
208230
image: redis

Diff for: DEPRECATIONS.md

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ The following is a list of deprecations, according to the [Deprecation Policy](h
88
| 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 | - |
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 | - |
1010
| 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 | - |
11+
| 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 | - |
12+
| 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 | - |
13+
| 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 | - |
1114

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

Diff for: README.md

+32-20
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77
[![Coverage](https://img.shields.io/codecov/c/github/parse-community/parse-server/alpha.svg)](https://codecov.io/github/parse-community/parse-server?branch=alpha)
88
[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
99

10-
[![Node Version](https://img.shields.io/badge/nodejs-12,_14,_16-green.svg?logo=node.js&style=flat)](https://nodejs.org)
11-
[![MongoDB Version](https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4,_5.0-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
10+
[![Node Version](https://img.shields.io/badge/nodejs-12,_14,_16,_17,_18-green.svg?logo=node.js&style=flat)](https://nodejs.org)
11+
[![MongoDB Version](https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4,_5.0,_5.1,_5.2-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
1212
[![Postgres Version](https://img.shields.io/badge/postgresql-11,_12,_13,_14-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
1313

1414
[![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server)
@@ -20,6 +20,7 @@
2020
[![License][license-svg]][license-link]
2121
[![Forum](https://img.shields.io/discourse/https/community.parseplatform.org/topics.svg)](https://community.parseplatform.org/c/parse-server)
2222
[![Twitter](https://img.shields.io/twitter/follow/ParsePlatform.svg?label=Follow&style=social)](https://twitter.com/intent/follow?screen_name=ParsePlatform)
23+
[![Chat](https://img.shields.io/badge/Chat-Join!-%23fff?style=social&logo=slack)](https://chat.parseplatform.org)
2324

2425
---
2526

@@ -110,36 +111,43 @@ Before you start make sure you have installed:
110111
### Compatibility
111112

112113
#### Node.js
114+
113115
Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
114116

115-
| Version | Latest Version | End-of-Life | Compatible |
116-
|------------|----------------|-------------|---------------|
117-
| Node.js 12 | 12.22.7 | April 2022 | ✅ Yes |
118-
| Node.js 14 | 14.18.1 | April 2023 | ✅ Yes |
119-
| Node.js 16 | 16.13.0 | April 2024 | ✅ Yes |
120-
| Node.js 17 | 17.x | June 2022 | ❌ Not tested |
117+
| Version | Latest Version | End-of-Life | Compatible |
118+
|------------|----------------|-------------|------------|
119+
| Node.js 12 | 12.22.11 | April 2022 | ✅ Yes |
120+
| Node.js 14 | 14.19.1 | April 2023 | ✅ Yes |
121+
| Node.js 16 | 16.14.2 | April 2024 | ✅ Yes |
122+
| Node.js 17 | 17.9.0 | June 2022 | ✅ Yes |
123+
| Node.js 18 | 18.1.0 | April 2025 | ✅ Yes |
121124

122125
#### MongoDB
126+
123127
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.
124128

125-
| Version | Latest Version | End-of-Life | Compatible |
126-
|-------------|----------------|--------------|------------|
127-
| MongoDB 4.0 | 4.0.27 | April 2022 | ✅ Yes |
128-
| MongoDB 4.2 | 4.2.17 | TBD | ✅ Yes |
129-
| MongoDB 4.4 | 4.4.10 | TBD | ✅ Yes |
130-
| MongoDB 5.0 | 5.0.3 | January 2024 | ✅ Yes |
131-
129+
| Version | Latest Version | End-of-Life | Compatible |
130+
|-------------|----------------|-------------|------------|
131+
| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes |
132+
| MongoDB 4.2 | 4.2.19 | TBD | ✅ Yes |
133+
| MongoDB 4.4 | 4.4.13 | TBD | ✅ Yes |
134+
| MongoDB 5.0 | 5.0.6 | TBD | ✅ Yes |
135+
| MongoDB 5.1 | 5.1.1 | TBD | ✅ Yes |
136+
| MongoDB 5.2 | 5.2.1 | TBD | ✅ Yes |
137+
132138
#### PostgreSQL
139+
133140
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.
134141

135142
| Version | PostGIS Version | End-of-Life | Parse Server Support End | Compatible |
136143
|-------------|-----------------|---------------|--------------------------|------------|
137-
| Postgres 11 | 3.0, 3.1, 3.2 | November 2023 | April 2022 | ✅ Yes |
138-
| Postgres 12 | 3.2 | November 2024 | April 2023 | ✅ Yes |
139-
| Postgres 13 | 3.2 | November 2025 | April 2024 | ✅ Yes |
140-
| Postgres 14 | 3.2 | November 2026 | April 2025 | ✅ Yes |
144+
| Postgres 11 | 3.0, 3.1, 3.2 | November 2023 | April 2022 | ✅ Yes |
145+
| Postgres 12 | 3.2 | November 2024 | April 2023 | ✅ Yes |
146+
| Postgres 13 | 3.2 | November 2025 | April 2024 | ✅ Yes |
147+
| Postgres 14 | 3.2 | November 2026 | April 2025 | ✅ Yes |
141148

142149
### Locally
150+
143151
```bash
144152
$ npm install -g parse-server mongodb-runner
145153
$ mongodb-runner start
@@ -232,7 +240,6 @@ $ curl -X GET \
232240
}
233241
]
234242
}
235-
236243
```
237244

238245
To learn more about using saving and querying objects on Parse Server, check out the [Parse documentation](http://docs.parseplatform.org).
@@ -382,6 +389,7 @@ const server = ParseServer({
382389
```
383390

384391
## Custom Routes
392+
385393
**Caution, this is an experimental feature that may not be appropriate for production.**
386394

387395
Custom routes allow to build user flows with webpages, similar to the existing password reset and email verification features. Custom routes are defined with the `pages` option in the Parse Server configuration:
@@ -414,6 +422,7 @@ The above route can be invoked by sending a `GET` request to:
414422
The `handler` receives the `request` and returns a `custom_page.html` webpage from the `pages.pagesPath` directory as response. The advantage of building a custom route this way is that it automatically makes use of Parse Server's built-in capabilities, such as [page localization](#pages) and [dynamic placeholders](#dynamic-placeholders).
415423
416424
### Reserved Paths
425+
417426
The following paths are already used by Parse Server's built-in features and are therefore not available for custom routes. Custom routes with an identical combination of `path` and `method` are ignored.
418427

419428
| Path | HTTP Method | Feature |
@@ -509,6 +518,7 @@ Identical requests are identified by their request header `X-Parse-Request-Id`.
509518
Deduplication is only done for object creation and update (`POST` and `PUT` requests). Deduplication is not done for object finding and deletion (`GET` and `DELETE` requests), as these operations are already idempotent by definition.
510519
511520
### Configuration example <!-- omit in toc -->
521+
512522
```
513523
let api = new ParseServer({
514524
idempotencyOptions: {
@@ -517,6 +527,7 @@ let api = new ParseServer({
517527
}
518528
}
519529
```
530+
520531
### Parameters <!-- omit in toc -->
521532
522533
| Parameter | Optional | Type | Default value | Example values | Environment variable | Description |
@@ -549,6 +560,7 @@ Assuming the script above is named, `parse_idempotency_delete_expired_records.sh
549560
## Localization
550561
551562
### Pages
563+
552564
**Caution, this is an experimental feature that may not be appropriate for production.**
553565
554566
Custom pages as well as feature pages (e.g. password reset, email verification) can be localized with the `pages` option in the Parse Server configuration:

0 commit comments

Comments
 (0)