v3.3.0
langchain-ai/deepagentsv3.3.0Aug 12, 2026by mikecao
AI Summary
A major release introducing Two-Factor Authentication, session identity stitching, property filtering, and board cloning with significant security and performance improvements.
Key Highlights
- Added Two-Factor Authentication (2FA) support for self-hosted installs
- Implemented session identity stitching to link activity across devices
- Added session and event property filtering capabilities
- Added board cloning functionality
- Added sparklines for a quick visual overview of activity
New Features
- Two-Factor Authentication (2FA) support
- Session identity stitching
- Session and event property filtering
- Board cloning
- Sparklines
- Improved bounce detection
- Tracker build converted to TypeScript
- CORS header support in recorder.js
- Punycode domain support
- Organic Facebook traffic attribution
Full Release Notes
Umami `v3.3.0` is here with new **Two-Factor Authentication**, session identity stitching, property filtering, board cloning, sparklines, improved bounce detection, and a large set of security, performance, and UI fixes. ## New features ### Two-Factor Authentication (2FA) <img width="600px" alt="image" src="https://github.com/user-attachments/assets/8fe7eae6-e8c6-47a6-9af1-f60989ea144d" /> Umami now supports TOTP-based two-factor authentication for self-hosted installs. - 2FA setup with QR code and manual key entry - Backup codes for account recovery - 2FA step integrated into the login flow - User security settings page - Team-level 2FA enforcement settings - Admin security settings and 2FA reset for users - Rate limiting with `429` responses on repeated failed attempts - Transactional backup code handling to prevent double-use race conditions ### Session identity stitching <img width="800px" alt="image" src="https://github.com/user-attachments/assets/91febf4b-c8d9-4170-928d-0e5205953ce9" /> Sessions are now stitched together when a visitor is identified, giving you a complete view of activity across devices and visits. - Identified sessions are linked for post-identify reads - Linked ID displayed in the session profile - Session delete feature for relational databases #2940 - Session modals use full-height layouts with improved mobile behavior ### Session and event property filtering <img alt="image" src="https://github.com/user-attachments/assets/d3c15514-2416-4662-8fa5-b6fe8b9865e3" /> Filter your data using session and event properties. #2945 #4008 - Property filters across session and event data views - Unique session data entries enforced at the database level - Duplicate data types resolved using dominant type logic - Performance improvements for session activity queries ### Board cloning Boards can now be cloned, making it easy to duplicate and iterate on dashboards. ### Sparklines <img alt="image" src="https://github.com/user-attachments/assets/fa333079-bede-48f4-a399-4ddaf8c1ffc0" /> Website, Link, and Pixel tables now display sparklines for a quick visual overview of activity. ### Tracking code workflow Adding a new website now walks you through installing the tracking code. ### Bounce detection - Simplified bounce definition for SPA websites - Optimized bounce detection queries ### Tracker and API improvements - Tracker build converted to TypeScript with published type definitions - `recorder.js` CORS header support #4426 - Punycode domain support #2170 - Same-domain referrers are no longer saved and path-only referrers resolve correctly - IRR (Iranian Rial) added to supported currencies - Improved Persian (fa-IR) support and Hebrew RTL support - Organic Facebook traffic channel attribution #4297 - Web app manifest fetched with credentials ## Security - Server-side validation for website name and domain input - Hardened event data deletion #4435 - Hardened report references in boards - Minimum 8-character slug enforced on share link create/update #4376 - Channel metrics literals escaped in queries - Docker runtime image CVE fixes and bundled npm removed - 2FA encryption key validation and transactional OTP handling ## Migrations This release includes schema migrations for session linking, 2FA, and session data: - `prisma/migrations/21_add_session_link` - `prisma/migrations/22_add_2fa` - `prisma/migrations/23_update_session_data` Migrations run automatically during the build process. ## Fixes - Funnel validation #4434 - Revenue query filtering #4286 - Board funnel and goal preview - ComboBox and MultiSelect issues #4355 - Session modal issues on mobile #4358 - Session modals dismiss when clicking outside - Dashboard empty-state Edit label - `formatLongNumber` billions calculation - Custom `CLIENT_IP_HEADER` not parsing `x-forwarded-for` chains - `GROUP BY` error in event data queries on PostgreSQL - Identified session ID generation - Session 404 handling with added test coverage - Heatmap and session replay mobile layouts #4417 - Heatmap iframe alignment and viewport clipping - Website transfer state bug - Dialog context error in language popover - Docker `ALLOWED_FRAME_URLS` resolved from the runtime environment - Docker server runs as PID 1 to drop idle launcher processes - Website events query performance and activity search persistence - Sidebar navigation accessibility and layout improvements - Themed overlay scroll areas replacing global scrollbars - Missing translations for Russian, Korean, Spanish, German, and European Portuguese ## Updates - Next.js `16.3.0` - Prisma `7.9.1` - React Zen component library upgrades - Tracker type checking added to the build - Runtime, frontend, and security dependency updates ## Thanks @boutterudy @Yashh56 @sushant-kataria @maxiride @Niki2k1 @mamal72 @m0sth8 @Sagittarius @luca-seemann @brantsrasmus @imparpaulo01 @sarmah-rup @rogerhmar @ShubhamPathak1 @leonacostaok @Kopaev @daeho-ro @PeterUstinox @Sebasmzt @sebiweise @anvme **Full Changelog**: https://github.com/umami-software/umami/compare/v3.2.0...v3.3.0