Skip to content

Commit 3dec895

Browse files
release: 1.2.0 (#24)
Automated Release PR --- ## 1.2.0 (2026-08-10) Full Changelog: [v1.1.0...v1.2.0](v1.1.0...v1.2.0) ### Features * **api:** add memory support * **stlc:** configurable CI runner and private-production-repo support in workflow templates ([992a6cb](992a6cb)) ### Bug Fixes * **ci:** bump @arethetypeswrong/cli to ^0.18.0 and run CI workflows on Node 24 ([d0d5961](d0d5961)) * **client:** send content-type header for requests with an omitted optional body ([c6fe4a8](c6fe4a8)) * **stlc:** stop hand-edited CI workflows from blocking seals and builds ([9758e4f](9758e4f)) ### Chores * **internal:** codegen related update ([7688dc2](7688dc2)) * **internal:** codegen related update ([4d4d2ac](4d4d2ac)) --- This pull request is managed by Stainless's [GitHub App](https://github.com/apps/stainless-app). The [semver version number](https://semver.org/#semantic-versioning-specification-semver) is based on included [commit messages](https://www.conventionalcommits.org/en/v1.0.0/). Alternatively, you can manually set the version number in the title of this pull request. For a better experience, it is recommended to use either rebase-merge or squash-merge when merging this pull request. 🔗 Stainless [website](https://www.stainlessapi.com) 📚 Read the [docs](https://app.stainlessapi.com/docs) 🙋 [Reach out](mailto:support@stainlessapi.com) for help or questions --------- Co-authored-by: stainless-app[bot] <142633134+stainless-app[bot]@users.noreply.github.com>
1 parent ef3a0d3 commit 3dec895

24 files changed

Lines changed: 548 additions & 44 deletions

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ jobs:
1818
lint:
1919
timeout-minutes: 10
2020
name: lint
21-
runs-on: ${{ github.repository == 'stainless-sdks/parallel-sdk-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
21+
runs-on: 'ubuntu-latest'
2222
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
2323
steps:
2424
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
2525

2626
- name: Set up Node
2727
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
2828
with:
29-
node-version: '20'
29+
node-version: '24'
3030

3131
- name: Bootstrap
3232
run: ./scripts/bootstrap
@@ -37,7 +37,7 @@ jobs:
3737
build:
3838
timeout-minutes: 5
3939
name: build
40-
runs-on: ${{ github.repository == 'stainless-sdks/parallel-sdk-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
40+
runs-on: 'ubuntu-latest'
4141
if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata')
4242
permissions:
4343
contents: read
@@ -48,7 +48,7 @@ jobs:
4848
- name: Set up Node
4949
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
5050
with:
51-
node-version: '20'
51+
node-version: '24'
5252

5353
- name: Bootstrap
5454
run: ./scripts/bootstrap
@@ -58,7 +58,7 @@ jobs:
5858

5959
- name: Get GitHub OIDC Token
6060
if: |-
61-
github.repository == 'stainless-sdks/parallel-sdk-typescript' &&
61+
github.repository == 'parallel-web/parallel-sdk-typescript-staging' &&
6262
!startsWith(github.ref, 'refs/heads/stl/')
6363
id: github-oidc
6464
uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0
@@ -67,7 +67,7 @@ jobs:
6767

6868
- name: Upload tarball
6969
if: |-
70-
github.repository == 'stainless-sdks/parallel-sdk-typescript' &&
70+
github.repository == 'parallel-web/parallel-sdk-typescript-staging' &&
7171
!startsWith(github.ref, 'refs/heads/stl/')
7272
env:
7373
URL: https://pkg.stainless.com/s
@@ -77,15 +77,15 @@ jobs:
7777
test:
7878
timeout-minutes: 10
7979
name: test
80-
runs-on: ${{ github.repository == 'stainless-sdks/parallel-sdk-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }}
80+
runs-on: 'ubuntu-latest'
8181
if: github.event_name == 'push' || github.event.pull_request.head.repo.fork
8282
steps:
8383
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8484

8585
- name: Set up Node
8686
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
8787
with:
88-
node-version: '20'
88+
node-version: '24'
8989

9090
- name: Bootstrap
9191
run: ./scripts/bootstrap

.github/workflows/detect-breaking-changes.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323
- name: Set up Node
2424
uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
2525
with:
26-
node-version: '20'
26+
node-version: '24'
2727
- name: Install dependencies
2828
run: |
2929
yarn install

.github/workflows/publish-npm.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ jobs:
2222
- name: Set up Node
2323
uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1
2424
with:
25-
node-version: '20'
25+
node-version: '24'
2626

2727
- name: Install dependencies
2828
run: |

.release-please-manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
{
2-
".": "1.1.0"
2+
".": "1.2.0"
33
}

.stats.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
configured_endpoints: 30
2-
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-3001a018c926803bb713f19d99c3d5d39ed44ce3fe670bebefc326fd252b8821.yml
3-
openapi_spec_hash: 0883a98aa5b566818f5910d01c831c4a
4-
config_hash: 8572a2d7a5ede9ade3be8ad4d8aafd7d
1+
configured_endpoints: 33
2+
openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/parallel-web/parallel-sdk-e72f6dcf18ffc713480444feef670bbbe754221e0a68336823642b474c20ec93.yml
3+
openapi_spec_hash: ae8c3c62a78f2413f52c240c2a5d68a8
4+
config_hash: d4f69197dba970d05757624fe3f7b373

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Changelog
22

3+
## 1.2.0 (2026-08-10)
4+
5+
Full Changelog: [v1.1.0...v1.2.0](https://github.com/parallel-web/parallel-sdk-typescript/compare/v1.1.0...v1.2.0)
6+
7+
### Features
8+
9+
* **api:** add memory support ([f1b25e8](https://github.com/parallel-web/parallel-sdk-typescript/commit/f1b25e80452f3b7783954c8458ef722afaf30138))
10+
* **api:** manual updates ([cb62cb9](https://github.com/parallel-web/parallel-sdk-typescript/commit/cb62cb9593fdefeb891593118177bedbadabf3c9))
11+
* **stlc:** configurable CI runner and private-production-repo support in workflow templates ([992a6cb](https://github.com/parallel-web/parallel-sdk-typescript/commit/992a6cb9135579ee933cc823ab17f53701827ad2))
12+
13+
14+
### Bug Fixes
15+
16+
* **ci:** bump @arethetypeswrong/cli to ^0.18.0 and run CI workflows on Node 24 ([d0d5961](https://github.com/parallel-web/parallel-sdk-typescript/commit/d0d596109348af8a07a761b7901c65d652bbec6a))
17+
* **client:** send content-type header for requests with an omitted optional body ([c6fe4a8](https://github.com/parallel-web/parallel-sdk-typescript/commit/c6fe4a83c994e6e669223ef4343462c614a32541))
18+
* **stlc:** stop hand-edited CI workflows from blocking seals and builds ([9758e4f](https://github.com/parallel-web/parallel-sdk-typescript/commit/9758e4f90e34d7e4de7144091e992235d674ba66))
19+
20+
21+
### Chores
22+
23+
* **internal:** codegen related update ([7688dc2](https://github.com/parallel-web/parallel-sdk-typescript/commit/7688dc22e69e4ae68652997e359f239f556ba23c))
24+
* **internal:** codegen related update ([4d4d2ac](https://github.com/parallel-web/parallel-sdk-typescript/commit/4d4d2aca26c360cb5af102eb6afa010c1700f32d))
25+
326
## 1.1.0 (2026-06-08)
427

528
Full Changelog: [v1.0.1...v1.1.0](https://github.com/parallel-web/parallel-sdk-typescript/compare/v1.0.1...v1.1.0)

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parallel-web",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"description": "The official TypeScript library for the Parallel API",
55
"author": "Parallel <support@parallel.ai>",
66
"types": "dist/index.d.ts",
@@ -28,7 +28,7 @@
2828
},
2929
"dependencies": {},
3030
"devDependencies": {
31-
"@arethetypeswrong/cli": "^0.17.0",
31+
"@arethetypeswrong/cli": "^0.18.0",
3232
"@swc/core": "^1.3.102",
3333
"@swc/jest": "^0.2.29",
3434
"@types/jest": "^29.4.0",

scripts/detect-breaking-changes

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ TEST_PATHS=(
1313
tests/api-resources/monitor.test.ts
1414
tests/api-resources/beta/beta.test.ts
1515
tests/api-resources/beta/findall.test.ts
16+
tests/api-resources/beta/memory.test.ts
1617
tests/index.test.ts
1718
)
1819

scripts/utils/upload-artifact.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ UPLOAD_RESPONSE=$(curl -v -X PUT \
2020

2121
if echo "$UPLOAD_RESPONSE" | grep -q "HTTP/[0-9.]* 200"; then
2222
echo -e "\033[32mUploaded build to Stainless storage.\033[0m"
23-
echo -e "\033[32mInstallation: npm install 'https://pkg.stainless.com/s/parallel-sdk-typescript/$SHA'\033[0m"
23+
echo -e "\033[32mInstallation: npm install 'https://pkg.stainless.com/s/parallel-sdk-typescript-staging/$SHA'\033[0m"
2424
else
2525
echo -e "\033[31mFailed to upload artifact.\033[0m"
2626
exit 1

src/client.ts

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -782,11 +782,19 @@ export class Parallel {
782782
return () => controller.abort();
783783
}
784784

785-
private buildBody({ options: { body, headers: rawHeaders } }: { options: FinalRequestOptions }): {
785+
private buildBody({ options }: { options: FinalRequestOptions }): {
786786
bodyHeaders: HeadersLike;
787787
body: BodyInit | undefined;
788788
} {
789+
const { body, headers: rawHeaders } = options;
789790
if (!body) {
791+
// A resource method always passes a `body` key when its operation defines a
792+
// request body, even if the caller omitted an optional body param. Keep the
793+
// content-type for those, and only elide it for operations with no body at
794+
// all (e.g. GET/DELETE).
795+
if (body == null && 'body' in options) {
796+
return this.#encoder({ body, headers: buildHeaders([rawHeaders]) });
797+
}
790798
return { bodyHeaders: undefined, body: undefined };
791799
}
792800
const headers = buildHeaders([rawHeaders]);

0 commit comments

Comments
 (0)