-
-
Notifications
You must be signed in to change notification settings - Fork 111
Features Changelog
This document lists all major features added since the app's initial baseline (v1.0.0 Stable Beta), organised by release version.
Features
-
Localization: Deprecated
LOCALEenv in favor of user-specific language settings (DEFAULT_LOCALEremains as fallback). - UI Translation: Added a dropdown in the user menu and settings to switch languages.
- Admin Settings: Added option to hide the language selector from the header.
- Unraid Support: Added official Unraid template support.
Global & UI Features
- Translations: Introduced full app translation support (Italian and English currently supported).
- MFA/2FA: Added Multi-Factor Authentication support for local logins (via Authenticator apps).
- Settings Redesign: Fully redesigned the settings UI.
- Context Sidebar: Sidebar content is now relative to the active page (e.g., specific filters for Checklists or Notes pages).
- View Modes: Added Card, List, and Grid view options for Home, Notes, and Checklist pages.
- Audit Logs: Added full support for audit logs (user and admin views).
-
How-To: Added a dedicated
/howtopage and section.
Notes & Editor Features
- Excalidraw: Added support for Excalidraw (free mode).
- Skip Modal: Added a user setting to skip the note creation modal.
- Encrypted Editing: Allowed editing encrypted notes without requiring decryption first.
- Draw.io Proxy: Added support for proxying draw.io via internal local networks.
Admin Features
- Admin Privacy: Added a flag to prevent admins from viewing user content.
-
Admin Views: Specific admin views for notes/checklists (
/admin/note/<uuid>) respecting privacy flags. - OIDC Fallback: Added fallback to fetch claims from the user info endpoint if missing in callbacks.
New API Endpoints
-
Logs: Endpoints for retrieving, exporting, and cleaning logs (
/api/logs,/api/logs/export,/api/logs/stats,/api/logs/cleanup).
Features
- Encryption Default: Switched to XChaCha20 as the default encryption method (symmetric).
Features
- Codeblocks: Restyled codeblocks and added support for significantly more languages.
-
Theming: Added
sakura-blueandsakura-redthemes. - Default Filters: Added ability to set default filters for Checklist and Note pages via settings.
- UX: Auto-focus on name input when opening new folder/note modals.
Global & UI Features
- PGP Encryption: Added PGP encryption support for notes with key management in settings.
- UI Refresh: Replaced Lucide icons with Huge Icons, reduced border radius, and adjusted the main color palette.
- Unified Loader: Standardized loading screens across the application.
- Font Change: Updated font to Inter Variable.
- Markdown Theming: Added theming support for markdown editor syntax.
Notes & Editor Features
- Improved Markdown: Enhanced markdown editor with full syntax highlighting and tab support.
- Line Numbers: Added optional line numbers to the markdown editor.
- Preview Mode: Added a preview button to the rich editor.
- Minimal Mode: Added a mode to fully disable the Rich Text Editor while retaining syntax support.
Features
- Custom 404 Page: Added a custom 404 page for missing routes.
- Sidebar Scroll: Sidebar now automatically scrolls to the active item.
Bug Fixes
-
Sanitisation: Fixed harsh sanitisation to only remove specific tags (
iframe,embed,object,script). - UI Fixes: Fixed login page spinner and blockquote/mermaid/file rendering in notes.
- Table of Contents: Removed code comments from appearing in the TOC.
Bug Fixes
- HTML Sanitisation: Fixed HTML comments being stripped out by sanitisation.
- Webmanifest: Allow app to run even if webmanifest folder permissions are not set (errors logged to console).
Notes & Editor Features
- Hybrid Table Support: Complex content (lists, codeblocks) is now allowed within tables. Tables automatically switch to HTML if complex content is used, regardless of user settings.
- Draw.io Integration: Enabled support for multiple draw.io instances within the same note.
Checklist & Task Features
- Mobile Drag/Drop: Added ability to drag and drop checklist items on mobile.
- Sub-item Drag/Drop: Added drag and drop for sub-items on simple checklists (move between parents or turn into parents).
- Input Focus: Focus is maintained on the input field when adding sub-items.
Admin & Security
- OIDC Roles: Added support for OIDC admin roles on top of groups.
- Permissions: Added extra environment variables to set permissions.
New API Endpoints
-
Tasks CRUD: Full CRUD endpoints for tasks (
GET,POST,PUT,DELETEat/api/tasks). -
Task Statuses: Endpoints to manage task statuses (
/api/tasks/:taskId/statuses). -
Task Items: Endpoints to create and manage task items (
/api/tasks/:taskId/items). - Nested Item Support: API now supports nested items via index paths (e.g., "0.1", "0.2.1").
Features
- Cloning: Added ability to clone checklists and notes.
- Reading Progress: Added a visual progress bar while scrolling notes with reading time/character count (Beta).
- Import Safety: Added a warning message when closing the checklist bulk import modal.
Bug Fixes
- Performance: Major memory reduction on build for systemd environments.
- Linking: Fixed bilateral linking issues for consistent behavior.
- Kanban: Fixed issue with updating statuses on new Kanban boards.
New API Endpoints
-
Checklists:
POST,PUT, andDELETEendpoints for checklists. -
Search/Filter: Added query parameters for filtering by category, type, and search query (
q={query}) for both notes and checklists.
Global Architecture
- YAML Frontmatter: Introduced YAML metadata to all notes/checklists (adds title, UUID, checklistType).
- UUID Implementation: Refactored system to use immutable UUIDs for notes and checklists.
- Sidebar Drag/Drop: Refactored sidebar behavior to allow dragging notes/categories into different subfolders/categories.
-
Timezone Formats: Added support for both
dd/mm/yyyyandmm/dd/yyyyformats in settings.
Notes Features
-
Bidirectional Linking (Refactor): Links now use
/jotty/<uuid>format. Added a toggle to opt-out of bidirectional linking per link (reverting to standard path). - Diagrams: Native markdown integration for Mermaid.js.
- Draw.io: Full embedded integration with draw.io (diagrams.net), including offline instance support via admin settings.
Checklist Features
- Kanban Customization: Kanban board status columns and colors are now fully customizable per board.
- Kanban Archiving: Added ability to archive/unarchive Kanban items.
- Drag/Drop Refactor: Improved checklist drag and drop performance.
API
- OpenAPI Docs: Full OpenAPI documentation available.
- Update Note: Added endpoint to update notes.
Performance & Fixes
- Checklist Performance: Massive improvement to checklist performance; lazy loading for lists >50 items and optimistic UI updates for checking items.
- Emoji Caching: Heavily cached emojis to prevent reloading on every refresh.
- TOC Scroll: Table of contents now scrolls when headings reach the bottom of the screen.
- OIDC: Allowed the use of "false" string for OIDC environment variables.
Features
- Content Parsing: Added setting to allow parsing of content (titles) across the app for sidebar styling (can be disabled for performance).
Bug Fixes
- Search & Filter: Fixed broken search results when categories have spaces and refactored category filters.
- Codeblocks: Standardized codeblock fonts and fixed escaping issues.
- ARM Support: Fixed binary issues affecting ARM architecture updates.
Global & UI Features
- Performance Refactor: Sidebar now parses filenames instead of full file content for significant performance gains.
-
Sharing Refactor: Completely refactored sharing with granular permissions (View/Edit/Delete). Shared items now stored in
.sharing.json. -
Theming: Ability to create/edit themes and add custom CSS directly from
Admin -> Styling. - PWA Customization: Options to customize PWA splash screen and icons.
- Deletion: Added ability to delete items from the sidebar.
Notes Features
-
Bidirectional Linking (Beta): Type
@in the editor to link notes. Includes a "Referenced by" section in linked notes. - Relationship Graph: Added a profile tab with a visual representation of note/checklist relationships.
Checklist Features
- Recurring Items (Beta): Added support for recurring checklist/task items (enabled in settings).
- Nested Collapse: Nested subtasks automatically collapse if the parent is completed.
- Uncheck Suggestion: Added prompt to uncheck already checked items (toggleable).
New API Endpoints
-
/api/health- GET -
/api/manifest- GET
** Features**
-
Archive: Allow checklist/notes to be archived (only from sidebar from now). Once archived they will be available in
profile -> archive -
New settings: Add settings in
profile->settingsto set how frequent you want autosave to happen. Autosave can still be disabled from the browser session settings modal, but also enabled/disabled persistently from your settings.
** New api endpoints**
/api/note - POST
/api/user - GET
/api/{username}/user - GET (only for Admin)
/api/categories - GET
- Security Update: Keep image/file/video cache on private for private serving data and keep it public for truly public image (e.g. favicon)
Notes & Editor Features
- Image and File Paste: Allows copying and pasting of images and files from the clipboard into the editor.
- Image and File Drag/Drop: Allows drag and drop of images and files directly into the editor.
- Video Embedding (Beta): Added a 'Videos' tab to the file upload and allows embedding of videos within notes.
-
Public Video Support: Added
SERVE_PUBLIC_VIDEOS=yesenvironment variable to enable videos in public notes (security feature). - Image Resizing: Clicking on images shows an overlay to resize them.
- Text Colour Extension: Added text colour formatting options to the editor.
- Advanced Table Options: Added advanced table features, including shortcuts and a toolbar for manipulation.
-
Slash Command Extension: Allows typing
/in the editor to quickly select an action. - Quick Edit Bubble: Selecting text shows a bubble for on-the-fly editing options.
-
Filterable Notes Page: Added a dedicated page (
/notes) to view and filter all notes. - Default Editor Setting: Users can choose their default editing view (view or edit mode).
- View Mode Setting: Users can set a note to open in view mode by default.
Checklist & Task Management Features
- Checklist Children/Sub-Items: Added the ability to create checklist children (sub-tasks).
- Restyled Checklist View: UI was updated to accommodate children.
- Completed Task Filter: Added a filter to the checklist view to only show completed lists/tasks.
-
Filterable Checklists/Tasks Pages: Added dedicated pages (
/checklists,/tasks) to view and filter all lists and tasks. - Subtasks and Description (Kanban): Added subtasks and task description to Kanban items (beta).
- Session Tracking Info (Kanban): Shared items show last updated/user info and user avatars in time sessions.
- Manual Session Time: Added the ability to manually enter session time (in minutes) to tasks.
General & UI/UX Features
- New Version Notification: Added a prompt to notify users of new versions.
- Version Visibility: Shows the latest version on the login/registration screen and admin panel.
- Pinning to Homepage: Added the ability to pin checklists/notes to the homepage.
- Pinned Item Re-ordering: Pinned checklists/notes can be re-ordered by drag/drop on desktop.
- Max Upload Size: Allows the admin to set the maximum file upload size in admin settings.
- Added compact mode toggle for notes in the settings modal.
- New users can choose a persisting theme that stays across multiple sessions.
- Ability to set the initial landing page (Notes, Checklist, or Last Visited).
- Option to choose if a note's table should be saved as HTML or Markdown.
- Rebranding: Application name changed from rwMarkable to Jotty!.
- Web Presence: Launched a new website (jotty.page).
- Added new themes/logo (including fccview and b/w themes).
- Added legacy themes for rwMarkable lovers.
- Show note/checklist title in the browser tab title.
- Ability to change the font within notes.
- Added the ability to use the Tab key in a codeblock (like an IDE).
- Unlimited sub list items by tabbing in the editor.
- Added Masonry layout for latest notes.
- Ability to enable/disable markdown preview from settings (for Masonry layout).
- Added a whole range of keyboard shortcuts for the app and note editors.
- Added support for custom syntax.
- Added a Help icon to the header that opens a modal with tutorials.
- Security: Added environment variables (SERVE_PUBLIC_IMAGES, SERVE_PUBLIC_FILES) to control public access to uploaded files/images on shared notes.
- Export: Export checklists/notes/users or the entire data folder (via UI).
- Mobile Experience: Improved overall mobile layout to look and feel more like a native app.
- Mobile UI: Open sidebar swiping from left to right on mobile (toggleable).
- Profile: Enhanced profile with avatar upload feature and display.
- API: Export API implementation for programmatic data export.
- Allows expand/collapse all categories (quality of life improvement).
- Kanban board improvements: timer persists if status is moved, reorder vertically, and drag/drop by grabbing the whole card.
- Organization: Added subfolder functionality for both notes and categories.
- Organization: Reorder notes within categories with drag/drop.
- Authentication: SSO Support (OIDC) officially implemented (tested with Authentik & Auth0).
- UI/UX: Ability to resize the sidebar on a device-by-device basis.
- PWA Customization: Ability to customize name/description/icon for the PWA and Google search results (via settings).
- Sharing: Added social share for notes/checklists.
- Backend: On save, uses the category/note title as the filename to enhance reordering.
- Notes: Improved code block on notes; now shows syntax highlighting and allows selecting common coding languages.
- Notes: Added table component to notes to create tables with an easy-to-use UI.
- Notes: Prompts to save or discard a note when navigating away from it.
- Notes: Autosave notes every 15 seconds (can be disabled via settings).
- Notes: Added table of content that can be toggled on/off on notes.
- Notes: Add file uploader to notes (not just images).
- Checklists: Ability to edit/delete tasks when in the Kanban view for checklists.
- Checklists: Added check/uncheck all to checklists.
- Sharing: Refactored sharing to allow public sharing on top of private sharing.
- Admin: Empowered admin to navigate to any checklist/note via the admin content section.
- Customization: Prioritized custom emoji if they override default ones.
- Checklists: Kanban board and simple time management for checklists.
- UI/UX: Overall UI cleanup (more consistent spacing, restyle of checklist pages).
- Checklists: Allow creating checklist items via clipboard paste of big text lists.
- Notes: Added image support for notes (both uploading and external links).
- Notes: Added exporting notes as PDF.
- API: Added API support and API key generation/regeneration.
- Deployment: Added support for arm64.
- Deployment: Added support for specific pinned versions and latest.
- Admin: Added functionality to change user passwords from the admin dashboard.
- UI/UX: Added toast notifications on UI for some modal confirmation forms.