chore(release): staging to production - 2026.03.13 - #1007
Conversation
GHSA-mw96-cpmx-2vgc / CVE-2026-27606 CVSS 9.8 (Critical) Updated Rollup to patched versions: - packages/embed-react: 3.29.5 → 3.30.0 - pnpm.overrides: 4.45.0 → 4.59.0 Vulnerability allowed arbitrary file write via path traversal during build process, enabling potential overwrites of config files, SSH keys, and build artifacts. References: - https://github.com/rollup/rollup/releases/tag/v4.59.0 - https://nvd.nist.gov/vuln/detail/CVE-2026-27606
Fixes lint errors in: - packages/components/nodes/tools/MCP/Jira/JiraMCP.ts - packages/components/nodes/tools/MCP/Confluence/ConfluenceMCP.ts These pre-existing lint errors were blocking CI on the security PR.
Fixes: - Trailing whitespace in multiple files - Function call formatting in chatflows/index.ts - Type annotation spacing in MCP/core.ts These pre-existing lint errors were blocking CI.
Breaks long console.log lines in utils/index.ts to comply with max line length rules.
- Add space in type annotation r:any → r: any (core.ts) - Join split variable assignments onto single lines where they fit within 140 char limit (internal-predictions, chatflows, AnswerAgentApi)
@modelcontextprotocol/sdk@1.26.0 requires zod >=3.25 (imports zod/v4). Pinned zod 3.22.4 caused all MCP tools to fail loading on startup.
@modelcontextprotocol/sdk@1.26.0 requires zod >=3.25 (imports zod/v4). Pinned zod 3.22.4 caused all MCP tools to fail loading on startup.
- Convert domains to Documents per-page instead of accumulating all raw domain objects before conversion (avoids 1GB+ spike from JSONB fields) - Mutate domain.tags in-place, delete domain_tags relation after extraction (avoids spread-copying every field of every domain per page) - Mutate doc.metadata in-place in init() (avoids creating second full array of 16k+ Document objects during metadata application) Before: peak ~2.1GB → OOM kill on 2GB Render instance at 16k+ domains After: peak ~500MB → raw page data freed per-page via GC
fix: upgrade zod to ^3.25.0 for MCP SDK compatibility
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
fix(components): optimize AAIDomains loader memory for large datasets
PR Review: chore(release): staging to production - 2026.03.12This release contains targeted fixes for memory/OOM issues in document loading and vector store upsert operations, plus a zod version upgrade for MCP SDK compatibility. Overall the changes are well-motivated and address real production problems. 1.
|
| Area | Verdict |
|---|---|
| Memory optimization (AAIDomains) | ✅ Solid improvement |
| Batch chunk saves | ✅ Fixes OOM, minor follow-up for bulk insert |
| Batch vector upsert | ✅ Core fix is correct — see notes on indexResult aggregation and _createVectorStoreObject hoisting |
| zod upgrade | ✅ Correct and necessary |
Blocking issues: None
Recommended follow-ups:
- Verify
indexResultmetrics are acceptable when only last-batch result is recorded - Check whether
_createVectorStoreObjectcan be hoisted outside the upsert loop - Guard
JSON.parse(data.recordManagerConfig)in case it's already an object
Overall this is a well-scoped fix for production OOM issues. Approve with the above notes.
🤖 Reviewed by Claude Code
…s-oom Revert "fix(components): optimize AAIDomains loader memory for large datasets"
|
PR Review by Claude Code (2026-03-12): The current diff contains only 2 files -- packages/components/package.json (zod bump from 3.22.4 to ^3.25.0) and pnpm-lock.yaml. The AAIDomains and documentstore changes visible in the commit history were reverted before HEAD. No critical or major issues found. Minor notes: (1) zod caret range ^3.25.0 vs previous exact pin -- deterministic via lockfile but worth deciding on policy; (2) @types/node peer resolution shifted from 25.2.2 to 18.15.11 as a side effect. The zod upgrade is correct and necessary -- @modelcontextprotocol/sdk@1.26.0 imports zod/v4 and requires >=3.25; the exact 3.22.4 pin caused all MCP tools to fail on startup. Resolved version 3.25.76 is consistent across all peer deps. Assessment: Approve. Recommend verifying Vercel builds and MCP tool loading in staging before merging to production. |
…7606-production 🔒 Security: Fix CVE-2026-27606 - Critical Rollup Path Traversal Vulnerability
|
PR Review: staging to production 2026.03.12 Overall Assessment: This release PR is generally safe to merge. The critical security fix and dependency upgrades are well-scoped. A few concerns are noted below. STRENGTHS Security fix correct and necessary: Rollup upgraded from 4.45.0 to 4.59.0 and 3.29.5 to 3.30.0 to address CVE-2026-27606 path traversal vulnerability. The pnpm override approach is correct. Zod upgrade appropriate: Moving from pinned 3.22.4 to ^3.25.0 unblocks MCP SDK compatibility. Lockfile consistently resolves 3.25.76 across all dependent packages. Documentstore batching fixes: Batching vector upserts and chunk saves to prevent OOM on large datasets is a solid targeted fix. Formatting changes are clean: The Prettier fixes are mechanical and non-risky. CONCERNS
These files contain dense DEBUG logging added for investigation that was not removed: packages/components/nodes/tools/MCP/Confluence/ConfluenceMCP.ts, packages/components/nodes/tools/MCP/Jira/JiraMCP.ts, packages/components/nodes/tools/MCP/core.ts, packages/components/src/utils.ts, packages/server/src/utils/index.ts. While none log actual secret values (good!), they do log: credential IDs (UUIDs), workspaceIds, timing data for every flow run, and internal package paths. The console.time/console.timeEnd blocks add overhead per node init. Recommend a follow-up ticket to replace these with the existing logger.debug() pattern that respects log level config.
The commit history shows the memory optimization was applied, then reverted, then re-applied alongside a domain_tags preservation fix. Please confirm the final shipped state has both the memory optimization AND domain_tags preservation. A smoke test against a large domain dataset in staging would be prudent.
In pnpm-lock.yaml, some packages shifted from @types/node@25.2.2 to @types/node@18.15.11 (salesforce-mcp, typeorm, ts-node, Jest). This appears to be an incidental side effect of the zod upgrade changing peer dep resolution. Verify this does not cause TypeScript compile regressions, particularly in packages/server where typeorm is used. SUMMARY Security fix (CVE-2026-27606 rollup): Good Recommendation: Merge is acceptable given the security urgency. File a cleanup ticket for the DEBUG logging before the next release cycle. Reviewed with Claude Code |
…tore-user-typeerror fix(document-store): inject req.user into refresh body (AGENT-714)
PR Review: chore(release): staging to production - 2026.03.13Reviewer: Claude Code (automated review) SummaryThis is a release PR aggregating bug fixes, security patches, and dependency upgrades from staging to production. The changes span memory optimization for document processing, a critical security CVE fix, MCP SDK compatibility, a document store user injection fix, and documentation cleanup. Overall the code quality is solid. Key concerns are noted below. Critical Issues1. Debug console.log statements shipping to production Multiple files contain verbose
The Jira and Confluence MCP files specifically log actual email addresses (not just boolean existence checks). Example from JiraMCP.ts: console.log('[JIRA MCP DEBUG] - email exists:', !!jiraApiEmail, '(value:', jiraApiEmail || 'MISSING', ')')This logs the real email value to production stdout. These should be removed or replaced with Severity: Critical - blocks production release 2. Mutation of req.body in documentstore controller In const body = req.body || {}
body.user = req.userThe const body = { ...(req.body || {}), user: req.user }Severity: Major Major Concerns3. Duplicate zod upgrade commits Commits 4. AAIDomains memory optimization reverted without replacement The commit history includes: optimize AAIDomains loader -> preserve domain_tags patch -> revert AAIDomains optimization -> broader documentstore batch pipeline. The final diff does NOT include the AAIDomains component-level changes (they were reverted). The documentstore service-level batching fixes are present, but the original OOM issue for large datasets in the AAIDomains component is still unresolved. A follow-up ticket should track re-introducing that optimization with the Minor Issues5. 6. The email logging in MCP files (issue 1) is specifically a data exposure concern beyond just debug noise - the actual email string is logged when it exists. Positive Observations
Security Checklist
Recommendation: Request ChangesThe blocking issue is the debug Suggested next steps:
|
- Upgrade tsconfig lib to ES2022 for Array.at() support in agents/chains - Replace deprecated fs.promises.rmdir with fs.promises.rm in storageUtils - Add @langchain/core as direct dependency to server package Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…storageutils-langchain fix: resolve build errors in components and server packages
Strip all DEBUG-tagged console.log/time/timeEnd calls from 5 files before production release. These temporary investigation logs exposed emails, credential values, and full MCP tool inputs to stdout. Preserves legitimate console.error and logger.warn/error calls. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
🚀 Release: Staging to Production
Release Date: 2026-03-13
Changes in this release
This PR is automatically created/updated when commits are pushed to staging.
Merging this PR will trigger the release workflow to create a new GitHub release.