Skip to content

Commit 40e1c31

Browse files
authored
Merge branch 'alpha' into add-option-silent-user-already-exists
2 parents 0422864 + 3b38dff commit 40e1c31

46 files changed

Lines changed: 1474 additions & 3260 deletions

Some content is hidden

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

.github/workflows/ci.yml

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -153,10 +153,6 @@ jobs:
153153
strategy:
154154
matrix:
155155
include:
156-
- name: MongoDB 6, ReplicaSet
157-
MONGODB_VERSION: 6.0.19
158-
MONGODB_TOPOLOGY: replset
159-
NODE_VERSION: 24.11.0
160156
- name: MongoDB 7, ReplicaSet
161157
MONGODB_VERSION: 7.0.16
162158
MONGODB_TOPOLOGY: replset
@@ -173,11 +169,7 @@ jobs:
173169
- name: Node 20
174170
MONGODB_VERSION: 8.0.4
175171
MONGODB_TOPOLOGY: standalone
176-
NODE_VERSION: 20.18.0
177-
- name: Node 18
178-
MONGODB_VERSION: 8.0.4
179-
MONGODB_TOPOLOGY: standalone
180-
NODE_VERSION: 18.20.4
172+
NODE_VERSION: 20.19.0
181173
- name: Node 22
182174
MONGODB_VERSION: 8.0.4
183175
MONGODB_TOPOLOGY: standalone
@@ -227,15 +219,6 @@ jobs:
227219
strategy:
228220
matrix:
229221
include:
230-
- name: PostgreSQL 15, PostGIS 3.3
231-
POSTGRES_IMAGE: postgis/postgis:15-3.3
232-
NODE_VERSION: 24.11.0
233-
- name: PostgreSQL 15, PostGIS 3.4
234-
POSTGRES_IMAGE: postgis/postgis:15-3.4
235-
NODE_VERSION: 24.11.0
236-
- name: PostgreSQL 15, PostGIS 3.5
237-
POSTGRES_IMAGE: postgis/postgis:15-3.5
238-
NODE_VERSION: 24.11.0
239222
- name: PostgreSQL 16, PostGIS 3.5
240223
POSTGRES_IMAGE: postgis/postgis:16-3.5
241224
NODE_VERSION: 24.11.0

.releaserc.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,8 @@ async function config() {
3434
console.log(`Running on branch: ${branch}`);
3535

3636
// Set changelog file
37-
const changelogFile = `./changelogs/CHANGELOG_${branch}.md`;
37+
const changelogFileSuffix = branch.match(/release-\d+\.x\.x/) ? 'release' : branch;
38+
const changelogFile = `./changelogs/CHANGELOG_${changelogFileSuffix}.md`;
3839
// eslint-disable-next-line no-console
3940
console.log(`Changelog file output to: ${changelogFile}`);
4041

@@ -46,9 +47,8 @@ async function config() {
4647
'release',
4748
{ name: 'alpha', prerelease: true },
4849
// { name: 'beta', prerelease: true },
49-
'next-major',
5050
// Long-Term-Support branch
51-
'release-8.x.x',
51+
{ name: 'release-9.x.x', range: '9.x.x', channel: '9.x.x' },
5252
],
5353
dryRun: false,
5454
debug: true,

9.0.0.md

Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
# Parse Server 9 Migration Guide <!-- omit in toc -->
2+
3+
This document only highlights specific changes that require a longer explanation. For a full list of changes in Parse Server 9 please refer to the [changelog](https://github.com/parse-community/parse-server/blob/alpha/CHANGELOG.md).
4+
5+
---
6+
- [Route Path Syntax and Rate Limiting](#route-path-syntax-and-rate-limiting)
7+
---
8+
9+
## Route Path Syntax and Rate Limiting
10+
Parse Server 9 standardizes the route pattern syntax across cloud routes and rate-limiting to use the new **path-to-regexp v8** style. This update introduces validation and a clear deprecation error for the old wildcard route syntax.
11+
12+
### Key Changes
13+
- **Standardization**: All route paths now use the path-to-regexp v8 syntax, which provides better consistency and security.
14+
- **Validation**: Added validation to ensure route paths conform to the new syntax.
15+
- **Deprecation**: Old wildcard route syntax is deprecated and will trigger a clear error message.
16+
17+
### Migration Steps
18+
19+
#### Path Syntax Examples
20+
21+
Update your rate limit configurations to use the new path-to-regexp v8 syntax:
22+
23+
| Old Syntax (deprecated) | New Syntax (v8) |
24+
|------------------------|-----------------|
25+
| `/functions/*` | `/functions/*path` |
26+
| `/classes/*` | `/classes/*path` |
27+
| `/*` | `/*path` |
28+
| `*` | `*path` |
29+
30+
**Before:**
31+
```javascript
32+
rateLimit: {
33+
requestPath: '/functions/*',
34+
requestTimeWindow: 10000,
35+
requestCount: 100
36+
}
37+
```
38+
39+
**After:**
40+
```javascript
41+
rateLimit: {
42+
requestPath: '/functions/*path',
43+
requestTimeWindow: 10000,
44+
requestCount: 100
45+
}
46+
```
47+
48+
- Review your custom cloud routes and ensure they use the new path-to-regexp v8 syntax.
49+
- Update any rate-limiting configurations to use the new route path format.
50+
- Test your application to ensure all routes work as expected with the new syntax.
51+
52+
> [!Note]
53+
> Consult the [path-to-regexp v8 docs](https://github.com/pillarjs/path-to-regexp) and the [Express 5 migration guide](https://expressjs.com/en/guide/migrating-5.html#path-syntax) for more details on the new path syntax.
54+
55+
### Related Pull Request
56+
- [#9942](https://github.com/parse-community/parse-server/pull/9942)

DEPRECATIONS.md

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
11
# Deprecation Plan <!-- omit in toc -->
22

3-
The following is a list of deprecations, according to the [Deprecation Policy](https://github.com/parse-community/parse-server/blob/master/CONTRIBUTING.md#deprecation-policy). After a feature becomes deprecated, and giving developers time to adapt to the change, the deprecated feature will eventually be removed, leading to a breaking change. Developer feedback during the deprecation period may postpone or even revoke the introduction of the breaking change.
3+
The following is a list of deprecations, according to the [Deprecation Policy](https://github.com/parse-community/parse-server/blob/master/CONTRIBUTING.md#deprecation-policy). After a feature becomes deprecated, and giving developers time to adapt to the change, the deprecated feature will eventually be changed, leading to a breaking change. Developer feedback during the deprecation period may postpone or even revoke the introduction of the breaking change.
44

5-
| ID | Change | Issue | Deprecation [ℹ️][i_deprecation] | Planned Removal [ℹ️][i_removal] | Status [ℹ️][i_status] | Notes |
5+
| ID | Change | Issue | Deprecation [ℹ️][i_deprecation] | Planned Change [ℹ️][i_change] | Status [ℹ️][i_status] | Notes |
66
|---------|----------------------------------------------------------------------------------------------|----------------------------------------------------------------------|---------------------------------|---------------------------------|-----------------------|-------|
7-
| DEPPS1 | Native MongoDB syntax in aggregation pipeline | [#7338](https://github.com/parse-community/parse-server/issues/7338) | 5.0.0 (2022) | 6.0.0 (2023) | removed | - |
8-
| 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) | removed | - |
9-
| 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) | removed | - |
10-
| 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) | removed | - |
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) | removed | - |
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) | removed | - |
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) | removed | - |
14-
| DEPPS8 | Login with expired 3rd party authentication token defaults to `false` | [#7079](https://github.com/parse-community/parse-server/pull/7079) | 5.3.0 (2022) | 7.0.0 (2024) | removed | - |
15-
| DEPPS9 | Rename LiveQuery `fields` option to `keys` | [#8389](https://github.com/parse-community/parse-server/issues/8389) | 6.0.0 (2023) | 7.0.0 (2024) | removed | - |
16-
| DEPPS10 | Encode `Parse.Object` in Cloud Function and remove option `encodeParseObjectInCloudFunction` | [#8634](https://github.com/parse-community/parse-server/issues/8634) | 6.2.0 (2023) | 9.0.0 (2026) | deprecated | - |
17-
| DEPPS11 | Replace `PublicAPIRouter` with `PagesRouter` | [#7625](https://github.com/parse-community/parse-server/issues/7625) | 8.0.0 (2025) | 9.0.0 (2026) | deprecated | - |
18-
| DEPPS12 | Database option `allowPublicExplain` will default to `true` | [#7519](https://github.com/parse-community/parse-server/issues/7519) | 8.5.0 (2025) | 9.0.0 (2026) | deprecated | - |
7+
| DEPPS1 | Native MongoDB syntax in aggregation pipeline | [#7338](https://github.com/parse-community/parse-server/issues/7338) | 5.0.0 (2022) | 6.0.0 (2023) | changed | - |
8+
| 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) | changed | - |
9+
| 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) | changed | - |
10+
| 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) | changed | - |
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) | changed | - |
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) | changed | - |
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) | changed | - |
14+
| DEPPS8 | Login with expired 3rd party authentication token defaults to `false` | [#7079](https://github.com/parse-community/parse-server/pull/7079) | 5.3.0 (2022) | 7.0.0 (2024) | changed | - |
15+
| DEPPS9 | Rename LiveQuery `fields` option to `keys` | [#8389](https://github.com/parse-community/parse-server/issues/8389) | 6.0.0 (2023) | 7.0.0 (2024) | changed | - |
16+
| DEPPS10 | Encode `Parse.Object` in Cloud Function and remove option `encodeParseObjectInCloudFunction` | [#8634](https://github.com/parse-community/parse-server/issues/8634) | 6.2.0 (2023) | 9.0.0 (2026) | changed | - |
17+
| DEPPS11 | Replace `PublicAPIRouter` with `PagesRouter` | [#7625](https://github.com/parse-community/parse-server/issues/7625) | 8.0.0 (2025) | 9.0.0 (2026) | changed | - |
18+
| DEPPS12 | Database option `allowPublicExplain` defaults to `false` | [#7519](https://github.com/parse-community/parse-server/issues/7519) | 8.5.0 (2025) | 9.0.0 (2026) | changed | - |
19+
| DEPPS13 | Config option `enableInsecureAuthAdapters` defaults to `false` | [#9667](https://github.com/parse-community/parse-server/pull/9667) | 8.0.0 (2025) | 9.0.0 (2026) | changed | - |
1920

2021
[i_deprecation]: ## "The version and date of the deprecation."
21-
[i_removal]: ## "The version and date of the planned removal."
22-
[i_status]: ## "The current status of the deprecation: deprecated (the feature is deprecated and still available), removed (the deprecated feature has been removed and is unavailable), retracted (the deprecation has been retracted and the feature will not be removed."
22+
[i_change]: ## "The version and date of the planned change."
23+
[i_status]: ## "The current status of the deprecation: deprecated (the feature is deprecated but still available), changed (the deprecated feature has been changed), retracted (the deprecation has been retracted and the feature will not be changed."

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ COPY --from=build /tmp/lib lib
4040

4141
COPY package*.json ./
4242
COPY bin bin
43-
COPY public_html public_html
43+
COPY public public
4444
COPY views views
4545
RUN mkdir -p logs && chown -R node: logs
4646

0 commit comments

Comments
 (0)