- Improved: Make sure all commands appear in keymap editor
- Fixed: Add history backward and forward commands to keymap and menus (#4010)
- Fixed: Fixed handling of Option key for shortcuts in macOS
- Security: Remove "link" and "meta" tags from notes to prevent XSS
- New: Add support for application plugins (#3257)
- New: Added Thunderbird count for desktop client (#3880 by @Technik-J)
- New: Added support for Menu API for plugins
- New: Added support for plugins packaged as JS bundles
- New: Added
openProfileDirectory
command and menu item - New: Api: Added service to access resource external editing
- New: Plugins: Add the openNote, openFolder and openTag commands
- Improved: Make “update is available” dialog box easier to use (#3877 by @roryokane)
- Improved: Sort tags in a case-insensitive way
- Improved: Display more info while an ENEX file is being imported
- Improved: Made toolbar buttons bigger and swap order of bullet and number lists
- Improved: Api: Allow preserving timestamps when updating a note
- Improved: Added support for a custom S3 URL (#3921) (#3691 by @aaron)
- Improved: Actually enter insert mode after pressing o/O in CodeMirror vim mode (#3897 by Caleb John)
- Improved: Simplified and improve command service, and added command palette
- Improved: Tray: Exit -> Quit (#3945 by Helmut K. C. Tessarek)
- Improved: Import
<strike>
,<s>
tags (strikethrough) from Evernote (#3936 by Ian Slinger) - Improved: Make sidebar item font weight normal (not bold)
- Improved: Plugin API - added support for settings.globalValue method
- Improved: Remove Hide Joplin menu item on Linux and Windows
- Improved: Removed OneDrive Dev sync target which was not really useful
- Improved: Allow setting note geolocation attributes via API (#3884)
- Improved: Disabled emoji highlighting in editor when emoji plugin is disabled (#3852 by Rahil Sarvaiya)
- Improved: Sort search results by average of multiple criteria, including 'Sort notes by' field setting (#3777 by @shawnaxsom)
- Fixed: Fix slow Katex rendering when there are many global definitions (#3993)
- Fixed: Fix syntax of imported resources when importing ENEX as HTML
- Fixed: Fixed OneDrive authentication
- Fixed: Fixed sync issue when importing ENEX files that contain new line characters in the source URL attribute (#3955)
- Fixed: Handle gzipped CSS files when importing from clipper (#3986)
- Fixed: Update highlight.js to fix freeze for certain code blocks (#3992)
- Fixed: Fix search filters when language is in Korean or with accents (#3947 by Naveen M V)
- Fixed: Fixed freeze when importing ENEX as HTML, and fixed potential error when importing resources (#3958)
- Fixed: Fixed setting issue that would cause a password to be saved in plain text in the database, even when the keychain is working
- Fixed: Fixed sidebar performance issue when there are many notebooks or tags (#3893)
- Fixed: Allows toggling external editing off and on again (#3886)
- Fixed: Fixed toggleNoteList and toggleSidebar commands
- Fixed: Fixed Toggle Editor button toolip and icon