Skip to content

Commit 637326d

Browse files
authored
bump mongodb version in CI (#7272)
* bump mongodb version * improved wording in changelog * another mongodb bump * rewording changelog * added info to option docs
1 parent a02014f commit 637326d

File tree

7 files changed

+11
-13
lines changed

7 files changed

+11
-13
lines changed

.github/workflows/ci.yml

+2-2
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ jobs:
6262
MONGODB_STORAGE_ENGINE: wiredTiger
6363
NODE_VERSION: 14.16.0
6464
- name: Mongo 4.2, ReplicaSet, WiredTiger
65-
MONGODB_VERSION: 4.2.12
65+
MONGODB_VERSION: 4.2.13
6666
MONGODB_TOPOLOGY: replicaset
6767
MONGODB_STORAGE_ENGINE: wiredTiger
6868
NODE_VERSION: 14.16.0
@@ -72,7 +72,7 @@ jobs:
7272
MONGODB_STORAGE_ENGINE: wiredTiger
7373
NODE_VERSION: 14.16.0
7474
- name: Mongo 3.6, Standalone, MMAPv1
75-
MONGODB_VERSION: 3.6.22
75+
MONGODB_VERSION: 3.6.23
7676
MONGODB_TOPOLOGY: standalone
7777
MONGODB_STORAGE_ENGINE: mmapv1
7878
NODE_VERSION: 14.16.0

CHANGELOG.md

+3-5
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,13 @@ ___
8989
## Unreleased (Master Branch)
9090
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.5.0...master)
9191
### Breaking Changes
92-
Leveraging database real-time hooks, schema caching has been drastically improved. These improvements allows for reduced calls to the DB, faster queries and prevention of memory leaks. A breaking change can occur if you are horizontally scaling Parse Server (multiple Parse Server instances connecting to the same DB). Set `databaseOptions: { enableSchemaHooks: true }` parameter in [Parse Server Options](https://parseplatform.org/parse-server/api/master/ParseServerOptions.html) (`enableSingleSchemaCache` and `schemaCacheTTL` have been removed). If you are horizontal scaling instances connected to MongoDB, you must use replica set clusters with WiredTiger, see [ChangeStream](https://docs.mongodb.com/manual/changeStreams/#availability)
93-
94-
The new schema cache uses a singleton object that is stored in-memory. In a horizontally scaled environment, if you update the schema in one instance the DB hooks will update the schema in all other instances. `databaseOptions: { enableSchemaHooks: true }` enables the DB hooks. If you have multiple server instances but `databaseOptions: { enableSchemaHooks: false }`, your schema maybe out of sync in your instances (resyncing will happen if an instance restarts). (Diamond Lewis, SebC) [#7214](https://github.com/parse-community/parse-server/issues/7214)
92+
- 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)
9593
- 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)
9694
### Notable Changes
9795
- Added Parse Server Security Check to report weak security settings (Manuel Trezza, dblythy) [#7247](https://github.com/parse-community/parse-server/issues/7247)
9896
- 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)
9997
- 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)
100-
### Other Commits
98+
### Other Changes
10199
- 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)
102100
- request.context for afterFind triggers (dblythy) [#7078](https://github.com/parse-community/parse-server/pull/7078)
103101
- Winston Logger interpolating stdout to console (dplewis) [#7114](https://github.com/parse-community/parse-server/pull/7114)
@@ -125,7 +123,7 @@ ___
125123
[Full Changelog](https://github.com/parse-community/parse-server/compare/4.4.0...4.5.0)
126124
### Breaking Changes
127125
- FIX: Consistent casing for afterLiveQueryEvent. The afterLiveQueryEvent was introduced in 4.4.0 with inconsistent casing for the event names, which was fixed in 4.5.0. [#7023](https://github.com/parse-community/parse-server/pull/7023). Thanks to [dblythy](https://github.com/dblythy).
128-
### Other Commits
126+
### Other Changes
129127
- FIX: Properly handle serverURL and publicServerUrl in Batch requests. [#7049](https://github.com/parse-community/parse-server/pull/7049). Thanks to [Zach Goldberg](https://github.com/ZachGoldberg).
130128
- IMPROVE: Prevent invalid column names (className and length). [#7053](https://github.com/parse-community/parse-server/pull/7053). Thanks to [Diamond Lewis](https://github.com/dplewis).
131129
- IMPROVE: GraphQL: Remove viewer from logout mutation. [#7029](https://github.com/parse-community/parse-server/pull/7029). Thanks to [Antoine Cormouls](https://github.com/Moumouls).

README.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,9 @@ Parse Server is continuously tested with the most recent releases of MongoDB to
122122

123123
| Version | Latest Patch Version | End-of-Life Date | Compatibility |
124124
|-------------|----------------------|------------------|--------------------|
125-
| MongoDB 3.6 | 3.6.21 | April 2021 | ✅ Fully compatible |
125+
| MongoDB 3.6 | 3.6.23 | April 2021 | ✅ Fully compatible |
126126
| MongoDB 4.0 | 4.0.23 | January 2022 | ✅ Fully compatible |
127-
| MongoDB 4.2 | 4.2.12 | TBD | ✅ Fully compatible |
127+
| MongoDB 4.2 | 4.2.13 | TBD | ✅ Fully compatible |
128128
| MongoDB 4.4 | 4.4.4 | TBD | ✅ Fully compatible |
129129

130130
#### PostgreSQL

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@
111111
"test:mongodb:testonly": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=$npm_config_dbversion} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} TESTING=1 jasmine",
112112
"test:mongodb": "npm run test:mongodb:runnerstart --dbversion=$npm_config_dbversion && npm run test:mongodb:testonly --dbversion=$npm_config_dbversion",
113113
"test:mongodb:4.0.23": "npm run test:mongodb --dbversion=4.0.23",
114-
"test:mongodb:4.2.12": "npm run test:mongodb --dbversion=4.2.12",
114+
"test:mongodb:4.2.13": "npm run test:mongodb --dbversion=4.2.13",
115115
"test:mongodb:4.4.4": "npm run test:mongodb --dbversion=4.4.4",
116116
"posttest:mongodb": "mongodb-runner stop",
117117
"pretest": "cross-env MONGODB_VERSION=${MONGODB_VERSION:=4.4.4} MONGODB_TOPOLOGY=${MONGODB_TOPOLOGY:=standalone} MONGODB_STORAGE_ENGINE=${MONGODB_STORAGE_ENGINE:=wiredTiger} mongodb-runner start",

src/Options/Definitions.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -778,7 +778,7 @@ module.exports.DatabaseOptions = {
778778
enableSchemaHooks: {
779779
env: 'PARSE_SERVER_DATABASE_ENABLE_SCHEMA_HOOKS',
780780
help:
781-
'Enables database hooks to update single schema cache. Set to true if using multiple Parse Servers instances connected to the same database.',
781+
'Enables database real-time hooks to update single schema cache. Set to `true` if using multiple Parse Servers instances connected to the same database. Failing to do so will cause a schema change to not propagate to all instances and re-syncing will only happen when the instances restart. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required.',
782782
action: parsers.booleanParser,
783783
default: false,
784784
},

src/Options/docs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -191,5 +191,5 @@
191191

192192
/**
193193
* @interface DatabaseOptions
194-
* @property {Boolean} enableSchemaHooks Enables database hooks to update single schema cache. Set to true if using multiple Parse Servers instances connected to the same database.
194+
* @property {Boolean} enableSchemaHooks Enables database real-time hooks to update single schema cache. Set to `true` if using multiple Parse Servers instances connected to the same database. Failing to do so will cause a schema change to not propagate to all instances and re-syncing will only happen when the instances restart. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required.
195195
*/

src/Options/index.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ export interface FileUploadOptions {
413413
}
414414

415415
export interface DatabaseOptions {
416-
/* Enables database hooks to update single schema cache. Set to true if using multiple Parse Servers instances connected to the same database.
416+
/* Enables database real-time hooks to update single schema cache. Set to `true` if using multiple Parse Servers instances connected to the same database. Failing to do so will cause a schema change to not propagate to all instances and re-syncing will only happen when the instances restart. To use this feature with MongoDB, a replica set cluster with [change stream](https://docs.mongodb.com/manual/changeStreams/#availability) support is required.
417417
:DEFAULT: false */
418418
enableSchemaHooks: ?boolean;
419419
}

0 commit comments

Comments
 (0)