* chore: update Node.js version consistency and optimize Docker build
- Bump .nvmrc from v20.19.2 to v20.20.2 to match CI
- Narrow package.json engines to ^20 across root and packages/server
- Exclude @flowiseai/agentflow and @flowiseai/observe from Docker build
to save ~40-50s per build (sdk packages not needed for app runtime)
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* chore: add build:docker script and fix Docker build filter
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
* chore: update README files Node.js version to 20.0.0
---------
Co-authored-by: Claude Sonnet 4.6 <[email protected]>
Co-authored-by: yau-wd <[email protected]>
* feat(security): enhance file path validation and implement non-root Docker user
- Validate resolved full file paths including workspace boundaries in SecureFileStore
- Resolve paths before validation in readFile and writeFile operations
- Run Docker container as non-root flowise user (uid/gid 1001)
- Apply proper file ownership and permissions for application files
Prevents path traversal attacks and follows container security best practices
* Add sensitive system directory validation and Flowise internal file protection
* Update Dockerfile to use default node user
* update validation patterns to include additional system binary directories (/usr/bin, /usr/sbin, /usr/local/bin)
* added isSafeBrowserExecutable function to validate browser executable paths for Playwright and Puppeteer loaders
---------
Co-authored-by: taraka-vishnumolakala <[email protected]>
Co-authored-by: Henry Heng <[email protected]>
Co-authored-by: Henry <[email protected]>