Skip to content

Commit 3c8f5cc

Browse files
committed
Merge remote-tracking branch 'upstream/alpha' into alpha
2 parents 7b2ab38 + b2fe087 commit 3c8f5cc

28 files changed

+1103
-331
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,34 @@
11
name: ci
22
on:
33
push:
4-
branches: [ release, alpha, beta, next-major ]
4+
branches: [ release, alpha, beta ]
55
pull_request:
6-
branches:
7-
- '**'
6+
branches: [ release, alpha, beta ]
87
env:
98
NODE_VERSION: 16.14.2
109
PARSE_SERVER_TEST_TIMEOUT: 20000
1110
jobs:
11+
check-code-analysis:
12+
name: Code Analysis
13+
runs-on: ubuntu-latest
14+
permissions:
15+
actions: read
16+
contents: read
17+
security-events: write
18+
strategy:
19+
fail-fast: false
20+
matrix:
21+
language: [ 'javascript' ]
22+
steps:
23+
- name: Checkout repository
24+
uses: actions/checkout@v3
25+
- name: Initialize CodeQL
26+
uses: github/codeql-action/init@v2
27+
with:
28+
languages: ${{ matrix.language }}
29+
source-root: src
30+
- name: Perform CodeQL Analysis
31+
uses: github/codeql-action/analyze@v2
1232
check-ci:
1333
name: Node Engine Check
1434
timeout-minutes: 15

CONTRIBUTING.md

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
## Table of Contents <!-- omit in toc -->
44
- [Contributing](#contributing)
5+
- [Templates](#templates)
56
- [Why Contributing?](#why-contributing)
67
- [Environment Setup](#environment-setup)
78
- [Recommended Tools](#recommended-tools)
@@ -20,6 +21,7 @@
2021
- [Parse Error](#parse-error)
2122
- [Parse Server Configuration](#parse-server-configuration)
2223
- [Pull Request](#pull-request)
24+
- [Commit Message](#commit-message)
2325
- [Breaking Change](#breaking-change)
2426
- [Merging](#merging)
2527
- [Breaking Change](#breaking-change-1)
@@ -48,6 +50,22 @@ When you are ready to code, you can find more information about opening a pull r
4850

4951
Whether this is your first contribution or you are already an experienced contributor, the Parse Community has your back – don't hesitate to ask for help!
5052

53+
### Issue vs. Pull Request
54+
55+
An issue is required to be linked in every pull request. We understand that no-one likes to create an issue for something that appears to be a simple pull request, but here is why this is beneficial for everyone:
56+
57+
- An issue get more visibility than a pull request as issues can be pinned, receive bounties and it is primarily the issue list that people browse through rather than the more technical pull request list. Visibility is a key aspect so others can weigh in on issues and contribute their opinion.
58+
- The discussion in the issue is different from the discussion in the pull request. The issue discussion is focused on the issue and how to address it, whereas the discussion in the pull request is focused on a specific implemention. An issue may even have multiple pull requests because either the issue requires multiple implementations or multiple pull requests are opened to compare and test different approaches to later decide for one.
59+
- High-level conceptual discussions about the issue should be still available, even if a pull request is closed because its appraoch was discarded. If these discussions are in the pull request instead, they can easily become fragmented over multiple pull requests and issues, which can make it very hard to make sense of all aspects of an issue.
60+
61+
### Templates
62+
63+
You are required to use and completely fill out the templates for new issues and pull requests. We understand that no-one enjoys filling out forms, but here is why this is beneficial for everyone:
64+
65+
- It may take you 30 seconds longer, but will save even more time for everyone else trying to understand your issue.
66+
- It helps to fix issues and merge pull requests faster as reviewers spend less time trying to understand your issue.
67+
- It makes investigations easier when others try to understand your issue and code changes made even years later.
68+
5169
## Why Contributing?
5270

5371
Buy cheap, buy twice. What? No, this is not the Economics 101 class, but the same is true for contributing.
@@ -305,6 +323,8 @@ Introducing new [Parse Server configuration][config] parameters requires the fol
305323

306324
## Pull Request
307325

326+
### Commit Message
327+
308328
For release automation, the title of pull requests needs to be written in a defined syntax. We loosely follow the [Conventional Commits](https://www.conventionalcommits.org) specification, which defines this syntax:
309329

310330
```
@@ -393,7 +413,7 @@ If the commit reverts a previous commit, use the prefix `revert:`, followed by t
393413
394414
### Major Release / Long-Term-Support
395415
396-
Long-Term-Support (LTS) is provided for the previous Parse Server major version. For example, Parse Server 4.x will receive security updates until Parse Server 5.x is superseded by Parse Server 6.x and becomes the new LTS version. While the current major version is published on branch `release`, a LTS version is published on branch `release-#.x.x`, for example `release-4.x.x` for the Parse Server 4.x LTS branch.
416+
While the current major version is published on branch `release`, a Long-Term-Support (LTS) version is published on branch `release-#.x.x`, for example `release-4.x.x` for the Parse Server 4.x LTS branch.
397417
398418
### Preparing Release
399419

README.md

Lines changed: 26 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,8 @@ A big *thank you* 🙏 to our [sponsors](#sponsors) and [backers](#backers) who
4242

4343
---
4444

45+
- [Flavors & Branches](#flavors--branches)
46+
- [Long Term Support](#long-term-support)
4547
- [Getting Started](#getting-started)
4648
- [Running Parse Server](#running-parse-server)
4749
- [Compatibility](#compatibility)
@@ -89,13 +91,25 @@ A big *thank you* 🙏 to our [sponsors](#sponsors) and [backers](#backers) who
8991
- [Using automatically generated operations](#using-automatically-generated-operations)
9092
- [Customizing your GraphQL Schema](#customizing-your-graphql-schema)
9193
- [Learning more](#learning-more)
92-
- [Upgrading to 3.0.0](#upgrading-to-300)
93-
- [Want to ride the bleeding edge?](#want-to-ride-the-bleeding-edge)
94+
- [Upgrading to Parse Server 3.0](#upgrading-to-parse-server-30)
9495
- [Contributing](#contributing)
9596
- [Contributors](#contributors)
9697
- [Sponsors](#sponsors)
9798
- [Backers](#backers)
9899

100+
# Flavors & Branches
101+
102+
Parse Server is available in different flavors on different branches:
103+
104+
- The main branches are [release][log_release], [beta][log_beta] and [alpha][log_alpha]. See the [changelog overview](CHANGELOG.md) for details.
105+
- The long-term-support (LTS) branches are named `release-<version>.x.x`, for example `release-4.x.x`. LTS branches do not have pre-release branches.
106+
107+
## Long Term Support
108+
109+
Long-Term-Support (LTS) is provided for the previous Parse Server major version. For example, Parse Server 4.x will receive security updates until Parse Server 5.x is superseded by Parse Server 6.x and becomes the new LTS version. While the current major version is published on branch `release`, a LTS version is published on branch `release-#.x.x`, for example `release-4.x.x` for the Parse Server 4.x LTS branch.
110+
111+
⚠️ LTS versions are provided to help you transition as soon as possible to the current major version. While we aim to fix security vulnerabilities in the LTS version, our main focus is on developing the current major version and preparing the next major release. Therefore we may leave certain vulnerabilities up to the community to fix. Search for [pull requests with the specific LTS base branch](https://github.com/parse-community/parse-server/pulls?q=is%3Aopen+is%3Apr+base%3Arelease-4.x.x) to see the current open vulnerabilities for that LTS branch.
112+
99113
# Getting Started
100114

101115
The fastest and easiest way to get started is to run MongoDB and Parse Server locally.
@@ -345,8 +359,10 @@ const server = ParseServer({
345359
});
346360
```
347361

362+
Offical email adapters maintained by Parse Platform:
363+
- [parse-server-api-mail-adapter](https://github.com/parse-community/parse-server-api-mail-adapter) (localization, templates, universally supports any email provider)
364+
348365
Email adapters contributed by the community:
349-
- [parse-server-api-mail-adapter](https://www.npmjs.com/package/parse-server-api-mail-adapter) (localization, templates, universally supports any email provider)
350366
- [parse-smtp-template](https://www.npmjs.com/package/parse-smtp-template) (localization, templates)
351367
- [parse-server-postmark-adapter](https://www.npmjs.com/package/parse-server-postmark-adapter)
352368
- [parse-server-sendgrid-adapter](https://www.npmjs.com/package/parse-server-sendgrid-adapter)
@@ -1104,37 +1120,15 @@ You also have a very powerful tool inside your GraphQL Playground. Please look a
11041120
11051121
Additionally, the [GraphQL Learn Section](https://graphql.org/learn/) is a very good source to learn more about the power of the GraphQL language.
11061122
1107-
# Upgrading to 3.0.0
1108-
1109-
Starting 3.0.0, parse-server uses the JS SDK version 2.0.
1110-
In short, parse SDK v2.0 removes the backbone style callbacks as well as the Parse.Promise object in favor of native promises.
1111-
All the Cloud Code interfaces also have been updated to reflect those changes, and all backbone style response objects are removed and replaced by Promise style resolution.
1112-
1113-
We have written up a [migration guide](3.0.0.md), hoping this will help you transition to the next major release.
1123+
# Upgrading to Parse Server 3.0
11141124
1115-
# Want to ride the bleeding edge?
1116-
1117-
It is recommend to use builds deployed npm for many reasons, but if you want to use
1118-
the latest not-yet-released version of parse-server, you can do so by depending
1119-
directly on this branch:
1120-
1121-
```
1122-
npm install parse-community/parse-server.git#master
1123-
```
1124-
1125-
## Experimenting <!-- omit in toc -->
1126-
1127-
You can also use your own forks, and work in progress branches by specifying them:
1128-
1129-
```
1130-
npm install github:myUsername/parse-server#my-awesome-feature
1131-
```
1125+
Starting Parse Server 3.0, Parse Server uses the Parse JavaScript SDK 2.0. In short, the Parse JavaScript SDK 2.0 removes the backbone style callbacks as well as the `Parse.Promise` object in favor of native promises. All the Cloud Code interfaces also have been updated to reflect those changes, and all backbone style response objects are removed and replaced by promise style resolution.
11321126
1133-
And don't forget, if you plan to deploy it remotely, you should run `npm install` with the `--save` option.
1127+
We have written up a [migration guide](3.0.0.md) to help you transition to the next major release.
11341128
11351129
# Contributing
11361130
1137-
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Server guide](CONTRIBUTING.md).
1131+
Please see the [Contributing Guide](CONTRIBUTING.md).
11381132
11391133
# Contributors
11401134
@@ -1190,3 +1184,6 @@ As of April 5, 2017, Parse, LLC has transferred this code to the parse-community
11901184
[license-svg]: https://img.shields.io/badge/license-BSD-lightgrey.svg
11911185
[license-link]: LICENSE
11921186
[open-collective-link]: https://opencollective.com/parse-server
1187+
[log_release]: https://github.com/parse-community/parse-server/blob/release/changelogs/CHANGELOG_release.md
1188+
[log_beta]: https://github.com/parse-community/parse-server/blob/beta/changelogs/CHANGELOG_beta.md
1189+
[log_alpha]: https://github.com/parse-community/parse-server/blob/alpha/changelogs/CHANGELOG_alpha.md

changelogs/CHANGELOG_alpha.md

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,63 @@
1+
# [5.3.0-alpha.26](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.25...5.3.0-alpha.26) (2022-09-17)
2+
3+
4+
### Bug Fixes
5+
6+
* sorting by non-existing value throws `INVALID_SERVER_ERROR` on Postgres ([#8157](https://github.com/parse-community/parse-server/issues/8157)) ([3b775a1](https://github.com/parse-community/parse-server/commit/3b775a1fb8a1878714e3451191438963d688f1b0))
7+
8+
# [5.3.0-alpha.25](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.24...5.3.0-alpha.25) (2022-09-17)
9+
10+
11+
### Bug Fixes
12+
13+
* updating object includes unchanged keys in client response for certain key types ([#8159](https://github.com/parse-community/parse-server/issues/8159)) ([37af1d7](https://github.com/parse-community/parse-server/commit/37af1d78fce5a15039ffe3af7b323c1f1e8582fc))
14+
15+
# [5.3.0-alpha.24](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.23...5.3.0-alpha.24) (2022-09-17)
16+
17+
18+
### Bug Fixes
19+
20+
* query aggregation pipeline cannot handle value of type `Date` when `directAccess: true` ([#8167](https://github.com/parse-community/parse-server/issues/8167)) ([e424137](https://github.com/parse-community/parse-server/commit/e4241374061caef66538de15112fb6bbafb1f5bb))
21+
22+
# [5.3.0-alpha.23](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.22...5.3.0-alpha.23) (2022-09-17)
23+
24+
25+
### Bug Fixes
26+
27+
* liveQuery with `containedIn` not working when object field is an array ([#8128](https://github.com/parse-community/parse-server/issues/8128)) ([1d9605b](https://github.com/parse-community/parse-server/commit/1d9605bc93009263d3811df4d4249034ba6eb8c4))
28+
29+
# [5.3.0-alpha.22](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.21...5.3.0-alpha.22) (2022-09-16)
30+
31+
32+
### Bug Fixes
33+
34+
* brute force guessing of user sensitive data via search patterns (GHSA-2m6g-crv8-p3c6) ([#8146](https://github.com/parse-community/parse-server/issues/8146)) [skip release] ([4c0c7c7](https://github.com/parse-community/parse-server/commit/4c0c7c77b76257878b9bcb05ff9de01c9d790262))
35+
* push notifications `badge` doesn't update with Installation beforeSave trigger ([#8162](https://github.com/parse-community/parse-server/issues/8162)) ([3c75c2b](https://github.com/parse-community/parse-server/commit/3c75c2ba4851fae96a8c19b11a3efde03816c9a1))
36+
37+
# [5.3.0-alpha.21](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.20...5.3.0-alpha.21) (2022-08-05)
38+
39+
40+
### Bug Fixes
41+
42+
* internal indices for classes `_Idempotency` and `_Role` are not protected in defined schema ([#8121](https://github.com/parse-community/parse-server/issues/8121)) ([c16f529](https://github.com/parse-community/parse-server/commit/c16f529f74f92154401bf662f634b3c5fa45e18e))
43+
44+
# [5.3.0-alpha.20](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.19...5.3.0-alpha.20) (2022-07-22)
45+
46+
47+
### Bug Fixes
48+
49+
* security upgrade undici from 5.6.0 to 5.8.0 ([#8108](https://github.com/parse-community/parse-server/issues/8108)) ([4aa016b](https://github.com/parse-community/parse-server/commit/4aa016b7322467422b9fdf05d8e29b9ecf910da7))
50+
51+
# [5.3.0-alpha.19](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.18...5.3.0-alpha.19) (2022-07-03)
52+
53+
54+
### Bug Fixes
55+
56+
* certificate in Apple Game Center auth adapter not validated [skip release] ([#8058](https://github.com/parse-community/parse-server/issues/8058)) ([75af9a2](https://github.com/parse-community/parse-server/commit/75af9a26cc8e9e88a33d1e452c93a0ee6e509f17))
57+
* graphQL query ignores condition `equalTo` with value `false` ([#8032](https://github.com/parse-community/parse-server/issues/8032)) ([7f5a15d](https://github.com/parse-community/parse-server/commit/7f5a15d5df0dfa3515e9f73709d6a49663545f9b))
58+
* invalid file request not properly handled [skip release] ([#8062](https://github.com/parse-community/parse-server/issues/8062)) ([4c9e956](https://github.com/parse-community/parse-server/commit/4c9e95674ad081f13062e8cd30b77b1962d5df57))
59+
* protected fields exposed via LiveQuery (GHSA-crrq-vr9j-fxxh) [skip release] ([#8076](https://github.com/parse-community/parse-server/issues/8076)) ([9fd4516](https://github.com/parse-community/parse-server/commit/9fd4516cde5c742f9f29dd05468b4a43a85639a6))
60+
161
# [5.3.0-alpha.18](https://github.com/parse-community/parse-server/compare/5.3.0-alpha.17...5.3.0-alpha.18) (2022-06-17)
262

363

0 commit comments

Comments
 (0)