Skip to content

Commit f089151

Browse files
committed
feat: merge
2 parents 19ebc5b + f27b050 commit f089151

20 files changed

+1051
-704
lines changed

.github/workflows/ci.yml

Lines changed: 15 additions & 11 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
@@ -225,22 +229,22 @@ jobs:
225229
include:
226230
- name: PostgreSQL 15, PostGIS 3.3
227231
POSTGRES_IMAGE: postgis/postgis:15-3.3
228-
NODE_VERSION: 22.12.0
232+
NODE_VERSION: 24.11.0
229233
- name: PostgreSQL 15, PostGIS 3.4
230234
POSTGRES_IMAGE: postgis/postgis:15-3.4
231-
NODE_VERSION: 22.12.0
235+
NODE_VERSION: 24.11.0
232236
- name: PostgreSQL 15, PostGIS 3.5
233237
POSTGRES_IMAGE: postgis/postgis:15-3.5
234-
NODE_VERSION: 22.12.0
238+
NODE_VERSION: 24.11.0
235239
- name: PostgreSQL 16, PostGIS 3.5
236240
POSTGRES_IMAGE: postgis/postgis:16-3.5
237-
NODE_VERSION: 22.12.0
241+
NODE_VERSION: 24.11.0
238242
- name: PostgreSQL 17, PostGIS 3.5
239243
POSTGRES_IMAGE: postgis/postgis:17-3.5
240-
NODE_VERSION: 22.12.0
244+
NODE_VERSION: 24.11.0
241245
- name: PostgreSQL 18, PostGIS 3.6
242246
POSTGRES_IMAGE: postgis/postgis:18-3.6
243-
NODE_VERSION: 22.12.0
247+
NODE_VERSION: 24.11.0
244248
fail-fast: false
245249
name: ${{ matrix.name }}
246250
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/actions-gh-pages@v3.7.3
42+
with:
43+
github_token: ${{ secrets.GITHUB_TOKEN }}
44+
publish_dir: ./docs

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: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
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)
1313
[![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

@@ -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

0 commit comments

Comments
 (0)