From 9cf6d56972dca2010456f0387fc964d8a706d401 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 5 May 2026 10:45:12 +0000 Subject: [PATCH 1/8] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index d0c9d66..808dbe7 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/formbricks/hub-526ed49a32284f5c56e7964aece117e0c86e33ebb59fee0bfd690e115b7357a9.yml -openapi_spec_hash: ee1c213d7b857cdc4dfc2c6374043b78 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/formbricks/hub-bd252975d0f58440e2ac4b438a9e5e3f655489c3bff437c810a194ecd0704f1a.yml +openapi_spec_hash: f7fa523cb16be3d4028025f452abecb7 config_hash: 192df2ec8dde2ae4b7e328b5ac557cb8 From 98b71aeddc2307c2608413237357b4e42be2930c Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 02:14:41 +0000 Subject: [PATCH 2/8] docs: update http mcp docs --- packages/mcp-server/src/local-docs-search.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/mcp-server/src/local-docs-search.ts b/packages/mcp-server/src/local-docs-search.ts index 2cde10b..68e5eb1 100644 --- a/packages/mcp-server/src/local-docs-search.ts +++ b/packages/mcp-server/src/local-docs-search.ts @@ -151,7 +151,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [ }, http: { example: - 'curl http://localhost:8080/v1/feedback-records \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $HUB_API_KEY" \\\n -d \'{\n "field_id": "q1",\n "field_type": "rating",\n "source_type": "survey",\n "submission_id": "550e8400-e29b-41d4-a716-446655440000",\n "tenant_id": "org-123"\n }\'', + 'curl http://localhost:8080/v1/feedback-records \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $HUB_API_KEY" \\\n -d \'{\n "field_id": "q1",\n "field_type": "rating",\n "source_type": "survey",\n "submission_id": "550e8400-e29b-41d4-a716-446655440000",\n "tenant_id": "org-123",\n "field_group_id": "feature_priority",\n "field_group_label": "Rank these features by importance",\n "field_label": "How satisfied are you?",\n "language": "en",\n "source_id": "survey-123",\n "source_name": "Q1 NPS Survey",\n "user_id": "user-abc-123",\n "value_boolean": true,\n "value_number": 9,\n "value_text": "Great service!"\n }\'', }, }, }, @@ -258,7 +258,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [ }, http: { example: - "curl http://localhost:8080/v1/feedback-records/$ID \\\n -X PATCH \\\n -H 'Content-Type: application/json' \\\n -H \"Authorization: Bearer $HUB_API_KEY\" \\\n -d '{}'", + 'curl http://localhost:8080/v1/feedback-records/$ID \\\n -X PATCH \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $HUB_API_KEY" \\\n -d \'{\n "value_text": "Updated feedback text"\n }\'', }, }, }, @@ -378,7 +378,7 @@ const EMBEDDED_METHODS: MethodEntry[] = [ }, http: { example: - 'curl http://localhost:8080/v1/webhooks \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $HUB_API_KEY" \\\n -d \'{\n "tenant_id": "org-123",\n "url": "https://example.com/hub-events",\n "signing_key": "whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\n }\'', + 'curl http://localhost:8080/v1/webhooks \\\n -H \'Content-Type: application/json\' \\\n -H "Authorization: Bearer $HUB_API_KEY" \\\n -d \'{\n "tenant_id": "org-123",\n "url": "https://example.com/hub-events",\n "enabled": true,\n "event_types": [\n "feedback_record.created",\n "feedback_record.updated",\n "feedback_record.deleted"\n ],\n "signing_key": "whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"\n }\'', }, }, }, From c1a9412a050b6ad9a0964e46b39c2378797b2b5d Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Thu, 7 May 2026 15:31:42 +0000 Subject: [PATCH 3/8] codegen metadata --- .stats.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.stats.yml b/.stats.yml index 808dbe7..8dda02e 100644 --- a/.stats.yml +++ b/.stats.yml @@ -1,4 +1,4 @@ configured_endpoints: 14 -openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/formbricks/hub-bd252975d0f58440e2ac4b438a9e5e3f655489c3bff437c810a194ecd0704f1a.yml -openapi_spec_hash: f7fa523cb16be3d4028025f452abecb7 +openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/formbricks/hub-a15df7247ac26379b3d0764da9c01194bb4abbd10be218a8ab688d6b487df877.yml +openapi_spec_hash: 6b3734b7fb4f5fc7421fd9651ca3c023 config_hash: 192df2ec8dde2ae4b7e328b5ac557cb8 From 1c84b35f6ea1f1b93211ec7172e6d7f5d2cd7ab9 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Fri, 8 May 2026 02:04:56 +0000 Subject: [PATCH 4/8] chore: redact api-key headers in debug logs --- src/internal/utils/log.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/internal/utils/log.ts b/src/internal/utils/log.ts index 903cb68..d44cce1 100644 --- a/src/internal/utils/log.ts +++ b/src/internal/utils/log.ts @@ -107,6 +107,8 @@ export const formatRequestDetails = (details: { name, ( name.toLowerCase() === 'authorization' || + name.toLowerCase() === 'api-key' || + name.toLowerCase() === 'x-api-key' || name.toLowerCase() === 'cookie' || name.toLowerCase() === 'set-cookie' ) ? From 2c1d7ce63b2203d8b9692fb2c2e85779a112c19a Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Wed, 13 May 2026 02:02:15 +0000 Subject: [PATCH 5/8] ci: pin GitHub Actions to commit SHAs Pin all GitHub Actions referenced in generated workflows (both first-party `actions/*` and third-party) to immutable commit SHAs. Updating pinned actions is now a deliberate codegen-side bump rather than implicit on every workflow run. --- .github/workflows/ci.yml | 20 ++++++++++---------- .github/workflows/publish-npm.yml | 6 +++--- .github/workflows/release-doctor.yml | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 62c61cf..d497faa 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,15 +21,15 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/hub-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: (github.event_name == 'push' || github.event.pull_request.head.repo.fork) && (github.event_name != 'push' || github.event.head_commit.message != 'codegen metadata') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '22' - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 with: version: '10.30.1' @@ -48,15 +48,15 @@ jobs: contents: read id-token: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '22' - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 with: version: '10.30.1' @@ -71,7 +71,7 @@ jobs: github.repository == 'stainless-sdks/hub-typescript' && !startsWith(github.ref, 'refs/heads/stl/') id: github-oidc - uses: actions/github-script@v8 + uses: actions/github-script@ed597411d8f924073f98dfc5c65a23a2325f34cd # v8.0.0 with: script: core.setOutput('github_token', await core.getIDToken()); @@ -101,15 +101,15 @@ jobs: runs-on: ${{ github.repository == 'stainless-sdks/hub-typescript' && 'depot-ubuntu-24.04' || 'ubuntu-latest' }} if: github.event_name == 'push' || github.event.pull_request.head.repo.fork steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v4 + uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0 with: node-version: '22' - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 with: version: '10.30.1' diff --git a/.github/workflows/publish-npm.yml b/.github/workflows/publish-npm.yml index 1d4c3f5..3bdd05a 100644 --- a/.github/workflows/publish-npm.yml +++ b/.github/workflows/publish-npm.yml @@ -21,15 +21,15 @@ jobs: id-token: write steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Set up Node - uses: actions/setup-node@v3 + uses: actions/setup-node@3235b876344d2a9aa001b8d1453c930bba69e610 # v3.9.1 with: node-version: '20' - name: Set up pnpm - uses: pnpm/action-setup@v4 + uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 - name: Install dependencies run: | diff --git a/.github/workflows/release-doctor.yml b/.github/workflows/release-doctor.yml index a5580b3..43996a5 100644 --- a/.github/workflows/release-doctor.yml +++ b/.github/workflows/release-doctor.yml @@ -12,7 +12,7 @@ jobs: if: github.repository == 'formbricks/hub-typescript' && (github.event_name == 'push' || github.event_name == 'workflow_dispatch' || startsWith(github.head_ref, 'release-please') || github.head_ref == 'next') steps: - - uses: actions/checkout@v6 + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - name: Check release environment run: | From 1edb70ac156b1fdbba00ea6bb0346ee18b282c91 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:01:34 +0000 Subject: [PATCH 6/8] chore(tests): remove redundant File import --- tests/uploads.test.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/tests/uploads.test.ts b/tests/uploads.test.ts index fb1b1d0..1ee7000 100644 --- a/tests/uploads.test.ts +++ b/tests/uploads.test.ts @@ -1,7 +1,6 @@ import fs from 'fs'; import type { ResponseLike } from '@formbricks/hub/internal/to-file'; import { toFile } from '@formbricks/hub/core/uploads'; -import { File } from 'node:buffer'; class MyClass { name: string = 'foo'; From 2f297fe027beb4a94ae15c757d8a29acd29fc403 Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:02:06 +0000 Subject: [PATCH 7/8] fix(typescript): upgrade tsc-multi so that it works with Node 26 --- package.json | 2 +- packages/mcp-server/package.json | 2 +- pnpm-lock.yaml | 18 +++++++++--------- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index b20f26f..af2f416 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "publint": "^0.2.12", "ts-jest": "^29.1.0", "ts-node": "^10.5.0", - "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz", + "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz", "tsconfig-paths": "^4.0.0", "tslib": "^2.8.1", "typescript": "5.8.3", diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 6388bbb..777b478 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -73,7 +73,7 @@ "ts-jest": "^29.1.0", "ts-morph": "^19.0.0", "ts-node": "^10.5.0", - "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz", + "tsc-multi": "https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz", "tsconfig-paths": "^4.0.0" }, "imports": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 44c7a29..702baf7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,8 +56,8 @@ importers: specifier: ^10.5.0 version: 10.7.0(@swc/core@1.4.16)(@types/node@20.19.11)(typescript@5.8.3) tsc-multi: - specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz - version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) + specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz + version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz(typescript@5.8.3) tsconfig-paths: specifier: ^4.0.0 version: 4.2.0 @@ -192,8 +192,8 @@ importers: specifier: ^10.5.0 version: 10.7.0(@swc/core@1.4.16)(@types/node@22.19.1)(typescript@5.8.3) tsc-multi: - specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz - version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3) + specifier: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz + version: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz(typescript@5.8.3) tsconfig-paths: specifier: ^4.0.0 version: 4.2.0 @@ -4344,13 +4344,13 @@ packages: '@swc/wasm': optional: true - tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz: + tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz: resolution: { - integrity: sha512-tWyCXnx0WqCkVlo5s+4KMj7HC0/0YrCZY0PustUwX9F2lNwd8Kp07q/Q56uGvV9q80XaSDrhy0YqBmrX5TDNpQ==, - tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz, + integrity: sha512-LrjLRdfDnJ6UcZPSsxxY8QDnZmS3ZpPyvzgjUlNMjjRoTAUVqeL+IWrIzEU3Z+CwVrpVI97PePRLenEfCtR/UQ==, + tarball: https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz, } - version: 1.1.9 + version: 1.1.11 engines: { node: '>=14' } hasBin: true peerDependencies: @@ -7599,7 +7599,7 @@ snapshots: optionalDependencies: '@swc/core': 1.4.16 - tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.9/tsc-multi.tgz(typescript@5.8.3): + tsc-multi@https://github.com/stainless-api/tsc-multi/releases/download/v1.1.11/tsc-multi.tgz(typescript@5.8.3): dependencies: debug: 4.4.1 fast-glob: 3.3.2 From 79061db5e5cd26410654fd28da64b42e751f413e Mon Sep 17 00:00:00 2001 From: "stainless-app[bot]" <142633134+stainless-app[bot]@users.noreply.github.com> Date: Tue, 19 May 2026 02:02:42 +0000 Subject: [PATCH 8/8] release: 0.5.1 --- .release-please-manifest.json | 2 +- CHANGELOG.md | 19 +++++++++++++++++++ package.json | 2 +- packages/mcp-server/manifest.json | 2 +- packages/mcp-server/package.json | 2 +- packages/mcp-server/src/server.ts | 2 +- src/version.ts | 2 +- 7 files changed, 25 insertions(+), 6 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index f1c1e58..210d290 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1,3 +1,3 @@ { - ".": "0.5.0" + ".": "0.5.1" } diff --git a/CHANGELOG.md b/CHANGELOG.md index 3f5473b..bac46b2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 0.5.1 (2026-05-19) + +Full Changelog: [v0.5.0...v0.5.1](https://github.com/formbricks/hub-typescript/compare/v0.5.0...v0.5.1) + +### Bug Fixes + +* **typescript:** upgrade tsc-multi so that it works with Node 26 ([2f297fe](https://github.com/formbricks/hub-typescript/commit/2f297fe027beb4a94ae15c757d8a29acd29fc403)) + + +### Chores + +* redact api-key headers in debug logs ([1c84b35](https://github.com/formbricks/hub-typescript/commit/1c84b35f6ea1f1b93211ec7172e6d7f5d2cd7ab9)) +* **tests:** remove redundant File import ([1edb70a](https://github.com/formbricks/hub-typescript/commit/1edb70ac156b1fdbba00ea6bb0346ee18b282c91)) + + +### Documentation + +* update http mcp docs ([98b71ae](https://github.com/formbricks/hub-typescript/commit/98b71aeddc2307c2608413237357b4e42be2930c)) + ## 0.5.0 (2026-05-01) Full Changelog: [v0.4.4...v0.5.0](https://github.com/formbricks/hub-typescript/compare/v0.4.4...v0.5.0) diff --git a/package.json b/package.json index af2f416..8306bd5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@formbricks/hub", - "version": "0.5.0", + "version": "0.5.1", "description": "The official TypeScript library for the Formbricks Hub API", "author": "Formbricks Hub ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/manifest.json b/packages/mcp-server/manifest.json index c236171..e164403 100644 --- a/packages/mcp-server/manifest.json +++ b/packages/mcp-server/manifest.json @@ -1,7 +1,7 @@ { "dxt_version": "0.2", "name": "@formbricks/hub-mcp", - "version": "0.5.0", + "version": "0.5.1", "description": "The official MCP Server for the Formbricks Hub API", "author": { "name": "Formbricks Hub", diff --git a/packages/mcp-server/package.json b/packages/mcp-server/package.json index 777b478..c1c9088 100644 --- a/packages/mcp-server/package.json +++ b/packages/mcp-server/package.json @@ -1,6 +1,6 @@ { "name": "@formbricks/hub-mcp", - "version": "0.5.0", + "version": "0.5.1", "description": "The official MCP Server for the Formbricks Hub API", "author": "Formbricks Hub ", "types": "dist/index.d.ts", diff --git a/packages/mcp-server/src/server.ts b/packages/mcp-server/src/server.ts index 3dc2639..27cb284 100644 --- a/packages/mcp-server/src/server.ts +++ b/packages/mcp-server/src/server.ts @@ -28,7 +28,7 @@ export const newMcpServer = async ({ new McpServer( { name: 'formbricks_hub_api', - version: '0.5.0', + version: '0.5.1', }, { instructions: await getInstructions({ stainlessApiKey, customInstructionsPath }), diff --git a/src/version.ts b/src/version.ts index 1f5d158..44c3338 100644 --- a/src/version.ts +++ b/src/version.ts @@ -1 +1 @@ -export const VERSION = '0.5.0'; // x-release-please-version +export const VERSION = '0.5.1'; // x-release-please-version