chore(release): staging to production - 2026.01.13 - #775
Conversation
unshift system message
Resolves the json parsing issue in Iteration.ts gracefully
* fix(entities/ChatFlow.ts): make type column non-nullable with default value * fix(postgres/ModifyChatflowType): set default type and make column non-nullable * fix(sqlite/ModifyChatflowType): set default type and make column non-nullable * fix(mysql/ModifyChatflowType): set default type and make column non-nullable * chore(sqlite/ModifyChatflowType): standardize type column to VARCHAR(20) * chore(postgres/ModifyChatflowType): standardize type column to VARCHAR(20) * fix(mariadb/ModifyChatflowType): set default type and make column non-nullable * chore: rename ChatflowType to EnumChatflowType and update references * feat(chatflows): add chatflow type validation * fix(chatflows): empty string bypassing type validation on update
* feat: add JSONPathExtractor tool with lodash-based path extraction - Implement JSONPathExtractor tool for extracting values from JSON using path notation - Use lodash.get for robust path extraction supporting edge cases (numeric string keys, array indexing) - Add configurable error handling with returnNullOnError parameter - Include comprehensive test suite with 34 tests covering all scenarios - Support JSON strings, objects, and arrays as input * fix lint * Update pnpm-lock.yaml * fix: exclude test files from TypeScript compilation Prevents test files from being included in the dist folder which was causing "jest is not defined" errors during server startup. --------- Co-authored-by: Henry Heng <henryheng@flowiseai.com>
…seAI#5098) feat(secureZodParser): Add support for nested objects and arrays of primitives
* fix upser api for file loader * - Introduced loaderName property in IDocumentStoreUpsertData interface. - Updated upsertDocStore function to utilize loaderName if provided. - Enhanced DocStoreAPIDialog to allow loaderName customization in API requests. - Modified DocumentStoreDetail to display file names when available, improving source formatting logic.
* add sambanova * add sambanova credential * fix samba nova chat node --------- Co-authored-by: Henry <hzj94@hotmail.com>
* Add AWS Kendra vector store integration * Fix import paths in Kendra vector store * Add AWS Kendra dependencies to package.json * Update pnpm-lock.yaml with AWS Kendra dependencies * Fix linter warnings in Kendra vector store * Fix code formatting in Kendra vector store * Update pnpm-lock.yaml --------- Co-authored-by: Henry Heng <henryheng@flowiseai.com> Co-authored-by: Henry <hzj94@hotmail.com>
* feat: add OpenAI GPT-OSS models to AWS Bedrock - Add openai.gpt-oss-20b-1:0 (21B parameters, optimized for lower latency) - Add openai.gpt-oss-120b-1:0 (120B parameters, optimized for production use) * fix: update GPT-OSS models pricing on AWS Bedrock - gpt-oss-20b: /bin/zsh.07//bin/zsh.30 per 1M tokens (input/output) - gpt-oss-120b: /bin/zsh.15//bin/zsh.60 per 1M tokens (input/output)
export all chat messages
…FlowiseAI#5114) * feat: Enable Tracing Support For Self-Hosted & Cloud Phoenix Instance * feat: Add Testcase For Phoenix Exporter URL Handling
fix: prevent sensitive data exposure in password reset
* feat: Add agentflow name filter to executions page - Add agentflow name text field to executions filter UI - Implement backend filtering with case-insensitive partial matching - Add database index on chat_flow.name for improved query performance - Support filtering executions by agentflow name across all database types * chore: Fix linting issues and remove screenshot - Apply prettier formatting to migration files - Fix formatting in executions service - Remove accidentally committed screenshot file
…owiseAI#5145) fix: use case-insensitive email lookup and comparison
…iseAI#5132) * Fixed background color of file upload box in Chat configuration * Refactor FileUpload to use useSelector for customization * lint fix --------- Co-authored-by: Henry Heng <henryheng@flowiseai.com>
* feat: add CometAPI integration with ChatCometAPI node and credential support * feat: remove timeout and stop sequence parameters from ChatCometAPI node
add telemetry for productId
* fix gsuite tool params * custom assistant only check for mandatory fields for visible params * azure chat openai fix for gpt5 * return raw from executeJavaScriptCode * add json5 for parsing * azure chatopenai use maxCompletionTokens
* feat: Add AWS DynamoDB KV Storage tool - Add AWS DynamoDB key-value storage tool for persistent data storage - Add utility functions for AWS tools configuration * update SNS tool --------- Co-authored-by: Henry <hzj94@hotmail.com>
- Replace manual template variable processing in multiple components with a new utility function `processTemplateVariables`.
- Added `secureFetch` and `checkDenyList` functions from `httpSecurity` to enhance security in web crawling and link fetching processes. - Updated relevant functions to utilize these new security measures, ensuring safer data handling.
use json5 for parsing input data
Updated logic to ensure that the last message is retrieved safely, preventing potential errors when the messages array is empty.for Human Input Node
* add acceptVariable property to vector store metadata filter * add accepVariadd acceptVariable property to other json fields
…rt-config fix(AGENT-593): preserve chatflow configuration during import/export
Pull Request Review: PR #775 - Staging to Production Release📊 OverviewType: Staging → Production Release 🔒 Security AssessmentCritical Security Fixes (PRIORITY)✅ AGENT-589: Cross-Workspace Data Leak Prevention
✅ Path Traversal Protections
✅ Authentication & Authorization Improvements
✅ Input Validation & Sanitization
Security Concerns Addressed
🏗️ Architecture & Code Quality✅ Positive Changes1. Claude Code Workflow Enhancement
2. Documentation Improvements
3. Code Standards
4. Feature Additions
|
- Use theme.palette.common.white instead of #fff - Use theme.palette.success/warning/error.main for status colors - Use theme.palette.background.paper for modal backgrounds - Use alpha() utility for transparent colors - Fix inconsistent background pattern
- Add selectedCredential and selectedCredentialData state to NodeInputHandler.jsx - Add handleCredentialDataChange callback for GoogleDrivePicker - Update credential onSelect to set state and reset data on change - Initialize selectedCredential from existing data.credential - Fix DocStoreInputHandler to also initialize from existing data
…ntrast fix(AGENT-598): improve light mode contrast in Admin Chatflows
…document-loader-reference-error fix(AGENT-617): Fix Google Drive document loader ReferenceError
PR Review: Staging to Production ReleaseReview Date: 2026-01-09 Executive SummaryThis is a substantial staging-to-production release containing several CRITICAL security fixes that address multi-tenancy vulnerabilities, particularly cross-workspace data leaks (AGENT-589). The release also includes significant authentication improvements, workspace management features, and numerous UI/UX enhancements from upstream Flowise 3.0.x. Critical Security Fixes Included✅ AGENT-589: Cross-Workspace Chat Data Leak (3 commits)
✅ AGENT-592: Workspace RBAC Improvements
✅ Auth Enhancements
🔴 Critical Findings1. Multi-Tenancy Implementation - VERIFIED ✅Location: // DELETE operation properly checks ownership
const userRecord = await prisma.chat.findFirst({
where: {
id,
users: { some: { email: session.user.email } }
}
})
if (!userRecord) {
return NextResponse.json({ error: 'Not found' }, { status: 404 })
}Status: ✅ SECURE - Proper user ownership validation before deletion. However: The GET endpoint delegates to Recommendation: Verify that the Flowise backend 2. Workspace Switching Security - VERIFIED ✅Location: // Verify user has access to this workspace
const assignedWorkspaces = session.user.assignedWorkspaces || []
const hasAccess = assignedWorkspaces.some((ws: { id: string }) => ws.id === workspaceId)
if (!hasAccess) {
return NextResponse.json({ error: 'Access denied to this workspace' }, { status: 403 })
}Status: ✅ SECURE - Proper authorization check before switching workspaces. Note: Calls backend endpoint 3. Authentication Session Enrichment - POTENTIAL CONCERN
|
| Category | Risk Level | Notes |
|---|---|---|
| Security Fixes | 🟢 LOW | Critical fixes for cross-workspace data leaks |
| Authentication | 🟡 MEDIUM | Session enrichment failure handling needs verification |
| Database Migrations | 🟡 MEDIUM | Migrations not visible in PR, must verify separately |
| Configuration | 🟢 LOW | Well-documented critical settings |
| Upstream Merge | 🟡 MEDIUM | Large volume of changes (300+ commits) |
| Multi-Tenancy | 🟢 LOW | Proper isolation checks in place |
Final Recommendation: APPROVE WITH CONDITIONS ✅⚠️
This PR contains critical security fixes that should be deployed to production, particularly the AGENT-589 cross-workspace data leak fixes. However, due to the massive scope (178K additions, 100 files, 100 commits), the following conditions MUST be met:
MUST HAVE (Blockers):
- ✅ Verify
FLOWISE_SECRETKEY_OVERWRITEis set in production - ✅ Test database migrations in staging environment
- ✅ Verify cross-workspace isolation works correctly
- ✅ Have database backup and rollback plan
SHOULD HAVE (Strongly Recommended):
- Test AGENT-610 workspace sharing feature for security implications
- Verify session enrichment failure handling doesn't bypass permissions
- Load test the session enrichment endpoint (called on every request)
- Monitor error rates closely during and after deployment
Timeline: Once the MUST HAVE items are verified, this PR is ready for production deployment.
🎯 Action Items
For Deployment Team:
- Complete pre-deployment checklist above
- Schedule deployment during low-traffic window
- Have rollback procedure documented and ready
- Monitor metrics during deployment
For Engineering Team:
- Address session enrichment error handling (non-blocking)
- Add integration tests for AGENT-610 workspace sharing
- Document the Flowise backend endpoints that enforce multi-tenancy
- Consider adding request timeout to session enrichment fetch
For Security Team:
- Verify AGENT-610 doesn't re-introduce data leak vulnerabilities
- Review workspace permission model for edge cases
- Pen test cross-workspace isolation after deployment
Reviewed by: Claude Sonnet 4.5 (PR Review Agent)
Review Focus: Security, Multi-tenancy, Authentication, Configuration, Database Migrations
Severity Levels: 🔴 Critical | 🟡 Major | 🟢 Minor
🔍 PR Review: Staging to Production Release (2026-01-09)📊 SummaryThis is a massive release merging staging to production with:
🚨 Critical Security Concerns✅ EXCELLENT: Multi-Tenancy Data Leak FixesSeveral critical security patches were included:
|
… admin pages PR #826 fixed Admin Chatflows, but billing pages, document stores, and cost calculator still had poor light mode contrast with white text on white backgrounds. Applied comprehensive theme-aware color replacements: - Billing pages: Dashboard, TotalCreditsProgress, BillingOverview, BillingComponents, UsageEventsTable, CostCalculator - Admin pages: DocumentStores table Changes: - color: '#fff' → theme.palette.text.primary (dark in light mode, white in dark mode) - color: 'rgba(255,255,255,0.X)' → theme.palette.text.secondary - bgcolor: 'rgba(0,0,0,0.2)' → alpha(theme.palette.background.paper, 0.8) - border: 'rgba(255,255,255,0.1)' → theme.palette.divider - Progress bar track: alpha(theme.palette.primary.main, 0.1) in light mode (was invisible) User-reported issues resolved: - Billing pages text invisible in light mode - Document Stores table text invisible - Cost Calculator white text on white background - Total Credits Usage progress bar barely visible Total: 7 files modified, ~200+ hardcoded colors replaced WCAG AA compliance achieved (4.5:1 contrast ratio minimum) Dark mode unchanged - no regressions Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
…t-mode-contrast fix(AGENT-598): complete light mode contrast fixes across billing and admin pages
…ding fix: prevent config tabs errors on unsaved/imported chatflows
🔍 PR Review: Staging → Production Release (2026-01-13)OverviewThis is a large release PR merging 100 commits from
✅ Strengths1. Critical Security Fixes
|
| Area | Risk Level | Mitigation |
|---|---|---|
| Security (AGENT-589) | 🔴 HIGH | Mandatory manual testing + code review |
| Database Migrations | 🟡 MEDIUM | Test in staging + backup strategy |
| Breaking Changes | 🟡 MEDIUM | Review Flowise changelog + compatibility testing |
| PR Size | 🟡 MEDIUM | Extended testing period + phased rollout |
| Documentation | 🟢 LOW | Isolated to .claude/ directory |
💡 Final Recommendations
✅ APPROVE IF:
- All automated tests pass
- Security testing confirms workspace isolation (AGENT-589)
- Migrations run successfully in staging
- Manual QA checklist completed
- Production backup completed
⏸️ REQUEST CHANGES IF:
- Any workspace isolation issues detected
- Test failures occur
- Migration issues in staging
- Performance regressions observed
📝 FOLLOW-UP:
- Schedule post-deployment security audit
- Update incident response playbook with workspace isolation scenarios
- Document lessons learned on PR sizing
- Consider breaking up large releases in future
Summary
This is a high-value, high-risk release with critical security fixes that should be deployed after thorough verification. The AGENT-589 cross-workspace data leak fix is the most critical change and requires explicit validation before production deployment.
Recommendation: APPROVE with conditions - Deploy after completing pre-merge checklist and successful staging verification.
Estimated Testing Time: 2-4 hours for comprehensive validation
Recommended Deployment Window: Off-hours with rollback plan ready
Review conducted by Claude Code PR Review Agent
For questions about this review, see .claude/agents/git-pr-reviewer.md
🔍 PR Review: #775 - Staging to Production ReleaseSummary: Large production release (178,426 additions) containing critical security fixes, workspace RBAC improvements, multi-workspace resource sharing, and numerous UI/UX enhancements. ✅ Critical Security Issues - VERIFIED FIXED1. AGENT-589: Cross-Workspace Chat Data Leak
|
| Metric | Score | Notes |
|---|---|---|
| Code Quality | 9/10 | Excellent adherence to patterns |
| Security | 10/10 | Critical fixes verified correct |
| Test Coverage | 6/10 | Missing security tests |
| Documentation | 9/10 | Excellent inline comments |
| Architecture | 9/10 | Solid patterns, minor improvements possible |
🚀 Recommendation: ✅ APPROVE FOR PRODUCTION
Critical security fixes are correctly implemented and should be deployed. The implementation follows repository patterns and includes proper defense-in-depth measures.
Before Merging:
⚠️ Test workspace migration on staging with production-size data- 💡 Remove debug console.log statements
Post-Deployment:
- Monitor logs for multi-tenancy violations
- Add database indexes (create follow-up ticket)
- Add security integration tests (create follow-up PR)
- Create tickets for TODO comments
The missing tests are a concern, but should not block deployment of critical security fixes. Add comprehensive security tests in the next sprint.
Reviewed using Claude Code with git-pr-reviewer agent
🚀 Release: Staging to Production
Release Date: 2026-01-13
Changes in this release
createSchema(Ensure proper cleanup of the database connection increateSchemaFlowiseAI/Flowise#5315) (9554b1a)getNumTokensfor ChatGoogleGenerativeAI (SupportgetNumTokensfor ChatGoogleGenerativeAI FlowiseAI/Flowise#4149) (654bd48)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.