Follow Obsidian updates and improvements.
December 21, 2020

Shiny new things

  • You can now embed search queries in the page using the fenced code block syntax with query as the language, similar to how mermaid works. Note that this syntax does not work in Obsidian Publish.
  • Obsidian Publish now has a "Show search bar" option, which will add a search bar inside the navigation pane. This can be used to search for pages and headings.


  • A layout independent mode has been introduced for hotkeys, which should work consistently across different keyboard layouts. This mode uses the virtual key code that's assigned to each physical key instead of the resulting character that's inputted when the combination is pressed.
  • Drag and drop links will no longer create a Markdown link if the link title is identical to the URL.
  • Improved behavior of Ctrl/Cmd+Click and Alt+Enter for links in the editor.
  • Holding Shift while dropping text will drop it in plaintext mode, similar to Ctrl/Cmd+Shift+V to paste in plaintext mode.

No longer broken

  • Closing the vault or quitting the app within 2 seconds of editing a file will no longer lose the modifications done within that last 2 seconds.
  • The bug where file explorer gains unusual whitespace has been caught and squashed.
  • Fixed window size and developer tools were not properly saved when quitting app.
  • Toggling highlight will no longer remove bold ** signs.


  • Exposed WorkspaceItem.getRoot() which returns one of Workspace.leftSplit, Workspace.rightSplit, or Workspace.rootSplit. This can be used to distinguish whether a WorkspaceLeaf is in the center area or the sidebars.
  • A new event has been added to Workspace.on('quit', callback: (tasks: Tasks) => any). This takes a callback with a Tasks object. You can perform any cleanup tasks in here. For any async/promise-based cleanups, such as saving files, add your task to the execution queue using Tasks.add(async () => { ... }) or Tasks.addPromise(promise) so that the app waits until your task is finished before quitting.
  • The rendering lifecycle has been tweaked to allow plugins to add sub-components in the renderer post process step. Look for MarkdownPostProcessorContext.addChild for more details.
Follow us
© 2023 Obsidian