Releases: parse-community/parse-server
4.10.4
Security Fixes
- Strip out sessionToken when LiveQuery is used on Parse.User (Daniel Blyth) GHSA-7pr3-p5fm-8r9x
4.10.3
Security Fixes
- Validate
explain
query parameter to avoid a server crash due to MongoDB bug NODE-3463 (Kartal Kaan Bozdogan) GHSA-xqp8-w826-hh6x
4.10.2
4.10.1
- Updated to Parse JS SDK 3.3.0 and other security fixes (Manuel Trezza) #7508
⚠️ This includes a security fix of the Parse JS SDK wherelogIn
will default toPOST
instead ofGET
method. This may require changes in your deployment before you upgrade to this release, see the Parse JS SDK 3.0.0 release notes.
4.10.0
Versions >4.5.2 and <4.10.0 are skipped.
⚠️ A security incident caused a number of incorrect version tags to be pushed to the Parse Server repository. These version tags linked to a personal fork of a contributor who had write access to the repository. The code to which these tags linked has not been reviewed or approved by Parse Platform. Even though no releases were published with these incorrect versions, it was possible to define a Parse Server dependency that pointed to these version tags, for example if you defined this dependency:"parse-server": "[email protected]:parse-community/parse-server.git#4.9.3"We have since deleted the incorrect version tags, but they may still show up in your personal fork on GitHub or locally. We do not know when these tags have been pushed to the Parse Server repository, but we first became aware of this issue on July 21, 2021. We are not aware of any malicious code or concerns related to privacy, security or legality (e.g. proprietary code). However, it has been reported that some functionality does not work as expected and the introduction of security vulnerabilities cannot be ruled out.
You may be also affected if you used the Bitnami image for Parse Server. Bitnami picked up the incorrect version tag
4.9.3
and published a new Bitnami image for Parse Server.If you are using any of the affected versions, we urgently recommend to upgrade to version
4.10.0
.
GHSA-593v-wcqx-hq2w
4.5.2
- SECURITY FIX: Fixes incorrect session property
authProvider: password
of anonymous users. When signing up an anonymous user, the session fieldcreatedWith
indicates incorrectly that the session has been created using username and password withauthProvider: password
, instead of an anonymous sign-up withauthProvider: anonymous
. This fixes the issue by setting the correctauthProvider: anonymous
for future sign-ups of anonymous users. This fix does not fix incorrectauthProvider: password
for existing sessions of anonymous users. Consider this if your app logic depends on theauthProvider
field. (Corey Baker) GHSA-23r4-5mxp-c7g5
4.5.0
BREAKING CHANGES:
- 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. Thanks to dblythy.
- FIX: Properly handle serverURL and publicServerUrl in Batch requests. #7049. Thanks to Zach Goldberg.
- IMPROVE: Prevent invalid column names (className and length). #7053. Thanks to Diamond Lewis.
- IMPROVE: GraphQL: Remove viewer from logout mutation. #7029. Thanks to Antoine Cormouls.
- IMPROVE: GraphQL: Optimize on Relation. #7044. Thanks to Antoine Cormouls.
- NEW: Include sessionToken in onLiveQueryEvent. #7043. Thanks to dblythy.
- FIX: Definitions for accountLockout and passwordPolicy. #7040. Thanks to dblythy.
- FIX: Fix typo in server definitions for emailVerifyTokenReuseIfValid. #7037. Thanks to dblythy.
- SECURITY FIX: LDAP auth stores password in plain text. See GHSA-4w46-w44m-3jq3 for more details about the vulnerability and da905a3 for the fix. Thanks to Fabian Strachanski.
- NEW: Reuse tokens if they haven't expired. #7017. Thanks to dblythy.
- NEW: Add LDAPS-support to LDAP-Authcontroller. #7014. Thanks to Fabian Strachanski.
- FIX: (beforeSave/afterSave): Return value instead of Parse.Op for nested fields. #7005. Thanks to Diamond Lewis.
- FIX: (beforeSave): Skip Sanitizing Database results. #7003. Thanks to Diamond Lewis.
- FIX: Fix includeAll for querying a Pointer and Pointer array. #7002. Thanks to Corey Baker.
- FIX: Add encryptionKey to src/options/index.js. #6999. Thanks to dblythy.
- IMPROVE: Update PostgresStorageAdapter.js. #6989. Thanks to Vitaly Tomilov.
4.4.0
- IMPROVE: Update PostgresStorageAdapter.js. #6981. Thanks to Vitaly Tomilov
- NEW: skipWithMasterKey on Built-In Validator. #6972. Thanks to dblythy.
- NEW: Add fileKey rotation to GridFSBucketAdapter. #6768. Thanks to Corey Baker.
- IMPROVE: Remove unused parameter in Cloud Function. #6969. Thanks to Diamond Lewis.
- IMPROVE: Validation Handler Update. #6968. Thanks to dblythy.
- FIX: (directAccess): Properly handle response status. #6966. Thanks to Diamond Lewis.
- FIX: Remove hostnameMaxLen for Mongo URL. #6693. Thanks to markhoward02.
- IMPROVE: Show a message if cloud functions are duplicated. #6963. Thanks to dblythy.
- FIX: Pass request.query to afterFind. #6960. Thanks to dblythy.
- SECURITY FIX: Patch session vulnerability over Live Query. See GHSA-2xm2-xj2q-qgpj for more details about the vulnerability and 78b59fb for the fix. Thanks to Antonio Davi Macedo Coelho de Castro.
- IMPROVE: LiveQueryEvent Error Logging Improvements. #6951. Thanks to dblythy.
- IMPROVE: Include stack in Cloud Code. #6958. Thanks to dblythy.
- FIX: (jobs): Add Error Message to JobStatus Failure. #6954. Thanks to Diamond Lewis.
- NEW: Create Cloud function afterLiveQueryEvent. #6859. Thanks to dblythy.
- FIX: Update vkontakte API to the latest version. #6944. Thanks to Antonio Davi Macedo Coelho de Castro.
- FIX: Use an empty object as default value of options for Google Sign in. #6844. Thanks to Kevin Kuang.
- FIX: Postgres: prepend className to unique indexes. #6741. Thanks to Corey Baker.
- FIX: GraphQL: Transform input types also on user mutations. #6934. Thanks to Antoine Cormouls.
- FIX: Set objectId into query for Email Validation. #6930. Thanks to Danaru.
- FIX: GraphQL: Optimize queries, fixes some null returns (on object), fix stitched GraphQLUpload. #6709. Thanks to Antoine Cormouls.
- FIX: Do not throw error if user provide a pointer like index onMongo. #6923. Thanks to Antoine Cormouls.
- FIX: Hotfix instagram api. #6922. Thanks to Tim.
- FIX: (directAccess/cloud-code): Pass installationId with LogIn. #6903. Thanks to Diamond Lewis.
- FIX: Fix bcrypt binary incompatibility. #6891. Thanks to Manuel Trezza.
- NEW: Keycloak auth adapter. #6376. Thanks to Rhuan.
- IMPROVE: Changed incorrect key name in apple auth adapter tests. #6861. Thanks to Manuel Trezza.
- FIX: Fix mutating beforeSubscribe Query. #6868. Thanks to dblythy.
- FIX: Fix beforeLogin for users logging in with AuthData. #6872. Thanks to Kevin Kuang.
- FIX: Remove Facebook AccountKit auth. #6870. Thanks to Diamond Lewis.
- FIX: Updated TOKEN_ISSUER to 'accounts.google.com'. #6836. Thanks to Arjun Vedak.
- IMPROVE: Optimized deletion of class field from schema by using an index if available to do an index scan instead of a collection scan. #6815. Thanks to Manuel Trezza.
- IMPROVE: Enable MongoDB transaction test for MongoDB >= 4.0.4 #6827. Thanks to Manuel.
4.3.0
- PERFORMANCE: Optimizing pointer CLP query decoration done by DatabaseController#addPointerPermissions #6747. Thanks to mess-lelouch.
- SECURITY: Fix security breach on GraphQL viewer 78239ac, secuity advisory. Thanks to Antoine Cormouls.
- FIX: Save context not present if direct access enabled #6764. Thanks to Omair Vaiyani.
- NEW: Before Connect + Before Subscribe #6793. Thanks to dblythy.
- FIX: Add version to playground to fix CDN #6804. Thanks to Antoine Cormouls.
- NEW (EXPERIMENTAL): Idempotency enforcement for client requests. This deduplicates requests where the client intends to send one request to Parse Server but due to network issues the server receives the request multiple times. Caution, this is an experimental feature that may not be appropriate for production. #6748. Thanks to Manuel Trezza.
- FIX: Add production Google Auth Adapter instead of using the development url #6734. Thanks to SebC..
- IMPROVE: Run Prettier JS Again Without requiring () on arrow functions #6796. Thanks to Diamond Lewis.
- IMPROVE: Run Prettier JS #6795. Thanks to Diamond Lewis.
- IMPROVE: Replace bcrypt with @node-rs/bcrypt #6794. Thanks to LongYinan.
- IMPROVE: Make clear description of anonymous user #6655. Thanks to Jerome De Leon.
- IMPROVE: Simplify GraphQL merge system to avoid js ref bugs #6791. Thanks to Antoine Cormouls.
- NEW: Pass context in beforeDelete, afterDelete, beforeFind and Parse.Cloud.run #6666. Thanks to yog27ray.
- NEW: Allow passing custom gql schema function to ParseServer#start options #6762. Thanks to Luca.
- NEW: Allow custom cors origin header #6772. Thanks to Kevin Yao.
- FIX: Fix context for cascade-saving and saving existing object #6735. Thanks to Manuel.
- NEW: Add file bucket encryption using fileKey #6765. Thanks to Corey Baker.
- FIX: Removed gaze from dev dependencies and removed not working dev script #6745. Thanks to Vincent Semrau.
- IMPROVE: Upgrade graphql-tools to v6 #6701. Thanks to Yaacov Rydzinski.
- NEW: Support Metadata in GridFSAdapter #6660. Thanks to Diamond Lewis.
- NEW: Allow to unset file from graphql #6651. Thanks to Antoine Cormouls.
- NEW: Handle shutdown for RedisCacheAdapter #6658. Thanks to promisenxu.
- FIX: Fix explain on user class #6650. Thanks to Manuel.
- FIX: Fix read preference for aggregate #6585. Thanks to Manuel.
- NEW: Add context to Parse.Object.save #6626. Thanks to Manuel.
- NEW: Adding ssl config params to Postgres URI #6580. Thanks to Corey Baker.
- FIX: Travis postgres update: removing unnecessary start of mongo-runner #6594. Thanks to Corey Baker.
- FIX: ObjectId size for Pointer in Postgres #6619. Thanks to Corey Baker.
- IMPROVE: Improve a test case #6629. Thanks to Gordon Sun.
- NEW: Allow to resolve automatically Parse Type fields from Custom Schema #6562. Thanks to Antoine Cormouls.
- FIX: Remove wrong console log in test #6627. Thanks to Gordon Sun.
- IMPROVE: Graphql tools v5 #6611. Thanks to Yaacov Rydzinski.
- FIX: Catch JSON.parse and return 403 properly #6589. Thanks to Gordon Sun.
- PERFORMANCE: Allow covering relation queries with minimal index #6581. Thanks to Noah Silas.
- FIX: Fix Postgres group aggregation #6522. Thanks to Siddharth Ramesh.
- NEW: Allow set user mapped from JWT directly on request #6411. Thanks to Gordon Sun.
4.2.0
- UPGRADE: Parse JS SDK to 2.12.0 #6548
- NEW: Support Group aggregation on multiple columns for Postgres #6483. Thanks to Siddharth Ramesh.
- FIX: Improve test reliability by instructing Travis to only install one version of Postgres #6490. Thanks to
Corey Baker. - FIX: Unknown type bug on overloaded types #6494. Thanks to Antoine Cormouls.
- FIX: Improve reliability of 'SignIn with AppleID' #6416. Thanks to Andy King.
- FIX: Improve Travis reliability by separating Postgres & Mongo scripts #6505. Thanks to
Corey Baker. - NEW: Apple SignIn support for multiple IDs #6523. Thanks to UnderratedDev.
- NEW: Add support for new Instagram API #6398. Thanks to Maravilho Singa.
- FIX: Updating Postgres/Postgis Call and Postgis to 3.0 #6528. Thanks to
Corey Baker. - FIX: enableExpressErrorHandler logic #6423. Thanks to Nikolay Andryukhin.
- FIX: Change Order Enum Strategy for GraphQL #6515. Thanks to Antoine Cormouls.
- FIX: Switch ACL to Relay Global Id for GraphQL #6495. Thanks to Antoine Cormouls.
- FIX: Handle keys for pointer fields properly for GraphQL #6499. Thanks to Antoine Cormouls.
- FIX: GraphQL file mutation #6507. Thanks to Antoine Cormouls.
- FIX: Aggregate geoNear with date query #6540. Thanks to Manuel.
- NEW: Add file triggers and file meta data #6344. Thanks to stevestencil.
- FIX: Improve local testing of postgres #6531. Thanks to
Corey Baker. - NEW: Case insensitive username and email indexing and query planning for Postgres #6506. Thanks to
Corey Baker.