Bump CI environment, remove Postgres 10 support (#7323)
* bumped MongoDB to 4.4.5 * bump Node to 14.16.1 * removed obsolete COVERAGE_OPTION * improved postges support note * bump more node * Remove MongoDB 3.6 support (EOL) (#7315) * removed mongodb 3.6 support * add changelog entry * updated CI check * bumped MongoDB to 4.4.5 * bump Node to 14.16.1 * removed obsolete COVERAGE_OPTION * improved postges support note * bump more node * updated package lock * Revert "bumped MongoDB to 4.4.5" This reverts commit ce9c8108c3deaec3bbe753faf5fdedbfec1e48c9. * skipping MongoDB 4.4.5 temporarily * fixed bug in CI check that did not consider ignored versions when checking for newer versions * removed Postgres 10 support * updated Postgres versions * renamed MongoDB CI tests * fixed Postgres compatibility table * fix Postgres badge
This commit is contained in:
37
.github/workflows/ci.yml
vendored
37
.github/workflows/ci.yml
vendored
@@ -7,8 +7,7 @@ on:
|
||||
branches:
|
||||
- '**'
|
||||
env:
|
||||
COVERAGE_OPTION: ./node_modules/.bin/nyc
|
||||
NODE_VERSION: 14.16.0
|
||||
NODE_VERSION: 14.16.1
|
||||
PARSE_SERVER_TEST_TIMEOUT: 20000
|
||||
jobs:
|
||||
check-ci:
|
||||
@@ -76,42 +75,42 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- name: Mongo 4.4, ReplicaSet, WiredTiger
|
||||
- name: MongoDB 4.4, ReplicaSet, WiredTiger
|
||||
MONGODB_VERSION: 4.4.4
|
||||
MONGODB_TOPOLOGY: replicaset
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 14.16.0
|
||||
- name: Mongo 4.2, ReplicaSet, WiredTiger
|
||||
NODE_VERSION: 14.16.1
|
||||
- name: MongoDB 4.2, ReplicaSet, WiredTiger
|
||||
MONGODB_VERSION: 4.2.13
|
||||
MONGODB_TOPOLOGY: replicaset
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 14.16.0
|
||||
- name: Mongo 4.0, ReplicaSet, WiredTiger
|
||||
NODE_VERSION: 14.16.1
|
||||
- name: MongoDB 4.0, ReplicaSet, WiredTiger
|
||||
MONGODB_VERSION: 4.0.23
|
||||
MONGODB_TOPOLOGY: replicaset
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 14.16.0
|
||||
- name: Mongo 4.0, Standalone, MMAPv1
|
||||
NODE_VERSION: 14.16.1
|
||||
- name: MongoDB 4.0, Standalone, MMAPv1
|
||||
MONGODB_VERSION: 4.0.23
|
||||
MONGODB_TOPOLOGY: standalone
|
||||
MONGODB_STORAGE_ENGINE: mmapv1
|
||||
NODE_VERSION: 14.16.0
|
||||
NODE_VERSION: 14.16.1
|
||||
- name: Redis Cache
|
||||
PARSE_SERVER_TEST_CACHE: redis
|
||||
MONGODB_VERSION: 4.4.4
|
||||
MONGODB_TOPOLOGY: standalone
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 14.16.0
|
||||
NODE_VERSION: 14.16.1
|
||||
- name: Node 12
|
||||
MONGODB_VERSION: 4.4.4
|
||||
MONGODB_TOPOLOGY: standalone
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 12.22.0
|
||||
NODE_VERSION: 12.22.1
|
||||
- name: Node 15
|
||||
MONGODB_VERSION: 4.4.4
|
||||
MONGODB_TOPOLOGY: standalone
|
||||
MONGODB_STORAGE_ENGINE: wiredTiger
|
||||
NODE_VERSION: 15.13.0
|
||||
NODE_VERSION: 15.14.0
|
||||
fail-fast: false
|
||||
name: ${{ matrix.name }}
|
||||
timeout-minutes: 15
|
||||
@@ -151,15 +150,13 @@ jobs:
|
||||
strategy:
|
||||
matrix:
|
||||
include:
|
||||
- name: Postgres 10, Postgis 3.1
|
||||
POSTGRES_IMAGE: postgis/postgis:10-3.1
|
||||
- name: Postgres 11, Postgis 3.1
|
||||
- name: PostgreSQL 11, PostGIS 3.0
|
||||
POSTGRES_IMAGE: postgis/postgis:11-3.0
|
||||
- name: PostgreSQL 11, PostGIS 3.1
|
||||
POSTGRES_IMAGE: postgis/postgis:11-3.1
|
||||
- name: Postgres 12, Postgis 3.1
|
||||
- name: PostgreSQL 12, PostGIS 3.1
|
||||
POSTGRES_IMAGE: postgis/postgis:12-3.1
|
||||
- name: Postgres 12, Postgis 3.0
|
||||
POSTGRES_IMAGE: postgis/postgis:12-3.0
|
||||
- name: Postgres 13, Postgis 3.1
|
||||
- name: PostgreSQL 13, PostGIS 3.1
|
||||
POSTGRES_IMAGE: postgis/postgis:13-3.1
|
||||
fail-fast: false
|
||||
name: ${{ matrix.name }}
|
||||
|
||||
@@ -92,12 +92,12 @@ ___
|
||||
- Improved schema caching through database real-time hooks. Reduces DB queries, decreases Parse Query execution time and fixes a potential schema memory leak. If multiple Parse Server instances connect to the same DB (for example behind a load balancer), set the [Parse Server Option](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) `databaseOptions.enableSchemaHooks: true` to enable this feature and keep the schema in sync across all instances. Failing to do so will cause a schema change to not propagate to other instances and re-syncing will only happen when these instances restart. The options `enableSingleSchemaCache` and `schemaCacheTTL` have been removed. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required. (Diamond Lewis, SebC) [#7214](https://github.com/parse-community/parse-server/issues/7214)
|
||||
- Added file upload restriction. File upload is now only allowed for authenticated users by default for improved security. To allow file upload also for Anonymous Users or Public, set the `fileUpload` parameter in the [Parse Server Options](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) (dblythy, Manuel Trezza) [#7071](https://github.com/parse-community/parse-server/pull/7071)
|
||||
- Removed [parse-server-simple-mailgun-adapter](https://github.com/parse-community/parse-server-simple-mailgun-adapter) dependency; to continue using the adapter it has to be explicitly installed (Manuel Trezza) [#7321](https://github.com/parse-community/parse-server/pull/7321)
|
||||
- Remove support for MongoDB 3.6 which has reached its End-of-Life support date and PostgreSQL 10 (Manuel Trezza) [#7315](https://github.com/parse-community/parse-server/pull/7315)
|
||||
### Notable Changes
|
||||
- Added Parse Server Security Check to report weak security settings (Manuel Trezza, dblythy) [#7247](https://github.com/parse-community/parse-server/issues/7247)
|
||||
- EXPERIMENTAL: Added new page router with placeholder rendering and localization of custom and feature pages such as password reset and email verification (Manuel Trezza) [#6891](https://github.com/parse-community/parse-server/issues/6891)
|
||||
- EXPERIMENTAL: Added custom routes to easily customize flows for password reset, email verification or build entirely new flows (Manuel Trezza) [#7231](https://github.com/parse-community/parse-server/issues/7231)
|
||||
- Remove support for Node 10 which has reached its End-of-Life support date (Manuel Trezza) [#7314](https://github.com/parse-community/parse-server/pull/7314)
|
||||
- Remove support for MongoDB 3.6 which has reached its End-of-Life support date (Manuel Trezza) [#7315](https://github.com/parse-community/parse-server/pull/7315)
|
||||
### Other Changes
|
||||
- Fix error when a not yet inserted job is updated (Antonio Davi Macedo Coelho de Castro) [#7196](https://github.com/parse-community/parse-server/pull/7196)
|
||||
- request.context for afterFind triggers (dblythy) [#7078](https://github.com/parse-community/parse-server/pull/7078)
|
||||
|
||||
35
README.md
35
README.md
@@ -19,7 +19,7 @@
|
||||
<a href="https://snyk.io/test/github/parse-community/parse-server"><img alt="Snyk badge" src="https://snyk.io/test/github/parse-community/parse-server/badge.svg"></a>
|
||||
<a href="https://nodejs.org/"><img alt="Node.js 12,14,15" src="https://img.shields.io/badge/nodejs-12,_14,_15-green.svg?logo=node.js&style=flat"></a>
|
||||
<a href="https://www.mongodb.com/"><img alt="MongoDB 4.0,4.2,4.4" src="https://img.shields.io/badge/mongodb-4.0,_4.2,_4.4-green.svg?logo=mongodb&style=flat"></a>
|
||||
<a href="https://www.postgresql.org"> <img alt="PostgreSQL 10,11,12,13" src="https://img.shields.io/badge/postgresql-10,_11,_12,_13-green.svg?logo=postgresql&style=flat"></a>
|
||||
<a href="https://www.postgresql.org"> <img alt="PostgreSQL 11,12,13" src="https://img.shields.io/badge/postgresql-11,_12,_13-green.svg?logo=postgresql&style=flat"></a>
|
||||
</p>
|
||||
|
||||
<h2 align="center">Our Sponsors</h2>
|
||||
@@ -112,30 +112,29 @@ Before you start make sure you have installed:
|
||||
#### Node.js
|
||||
Parse Server is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
|
||||
|
||||
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
|
||||
|------------|----------------------|------------------|--------------------|
|
||||
| Node.js 12 | 12.22.0 | April 2022 | ✅ Fully compatible |
|
||||
| Node.js 14 | 14.16.0 | April 2023 | ✅ Fully compatible |
|
||||
| Node.js 15 | 15.13.0 | June 2021 | ✅ Fully compatible |
|
||||
| Version | Latest Version | End-of-Life Date | Compatibility |
|
||||
|------------|----------------|------------------|--------------------|
|
||||
| Node.js 12 | 12.22.1 | April 2022 | ✅ Fully compatible |
|
||||
| Node.js 14 | 14.16.1 | April 2023 | ✅ Fully compatible |
|
||||
| Node.js 15 | 15.14.0 | June 2021 | ✅ Fully compatible |
|
||||
|
||||
#### MongoDB
|
||||
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 only test against versions that are officially supported and have not reached their end-of-life date.
|
||||
|
||||
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
|
||||
|-------------|----------------------|------------------|--------------------|
|
||||
| MongoDB 4.0 | 4.0.23 | January 2022 | ✅ Fully compatible |
|
||||
| MongoDB 4.2 | 4.2.13 | TBD | ✅ Fully compatible |
|
||||
| MongoDB 4.4 | 4.4.4 | TBD | ✅ Fully compatible |
|
||||
| Version | Latest Version | End-of-Life Date | Compatibility |
|
||||
|-------------|----------------|------------------|--------------------|
|
||||
| MongoDB 4.0 | 4.0.23 | January 2022 | ✅ Fully compatible |
|
||||
| MongoDB 4.2 | 4.2.13 | TBD | ✅ Fully compatible |
|
||||
| MongoDB 4.4 | 4.4.4 | TBD | ✅ Fully compatible |
|
||||
|
||||
#### PostgreSQL
|
||||
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility. We follow the [PostGIS docker tags](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated) and only test against versions that are officially supported and have not reached their end-of-life date.
|
||||
Parse Server is continuously tested with the most recent releases of PostgreSQL and PostGIS to ensure compatibility, using [PostGIS docker images](https://registry.hub.docker.com/r/postgis/postgis/tags?page=1&ordering=last_updated). We follow the [PostgreSQL support schedule](https://www.postgresql.org/support/versioning) and [PostGIS support schedule](https://www.postgis.net/eol_policy/) and only test against versions that are officially supported and have not reached their end-of-life date. Due to the extensive PostgreSQL support duration of 5 years, Parse Server drops support if a version is older than 3.5 years and a newer version has been available for at least 2.5 years.
|
||||
|
||||
| Version | PostGIS Version | End-of-Life Date | Compatibility |
|
||||
|---------------|-----------------|------------------|--------------------|
|
||||
| Postgres 10.x | 3.0.x, 3.1.x | November 2022 | ✅ Fully compatible |
|
||||
| Postgres 11.x | 3.0.x, 3.1.x | November 2023 | ✅ Fully compatible |
|
||||
| Postgres 12.x | 3.0.x, 3.1.x | November 2024 | ✅ Fully compatible |
|
||||
| Postgres 13.x | 3.0.x, 3.1.x | November 2025 | ✅ Fully compatible |
|
||||
| Version | PostGIS Version | End-of-Life Date | Parse Server Support End | Compatibility |
|
||||
|-------------|-----------------|------------------|--------------------------|--------------------|
|
||||
| Postgres 11 | 3.0, 3.1 | November 2023 | April 2022 | ✅ Fully compatible |
|
||||
| Postgres 12 | 3.1 | November 2024 | April 2023 | ✅ Fully compatible |
|
||||
| Postgres 13 | 3.1 | November 2025 | April 2024 | ✅ Fully compatible |
|
||||
|
||||
### Locally
|
||||
```bash
|
||||
|
||||
@@ -193,6 +193,13 @@ class CiVersionCheck {
|
||||
? '^'
|
||||
: '~'
|
||||
const latest = semver.maxSatisfying(versions, `${operator}${version}`);
|
||||
|
||||
// If the version should be ignored, skip it
|
||||
if (this.ignoreReleasedVersions.length > 0 && semver.satisfies(latest, this.ignoreReleasedVersions.join(' || '))) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
// Return the latest version if it is newer than any currently used version
|
||||
return semver.gt(latest, version) ? latest : undefined;
|
||||
}
|
||||
|
||||
|
||||
@@ -33,10 +33,12 @@ async function checkMongoDbVersions() {
|
||||
releasedVersions,
|
||||
latestComponent: CiVersionCheck.versionComponents.path,
|
||||
ignoreReleasedVersions: [
|
||||
'<4.0.0', // These versions have reached their MongoDB end-of-life support date
|
||||
'~4.1.0', // This is a development release according to MongoDB support
|
||||
'~4.3.0', // This is a development release according to MongoDB support
|
||||
'~4.7.0', // This is a development release according to MongoDB support
|
||||
'<4.0.0', // Versions reached their MongoDB end-of-life support date
|
||||
'~4.1.0', // Development release according to MongoDB support
|
||||
'~4.3.0', // Development release according to MongoDB support
|
||||
'~4.7.0', // Development release according to MongoDB support
|
||||
|
||||
'4.4.5', // Temporarily disabled because not yet available for download via mongodb-runner
|
||||
],
|
||||
}).check();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user