Skip to content

Commit 8153cbb

Browse files
authored
Merge branch 'alpha' into feature/dynamic-publicServerUrl
2 parents 3ac5143 + f27b050 commit 8153cbb

Some content is hidden

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

51 files changed

+2260
-411
lines changed

.github/workflows/ci.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88
paths-ignore:
99
- '**/**.md'
1010
env:
11-
NODE_VERSION: 22.12.0
11+
NODE_VERSION: 24.11.0
1212
PARSE_SERVER_TEST_TIMEOUT: 20000
1313
permissions:
1414
actions: write
@@ -156,20 +156,20 @@ jobs:
156156
- name: MongoDB 6, ReplicaSet
157157
MONGODB_VERSION: 6.0.19
158158
MONGODB_TOPOLOGY: replset
159-
NODE_VERSION: 22.12.0
159+
NODE_VERSION: 24.11.0
160160
- name: MongoDB 7, ReplicaSet
161161
MONGODB_VERSION: 7.0.16
162162
MONGODB_TOPOLOGY: replset
163-
NODE_VERSION: 22.12.0
163+
NODE_VERSION: 24.11.0
164164
- name: MongoDB 8, ReplicaSet
165165
MONGODB_VERSION: 8.0.4
166166
MONGODB_TOPOLOGY: replset
167-
NODE_VERSION: 22.12.0
167+
NODE_VERSION: 24.11.0
168168
- name: Redis Cache
169169
PARSE_SERVER_TEST_CACHE: redis
170170
MONGODB_VERSION: 8.0.4
171171
MONGODB_TOPOLOGY: standalone
172-
NODE_VERSION: 22.12.0
172+
NODE_VERSION: 24.11.0
173173
- name: Node 20
174174
MONGODB_VERSION: 8.0.4
175175
MONGODB_TOPOLOGY: standalone
@@ -178,6 +178,10 @@ jobs:
178178
MONGODB_VERSION: 8.0.4
179179
MONGODB_TOPOLOGY: standalone
180180
NODE_VERSION: 18.20.4
181+
- name: Node 22
182+
MONGODB_VERSION: 8.0.4
183+
MONGODB_TOPOLOGY: standalone
184+
NODE_VERSION: 22.12.0
181185
fail-fast: false
182186
name: ${{ matrix.name }}
183187
timeout-minutes: 20
@@ -210,8 +214,7 @@ jobs:
210214
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
211215
- name: Install dependencies
212216
run: npm ci
213-
- run: npm run pretest
214-
- run: npm run coverage
217+
- run: npm run coverage:mongodb
215218
env:
216219
CI: true
217220
- name: Upload code coverage
@@ -226,19 +229,22 @@ jobs:
226229
include:
227230
- name: PostgreSQL 15, PostGIS 3.3
228231
POSTGRES_IMAGE: postgis/postgis:15-3.3
229-
NODE_VERSION: 22.12.0
232+
NODE_VERSION: 24.11.0
230233
- name: PostgreSQL 15, PostGIS 3.4
231234
POSTGRES_IMAGE: postgis/postgis:15-3.4
232-
NODE_VERSION: 22.12.0
235+
NODE_VERSION: 24.11.0
233236
- name: PostgreSQL 15, PostGIS 3.5
234237
POSTGRES_IMAGE: postgis/postgis:15-3.5
235-
NODE_VERSION: 22.12.0
238+
NODE_VERSION: 24.11.0
236239
- name: PostgreSQL 16, PostGIS 3.5
237240
POSTGRES_IMAGE: postgis/postgis:16-3.5
238-
NODE_VERSION: 22.12.0
241+
NODE_VERSION: 24.11.0
239242
- name: PostgreSQL 17, PostGIS 3.5
240243
POSTGRES_IMAGE: postgis/postgis:17-3.5
241-
NODE_VERSION: 22.12.0
244+
NODE_VERSION: 24.11.0
245+
- name: PostgreSQL 18, PostGIS 3.6
246+
POSTGRES_IMAGE: postgis/postgis:18-3.6
247+
NODE_VERSION: 24.11.0
242248
fail-fast: false
243249
name: ${{ matrix.name }}
244250
timeout-minutes: 20
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
# Trigger this workflow only to manually create a docs release; this should only be used
2+
# in extraordinary circumstances, as docs releases are normally created automatically as
3+
# part of the automated release workflow.
4+
5+
name: release-manual-docs
6+
on:
7+
workflow_dispatch:
8+
inputs:
9+
ref:
10+
default: ''
11+
description: 'Reference (tag / SHA):'
12+
required: true
13+
jobs:
14+
docs:
15+
runs-on: ubuntu-latest
16+
timeout-minutes: 15
17+
steps:
18+
- name: Checkout repository
19+
uses: actions/checkout@v4
20+
with:
21+
ref: ${{ github.event.inputs.ref }}
22+
- name: Use Node.js
23+
uses: actions/setup-node@v4
24+
with:
25+
node-version: 18.20.4
26+
- name: Cache Node.js modules
27+
uses: actions/cache@v4
28+
with:
29+
path: ~/.npm
30+
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
31+
restore-keys: |
32+
${{ runner.os }}-node-
33+
- name: Generate Docs
34+
run: |
35+
echo $SOURCE_TAG
36+
npm ci
37+
./release_docs.sh
38+
env:
39+
SOURCE_TAG: ${{ github.event.inputs.ref }}
40+
- name: Deploy
41+
uses: peaceiris/[email protected]
42+
with:
43+
github_token: ${{ secrets.GITHUB_TOKEN }}
44+
publish_dir: ./docs

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,3 +61,6 @@ lib/
6161

6262
# Redis Dump
6363
dump.rdb
64+
65+
# AI agents
66+
.claude

8.0.0.md

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This document only highlights specific changes that require a longer explanation
55
---
66

77
- [Email Verification](#email-verification)
8+
- [Database Indexes](#database-indexes)
89

910
---
1011

@@ -22,6 +23,22 @@ The request to re-send a verification email changed to sending a `POST` request
2223
> [!IMPORTANT]
2324
> Parse Server does not keep a history of verification tokens but only stores the most recently generated verification token in the database. Every time Parse Server generates a new verification token, the currently stored token is replaced. If a user opens a link with an expired token, and that token has already been replaced in the database, Parse Server cannot associate the expired token with any user. In this case, another way has to be offered to the user to re-send a verification email. To mitigate this issue, set the Parse Server option `emailVerifyTokenReuseIfValid: true` and set `emailVerifyTokenValidityDuration` to a longer duration, which ensures that the currently stored verification token is not replaced too soon.
2425
25-
Related pull requests:
26+
Related pull request:
2627

2728
- https://github.com/parse-community/parse-server/pull/8488
29+
30+
## Database Indexes
31+
32+
As part of the email verification and password reset improvements in Parse Server 8, the queries used for these operations have changed to use tokens instead of username/email fields. To ensure optimal query performance, Parse Server now automatically creates indexes on the following fields during server initialization:
33+
34+
- `_User._email_verify_token`: used for email verification queries
35+
- `_User._perishable_token`: used for password reset queries
36+
37+
These indexes are created automatically when Parse Server starts, similar to how indexes for `username` and `email` fields are created. No manual intervention is required.
38+
39+
> [!WARNING]
40+
> If you have a large existing user base, the index creation may take some time during the first server startup after upgrading to Parse Server 8. The server logs will indicate when index creation is complete or if any errors occur. If you have any concerns regarding a potential database performance impact during index creation, you could create these indexes manually in a controlled procedure before upgrading Parse Server.
41+
42+
Related pull request:
43+
44+
- https://github.com/parse-community/parse-server/pull/9893

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
[![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)
99
[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
1010

11-
[![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22-green.svg?logo=node.js&style=flat)](https://nodejs.org)
11+
[![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22,_24-green.svg?logo=node.js&style=flat)](https://nodejs.org)
1212
[![MongoDB Version](https://img.shields.io/badge/mongodb-6,_7,_8-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com)
13-
[![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16,_17-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
13+
[![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16,_17,_18-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org)
1414

1515
[![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server)
1616
[![npm alpha version](https://img.shields.io/npm/v/parse-server/alpha.svg)](https://www.npmjs.com/package/parse-server)
@@ -130,6 +130,7 @@ Parse Server is continuously tested with the most recent releases of Node.js to
130130
| Node.js 18 | 18.20.4 | April 2025 | <= 8.x (2025) |
131131
| Node.js 20 | 20.18.0 | April 2026 | <= 9.x (2026) |
132132
| Node.js 22 | 22.12.0 | April 2027 | <= 10.x (2027) |
133+
| Node.js 24 | 24.11.0 | April 2028 | <= 11.x (2028) |
133134

134135
#### MongoDB
135136

@@ -152,6 +153,7 @@ Parse Server is continuously tested with the most recent releases of PostgreSQL
152153
| Postgres 15 | 3.3, 3.4, 3.5 | November 2027 | <= 8.x (2025) |
153154
| Postgres 16 | 3.5 | November 2028 | <= 9.x (2026) |
154155
| Postgres 17 | 3.5 | November 2029 | <= 10.x (2027) |
156+
| Postgres 18 | 3.6 | November 2030 | <= 11.x (2028) |
155157

156158
### Locally
157159

changelogs/CHANGELOG_alpha.md

Lines changed: 126 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,129 @@
1+
# [8.4.0-alpha.2](https://github.com/parse-community/parse-server/compare/8.4.0-alpha.1...8.4.0-alpha.2) (2025-11-05)
2+
3+
4+
### Bug Fixes
5+
6+
* Uploading a file by providing an origin URL allows for Server-Side Request Forgery (SSRF); fixes vulnerability [GHSA-x4qj-2f4q-r4rx](https://github.com/parse-community/parse-server/security/advisories/GHSA-x4qj-2f4q-r4rx) ([#9903](https://github.com/parse-community/parse-server/issues/9903)) ([9776386](https://github.com/parse-community/parse-server/commit/97763863b72689a29ad7a311dfb590c3e3c50585))
7+
8+
# [8.4.0-alpha.1](https://github.com/parse-community/parse-server/compare/8.3.1-alpha.1...8.4.0-alpha.1) (2025-11-05)
9+
10+
11+
### Features
12+
13+
* Add support for Node 24 ([#9901](https://github.com/parse-community/parse-server/issues/9901)) ([25dfe19](https://github.com/parse-community/parse-server/commit/25dfe19fef02fd44224e4a6d198584a694a1aa52))
14+
15+
## [8.3.1-alpha.1](https://github.com/parse-community/parse-server/compare/8.3.0...8.3.1-alpha.1) (2025-11-05)
16+
17+
18+
### Bug Fixes
19+
20+
* Add problematic MIME types to default value of Parse Server option `fileUpload.fileExtensions` ([#9902](https://github.com/parse-community/parse-server/issues/9902)) ([fa245cb](https://github.com/parse-community/parse-server/commit/fa245cbb5f5b7a0dad962b2ce0524fa4dafcb5f7))
21+
22+
# [8.3.0-alpha.14](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.13...8.3.0-alpha.14) (2025-11-01)
23+
24+
25+
### Features
26+
27+
* Add options to skip automatic creation of internal database indexes on server start ([#9897](https://github.com/parse-community/parse-server/issues/9897)) ([ea91aca](https://github.com/parse-community/parse-server/commit/ea91aca1420c33e038516a321b2640709589f886))
28+
29+
# [8.3.0-alpha.13](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.12...8.3.0-alpha.13) (2025-11-01)
30+
31+
32+
### Bug Fixes
33+
34+
* Indexes `_email_verify_token` for email verification and `_perishable_token` password reset are not created automatically ([#9893](https://github.com/parse-community/parse-server/issues/9893)) ([62dd3c5](https://github.com/parse-community/parse-server/commit/62dd3c565ab70765cb1c547996b616b72e9bb800))
35+
36+
# [8.3.0-alpha.12](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.11...8.3.0-alpha.12) (2025-10-25)
37+
38+
39+
### Features
40+
41+
* Add Parse Server option `verifyServerUrl` to disable server URL verification on server launch ([#9881](https://github.com/parse-community/parse-server/issues/9881)) ([b298ccc](https://github.com/parse-community/parse-server/commit/b298cccd9fb4f664b9d83894faad6d1ea7a3c964))
42+
43+
# [8.3.0-alpha.11](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.10...8.3.0-alpha.11) (2025-10-24)
44+
45+
46+
### Bug Fixes
47+
48+
* Stale data read in validation query on `Parse.Object` update causes inconsistency between validation read and subsequent update write operation ([#9859](https://github.com/parse-community/parse-server/issues/9859)) ([f49efaf](https://github.com/parse-community/parse-server/commit/f49efaf5bb1d6b19f6d6712f7cdf073855c95c6e))
49+
50+
# [8.3.0-alpha.10](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.9...8.3.0-alpha.10) (2025-10-22)
51+
52+
53+
### Bug Fixes
54+
55+
* Error in `afterSave` trigger for `Parse.Role` due to `name` field ([#9883](https://github.com/parse-community/parse-server/issues/9883)) ([eb052d8](https://github.com/parse-community/parse-server/commit/eb052d8e6abe1ae32505fd068d5445eaf950a770))
56+
57+
# [8.3.0-alpha.9](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.8...8.3.0-alpha.9) (2025-10-19)
58+
59+
60+
### Bug Fixes
61+
62+
* Server URL verification before server is ready ([#9882](https://github.com/parse-community/parse-server/issues/9882)) ([178bd5c](https://github.com/parse-community/parse-server/commit/178bd5c5e258d9501c9ac4d35a3a105ab64be67e))
63+
64+
# [8.3.0-alpha.8](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.7...8.3.0-alpha.8) (2025-10-16)
65+
66+
67+
### Bug Fixes
68+
69+
* Warning logged when setting option `databaseOptions.disableIndexFieldValidation` ([#9880](https://github.com/parse-community/parse-server/issues/9880)) ([1815b01](https://github.com/parse-community/parse-server/commit/1815b019b52565d2bc87be2596a49aea7600aeba))
70+
71+
# [8.3.0-alpha.7](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.6...8.3.0-alpha.7) (2025-10-15)
72+
73+
74+
### Bug Fixes
75+
76+
* Security upgrade to parse 7.0.1 ([#9877](https://github.com/parse-community/parse-server/issues/9877)) ([abfa94c](https://github.com/parse-community/parse-server/commit/abfa94cd6de2c4e76337931c8ea8311c4ccf2a1a))
77+
78+
# [8.3.0-alpha.6](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.5...8.3.0-alpha.6) (2025-10-14)
79+
80+
81+
### Features
82+
83+
* Add request context middleware for config and dependency injection in hooks ([#8480](https://github.com/parse-community/parse-server/issues/8480)) ([64f104e](https://github.com/parse-community/parse-server/commit/64f104e5c5f8863098e801eee632c14fcbd9b6f9))
84+
85+
# [8.3.0-alpha.5](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.4...8.3.0-alpha.5) (2025-10-14)
86+
87+
88+
### Features
89+
90+
* Allow returning objects in `Parse.Cloud.beforeFind` without invoking database query ([#9770](https://github.com/parse-community/parse-server/issues/9770)) ([0b47407](https://github.com/parse-community/parse-server/commit/0b4740714c29ba99672bc535619ee3516abd356f))
91+
92+
# [8.3.0-alpha.4](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.3...8.3.0-alpha.4) (2025-10-09)
93+
94+
95+
### Features
96+
97+
* Disable index-field validation to create index for fields that don't yet exist ([#8137](https://github.com/parse-community/parse-server/issues/8137)) ([1b23475](https://github.com/parse-community/parse-server/commit/1b2347524ca84ade0f6badf175a815fc8a7bef49))
98+
99+
# [8.3.0-alpha.3](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.2...8.3.0-alpha.3) (2025-10-07)
100+
101+
102+
### Features
103+
104+
* Add support for Postgres 18 ([#9870](https://github.com/parse-community/parse-server/issues/9870)) ([d275c18](https://github.com/parse-community/parse-server/commit/d275c1806e0a5a037cc06cde7eefff3e12c91d7d))
105+
106+
# [8.3.0-alpha.2](https://github.com/parse-community/parse-server/compare/8.3.0-alpha.1...8.3.0-alpha.2) (2025-10-03)
107+
108+
109+
### Features
110+
111+
* Add regex option `u` for unicode support in `Parse.Query.matches` for MongoDB ([#9867](https://github.com/parse-community/parse-server/issues/9867)) ([7cb962a](https://github.com/parse-community/parse-server/commit/7cb962a02845f3dded61baffd84515f94b66ee50))
112+
113+
# [8.3.0-alpha.1](https://github.com/parse-community/parse-server/compare/8.2.5...8.3.0-alpha.1) (2025-10-03)
114+
115+
116+
### Features
117+
118+
* Add option `keepUnknownIndexes` to retain indexes which are not specified in schema ([#9857](https://github.com/parse-community/parse-server/issues/9857)) ([89fad46](https://github.com/parse-community/parse-server/commit/89fad468c3a43772879c06c4d939a83b72517a8e))
119+
120+
## [8.2.5-alpha.1](https://github.com/parse-community/parse-server/compare/8.2.4...8.2.5-alpha.1) (2025-09-21)
121+
122+
123+
### Bug Fixes
124+
125+
* GraphQL playground shows blank page ([#9858](https://github.com/parse-community/parse-server/issues/9858)) ([7b5395c](https://github.com/parse-community/parse-server/commit/7b5395c5d481235c022d96603280672366a50715))
126+
1127
## [8.2.4-alpha.1](https://github.com/parse-community/parse-server/compare/8.2.3...8.2.4-alpha.1) (2025-08-02)
2128

3129

0 commit comments

Comments
 (0)