v1.4.0
lfnovo/open-notebookv1.4.0Jan 15, 2026by lfnovo
AI Summary
This release focuses on improving file upload capabilities, enabling offline deployments, and enhancing user onboarding. It includes a major Next.js upgrade from 15 to 16, which resolves large file upload issues.
Key Highlights
- Upgraded Next.js from 15.4.10 to 16.1.1
- Enables large file uploads up to 100MB (previously limited to 10MB)
- Improved Dockerfile for offline/airgapped deployments
- Added CTA button to empty notebook list for better onboarding
- Fixed orphaned uploaded files with proper cleanup logic
- Fixed broken documentation links
- Prevented duplicate Claude Code workflow runs
New Features
- Large file uploads (up to 100MB)
- Offline deployment support
- Better onboarding experience with CTA button
- Improved file cleanup logic
- Fixed documentation links
- Optimized CI/CD workflow
Full Release Notes
# Release Notes - v1.4.0 Release Date: January 14, 2026 ## Overview Version 1.4.0 is a feature release focused on improving file upload capabilities, enabling offline deployments, and enhancing the user onboarding experience. This release includes a major Next.js upgrade (15 → 16) that resolves large file upload issues, plus several important bug fixes for documentation, workflow automation, and file cleanup. ## ✨ Features ### Next.js 16 Upgrade (#423) - **Upgraded Next.js from 15.4.10 to 16.1.1** - Enables `proxyClientMaxBodySize` configuration for large file uploads - Upgraded React from 19.1.0 to 19.2.3 - Renamed `middleware.ts` → `proxy.ts` (required by Next.js 16) - Users can now upload files larger than 10MB (up to 100MB) - Resolves "Unrecognized key" warnings from Next.js 15 ### Offline Deployment Support (#414) - **Improved Dockerfile for offline/airgapped deployments** - Prevents uv from attempting to sync libraries at runtime - Enables deployment in isolated networks without internet access - Contributed by @thesohamdatta ### Better Onboarding Experience (#408) - **Added CTA button to empty notebook list** - Prominent "Create Notebook" button when notebook list is empty - Improves new user onboarding flow - Context-aware: only appears on active notebook list, not during searches - Contributed by @thesohamdatta ## 🐛 Bug Fixes ### File Management - **Fixed orphaned uploaded files** (#421) - Uploaded files are now properly deleted when sources are removed - Prevents accumulation of orphaned files consuming disk space - Added comprehensive test coverage for file cleanup scenarios - Fixes #420 ### Documentation - **Fixed broken documentation links** (#419) - Updated all references from non-existent `docs/features/ai-models.md` - Corrected path to `docs/5-CONFIGURATION/ai-providers.md` - Removed outdated `setup_guide/` directory - Fixes #412 - **Removed ZIP support indication** (#418) - Updated file upload UI to remove "Archives (ZIP)" from supported formats - Aligns UI with actual backend capabilities - Fixes #415 ### CI/CD & Workflow Improvements - **Prevented duplicate Claude Code workflow runs** (#417) - Fixed duplicate workflow runs from both `pull_request` and `pull_request_target` triggers - Fork PRs now only use `pull_request_target` (has OIDC tokens) - Same-repo PRs now only use `pull_request` (faster, uses PR workflow version) - Eliminates wasted CI resources and confusing duplicate checks - **Claude Code review workflow now supports forks** (#416) - Changed trigger from `pull_request` to `pull_request_target` - External contributors can now get AI-powered code reviews - Resolves OIDC token authentication errors for fork PRs - Fixes #414 workflow failures ## 🔧 Technical Changes ### Frontend - Next.js: 15.4.10 → 16.1.1 - React: 19.1.0 → 19.2.3 - react-dom: 19.1.0 → 19.2.3 - `middleware.ts` renamed to `proxy.ts` (Next.js 16 requirement) - Added `proxyClientMaxBodySize: '100mb'` configuration ### Backend - Improved Dockerfile with proper uv dependency installation - Added file cleanup logic in `Source.delete()` method ### Documentation - Updated reverse proxy documentation with version requirements - Fixed multiple broken internal links - Removed outdated setup guides ## 🙏 Contributors Thank you to our contributors for this release: - @lfnovo - @thesohamdatta ## Upgrade Notes This release includes a major Next.js upgrade (15 → 16). While we've tested thoroughly, please review the following: ### Breaking Changes None - this release is backward compatible with v1.3.1. ### Recommended Actions After Upgrade 1. **Large file uploads now work**: Files up to 100MB can be uploaded (previously limited to 10MB) 2. **If deploying offline**: Review the updated Dockerfile to ensure your airgapped deployment works correctly 3. **If using reverse proxy**: Verify your reverse proxy configuration allows 100MB request bodies (see docs/5-CONFIGURATION/reverse-proxy.md) ### Known Issues - Standalone server mode in Next.js 16 is being used for Docker deployments - Current branch `fix/nextjs-standalone-server` may have additional fixes pending ## Full Changelog **All merged PRs since v1.3.1:** - #423: feat: upgrade Next.js 15 → 16 to fix large file uploads - #421: fix: delete uploaded files when sources are removed - #419: fix: update broken documentation links to ai-providers.md - #418: fix: remove zip support indication - #417: fix: prevent duplicate Claude Code workflow runs - #416: fix: allow claude code review workflow to run on PRs from forks - #414: feat: improve dockerfile to support offline deployments - #408: feat: add CTA button to empty state list --- For more information, visit: - **Documentation**: https://open-notebook.ai - **Discord**: https://discord.gg/37XJPXfz2w - **GitHub**: https://github.com/lfnovo/open-notebook