Skip to content

Commit 85b63ee

Browse files
authored
build: Release (#9320)
2 parents 1979de0 + 59d86c8 commit 85b63ee

File tree

87 files changed

+4165
-3866
lines changed

Some content is hidden

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

87 files changed

+4165
-3866
lines changed

.github/workflows/ci.yml

+22-18
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
paths-ignore:
99
- '**/**.md'
1010
env:
11-
NODE_VERSION: 20.12.0
11+
NODE_VERSION: 22.4.1
1212
PARSE_SERVER_TEST_TIMEOUT: 20000
1313
jobs:
1414
check-code-analysis:
@@ -143,35 +143,39 @@ jobs:
143143
- name: MongoDB 4.2, ReplicaSet
144144
MONGODB_VERSION: 4.2.25
145145
MONGODB_TOPOLOGY: replset
146-
NODE_VERSION: 20.12.0
146+
NODE_VERSION: 22.4.1
147147
- name: MongoDB 4.4, ReplicaSet
148148
MONGODB_VERSION: 4.4.29
149149
MONGODB_TOPOLOGY: replset
150-
NODE_VERSION: 20.12.0
150+
NODE_VERSION: 22.4.1
151151
- name: MongoDB 5, ReplicaSet
152152
MONGODB_VERSION: 5.0.26
153153
MONGODB_TOPOLOGY: replset
154-
NODE_VERSION: 20.12.0
154+
NODE_VERSION: 22.4.1
155155
- name: MongoDB 6, ReplicaSet
156156
MONGODB_VERSION: 6.0.14
157157
MONGODB_TOPOLOGY: replset
158-
NODE_VERSION: 20.12.0
158+
NODE_VERSION: 22.4.1
159159
- name: MongoDB 7, ReplicaSet
160160
MONGODB_VERSION: 7.0.8
161161
MONGODB_TOPOLOGY: replset
162-
NODE_VERSION: 20.12.0
162+
NODE_VERSION: 22.4.1
163163
- name: Redis Cache
164164
PARSE_SERVER_TEST_CACHE: redis
165165
MONGODB_VERSION: 7.0.8
166166
MONGODB_TOPOLOGY: standalone
167-
NODE_VERSION: 20.12.0
167+
NODE_VERSION: 22.4.1
168+
- name: Node 20
169+
MONGODB_VERSION: 7.0.8
170+
MONGODB_TOPOLOGY: standalone
171+
NODE_VERSION: 20.15.1
168172
- name: Node 18
169173
MONGODB_VERSION: 7.0.8
170174
MONGODB_TOPOLOGY: standalone
171-
NODE_VERSION: 18.20.0
175+
NODE_VERSION: 18.20.4
172176
fail-fast: false
173177
name: ${{ matrix.name }}
174-
timeout-minutes: 15
178+
timeout-minutes: 20
175179
runs-on: ubuntu-latest
176180
services:
177181
redis:
@@ -217,28 +221,28 @@ jobs:
217221
include:
218222
- name: PostgreSQL 13, PostGIS 3.1
219223
POSTGRES_IMAGE: postgis/postgis:13-3.1
220-
NODE_VERSION: 20.12.0
224+
NODE_VERSION: 22.4.1
221225
- name: PostgreSQL 13, PostGIS 3.2
222226
POSTGRES_IMAGE: postgis/postgis:13-3.2
223-
NODE_VERSION: 20.12.0
227+
NODE_VERSION: 22.4.1
224228
- name: PostgreSQL 13, PostGIS 3.3
225229
POSTGRES_IMAGE: postgis/postgis:13-3.3
226-
NODE_VERSION: 20.12.0
230+
NODE_VERSION: 22.4.1
227231
- name: PostgreSQL 13, PostGIS 3.4
228232
POSTGRES_IMAGE: postgis/postgis:13-3.4
229-
NODE_VERSION: 20.12.0
233+
NODE_VERSION: 22.4.1
230234
- name: PostgreSQL 14, PostGIS 3.4
231235
POSTGRES_IMAGE: postgis/postgis:14-3.4
232-
NODE_VERSION: 20.12.0
236+
NODE_VERSION: 22.4.1
233237
- name: PostgreSQL 15, PostGIS 3.4
234238
POSTGRES_IMAGE: postgis/postgis:15-3.4
235-
NODE_VERSION: 20.12.0
239+
NODE_VERSION: 22.4.1
236240
- name: PostgreSQL 16, PostGIS 3.4
237-
POSTGRES_IMAGE: postgis/postgis:15-3.4
238-
NODE_VERSION: 20.12.0
241+
POSTGRES_IMAGE: postgis/postgis:16-3.4
242+
NODE_VERSION: 22.4.1
239243
fail-fast: false
240244
name: ${{ matrix.name }}
241-
timeout-minutes: 15
245+
timeout-minutes: 20
242246
runs-on: ubuntu-latest
243247
services:
244248
redis:

.nvmrc

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,2 +1 @@
1-
10.14.2
2-
1+
20.15.0

CONTRIBUTING.md

+18-3
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@
3939
- [Reverting](#reverting)
4040
- [Security Vulnerability](#security-vulnerability)
4141
- [Local Testing](#local-testing)
42+
- [Environment](#environment)
4243
- [Merging](#merging-1)
4344
- [Releasing](#releasing)
4445
- [General Considerations](#general-considerations)
@@ -499,19 +500,33 @@ If the commit reverts a previous commit, use the prefix `revert:`, followed by t
499500
500501
#### Local Testing
501502
502-
Fixes for securify vulnerabilities are developed in private forks with a closed audience, inaccessible to the public. A current GitHub limitation does not allow to run CI tests on pull requests in private forks. Whether a pull requests fully passes all CI tests can only be determined by publishing the fix as a public pull request and running the CI. This means the fix and implicitly information about the vulnerabilty are made accessible to the public. This increases the risk that a vulnerability fix is published, but then cannot be merged immediately due to a CI issue. To mitigate that risk, before publishing a vulnerability fix, the following tests needs to be run locally and pass:
503+
Fixes for security vulnerabilities are developed in private forks with a closed audience, inaccessible to the public. A current GitHub limitation does not allow to run CI tests on pull requests in private forks. Whether a pull requests fully passes all CI tests can only be determined by publishing the fix as a public pull request and running the CI. This means the fix and implicitly information about the vulnerability are made accessible to the public. This increases the risk that a vulnerability fix is published, but then cannot be merged immediately due to a CI issue. To mitigate that risk, before publishing a vulnerability fix, the following tests needs to be run locally and pass:
503504
504505
- `npm run test` (MongoDB)
505506
- `npm run test` (Postgres)
506507
- `npm run madge:circular` (circular dependencies)
507508
- `npm run lint` (Lint)
508509
- `npm run definitions` (Parse Server options definitions)
509510
511+
#### Environment
512+
513+
A reported vulnerability may have already been fixed since it was reported, either due to a targeted fix or as side-effect of other code changed. To verify that a vulnerability exists, tests need to be run in an environment that uses the latest commit of the development branch of Parse Server.
514+
515+
> [!NOTE]
516+
> Do not use the latest alpha version for testing as it may be behind the latest commit of the development branch.
517+
518+
Vulnerability test must only be conducted in environments for which the tester can ensure that no unauthorized 3rd party has potentially access to. This is to ensure a vulnerability stays confidential and is not exposed prematurely to the public.
519+
520+
You must not test a vulnerability using any 3rd party APIs that provide Parse Server as a hosted service (SaaS) as this may expose the vulnerability to an unauthorized 3rd party and the effects of the vulnerability may cause issues on the provider's side.
521+
522+
> [!CAUTION]
523+
> Utilizing a vulnerability in a third-party service, even for testing or development purposes, can result in legal repercussions. You are solely accountable for any damage arising from such actions and agree to indemnify Parse Platform against any liabilities or claims resulting from your actions.
524+
510525
#### Merging
511526
512-
A current GitHub limitation does not allow to customize the commit message when merging pull requests of a private fork that was created to fix a security vulnerabilty. Our release automation framework demands a specific commit message syntax which therefore cannot be met. This prohibits to follow the process that GitHub suggest, which is to merge a pull request from a private fork directly to a public branch. Instead, after [local testing](#local-testing), a public pull request needs to be created with the code fix copied over from the private pull request.
527+
A current GitHub limitation does not allow to customize the commit message when merging pull requests of a private fork that was created to fix a security vulnerability. Our release automation framework demands a specific commit message syntax which therefore cannot be met. This prohibits to follow the process that GitHub suggest, which is to merge a pull request from a private fork directly to a public branch. Instead, after [local testing](#local-testing), a public pull request needs to be created with the code fix copied over from the private pull request.
513528
514-
This creates a risk that a vulnerability is indirectly disclosed by publishing a pull request with the fix, but the fix cannot be merged due to a CI issue. To mitigate that risk, the pull request title and description should be kept marginal or generic, not hiting to a vulnerabilty or giving any details about the vulnerabilty, until the pull request has been successfully merged.
529+
This creates a risk that a vulnerability is indirectly disclosed by publishing a pull request with the fix, but the fix cannot be merged due to a CI issue. To mitigate that risk, the pull request title and description should be kept marginal or generic, not hinting to a vulnerability or giving any details about the vulnerability, until the pull request has been successfully merged.
515530
516531
## Releasing
517532

README.md

+19-16
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
---
44

5-
[![Build Status](https://github.com/parse-community/parse-server/workflows/ci/badge.svg?branch=alpha)](https://github.com/parse-community/parse-server/actions?query=workflow%3Aci+branch%3Aalpha)
6-
[![Build Status](https://github.com/parse-community/parse-server/workflows/ci/badge.svg?branch=beta)](https://github.com/parse-community/parse-server/actions?query=workflow%3Aci+branch%3Abeta)
7-
[![Build Status](https://github.com/parse-community/parse-server/workflows/ci/badge.svg?branch=release)](https://github.com/parse-community/parse-server/actions?query=workflow%3Aci+branch%3Arelease)
5+
[![Build Status](https://github.com/parse-community/parse-server/actions/workflows/ci.yml/badge.svg?branch=alpha)](https://github.com/parse-community/parse-server/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Aalpha)
6+
[![Build Status](https://github.com/parse-community/parse-server/actions/workflows/ci.yml/badge.svg?branch=beta)](https://github.com/parse-community/parse-server/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Abeta)
7+
[![Build Status](https://github.com/parse-community/parse-server/actions/workflows/ci.yml/badge.svg?branch=release)](https://github.com/parse-community/parse-server/actions/workflows/ci.yml?query=workflow%3Aci+branch%3Arelease)
88
[![Snyk Badge](https://snyk.io/test/github/parse-community/parse-server/badge.svg)](https://snyk.io/test/github/parse-community/parse-server)
99
[![Coverage](https://codecov.io/github/parse-community/parse-server/branch/alpha/graph/badge.svg)](https://app.codecov.io/github/parse-community/parse-server/tree/alpha)
1010
[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
1111

12-
[![Node Version](https://img.shields.io/badge/nodejs-18,_20-green.svg?logo=node.js&style=flat)](https://nodejs.org)
12+
[![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22-green.svg?logo=node.js&style=flat)](https://nodejs.org)
1313
[![MongoDB Version](https://img.shields.io/badge/mongodb-4.2,_4.4,_5,_6,_7-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
1414
[![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
1515

@@ -129,20 +129,21 @@ Parse Server is continuously tested with the most recent releases of Node.js to
129129

130130
| Version | Latest Version | End-of-Life | Compatible |
131131
|------------|----------------|-------------|------------|
132-
| Node.js 18 | 18.20.0 | April 2025 | ✅ Yes |
133-
| Node.js 20 | 20.12.0 | April 2026 | ✅ Yes |
132+
| Node.js 18 | 18.20.4 | April 2025 | ✅ Yes |
133+
| Node.js 20 | 20.15.1 | April 2026 | ✅ Yes |
134+
| Node.js 22 | 22.4.1 | April 2027 | ✅ Yes |
134135

135136
#### MongoDB
136137

137138
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 [MongoDB lifecycle schedule](https://www.mongodb.com/support-policy/lifecycles) and only test against versions that are officially supported and have not reached their end-of-life date. MongoDB "rapid releases" are ignored as these are considered pre-releases of the next major version.
138139

139140
| Version | Latest Version | End-of-Life | Compatible |
140-
| ----------- | -------------- | ------------- | ---------- |
141-
| MongoDB 4.2 | 4.2.25 | April 2023 | ✅ Yes |
142-
| MongoDB 4.4 | 4.4.29 | February 2024 | ✅ Yes |
143-
| MongoDB 5 | 5.0.26 | October 2024 | ✅ Yes |
144-
| MongoDB 6 | 6.0.14 | July 2025 | ✅ Yes |
145-
| MongoDB 7 | 7.0.8 | TDB | ✅ Yes |
141+
|-------------|----------------|---------------|------------|
142+
| MongoDB 4.2 | 4.2.25 | April 2023 | ✅ Yes |
143+
| MongoDB 4.4 | 4.4.29 | February 2024 | ✅ Yes |
144+
| MongoDB 5 | 5.0.26 | October 2024 | ✅ Yes |
145+
| MongoDB 6 | 6.0.14 | July 2025 | ✅ Yes |
146+
| MongoDB 7 | 7.0.8 | TDB | ✅ Yes |
146147

147148
#### PostgreSQL
148149

@@ -275,6 +276,7 @@ We have provided a basic [Node.js application](https://github.com/parse-communit
275276
* [Back4app](https://www.back4app.com/docs/get-started/welcome)
276277
* [Glitch](https://glitch.com/edit/#!/parse-server)
277278
* [Flynn](https://flynn.io/blog/parse-apps-on-flynn)
279+
* [Elestio](https://elest.io/open-source/parse)
278280

279281
### Parse Server + Express
280282

@@ -305,7 +307,7 @@ app.listen(1337, function() {
305307
});
306308
```
307309

308-
For a full list of available options, run `parse-server --help` or take a look at [Parse Server Configurations](http://parseplatform.org/parse-server/api/master/ParseServerOptions.html).
310+
For a full list of available options, run `parse-server --help` or take a look at [Parse Server Configurations][server-options].
309311

310312
## Parse Server Health
311313

@@ -332,7 +334,7 @@ The response looks like this:
332334

333335
Parse Server can be configured using the following options. You may pass these as parameters when running a standalone `parse-server`, or by loading a configuration file in JSON format using `parse-server path/to/configuration.json`. If you're using Parse Server on Express, you may also pass these to the `ParseServer` object as options.
334336

335-
For the full list of available options, run `parse-server --help` or take a look at [Parse Server Configurations](http://parseplatform.org/parse-server/api/master/ParseServerOptions.html).
337+
For the full list of available options, run `parse-server --help` or take a look at [Parse Server Configurations][server-options].
336338

337339
## Basic Options
338340

@@ -366,7 +368,7 @@ The client keys used with Parse are no longer necessary with Parse Server. If yo
366368

367369
## Email Verification and Password Reset
368370

369-
Verifying user email addresses and enabling password reset via email requires an email adapter. There are many email adapters provided and maintained by the community. The following is an example configuration with an example email adapter. See the [Parse Server Options](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) for more details and a full list of available options.
371+
Verifying user email addresses and enabling password reset via email requires an email adapter. There are many email adapters provided and maintained by the community. The following is an example configuration with an example email adapter. See the [Parse Server Options][server-options] for more details and a full list of available options.
370372

371373
```js
372374
const server = ParseServer({
@@ -406,7 +408,7 @@ Email adapters contributed by the community:
406408

407409
## Password and Account Policy
408410

409-
Set a password and account policy that meets your security requirements. The following is an example configuration. See the [Parse Server Options](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) for more details and a full list of available options.
411+
Set a password and account policy that meets your security requirements. The following is an example configuration. See the [Parse Server Options][server-options] for more details and a full list of available options.
410412

411413
```js
412414
const server = ParseServer({
@@ -1206,3 +1208,4 @@ Support us with a monthly donation and help us continue our activities. [Become
12061208
[log_release]: https://github.com/parse-community/parse-server/blob/release/changelogs/CHANGELOG_release.md
12071209
[log_beta]: https://github.com/parse-community/parse-server/blob/beta/changelogs/CHANGELOG_beta.md
12081210
[log_alpha]: https://github.com/parse-community/parse-server/blob/alpha/changelogs/CHANGELOG_alpha.md
1211+
[server-options] http://parseplatform.org/parse-server/api/release/ParseServerOptions.html

changelogs/CHANGELOG_alpha.md

+63
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,66 @@
1+
# [7.3.0-alpha.9](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.8...7.3.0-alpha.9) (2024-10-03)
2+
3+
4+
### Bug Fixes
5+
6+
* Custom object ID allows to acquire role privileges ([GHSA-8xq9-g7ch-35hg](https://github.com/parse-community/parse-server/security/advisories/GHSA-8xq9-g7ch-35hg)) ([#9317](https://github.com/parse-community/parse-server/issues/9317)) ([13ee52f](https://github.com/parse-community/parse-server/commit/13ee52f0d19ef3a3524b3d79aea100e587eb3cfc))
7+
8+
# [7.3.0-alpha.8](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.7...7.3.0-alpha.8) (2024-09-25)
9+
10+
11+
### Bug Fixes
12+
13+
* Security upgrade path-to-regexp from 6.2.1 to 6.3.0 ([#9314](https://github.com/parse-community/parse-server/issues/9314)) ([8b7fe69](https://github.com/parse-community/parse-server/commit/8b7fe699c1c376ecd8cc1c97cce8e704ee41f28a))
14+
15+
# [7.3.0-alpha.7](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.6...7.3.0-alpha.7) (2024-08-27)
16+
17+
18+
### Features
19+
20+
* Add support for asynchronous invocation of `FilesAdapter.getFileLocation` ([#9271](https://github.com/parse-community/parse-server/issues/9271)) ([1a2da40](https://github.com/parse-community/parse-server/commit/1a2da4055abe831b3017172fb75e16d7a8093873))
21+
22+
# [7.3.0-alpha.6](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.5...7.3.0-alpha.6) (2024-07-20)
23+
24+
25+
### Features
26+
27+
* Add Cloud Code triggers `Parse.Cloud.beforeSave` and `Parse.Cloud.afterSave` for Parse Config ([#9232](https://github.com/parse-community/parse-server/issues/9232)) ([90a1e4a](https://github.com/parse-community/parse-server/commit/90a1e4a200423d644efb3f0ba2fba4b99f5cf954))
28+
29+
# [7.3.0-alpha.5](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.4...7.3.0-alpha.5) (2024-07-18)
30+
31+
32+
### Bug Fixes
33+
34+
* Parse Server option `maxLogFiles` doesn't recognize day duration literals such as `1d` to mean 1 day ([#9215](https://github.com/parse-community/parse-server/issues/9215)) ([0319cee](https://github.com/parse-community/parse-server/commit/0319cee2dbf65e90bad377af1ed14ea25c595bf5))
35+
36+
# [7.3.0-alpha.4](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.3...7.3.0-alpha.4) (2024-07-18)
37+
38+
39+
### Features
40+
41+
* Add atomic operations for Cloud Config parameters ([#9219](https://github.com/parse-community/parse-server/issues/9219)) ([35cadf9](https://github.com/parse-community/parse-server/commit/35cadf9b8324879fb7309ba5d7ea46f2c722d614))
42+
43+
# [7.3.0-alpha.3](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.2...7.3.0-alpha.3) (2024-07-17)
44+
45+
46+
### Bug Fixes
47+
48+
* Parse Server installation fails due to post install script incorrectly parsing required min. Node version ([#9216](https://github.com/parse-community/parse-server/issues/9216)) ([0fa82a5](https://github.com/parse-community/parse-server/commit/0fa82a54fe38ec14e8054339285d3db71a8624c8))
49+
50+
# [7.3.0-alpha.2](https://github.com/parse-community/parse-server/compare/7.3.0-alpha.1...7.3.0-alpha.2) (2024-07-17)
51+
52+
53+
### Bug Fixes
54+
55+
* Parse Server `databaseOptions` nested keys incorrectly identified as invalid ([#9213](https://github.com/parse-community/parse-server/issues/9213)) ([77206d8](https://github.com/parse-community/parse-server/commit/77206d804443cfc1618c24f8961bd677de9920c0))
56+
57+
# [7.3.0-alpha.1](https://github.com/parse-community/parse-server/compare/7.2.0...7.3.0-alpha.1) (2024-07-09)
58+
59+
60+
### Features
61+
62+
* Add Node 22 support ([#9187](https://github.com/parse-community/parse-server/issues/9187)) ([7778471](https://github.com/parse-community/parse-server/commit/7778471999c7e42236ce404229660d80ecc2acd6))
63+
164
# [7.1.0-alpha.16](https://github.com/parse-community/parse-server/compare/7.1.0-alpha.15...7.1.0-alpha.16) (2024-07-08)
265

366

0 commit comments

Comments
 (0)