Skip to content

Commit fd3bfa2

Browse files
authored
build: Release (#2211)
2 parents 00befbf + e18d2c5 commit fd3bfa2

File tree

9 files changed

+7050
-3657
lines changed

9 files changed

+7050
-3657
lines changed

.github/workflows/ci.yml

+4-2
Original file line numberDiff line numberDiff line change
@@ -68,9 +68,11 @@ jobs:
6868
matrix:
6969
include:
7070
- name: Node 18
71-
NODE_VERSION: 18.19.0
71+
NODE_VERSION: 18
7272
- name: Node 20
73-
NODE_VERSION: 20.10.0
73+
NODE_VERSION: 20
74+
- name: Node 22
75+
NODE_VERSION: 22
7476
fail-fast: false
7577
steps:
7678
- name: Fix usage of insecure GitHub protocol

README.md

+25-24
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
[![Snyk Badge](https://snyk.io/test/github/parse-community/Parse-SDK-JS/badge.svg)](https://snyk.io/test/github/parse-community/Parse-SDK-JS)
99
[![Coverage](http://codecov.io/github/parse-community/Parse-SDK-JS/coverage.svg?branch=alpha)](http://codecov.io/github/parse-community/Parse-SDK-JS?branch=alpha)
1010

11-
[![Node Version](https://img.shields.io/badge/nodejs-18,_20-green.svg?logo=node.js&style=flat)](https://nodejs.org/)
11+
[![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22-green.svg?logo=node.js&style=flat)](https://nodejs.org/)
1212
[![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases)
1313

1414
[![npm latest version](https://img.shields.io/npm/v/parse/latest.svg)](https://www.npmjs.com/package/parse)
@@ -26,16 +26,37 @@ A library that gives you access to the powerful Parse Server backend from your J
2626

2727
---
2828

29-
- [Getting Started](#getting-started)
30-
- [Using Parse on Different Platforms](#using-parse-on-different-platforms)
31-
- [Core Manager](#core-manager)
3229
- [Compatibility](#compatibility)
3330
- [Parse Server](#parse-server)
3431
- [Node.js](#nodejs)
32+
- [Getting Started](#getting-started)
33+
- [Using Parse on Different Platforms](#using-parse-on-different-platforms)
34+
- [Core Manager](#core-manager)
3535
- [3rd Party Authentications](#3rd-party-authentications)
3636
- [Experimenting](#experimenting)
3737
- [Contributing](#contributing)
3838

39+
## Compatibility
40+
41+
### Parse Server
42+
43+
Parse JS SDK is compatible with the following versions of Parse Server.
44+
45+
| Parse JS SDK | Parse Server |
46+
|------------------|------------------|
47+
| >= 4.0.0 < 5.0.0 | >= 6.0.0 < 7.0.0 |
48+
| >= 5.0.0 | >= 7.0.0 |
49+
50+
### Node.js
51+
52+
Parse JS SDK is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
53+
54+
| Version | Latest Version | End-of-Life | Compatible |
55+
|------------|----------------|-------------|------------|
56+
| Node.js 18 | 18.20.3 | April 2025 | ✅ Yes |
57+
| Node.js 20 | 20.15.0 | April 2026 | ✅ Yes |
58+
| Node.js 22 | 22.4.0 | April 2027 | ✅ Yes |
59+
3960
## Getting Started
4061

4162
The easiest way to integrate the Parse SDK into your JavaScript project is through the [npm module](https://npmjs.org/parse).
@@ -102,26 +123,6 @@ Parse.CoreManager.set('REQUEST_ATTEMPT_LIMIT', 1)
102123
Parse.CoreManager.setRESTController(MyRESTController);
103124
```
104125

105-
## Compatibility
106-
107-
### Parse Server
108-
109-
Parse JS SDK is compatible with the following versions of Parse Server.
110-
111-
| Parse JS SDK | Parse Server |
112-
|--------------|--------------|
113-
| 4.x.x | <= 6.x.x |
114-
| 5.x.x | >= 7.x.x |
115-
116-
### Node.js
117-
118-
Parse JS SDK is continuously tested with the most recent releases of Node.js to ensure compatibility. We follow the [Node.js Long Term Support plan](https://github.com/nodejs/Release) and only test against versions that are officially supported and have not reached their end-of-life date.
119-
120-
| Version | Latest Version | End-of-Life | Compatible |
121-
|------------|----------------|-------------|------------|
122-
| Node.js 18 | 18.19.0 | April 2025 | ✅ Yes |
123-
| Node.js 20 | 20.10.0 | April 2026 | ✅ Yes |
124-
125126
## 3rd Party Authentications
126127

127128
Parse Server supports many [3rd Party Authenications][3rd-party-auth]. It is possible to [linkWith][link-with] any 3rd Party Authentication by creating a [custom authentication module][custom-auth-module].

changelogs/CHANGELOG_alpha.md

+14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
# [5.3.0-alpha.2](https://github.com/parse-community/Parse-SDK-JS/compare/5.3.0-alpha.1...5.3.0-alpha.2) (2024-07-07)
2+
3+
4+
### Bug Fixes
5+
6+
* `Parse.Object.get` returns array instead of object if key name is number-like ([#2201](https://github.com/parse-community/Parse-SDK-JS/issues/2201)) ([5921ba2](https://github.com/parse-community/Parse-SDK-JS/commit/5921ba248431b197ee1592eae39376132be454a3))
7+
8+
# [5.3.0-alpha.1](https://github.com/parse-community/Parse-SDK-JS/compare/5.2.0...5.3.0-alpha.1) (2024-07-07)
9+
10+
11+
### Features
12+
13+
* Add support for Node 22 ([#2209](https://github.com/parse-community/Parse-SDK-JS/issues/2209)) ([c74fd4c](https://github.com/parse-community/Parse-SDK-JS/commit/c74fd4ce2aa7b0618c3027e1936103d24f2987a7))
14+
115
# [5.2.0-alpha.4](https://github.com/parse-community/Parse-SDK-JS/compare/5.2.0-alpha.3...5.2.0-alpha.4) (2024-06-28)
216

317

integration/test/ParseObjectTest.js

+38
Original file line numberDiff line numberDiff line change
@@ -2056,6 +2056,44 @@ describe('Parse Object', () => {
20562056
expect(obj.get('string')).toBeInstanceOf(String);
20572057
});
20582058

2059+
it('returns correct field values', async () => {
2060+
const values = [
2061+
{ field: 'string', value: 'string' },
2062+
{ field: 'number', value: 1 },
2063+
{ field: 'boolean', value: true },
2064+
{ field: 'array', value: [0, 1, 2] },
2065+
{ field: 'array', value: [1, 2, 3] },
2066+
{ field: 'array', value: [{ '0': 'a' }, 2, 3] },
2067+
{ field: 'object', value: { key: 'value' } },
2068+
{ field: 'object', value: { key1: 'value1', key2: 'value2' } },
2069+
{ field: 'object', value: { key1: 1, key2: 2 } },
2070+
{ field: 'object', value: { '1x1': 1 } },
2071+
{ field: 'object', value: { '1x1': 1, '2': 2 } },
2072+
{ field: 'object', value: { '0': 0 } },
2073+
{ field: 'object', value: { '1': 1 } },
2074+
{ field: 'object', value: { '0': { '0': 'a', '1': 'b' } } },
2075+
{ field: 'date', value: new Date() },
2076+
{
2077+
field: 'file',
2078+
value: Parse.File.fromJSON({
2079+
__type: 'File',
2080+
name: 'name',
2081+
url: 'http://localhost:1337/parse/files/integration/name',
2082+
}),
2083+
},
2084+
{ field: 'geoPoint', value: new Parse.GeoPoint(40, -30) },
2085+
{ field: 'bytes', value: { __type: 'Bytes', base64: 'ZnJveW8=' } },
2086+
];
2087+
for (const value of values) {
2088+
const object = new TestObject();
2089+
object.set(value.field, value.value);
2090+
await object.save();
2091+
const query = new Parse.Query(TestObject);
2092+
const objectAgain = await query.get(object.id);
2093+
expect(objectAgain.get(value.field)).toEqual(value.value);
2094+
}
2095+
});
2096+
20592097
describe('allowCustomObjectId', () => {
20602098
it('can save without setting an objectId', async () => {
20612099
await reconfigureServer({ allowCustomObjectId: true });

0 commit comments

Comments
 (0)