Skip to content

Commit 06e2bcc

Browse files
authored
Merge branch 'alpha' into beforeFind-fix
2 parents f197119 + dfffc14 commit 06e2bcc

22 files changed

+345
-110
lines changed

changelogs/CHANGELOG_alpha.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
## [8.2.3-alpha.1](https://github.com/parse-community/parse-server/compare/8.2.2...8.2.3-alpha.1) (2025-07-13)
2+
3+
4+
### Bug Fixes
5+
6+
* MongoDB aggregation pipeline with `$dateSubtract` from `$$NOW` returns no results ([#9822](https://github.com/parse-community/parse-server/issues/9822)) ([847a274](https://github.com/parse-community/parse-server/commit/847a274cdb8c22f8e0fc249162e5e2c9e29a594a))
7+
8+
## [8.2.2-alpha.1](https://github.com/parse-community/parse-server/compare/8.2.1...8.2.2-alpha.1) (2025-07-10)
9+
10+
11+
### Bug Fixes
12+
13+
* Data schema exposed via GraphQL API public introspection (GHSA-48q3-prgv-gm4w) ([#9819](https://github.com/parse-community/parse-server/issues/9819)) ([c58b2eb](https://github.com/parse-community/parse-server/commit/c58b2eb6eb48af9d3c2e69b4829810a021347b40))
14+
115
## [8.2.1-alpha.2](https://github.com/parse-community/parse-server/compare/8.2.1-alpha.1...8.2.1-alpha.2) (2025-05-14)
216

317

changelogs/CHANGELOG_release.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,10 @@
1+
## [8.2.2](https://github.com/parse-community/parse-server/compare/8.2.1...8.2.2) (2025-07-10)
2+
3+
4+
### Bug Fixes
5+
6+
* Data schema exposed via GraphQL API public introspection (GHSA-48q3-prgv-gm4w) ([#9819](https://github.com/parse-community/parse-server/issues/9819)) ([c58b2eb](https://github.com/parse-community/parse-server/commit/c58b2eb6eb48af9d3c2e69b4829810a021347b40))
7+
18
## [8.2.1](https://github.com/parse-community/parse-server/compare/8.2.0...8.2.1) (2025-06-01)
29

310

package-lock.json

Lines changed: 27 additions & 27 deletions
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": "8.2.1",
3+
"version": "8.2.3-alpha.1",
44
"description": "An express module providing a Parse-compatible API server",
55
"main": "lib/index.js",
66
"repository": {
@@ -52,7 +52,7 @@
5252
"parse": "6.1.1",
5353
"path-to-regexp": "6.3.0",
5454
"pg-monitor": "3.0.0",
55-
"pg-promise": "11.13.0",
55+
"pg-promise": "11.14.0",
5656
"pluralize": "8.0.0",
5757
"punycode": "2.3.1",
5858
"rate-limit-redis": "4.2.0",

spec/Adapters/Auth/gcenter.spec.js

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -12,28 +12,28 @@ describe('GameCenterAuth Adapter', function () {
1212
const gcProd4 = fs.readFileSync(path.resolve(__dirname, '../../support/cert/gc-prod-4.cer'));
1313
const digicertPem = fs.readFileSync(path.resolve(__dirname, '../../support/cert/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem')).toString();
1414

15-
mockFetch([
16-
{
17-
url: 'https://static.gc.apple.com/public-key/gc-prod-4.cer',
18-
method: 'GET',
19-
response: {
20-
ok: true,
21-
headers: new Map(),
22-
arrayBuffer: () => Promise.resolve(
23-
gcProd4.buffer.slice(gcProd4.byteOffset, gcProd4.byteOffset + gcProd4.length)
24-
),
15+
mockFetch([
16+
{
17+
url: 'https://static.gc.apple.com/public-key/gc-prod-4.cer',
18+
method: 'GET',
19+
response: {
20+
ok: true,
21+
headers: new Map(),
22+
arrayBuffer: () => Promise.resolve(
23+
gcProd4.buffer.slice(gcProd4.byteOffset, gcProd4.byteOffset + gcProd4.length)
24+
),
25+
},
2526
},
26-
},
27-
{
28-
url: 'https://cacerts.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem',
29-
method: 'GET',
30-
response: {
31-
ok: true,
32-
headers: new Map([['content-type', 'application/x-pem-file'], ['content-length', digicertPem.length.toString()]]),
33-
text: () => Promise.resolve(digicertPem),
34-
},
35-
}
36-
]);
27+
{
28+
url: 'https://cacerts.digicert.com/DigiCertTrustedG4CodeSigningRSA4096SHA3842021CA1.crt.pem',
29+
method: 'GET',
30+
response: {
31+
ok: true,
32+
headers: new Map([['content-type', 'application/x-pem-file'], ['content-length', digicertPem.length.toString()]]),
33+
text: () => Promise.resolve(digicertPem),
34+
},
35+
}
36+
]);
3737
});
3838

3939
describe('Test config failing due to missing params or wrong types', function () {

spec/CloudCode.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3722,9 +3722,9 @@ describe('afterLogin hook', () => {
37223722
'X-Parse-REST-API-Key': 'rest',
37233723
'X-Parse-Cloud-Context': '{"a":"a"}',
37243724
},
3725-
body: JSON.stringify({_context: { hello: 'world' }}),
3725+
body: JSON.stringify({ _context: { hello: 'world' } }),
37263726
});
3727-
3727+
37283728
});
37293729

37303730
it('should have access to context when saving a new object', async () => {
@@ -4149,7 +4149,7 @@ describe('saveFile hooks', () => {
41494149
});
41504150
});
41514151

4152-
describe('Parse.File hooks', () => {
4152+
describe('Parse.File hooks', () => {
41534153
it('find hooks should run', async () => {
41544154
const file = new Parse.File('popeye.txt', [1, 2, 3], 'text/plain');
41554155
await file.save({ useMasterKey: true });
@@ -4267,7 +4267,7 @@ describe('Parse.File hooks', () => {
42674267
});
42684268
expect(response.headers['content-disposition']).toBe(`attachment;filename=${file._name}`);
42694269
});
4270-
});
4270+
});
42714271

42724272
describe('Cloud Config hooks', () => {
42734273
function testConfig() {

spec/EmailVerificationToken.spec.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -647,7 +647,6 @@ describe('Email Verification Token Expiration:', () => {
647647

648648
it_id('b6c87f35-d887-477d-bc86-a9217a424f53')(it)('setting the email on the user should set a new email verification token and new expiration date for the token when expire email verify token flag is set', async () => {
649649
const user = new Parse.User();
650-
let userBeforeEmailReset;
651650

652651
let sendEmailOptions;
653652
const sendPromise = resolvingPromise();
@@ -680,7 +679,7 @@ describe('Email Verification Token Expiration:', () => {
680679
return results[0];
681680
});
682681
expect(typeof userFromDb).toBe('object');
683-
userBeforeEmailReset = userFromDb;
682+
const userBeforeEmailReset = userFromDb;
684683

685684
// trigger another token generation by setting the email
686685
user.set('email', '[email protected]');
@@ -713,7 +712,6 @@ describe('Email Verification Token Expiration:', () => {
713712
const user = new Parse.User();
714713
let sendEmailOptions;
715714
let sendVerificationEmailCallCount = 0;
716-
let userBeforeRequest;
717715
const promise1 = resolvingPromise();
718716
const promise2 = resolvingPromise();
719717
const emailAdapter = {
@@ -748,7 +746,7 @@ describe('Email Verification Token Expiration:', () => {
748746
return results[0];
749747
});
750748
// store this user before we make our email request
751-
userBeforeRequest = newUser;
749+
const userBeforeRequest = newUser;
752750

753751
expect(sendVerificationEmailCallCount).toBe(1);
754752

@@ -1011,7 +1009,7 @@ describe('Email Verification Token Expiration:', () => {
10111009
})
10121010
.then(fail)
10131011
.catch(response => response);
1014-
1012+
10151013
expect(response.status).toBe(400);
10161014
expect(sendVerificationEmailCallCount).toBe(0);
10171015
expect(sendEmailOptions).not.toBeDefined();

0 commit comments

Comments
 (0)