Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Add support for MongoDB 7 #8761

Merged
merged 50 commits into from
Dec 10, 2023
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
8fd5bd8
feat: add mongodb v7 support
coratgerl Sep 22, 2023
38cfb8b
feat: update readme
coratgerl Sep 22, 2023
59db520
feat: update minor also in ci
coratgerl Sep 22, 2023
bc7b502
wip
coratgerl Sep 23, 2023
57dc2eb
fix: tests
coratgerl Sep 23, 2023
e5aad11
feat: update mongo to fix memory leaks
coratgerl Sep 23, 2023
979adda
refactor: remove useless param
coratgerl Sep 23, 2023
7bbb9ac
fix: lint
coratgerl Sep 23, 2023
3fabee0
fix: replica set
coratgerl Sep 23, 2023
6a438fa
fix: typo
coratgerl Sep 23, 2023
48d687e
fix: package json
coratgerl Sep 23, 2023
f489c25
fix: ci
coratgerl Sep 23, 2023
0e355b4
fix: weird lock move
coratgerl Sep 23, 2023
eefa8d5
fix: lock with good npm version
coratgerl Sep 23, 2023
e59d724
fix: lock again 🫣
coratgerl Sep 23, 2023
e19c78e
fix: tests
coratgerl Sep 23, 2023
67ea6c9
fix: tests < 4.4
coratgerl Sep 23, 2023
957ad91
Update spec/ParseQuery.hint.spec.js
mtrezza Sep 23, 2023
5a884fb
fix: 4.4 tests
coratgerl Sep 23, 2023
a9bcb5f
Merge branch 'feat-support-mongo-v7' of github.com:coratgerl/parse-se…
coratgerl Sep 23, 2023
37b0031
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Sep 23, 2023
71ad31f
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Sep 23, 2023
d40baa3
fix: feedbacks
coratgerl Sep 23, 2023
f133456
Merge branch 'feat-support-mongo-v7' of github.com:coratgerl/parse-se…
coratgerl Sep 23, 2023
33fe2e3
fix: package
coratgerl Sep 24, 2023
2a5a72b
fix: feedbacks
coratgerl Sep 24, 2023
d2fda50
fix: bson test
coratgerl Sep 25, 2023
37e11f4
fix: tests
coratgerl Oct 11, 2023
66ad676
Merge branch 'alpha' into feat-support-mongo-v7
coratgerl Oct 11, 2023
869709d
fix: remove fdescribe
coratgerl Oct 11, 2023
b18843c
fix: try to fix 4.2 tests
coratgerl Oct 11, 2023
9149867
fix: try to fix <4.4
coratgerl Oct 11, 2023
9276148
fix: display
coratgerl Oct 11, 2023
b5e5bc5
fix: display
coratgerl Oct 11, 2023
7899daf
fix: 4.2 tests
coratgerl Oct 11, 2023
cafe3ea
fix: first part of test
coratgerl Oct 11, 2023
8412703
fix: second part of test
coratgerl Oct 11, 2023
53c07b8
fix: all tests
coratgerl Oct 11, 2023
fc3ccaa
fix: remove change to package json for tests purpose
coratgerl Oct 11, 2023
4f613e1
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Oct 18, 2023
e4502a7
fix spy on promisify
mtrezza Oct 28, 2023
f980b7e
Merge branch 'alpha' into feat-support-mongo-v7
coratgerl Oct 28, 2023
acd0a96
fix: lint
coratgerl Oct 28, 2023
4e922b7
fix: npm
coratgerl Oct 28, 2023
081a603
fix: package lock
coratgerl Oct 29, 2023
04f7611
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Nov 17, 2023
4c6956d
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Nov 18, 2023
34015d5
fix: remove the bsontype
coratgerl Nov 20, 2023
603ad59
fix: remove test
coratgerl Nov 20, 2023
e10d602
Merge branch 'alpha' into feat-support-mongo-v7
mtrezza Nov 20, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
120 changes: 62 additions & 58 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
name: ci
on:
push:
branches: [ release, alpha, beta, next-major, 'release-[0-9]+.x.x' ]
branches: [release, alpha, beta, next-major, 'release-[0-9]+.x.x']
pull_request:
branches:
- '**'
Expand All @@ -21,17 +21,17 @@ jobs:
strategy:
fail-fast: false
matrix:
language: [ 'javascript' ]
language: ['javascript']
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
source-root: src
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
- name: Checkout repository
uses: actions/checkout@v3
- name: Initialize CodeQL
uses: github/codeql-action/init@v2
with:
languages: ${{ matrix.language }}
source-root: src
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v2
check-ci:
name: Node Engine Check
timeout-minutes: 15
Expand All @@ -54,30 +54,30 @@ jobs:
- name: CI Node Engine Check
run: npm run ci:checkNodeEngine
check-lint:
name: Lint
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
- name: Install dependencies
run: npm ci
- run: npm run lint
name: Lint
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
- name: Install dependencies
run: npm ci
- run: npm run lint
check-definitions:
name: Check Definitions
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
name: Check Definitions
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v2
Expand All @@ -95,25 +95,25 @@ jobs:
- name: CI Definitions Check
run: npm run ci:definitionsCheck
check-circular:
name: Circular Dependencies
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
- name: Install dependencies
run: npm ci
- run: npm run madge:circular
name: Circular Dependencies
timeout-minutes: 5
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.NODE_VERSION }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
- name: Cache Node.js modules
uses: actions/cache@v2
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-${{ matrix.NODE_VERSION }}-
- name: Install dependencies
run: npm ci
- run: npm run madge:circular
check-docker:
name: Docker Build
timeout-minutes: 15
Expand Down Expand Up @@ -147,19 +147,23 @@ jobs:
include:
- name: MongoDB 4.2, ReplicaSet
MONGODB_VERSION: 4.2.19
MONGODB_TOPOLOGY: replicaset
MONGODB_TOPOLOGY: replset
NODE_VERSION: 19.3.0
- name: MongoDB 4.4, ReplicaSet
MONGODB_VERSION: 4.4.13
MONGODB_TOPOLOGY: replicaset
MONGODB_TOPOLOGY: replset
NODE_VERSION: 19.3.0
- name: MongoDB 5, ReplicaSet
MONGODB_VERSION: 5.3.2
MONGODB_TOPOLOGY: replicaset
MONGODB_TOPOLOGY: replset
NODE_VERSION: 19.3.0
- name: MongoDB 6, ReplicaSet
MONGODB_VERSION: 6.0.2
MONGODB_TOPOLOGY: replicaset
MONGODB_TOPOLOGY: replset
NODE_VERSION: 19.3.0
- name: MongoDB 7, ReplicaSet
MONGODB_VERSION: 7.0.1
MONGODB_TOPOLOGY: replset
NODE_VERSION: 19.3.0
- name: Redis Cache
PARSE_SERVER_TEST_CACHE: redis
Expand All @@ -186,7 +190,7 @@ jobs:
redis:
image: redis
ports:
- 6379:6379
- 6379:6379
env:
MONGODB_VERSION: ${{ matrix.MONGODB_VERSION }}
MONGODB_TOPOLOGY: ${{ matrix.MONGODB_TOPOLOGY }}
Expand Down
13 changes: 7 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,12 +139,13 @@ Parse Server is continuously tested with the most recent releases of Node.js to
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. We consider the end-of-life date of a MongoDB "rapid release" to be the same as its major version release.

| Version | Latest Version | End-of-Life | Compatible |
|-------------|----------------|---------------|------------|
| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes |
| MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes |
| MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes |
| MongoDB 5 | 5.3.2 | October 2024 | ✅ Yes |
| MongoDB 6 | 6.0.2 | July 2025 | ✅ Yes |
| ----------- | -------------- | ------------- | ---------- |
| MongoDB 4.0 | 4.0.28 | April 2022 | ✅ Yes |
| MongoDB 4.2 | 4.2.19 | April 2023 | ✅ Yes |
| MongoDB 4.4 | 4.4.13 | February 2024 | ✅ Yes |
| MongoDB 5 | 5.3.2 | October 2024 | ✅ Yes |
| MongoDB 6 | 6.0.2 | July 2025 | ✅ Yes |
| MongoDB 7 | 7.0.1 | TDB | ✅ Yes |

#### PostgreSQL

Expand Down