2026/05/28
Import from URL & Multi-Format Export
- π Import from URL: paste any public web page URL in the dashboard β the page content is fetched server-side and converted to a well-formatted Markdown note (headers, bold, tables, links, code blocks, images)
- π Export to HTML: download a self-contained HTML file of your note from the note settings panel (gear icon)
- π Export to PDF: open a print-preview page and save as PDF via your browser's built-in print dialog
- π§ Download .md button (status bar) now consistently uses the same Blob-download logic as the settings panel export
2026/05/26
User Profile Note, Security & Performance
- π Logout all devices: new feature in Account Settings β Security β instantly invalidates all active sessions across every browser/device
- π User profile note: select any public note as your profile β it is served at /@username
- π Profile note badge (π ) shown on the note card in the dashboard (grid and list views)
- π§ Security: SMTP credentials and config moved to environment variables β no secrets in source
- π§ Security: OTP rate limiting β max 1 code per 60s, max 5 per hour per email
- π§ Security: OTP brute-force protection β locks out after 5 failed verification attempts
- π§ Security: global error handler β internal details no longer leaked on failures
- π§ Security: headers (nosniff, X-Frame-Options, Referrer-Policy, Permissions-Policy) added to built-in server router
- π§ Performance: database schema migration now cached β skips all checks after first boot
- π§ Performance: SQLite tuned with WAL auto-checkpoint, 8 MB page cache, 32 MB mmap
- π§ Performance: admin panel queries optimised (correlated subquery β JOIN, email blocklist β indexed lookup)
- π§ Performance: generate_hash() now single bin2hex(random_bytes()) call instead of per-char loop
- π§ Admin: IP geolocation lookup moved server-side β no more mixed-content warnings on HTTPS
2026/05/25
Account Deletion Flow & 60-Day Sessions
- π§ Account deletion: users can now log in during the 30-day grace period β a modal prompts them to cancel deletion or continue to dashboard
- π§ Accounts whose deletion deadline has passed are automatically purged
- π§ Login sessions now persist for 60 days β users only need to re-login after 60 days of inactivity
2026/05/24
Real-Time Collaboration, Mobile Optimisation & User Controls
- π Real-time multi-user collaboration: open the same note in multiple tabs or share with others β changes sync automatically every 2 seconds
- π 3-way line merge: edits to different lines auto-merge silently; only same-line conflicts are flagged
- π Live indicator in status bar shows when a note is in live-sync mode
- π Block User: block another user β both parties can no longer view each other's notes or invite each other to shares; existing shares removed automatically
- π Do Not Disturb mode: hide your account from note invite searches (existing shares unaffected)
- π User Timezone setting: auto-detected on registration, editable in Account Settings
- π User Font Settings: choose separate fonts for the editor and preview/reading pane
- π Guest Note Remember: returning guests are prompted to resume their previous note or start fresh
- π Claim Guest Note: logged-in users can claim any anonymous guest note as their own with one click
- π§ Mobile nav: save-status, username, copy-link, and split-view button collapse to icons-only on small screens
- π§ Dashboard: header stacks vertically on mobile; secondary buttons (Purge / Import) show icons only
- π§ Search bar fills full width on mobile instead of capping at 360px
- π§ Modals slide up as bottom-sheets on mobile with safe-area inset support
- π§ Editor side-padding and status-bar padding reduced on phones
2026/05/23
Note Sharing & Permission System
- π Three-tier permission model for public notes: View only / Edit with link / Specific users
- π Private notes support invite-only access (Specific users)
- π Invite collaborators by @username or email from the note settings panel
- π Edit with link: anyone with the URL (including guests) can edit
- π Specific users (public): all visitors can preview; only invited users can edit
- π Specific users (private): only invited users can view and edit
- π Shared with me tab on dashboard β shows notes others have invited you to
- π Shared with me supports grid and list view toggle
- π§ View only: interactive editor and editor/split buttons hidden for non-owners
- π§ Switching note to private auto-selects Specific users permission
- π§ Dashboard: My Notes / Shared with me tabs no longer conflict with grid/list toggle
- π§ Dashboard container now consistent width across all views and tabs
2026/05/22
Auto-Tags, Hashtag Rendering, Security & Bug Fixes
- π Auto-tag detection: write #hashtags in your note β first 5 become tags automatically
- π Inline #hashtag styling in editor and preview (accent-colored pill badges)
- π Interactive editor mode: markdown renders inline, only the current line stays raw
- π Export notes as .md files (download button in dashboard)
- π Import multiple .md files directly into your dashboard
- π Purge all empty notes from dashboard with one click
- π Dashboard: Grid / List view toggle (persisted per browser)
- π§ Nav bar: Actions now always right-aligned on all pages
- π§ Dashboard footer pinned to bottom of viewport on all pages
- π§ CSS/JS cache-busting with version query string
- π§ Interactive mode: empty note auto-focuses for instant typing
- π§ Interactive mode: screen auto-scrolls with cursor when typing at bottom
- π§ Always paste as plain text in editor and interactive mode
2026/05/21
User Settings & Bug Fixes
- π Account Settings: Change username, email, password, default note visibility
- π Account Settings: 30-day account deletion with cancel option
- π§ Fixed: Sign in / Register modal tab switching and close button
- π§ Fixed: Logo now links to dashboard when logged in
- π§ Fixed: Note title saving now works correctly
- π§ Fixed: Default note visibility (public/private) now applies to new notes
- π§ Fixed: Account settings page allow default visible