Skip to content

Commit 08b39ce

Browse files
authored
Merge branch 'alpha' into afterLiveQueryEventLogging
2 parents 13d4611 + 62c8715 commit 08b39ce

16 files changed

+534
-56
lines changed

.madgerc

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"detectiveOptions": {
3+
"ts": {
4+
"skipTypeImports": true
5+
},
6+
"es6": {
7+
"skipTypeImports": true
8+
}
9+
}
10+
}

CHANGELOG.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ Details:
4242
- Suitable environment: experimental
4343

4444

45-
[log_release]: https://github.com/parse-community/parse-server/blob/release/CHANGELOG.md
46-
<!--[log_release]: https://github.com/parse-community/parse-server/blob/release/changelogs/CHANGELOG_release.md -->
45+
[log_release]: https://github.com/parse-community/parse-server/blob/release/changelogs/CHANGELOG_release.md
4746
[log_beta]: https://github.com/parse-community/parse-server/blob/beta/changelogs/CHANGELOG_beta.md
4847
[log_alpha]: https://github.com/parse-community/parse-server/blob/alpha/changelogs/CHANGELOG_alpha.md
4948
[branch_release]: https://github.com/parse-community/parse-server/tree/release

CONTRIBUTING.md

Lines changed: 54 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@
2222
- [Pull Request](#pull-request)
2323
- [Breaking Change](#breaking-change)
2424
- [Merging](#merging)
25+
- [Breaking Change](#breaking-change-1)
26+
- [Reverting](#reverting)
27+
- [Major Release / Long-Term-Support](#major-release--long-term-support)
2528
- [Versioning](#versioning)
2629
- [Code of Conduct](#code-of-conduct)
2730

@@ -303,7 +306,7 @@ For release automation, the title of pull requests needs to be written in a defi
303306
```
304307

305308
The _type_ is the category of change that is made, possible types are:
306-
- `feat` - add a new feature
309+
- `feat` - add a new feature or improve an existing feature
307310
- `fix` - fix a bug
308311
- `refactor` - refactor code without impact on features or performance
309312
- `docs` - add or edit code comments, documentation, GitHub pages
@@ -335,17 +338,63 @@ If a pull request contains a braking change, the description of the pull request
335338

336339
The following guide is for anyone who merges a contributor pull request into the working branch, the working branch into a release branch, a release branch into another release branch, or any other direct commits such as hotfixes into release branches or the working branch.
337340

338-
- For changelog generation, only the commit message set when merging the pull request is relevant. The title and description of the GitHub pull request as authored by the contributor have no influence on the changelog generation. However, the title of the GitHub pull request should be used as the commit message.
339-
- If the pull request contains a breaking change, the commit message must contain the phrase `BREAKING CHANGE`, capitalized and without any formatting, followed by a short description of the breaking change and ideally how the developer should address it, all in a single line. This line should contain more details focusing on the "breaking” aspect of the change and is intended to assist the developer in adapting. Keep it concise, as it will become part of the changelog entry, for example:
341+
- A contributor pull request must be merged into the working branch using `Squash and Merge`, to create a single commit message that describes the change.
342+
- A release branch or the default branch must be merged into another release branch using `Merge Commit`, to preserve each individual commit message that describes its respective change.
343+
- For changelog generation, only the commit message set when merging the pull request is relevant. The title and description of the GitHub pull request as authored by the contributor have no influence on the changelog generation. However, the title of the GitHub pull request should be used as the commit message. See the following chapters for considerations in special scenarios, e.g. merging a breaking change or reverting a commit.
344+
345+
### Breaking Change
346+
347+
If the pull request contains a breaking change, the commit message must contain the phrase `BREAKING CHANGE`, capitalized and without any formatting, followed by a short description of the breaking change and ideally how the developer should address it, all in a single line. This line should contain more details focusing on the "breaking” aspect of the change and is intended to assist the developer in adapting. Keep it concise, as it will become part of the changelog entry, for example:
340348
341349
```
342350
fix: remove handle from door
343351
344352
BREAKING CHANGE: You cannot open the door anymore by using a handle. See the [#migration guide](http://example.com) for more details.
345353
```
346354
Keep in mind that in a repository with release automation, merging such a commit message will trigger a release with a major version increment.
347-
- A contributor pull request must be merged into the working branch using `Squash and Merge`, to create a single commit message that describes the change.
348-
- A release branch or the default branch must be merged into another release branch using `Merge Commit`, to preserve each individual commit message that describes its respective change.
355+
356+
### Reverting
357+
358+
If the commit reverts a previous commit, use the prefix `revert:`, followed by the header of the reverted commit. In the body of the commit message add `This reverts commit <hash>.`, where the hash is the SHA of the commit being reverted. For example:
359+
360+
```
361+
revert: fix: remove handle from door
362+
363+
This reverts commit 1234567890abcdef.
364+
```
365+
366+
⚠️ A `revert` prefix will *always* trigger a release. Generally, a commit that did not trigger a release when it was initially merged should also not trigger a release when it is reverted. For example, do not use the `revert` prefix when reverting a commit that has a `ci` prefix:
367+
368+
```
369+
ci: add something
370+
```
371+
is reverted with:
372+
```
373+
ci: remove something
374+
```
375+
instead of:
376+
```
377+
revert: ci: add something
378+
379+
This reverts commit 1234567890abcdef.
380+
```
381+
382+
### Major Release / Long-Term-Support
383+
384+
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.
385+
386+
#### Preparing Release
387+
388+
The following changes are done in the `alpha` branch, before publishing the last `beta` version that will eventually become the major release. This way the changes trickle naturally through all branches and code consistency is ensured among branches.
389+
390+
- Make sure all [deprecations](https://github.com/parse-community/parse-server/blob/alpha/DEPRECATIONS.md) are reflected in code, old code is removed and the deprecations table is updated.
391+
- Add the future LTS branch `release-#.x.x` to the branch list in [release.config.js](https://github.com/parse-community/parse-server/blob/alpha/release.config.js) so that the branch will later be recognized for release automation.
392+
393+
#### Publishing Release
394+
395+
1. Create LTS branch `release-#.x.x` off the latest version tag on `release` branch.
396+
2. Create temporary branch `build-release` off branch `beta` and create a pull request with `release` as the base branch.
397+
3. Merge branch `build-release` into `release`. Given that there will be breaking changes, a new major release will be created. In the unlikely case that there have been no breaking changes between the previous major release and the upcoming release, a major version increment has to be triggered manually. See the docs of the release automation framework for how to do that.
349398
350399
## Versioning
351400

changelogs/CHANGELOG_alpha.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,29 @@
1+
# [5.0.0-alpha.29](https://github.com/parse-community/parse-server/compare/5.0.0-alpha.28...5.0.0-alpha.29) (2022-03-12)
2+
3+
4+
### Features
5+
6+
* bump required node engine to >=12.22.10 ([#7846](https://github.com/parse-community/parse-server/issues/7846)) ([5ace99d](https://github.com/parse-community/parse-server/commit/5ace99d542a11e422af46d9fd6b1d3d2513b34cf))
7+
8+
9+
### BREAKING CHANGES
10+
11+
* This requires Node.js version >=12.22.10. ([5ace99d](5ace99d))
12+
13+
# [5.0.0-alpha.28](https://github.com/parse-community/parse-server/compare/5.0.0-alpha.27...5.0.0-alpha.28) (2022-03-12)
14+
15+
16+
### Bug Fixes
17+
18+
* security vulnerability that allows remote code execution (GHSA-p6h4-93qp-jhcm) ([#7844](https://github.com/parse-community/parse-server/issues/7844)) ([e569f40](https://github.com/parse-community/parse-server/commit/e569f402b1fd8648fb0d1523b71b2a03273902a5))
19+
20+
# [5.0.0-alpha.27](https://github.com/parse-community/parse-server/compare/5.0.0-alpha.26...5.0.0-alpha.27) (2022-03-12)
21+
22+
23+
### Reverts
24+
25+
* update node engine to 2.22.0 ([#7827](https://github.com/parse-community/parse-server/issues/7827)) ([f235412](https://github.com/parse-community/parse-server/commit/f235412c1b6c2b173b7531f285429ea7214b56a2))
26+
127
# [5.0.0-alpha.26](https://github.com/parse-community/parse-server/compare/5.0.0-alpha.25...5.0.0-alpha.26) (2022-02-25)
228

329

package-lock.json

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parse-server",
3-
"version": "5.0.0-alpha.26",
3+
"version": "5.0.0-alpha.29",
44
"description": "An express module providing a Parse-compatible API server",
55
"main": "lib/index.js",
66
"repository": {
@@ -132,7 +132,7 @@
132132
"madge:circular": "node_modules/.bin/madge ./src --circular"
133133
},
134134
"engines": {
135-
"node": ">=12.22.0 <17"
135+
"node": ">=12.22.10 <17"
136136
},
137137
"bin": {
138138
"parse-server": "bin/parse-server"

resources/buildConfigDefinitions.js

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,20 @@ function parseDefaultValue(elt, value, t) {
172172
literalValue = t.arrayExpression(array.map((value) => {
173173
if (typeof value == 'string') {
174174
return t.stringLiteral(value);
175+
} else if (typeof value == 'number') {
176+
return t.numericLiteral(value);
177+
} else if (typeof value == 'object') {
178+
const object = parsers.objectParser(value);
179+
const props = Object.entries(object).map(([k, v]) => {
180+
if (typeof v == 'string') {
181+
return t.objectProperty(t.identifier(k), t.stringLiteral(v));
182+
} else if (typeof v == 'number') {
183+
return t.objectProperty(t.identifier(k), t.numericLiteral(v));
184+
} else if (typeof v == 'boolean') {
185+
return t.objectProperty(t.identifier(k), t.booleanLiteral(v));
186+
}
187+
});
188+
return t.objectExpression(props);
175189
} else {
176190
throw new Error('Unable to parse array');
177191
}

0 commit comments

Comments
 (0)