Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
aa98357
ci: Update auto-release LTS branch (#9969)
mtrezza Dec 12, 2025
633964d
feat: Increase required minimum Node version to `20.19.0` (#9970)
mtrezza Dec 12, 2025
74f85e9
chore(release): 9.0.0-alpha.1 [skip ci]
semantic-release-bot Dec 12, 2025
f9970d4
feat: Upgrade to parse 8.0.0 (#9976)
mtrezza Dec 12, 2025
706b3a0
chore(release): 9.0.0-alpha.2 [skip ci]
semantic-release-bot Dec 12, 2025
87c7f07
fix: Upgrade to GraphQL Apollo Server 5 and restrict GraphQL introspe…
Moumouls Dec 12, 2025
c595b87
chore(release): 9.0.0-alpha.3 [skip ci]
semantic-release-bot Dec 12, 2025
7bb548b
feat: Increase required minimum MongoDB version to `7.0.16` (#9971)
mtrezza Dec 12, 2025
5a61993
chore(release): 9.0.0-alpha.4 [skip ci]
semantic-release-bot Dec 12, 2025
fa8723b
feat: Update route patterns to use path-to-regexp v8 syntax (#9942)
coratgerl Dec 12, 2025
03a0857
chore(release): 9.0.0-alpha.5 [skip ci]
semantic-release-bot Dec 12, 2025
7483add
feat: Increase required minimum version to Postgres `16`, PostGIS `3.…
mtrezza Dec 12, 2025
5b68f7d
chore(release): 9.0.0-alpha.6 [skip ci]
semantic-release-bot Dec 12, 2025
a2d3dbe
feat: Deprecation DEPPS10: Encode `Parse.Object` in Cloud Function an…
mtrezza Dec 12, 2025
1d31406
chore(release): 9.0.0-alpha.7 [skip ci]
semantic-release-bot Dec 12, 2025
8f877d4
feat: Deprecation DEPPS11: Replace `PublicAPIRouter` with `PagesRoute…
mtrezza Dec 12, 2025
a4c8d9e
chore(release): 9.0.0-alpha.8 [skip ci]
semantic-release-bot Dec 12, 2025
c1c7e69
feat: Deprecation DEPPS12: Database option `allowPublicExplain` defau…
mtrezza Dec 12, 2025
67e651d
chore(release): 9.0.0-alpha.9 [skip ci]
semantic-release-bot Dec 12, 2025
4476d88
refactor: Bump form-data from 4.0.4 to 4.0.5 (#9978)
dependabot[bot] Dec 12, 2025
d5e76b0
feat: Upgrade to @parse/push-adapter 8.1.0 (#9938)
Moumouls Dec 12, 2025
b05771f
chore(release): 9.0.0-alpha.10 [skip ci]
semantic-release-bot Dec 12, 2025
22d4622
feat: Deprecation DEPPS113: Config option `enableInsecureAuthAdapters…
mtrezza Dec 14, 2025
b717ea3
chore(release): 9.0.0-alpha.11 [skip ci]
semantic-release-bot Dec 14, 2025
31e7afe
empty commit to trigger CI
github-actions[bot] Dec 14, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 1 addition & 18 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -153,10 +153,6 @@ jobs:
strategy:
matrix:
include:
- name: MongoDB 6, ReplicaSet
MONGODB_VERSION: 6.0.19
MONGODB_TOPOLOGY: replset
NODE_VERSION: 24.11.0
- name: MongoDB 7, ReplicaSet
MONGODB_VERSION: 7.0.16
MONGODB_TOPOLOGY: replset
Expand All @@ -173,11 +169,7 @@ jobs:
- name: Node 20
MONGODB_VERSION: 8.0.4
MONGODB_TOPOLOGY: standalone
NODE_VERSION: 20.18.0
- name: Node 18
MONGODB_VERSION: 8.0.4
MONGODB_TOPOLOGY: standalone
NODE_VERSION: 18.20.4
NODE_VERSION: 20.19.0
- name: Node 22
MONGODB_VERSION: 8.0.4
MONGODB_TOPOLOGY: standalone
Expand Down Expand Up @@ -227,15 +219,6 @@ jobs:
strategy:
matrix:
include:
- name: PostgreSQL 15, PostGIS 3.3
POSTGRES_IMAGE: postgis/postgis:15-3.3
NODE_VERSION: 24.11.0
- name: PostgreSQL 15, PostGIS 3.4
POSTGRES_IMAGE: postgis/postgis:15-3.4
NODE_VERSION: 24.11.0
- name: PostgreSQL 15, PostGIS 3.5
POSTGRES_IMAGE: postgis/postgis:15-3.5
NODE_VERSION: 24.11.0
- name: PostgreSQL 16, PostGIS 3.5
POSTGRES_IMAGE: postgis/postgis:16-3.5
NODE_VERSION: 24.11.0
Expand Down
6 changes: 3 additions & 3 deletions .releaserc.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ async function config() {
console.log(`Running on branch: ${branch}`);

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

Expand All @@ -46,9 +47,8 @@ async function config() {
'release',
{ name: 'alpha', prerelease: true },
// { name: 'beta', prerelease: true },
'next-major',
// Long-Term-Support branch
'release-8.x.x',
{ name: 'release-9.x.x', range: '9.x.x', channel: '9.x.x' },
],
dryRun: false,
debug: true,
Expand Down
56 changes: 56 additions & 0 deletions 9.0.0.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
# Parse Server 9 Migration Guide <!-- omit in toc -->

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).

---
- [Route Path Syntax and Rate Limiting](#route-path-syntax-and-rate-limiting)
---

## Route Path Syntax and Rate Limiting
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.

### Key Changes
- **Standardization**: All route paths now use the path-to-regexp v8 syntax, which provides better consistency and security.
- **Validation**: Added validation to ensure route paths conform to the new syntax.
- **Deprecation**: Old wildcard route syntax is deprecated and will trigger a clear error message.

### Migration Steps

#### Path Syntax Examples

Update your rate limit configurations to use the new path-to-regexp v8 syntax:

| Old Syntax (deprecated) | New Syntax (v8) |
|------------------------|-----------------|
| `/functions/*` | `/functions/*path` |
| `/classes/*` | `/classes/*path` |
| `/*` | `/*path` |
| `*` | `*path` |

**Before:**
```javascript
rateLimit: {
requestPath: '/functions/*',
requestTimeWindow: 10000,
requestCount: 100
}
```

**After:**
```javascript
rateLimit: {
requestPath: '/functions/*path',
requestTimeWindow: 10000,
requestCount: 100
}
```

- Review your custom cloud routes and ensure they use the new path-to-regexp v8 syntax.
- Update any rate-limiting configurations to use the new route path format.
- Test your application to ensure all routes work as expected with the new syntax.

> [!Note]
> 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.

### Related Pull Request
- [#9942](https://github.com/parse-community/parse-server/pull/9942)
7 changes: 4 additions & 3 deletions DEPRECATIONS.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,10 @@ The following is a list of deprecations, according to the [Deprecation Policy](h
| 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 | - |
| 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 | - |
| 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 | - |
| 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 | - |
| DEPPS11 | Replace `PublicAPIRouter` with `PagesRouter` | [#7625](https://github.com/parse-community/parse-server/issues/7625) | 8.0.0 (2025) | 9.0.0 (2026) | deprecated | - |
| 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 | - |
| 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) | removed | - |
| DEPPS11 | Replace `PublicAPIRouter` with `PagesRouter` | [#7625](https://github.com/parse-community/parse-server/issues/7625) | 8.0.0 (2025) | 9.0.0 (2026) | removed | - |
| 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) | removed | - |
| 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) | removed | - |

[i_deprecation]: ## "The version and date of the deprecation."
[i_removal]: ## "The version and date of the planned removal."
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ COPY --from=build /tmp/lib lib

COPY package*.json ./
COPY bin bin
COPY public_html public_html
COPY public public
COPY views views
RUN mkdir -p logs && chown -R node: logs

Expand Down
Loading
Loading