Includes all new functionality and bug fixes of Obsidian Desktop v0.12.10.
Most notably, you might need the configuration sync improvements for hotkeys.
Graph view is now functional.
Pinch zoom has been implemented.
Graph nodes can now be easily dragged around, or tapped on.
Graph no longer crashes the second time it's opened.
On Android, you can now choose to open folders as vaults anywhere on your device.
On Android, you can now share text, links, or attachment files like images and PDFs to Obsidian.
You can decide to insert the shared text into the current note, choose a note, or insert into your daily note.
Shared attachment files will be imported into your vault's attachment folder, and after that you can choose to insert them as links into a note or your daily note.
Since hotkeys are now stored in a separate file, if you're using Obsidian on multiple devices you might notice that your hotkeys will disappear on non-upgraded Obsidian instances when using Obsidian Sync to sync your app config. To migrate, upgrade Obsidian and turn on the hotkeys sync flag to receive the hotkeys, then restart Obsidian.
Improvements
Obsidian Sync now allows you to view the version history of settings files through a button from the sync settings page.
Hotkeys are now saved in its own hotkeys.json file to facilitate independent syncing of hotkeys from the rest of the app settings.
Obsidian Sync now has an option to sync (or not sync) your hotkeys independently.
No longer broken
Fixed applying fold multiple times causes the fold toggle to require many clicks to unfold.
Developers
Obsidian's config files will now be formatted json instead of all on one line.
Obsidian Sync can now be used to synchronize your settings, appearance tweaks, custom CSS, and installed plugins.
Obsidian Sync can now sync any file type using the "Sync all other types" option.
Quick switcher now has configuration options to show or hide attachments and unsupported file types, in addition to the current option to show links to non-existent files.
An option to open file in new pane has been added to file explorer's context menu.
Developers
Obsidian's config file has been split up into 4 different files. Previously, it was just config. Now it's app.json, appearance.json, core-plugins.json and community-plugins.json.
registerMarkdownPostProcessor and registerMarkdownCodeBlockProcessor will now return the MarkdownPostProcessor callback function to facilitate manual un-registration.
Obsidian Sync will now no longer store the sync configuration in sync.json, and instead store it inside the app's storage using IndexedDB. This should prevent third party sync tools from accidentally corrupting the sync status database.
Obsidian Sync will now show the paused icon when uninitialized, instead of the green checkmark.
Note composer's merge functionality will now update links to point to the newly merged file.
No longer broken
Fixed template core plugin not applying to all dates in the template.
Fixed note composer not respecting new file location setting.
Fixed quick switcher not showing links to non-existent files even when enabling the option.
Fixed search operators line:, section: and block: not showing correct explanation text.
Fixed Obsidian Sync sometimes causing duplicate files when creating and then immediately renaming files when latency to the sync server is high.
Fixed unable to use certain characters on non-english keyboards when renaming files because the app thinks the keyboard is entering an illegal character.
There's a new core plugin called "Note Composer" that can help you merge and split notes quickly.
New command and menu option are available for merging current note into another one.
Select text and right click for the option to extract it into a separate note.
You can choose to apply a template for extracted notes. The extracted text will be filled into the {{content}} variable in the template. Other variables like {{fromTitle}}, {{newTitle}}, {{date:YYYY-MM-DD}} are also available.
Improvements
Core plugins now has their commands prefixed with their plugin name, which makes them easier to find in Command Palette.
The right click menu in edit mode is now unified into a single consistent menu, which contains the cut/copy/paste/select all options, spellcheck suggestions, as well as link options if available.
No longer broken
Syntax highlighting will now properly recognize any character for task lists.
Pasting images from Chrome now properly works to import it on MacOS.
Quick switcher now no longer ranks subfolder matches significantly lower than poor file name matches.
Text overflowing modals now properly scroll rather than clip at the edge of the screen.
Plugins causing an error in checkCallback no longer breaks the command palette.
Fixed backlink in document not showing up in an empty file.
Fixed drag-and-drop panes not working when right sidebar has no panes and is completely hidden.
Developers
Fixed data-path not updated when folders are renamed.
There is now a editor-menu event on Workspace, which can be used to add more options to the context menu inside the editor.
The template core plugin now has commands to insert the current time or the current date.
There's now a new dedicated command to focus on the editor.
Improvements
Pasting images copied from Chrome's "Copy image" menu action will now properly import the image to the vault, instead of creating a link to the image's original URL.
On MacOS, in some rare setups, the file system API may stop working, which should now be caught by Obsidian if any action takes over 60 seconds.
Upgraded MathJax and Mermaid to latest versions.
No longer broken
The strikethrough command now works properly instead of erroneously adding highlight markers.
Block math now no longer adds an extra empty line after it when immediately followed by a line of text.
Quick switcher no longer errors out when opening a non-existent file when the new file location is set to current note.
During link auto-completion, typing # or ^ when selecting an alias should now put the cursor in the correct place.
Opening the app no longer opens to an empty editor with a file called "No file" if the file was deleted. Instead it will correctly open the "No file is open" page.
Fixed performance issue with very long lines of text.
In the editor, using two : in text no longer causes text to be grayed out in between.
Fixed some Mermaid diagrams not rendering properly (journey missing text, gantt unreadable active task, class diagrams have very faint text).
Fixed autocomplete fuzzy sorting algorithm that previously prioritized punctuation over space characters.
Developers
There is now a function available for converting HTML to Markdown called htmlToMarkdown, which is using a pre-configured Turndown Service.
Command palette can now be configured to have "pinned" commands that appear at the top.
Obsidian Publish now has a search filter in the upload dialog.
Improvements
Obsidian Sync no longer runs into a possible race condition which sometimes causes file to be recognized as deleted. This has only been observed happening on Obsidian Mobile so far.
Vastly improved Obsidian Sync boot up speed. It will now also avoid re-scans of attachments when they haven't been changed.
Obsidian Sync will now log the reason for connection errors to help with debugging.
Embedding other notes with a heading or a block target will no longer render the whole note when the target cannot be found.
On macOS, the trigger to change font size will now use the pinch-to-zoom gesture instead of Cmd+Scroll.
Improved performance when sidebars are hidden.
Caching/speed improvements for rendering images and other media files.
No longer broken
Fixed headings took too much space when line-wrapping.
Fixed editor had a larger gap on the right side due to an improper CodeMirror upgrade.
Fixed exiting the hotkey customization pane while the app is waiting for a hotkey causes keys to stop working.
Fixed link suggestion not working with capital letters when over 10k files + aliases.
The fold indicator in metadata section is now correctly aligned.
Fixed bound command not preventing default when command doesn't execute, causing confusion.
Fixed some plugins didn't show up when a sort filter is applied.
Removed Ctrl/Cmd+M hotkey for minimizing the app, which was previously assigned by default from Electron.
Developers
You can now specify an editorCallback or editorCheckCallback in a command that will register your command as an editor command, which will allow it to be added to the editor toolbar on mobile.
Adapter now has a stat function.
There is now a Platform object that can be used to determine whether the app is on mobile, along with some other platform information.
On initial loading of the vault, the cache indexing notification will now contain the indexing progress.
Improvements to the font size adjustment annoyance:
Ctrl+Scroll now only activates if you hold Ctrl before starting to scroll.
This option can also now be disabled in Settings > Appearance.
No longer broken
Obsidian Sync: setting custom device names now persists properly.
Obsidian Sync: viewing version history of images and other media files no longer freeze the app trying to render the media file as plaintext. Images can now be previewed.
Developers
The HTML property on task lists has been changed from data-checklist to data-task to be consistent with internal code names.
You can now search for tasks using task: similar to block:. There is also task-todo: and task-done: which will match only the tasks that are incomplete or complete, respectively. Use task:"" to match all tasks.
Search and backlink results has been significantly reworked:
Search results are now always expanded, instead of showing "... and x more matches".
"Show more context" will now show the Markdown block, instead of a fixed number of lines before and after the match.
There are now buttons to expand individual search results to see even more context.
Hover preview on search results will now scroll the highlighted region to the center rather than being clipped at the top.
You can now display backlinks inside the document using the more options menu while in preview mode. We will try to support edit mode in a future release.
Task lists [x] can now contain any character to indicate a completed task, instead of just x. This value can be used by custom CSS to change the appearance of the check mark, and is also available for plugins to use.
There are now hotkeys to show the panes for file explorer, backlinks, outline, starred, and tag pane.
You can now change the font size in the editor and preview with an option in Settings > Appearance, or using Ctrl/Cmd + up/down scroll. Some themes may have set overrides for the font size, so this setting might not work for you. See the developer section for details.
Improvements
Major improvements to plugin management:
Plugin search now also matches in the description field as well.
You can now filter installed plugins using a search term.
Enabled plugins are no longer reset when you toggle safe mode. This can help quickly test whether issues are caused by plugins.
Plugins can now be enabled or disabled in the same place where they are installed, so you can enable it right away after install, instead of having to find them in the plugins list.
The "update" button will no longer show up if a plugin doesn't have a new version.
Plugin setting tabs are now sorted alphabetically.
Obsidian Sync will now store a customizable device name which will show up in the sync log to help debug sync issues.
Obsidian Publish now allows search on your site even if you don't turn on navigation.
You can now specify a logo file for Obsidian Publish.
There is now an option to reload the app when an error happens during initialization.
There is now a notification when the app first indexes the vault to avoid confusion why some features might not work right away.
Link suggestions and quick switcher will now fallback to a simpler matching algorithm when vault contains over 10k notes to avoid delays.
No longer broken
Renaming files no longer cause heading links to self ([[#heading]]) to include the file name.
The Workspaces plugin will now save to the proper workspace if the app was closed and restarted right after switching workspaces.
Fixed some i18n strings that weren't properly loaded and always used the English variants due to a race condition.
File names with multiple consecutive space characters now render properly, instead of having the spaces collapse into one.
Generated Markdown links now properly escapes backslashes.
Fixed embedded queries behave differently than global search when matching attachment files.
Fixed linking unlinked mentions not using preferred Markdown link format.
Word counter for Korean now properly counts words rather than letters.
Fixed Shift-select in the file explorer accidentally selecting unsupported files that were not shown, causing unexpected file moves when using drag and drop after.
Developers
Theme developers: from now on, please avoid setting font-size using absolute units like px or pt. Instead, use relative units like em or %, which will automatically scale from the font size the user specified. To migrate px to em, you can divide your px value by 16 (the default font size), for example, 24px => 1.5em.
Commands that return false in their checkCallback will no longer set preventDefault() on the key event.
MetadataCache now includes sections and lists info.
Sections describe the Markdown root level "blocks", and comes with a type.
Lists comes with a parent field which can be used to deduce parent-child relationships, and also a task field which indicates whether this is a task and its completed status.
MarkdownRenderChild now requires a containerEl passed in via its constructor.
You can now retrieve section information as a MarkdownPostProcessor from the context object MarkdownPostProcessorContext.getSectionInfo().
Page preview can now be configured to require Ctrl/Cmd on hover for each component independently.
A new option in the About section can now let you specify a folder name for the vault config different than .obsidian. It must still begin with a dot, and must be a valid folder under the vault root. This supersedes the .obsidian.nosync fallback from the last release.
Improvements
Hardware acceleration has been moved to an advanced section.
Mermaid.js has been upgraded to 8.9.2.
No longer broken
Empty aliases in frontmatter should no longer cause the backlink pane to spin forever.
Sync should now properly delete folders with .DS_Store.