2026
May 2026
Features
- Website Block Actions — users can now choose what happens when a website is blocked (e.g. redirect vs. hard block); block handling now respects user preferences
- Multi-Profile Browser Detection — extension can detect multiple Chrome profiles; warnings shown in settings for outdated extensions; toggle added (currently disabled pending experiment)
- Browser Blocked Modal — new modal shown when the browser is blocked, replacing silent blocking
- Proxy Block Data Retrieval — block data is now fetched through the proxy layer for improved reliability
- Extension Log Retrieval — extension logs can now be fetched remotely via websocket; log level management added
- LocalAppFeatures Enum — standardized feature flags for local app ↔ extension websocket communication (e.g. log retrieval, browser name reset)
- Student Verification & Good Karma Coupons — student email verification flow; “Good Karma” system coupons for students and community members
- Universities Management (Admin) — full CRUD for universities in the admin panel, integrated into admin routes
- Growth Pricing & Referral Unlock — tiered pricing system based on country tier; referral unlock with discounts; paywall modal updated with community/student discount options
- Country Tier System —
CountryTierenum and per-user country tier field for pricing and feature gating - Linux Installed Apps Overlay — overlay now shows warnings for focus mode and block mode state
- Electron Browser Integration Test — integration test added to the development build process
- Tauri App — initial Tauri app scaffolding, JS engine integration, and sync runtime baseline tests
Fixes & Internal
LocalAppFeatures-based websocket route cleanup; removed unnecessarywindowsDatafrom sync payload- Improved timeout handling in
tryToGetWhoAmIFromAppwindow enumeration and long-poll detection - Build release lock mechanism to prevent concurrent builds
- Extension production build: skip integration tests on port conflict
- Subscription status handling cleanup in electron app engine
April 2026
Features
- Wayland KDE Support — full KDE Plasma / KWin support via D-Bus scripting;
dbus-nextintegration; warns users about experimental Wayland support - Wayland GNOME Support —
gnome-window-listintegration; GNOME extension install/reinstall helper; smoke tests for GNOME and KDE Wayland - Active Guard Overlay in LockModal — shows next schedule inactive time (next unlock window) when a schedule is active; countdown banner
- Clock Tamper Protection —
TrustedTimeAPI now detects startup clock shift;ClockDriftWarningupdated; frictions model and live usage model hardened against clock manipulation - LevelDB Caching — replaced lowDb with LevelDB for the app cache layer (
cacheEngine); in-memory cache connector added for testing - Linux User Session Management —
initUserSwitchListenerto handle Linux user session switches and trigger service lifecycle events - Referral Install Rewards — referral bonus credited on first-time Electron login; invite-by-link feature; extended referral subscription durations
- Subscription Sweep Endpoint — manual endpoint to run expired subscription sweep; midnight tasks enhanced
- User Tier Snapshot — admin endpoint and display for current/active user tier snapshots
- Tag Promotion —
promote_tagfunctionality for version management in the build system - Integration Tests for Built Apps — smoke tests for macOS and Linux built applications;
listRunningAppsexposed to integration test environment - macOS Window Manager Refactor — system connectors now use a local
macWindowManagermodule; comprehensive smoke tests added - Windows Smoke Tests — smoke tests for
windowsManagerandprocessListLib - Wayland Memory Leak Detection — enhanced KDE/GNOME Wayland smoke tests with memory leak benchmarking and soak tests
closeWindow/closeAppByWindowObj— newcloseWindowfunction; UWP safety checks incloseAppByWindowObj- Focus Session Enhancements — premium feature indicators in focus session menu;
FocusSessionStoreDataextended with additional properties; default session duration updated isScheduleActiveNowFunction — calculates whether a schedule is currently active; used in LockModal active guard logic- Platform Settings → Client Settings Migration — platform settings model removed; all config unified under
IClientSettings - Logger Interface Update — key parameter added; old DB log methods deprecated
Fixes
- Clock tamper protection messaging and loading state handling
- Unlock button disabled in LockModal while countdown is in progress
- Memory management improvements in countdown window
PromisifiedAppEnginetype corrected to useDeepPromisifyMethods- Build: notarization error handling improved (
notarize.sh) - Wayland:
WM_CLASSconstruction fromWM_NAME/_NET_WM_NAMEwhen missing - macOS: dock icon visibility and app name assignment fixes
- macOS: Swift process management cleanup; utility window removal and process restart
- Windows:
winVersionInfodynamic import cleanup
March 2026
Stabilization and internal improvements period — no major feature releases.
February 2026
Features
- Apple Sign-In — full Apple authentication support; Apple login button in UI; Safari download restriction handling
- Team Focus Rooms — room creation with name; recent teams tracking; share goals and last session summary; leave/cancel room; real-time WebSocket sync via Cloudflare Durable Objects
- Team Invite by Link —
shareRefIdreplacesteamInviteId; team member invite link generation - “Who Am I” Browser Identification — extension identifies itself to the desktop app via window title; browser name stored and synced; incognito status sent on connection
- Focus Duration Picker & Team Focus Header —
FocusDurationPickerandTeamFocusHeaderBarcomponents added - Cancel Countdown Button — users can cancel the cooldown lock countdown from the LockModal
- Wayland GNOME Extension Install —
installWaylandExtensionmethod; accordion UI for OS warnings; Wayland support messaging improvements - Stop Media on Block — audio and video are paused and picture-in-picture is exited when a block is shown
- Throttled Window Reload — renderer window reloads are now throttled to reduce redundant state resets
- Extension Installation Logic Refactor — moved from a standalone service into the store; IPC integration improved; key-value storage for extension state
FocusPrepPanelIntegration — focus prep panel integrated into TeamFocus flow- Add-on Status Refactoring — improved browser add-on state machine;
initAndPopulateBrowsersStatusrenamed and streamlined getInitialsHelper — added toshared_jsfor generating initials from a name (used in team avatars)- Socket.io Upgrade — updated to socket.io-client 4.8.3 / engine.io-client 6.6.4
Fixes
- Extension install: fixed double-registration of event listeners; init order fixed to prevent dropped events
initExtensionInstallLogicnow runs beforeinitWebServerrefreshTraymethod: tray menu now updates after session changes- Fixed browser pop-back-up bug when closing browser while blocked
- Fixed
cronfile path reference (blockerCronLogic) - Email regex escaped to handle special characters safely
- Apple OAuth: state mismatch logged as warning (not thrown)
- Safari: download prevented with user alert
- New user banner: suppressed on first day
January 2026
Features
- Team Focus (initial) — room creation and management via Cloudflare Durable Objects;
FocusPrepPanelcomponent - Cloudflare Workers Integration — Wrangler config;
RoomDODurable Object for real-time room state - Windows Installer Improvements —
preInitmacro; file readiness check before launching updated executable; timeout handling - Extension Blocking Speed — iframe proxy registration for tab blocking; service worker registration moved into
loadevent - Minimized State Component —
MinimizedComponentand minimized route added; app switches to a low-resource mode when minimized to tray - Connectivity Test Page — local companion connectivity test page with logging and diagnostics;
/healthand/versionendpoints on internal web server - Auto-Renewal Status Display — yearly subscription cards now show auto-renewal status
- Country Flags in Admin —
countryFlagEmojifunction; country flags shown in user registration and payment notifications - Country Info in User Table — admin user table shows country column
- AppImage Improvements — desktop entry integration; consistent install path; logging for environment variables; NixOS support message
- Wayland Chromium App Identifier Handling — improved detection for Wayland Chromium processes
- IPv4/IPv6 Support in URL Helpers —
is-ipdependency added; IP address handling in URL utilities safeCall/safeCallWithLogger— new utilities for safe async calls with structured error logging- OS Debug Info Display —
DevConsoleModalenhanced to show OS debug info - Launch on Startup Improvements — better error handling and logging across platforms; AppImage startup alignment with test function
- Decrypt CLI Tool —
decrypt.jsadded for CLI decryption of encrypted log files
Fixes
throttleWindowActivationChecks: prevented refresh loops on window activation- First run logic: improved backup restore and main window visibility handling
- Linux: WM_CLASS constructed from WM_NAME when missing;
pkillused for spawned process cleanup - Updater:
electron-updaterbumped to 6.7.3; auto-install on quit closeAppByWindowObj: process termination handling refactored- Content security policy:
127.0.0.1andlocalhostadded for development - Download button visibility logic simplified in
TopHeader ua-parser-jsdowngraded to 1.0.38 for stability- Build:
npm cireplacesnpm installfor consistent installs;--no-auditflag added