Learn more

Changelog

Follow Obsidian updates and improvements.

Shiny new things

  • Obsidian will now recognize symlinks or folder junctions inside the vault. They are supported, but not recommended because of the many issues they can cause. Learn more.
  • You can now change the sorting order when browsing community plugins by alphabetical, initial release, or download count.
  • When you drag and drop files from your native file explorer into Obsidian, it will now default to creating file:/// absolute links. Holding the Ctrl/Cmd key will copy the files into your vault like it did previously.
  • There is now a command to toggle comments. By default it's Ctrl/Cmd + /.

Improvements

  • Clicking on links to notes that haven't been created will now create the folder structure if the parent folders don't yet exist.
  • Global search will now find attachments as well if you use file: or path: operators.
  • You can now use <iframe> to embed even more sites that previously wouldn't show. This is done by patching the Content-Security-Policy header containing frame-ancestors that some websites use to prevent embedding.
  • When looking through the version history of Obsidian Sync, you can now select and copy the file contents for each specific version.
  • Hovering Markdown links in edit mode will now highlight them.
  • Korean handling has been improved to perform character match instead of word match for unlinked mentions and quoted searches.

No longer broken

  • Image embeds will no longer go to the next line.
  • Fixed lag when typing at the end of a large document.
  • Graph color groups no longer reset to black for some colors.
  • Moving a file will no longer show a "successfully renamed" message.
  • The toggle highlights command/hotkey will now toggle properly for multi-line selections.

Shiny new things

  • You can divide nodes in graph view into groups based on queries, and customize the color of each group. Color all the nodes!
  • Folding is now persisted for edit mode and preview mode.
  • You can now create a new note with an optional content using the Obsidian URI. More details.
  • There is now an official Hook integration using the Obsidian URI.
  • You are now allowed to use more special characters on MacOS and Linux, such as ? and *. Keep in mind that if you synchronize your files with a Windows machine, those will not work.
  • When right clicking a link, there is now an option to rename the target file.
  • You can now hover search results, backlinks, and unlinked mentions to preview the match using the page preview plugin.
  • There's now an option to automatically open your daily note whenever you open your vault.

Improvements

  • Folding is now persisted for folders in file explorer.
  • Folding is now persisted for graph control sections.
  • Folding is now persisted for nested tags.
  • You can now use file:/// absolute paths to embed images and iframes from your local machine.
  • You can now hold Alt to drop a file anywhere on a pane to open it there, rather than having to drop it in the header.
  • Graph filters will now automatically apply after you finish typing.
  • Block references to list items now scrolls and highlights the exact list item, instead of the whole list.
  • Clicking on link to notes that don't yet exist will now open the newly created note in edit mode.

No longer broken

  • Playing a video in a hover preview no longer causes the video to continue playing after the preview is closed.
  • Preview panes will now attempt to keep your scroll location when you resize or split the pane.
  • Clicking on a search result now scrolls all linked panes to the result location.
  • Word count now properly counts Tamil letters.

Developers

  • There is now an API available to handle URI actions using the obsidian:// protocol. Look for the function Plugin.registerObsidianProtocolHandler(action, handler).
  • You can now use App.fileManager to rename files and update links.
  • You can now use Workspace.onLayoutReady(callback) to have a callback run if and when the app's layout is ready. This replaces the previous pattern
    if (workspace.layoutReady) {
      callback();
    } else {
      workspace.on('layout-ready', callback);
    }
    

Improvements

  • Graph view can now zoom out more.
  • Sync will no longer accidentally sync a new vault if the .obsidian folder was copied.

No longer broken

  • Fixed opening a note in the current pane does not focus on the editor.
  • Pressing Tab after typing in the file name bar should also focus on the editor.
  • Revert mermaid patch which caused links to stop working.
  • Fixed buttons in global search pane disappearing when pane is small.
  • Fixed Markdown links sometimes not properly converting for space character.

Shiny new things

  • There is now a new syntax for comments. Comments will not show up in preview.
    • Example: %% comments go here %%
    • Can be multi-line if the starting %% is at the beginning of the line.
    • Inside comments, you can still use inline Markdown formats.
    • Links will be recognized for backlinks and graph relationships.
    • Tags will be counted and can be searched.

Improvements

  • You can now right click nodes in graph view for a variety of options.
  • Tables in edit mode will now use a monospaced font by default, to help with alignment.
  • Disabling a plugin will no longer disassociate any hotkeys you have set, and they will work again when the plugin is re-enabled.
  • Auto-generated Markdown links will now only URL-encode special characters not recognized by Markdown (such as the space character), as opposed to fully URL-encode any non-ASCII character.
  • Obsidian now stores its cache/index in IndexedDB instead of as a JSON file, which caused typing lag previously for huge vaults.
  • A broken embed link will now show a box indicating the destination file cannot be found, instead of just disappearing entirely.
  • In custom CSS, you can now use data: and https:// based web fonts.

No longer broken

  • Updating a plugin should now properly execute the newly updated plugin, instead of still running the old version.
  • Having multiple editor panes open of the same file will no longer cause characters to be overwritten when typing.
  • The templates plugin should no longer suggest non Markdown files from the template folder.
  • Moving panes around should no longer cause preview mode to go blank.
  • Fixed i18n string in Obsidian Publish's custom domain settings.
  • File explorer set to sort by modified time will now properly re-sort when files are modified.
  • The hotkeys to creating new note will now work even if the file explorer is turned off.

Developers

  • Inline sourcemaps are no longer 2 lines off from your original source when looking at it from the debugger.
  • A new abstract view TextFileView is now available for use. This class is an EditableFileView that additionally takes care of saving/loading the file contents. If you wish to extend this view, you can simply hook up the functions that interfaces with your editor and the rest should be taken care of.
  • There is now a debounce function exposed for convenience.
  • Due to popular demand, there is now a new Plugin.registerMarkdownCodeBlockProcessor helper that makes it easier to register a handler for a custom fenced code block, similar to mermaid and query embeds.

No longer broken

  • Fixed unable to install or update plugins due to a change in GitHub's hosting infrastructure.

Shiny new things

  • You can now choose to show all files, even if Obsidian doesn't recognize the file extension. This will allow you to link to those files, see them in the File Explorer, and open them from the Quick Switcher.
  • You can now use <iframe> to embed sites that previously wouldn't show. This is done by ignoring the X-Frame-Options that some websites use to prevent embedding.

Improvements

  • You can now upload favicon.ico for Obsidian Publish.

No longer broken

  • Image embeds using the wikilink syntax ![[image.png]] are now displayed inline instead of taking up a whole line by itself.
  • In the custom domain setting for Obsidian Publish, you should now properly see what custom URL you've previously set.
  • Sync will no longer delete ignored folders or media files uploaded by other machines.

Developers

  • The API Plugin.registerExtensions() will now allow the app to recognize the file extension without requiring the user to turn on the "Detect all file extensions" option. In combination with Plugin.registerView(), you can now create custom viewers or editors for any file type that we don't currently support.

Shiny new things

  • Obsidian Publish now supports custom domains, subdomains or a sub-folder of your website. For details, see the help docs.
  • There is now a button to copy heading links on Obsidian Publish.
  • Global search now displays helpful tips on the various filters we support.
  • Global search now has a way to clear the search history.

Improvements

  • PDF export settings are now persisted.
  • There is now a button to update all plugins. In addition, installed plugins are now sorted alphabetically.
  • Non-existing files are now properly displayed when there is a search filter for path applied, instead of completely removed.
  • Mermaid has been upgraded to v8.8.4.
  • Clicking on the backlink status bar item now opens the backlink pane.
  • Opening the help vault will now open a translated version based on your selected language. Currently only supports Italian, Japanese, and Chinese. Help us translate the help vault to your favorite language.

No longer broken

  • The random note plugin no longer adds two ribbon icons.
  • Hover preview now loads embedded search properly.
  • Fixed uppercase block IDs not linking/embedding properly.
  • Backlink panes now updates file titles correctly when a file is renamed.
  • Opening a dialog no longer lets you accidentally focus or make modifications to the document behind the dialog.
  • Pasting as HTML no longer copies over the text from <style> tags.

Shiny new things

  • Obsidian Publish can now restrict site access with one or multiple passwords.
  • You can now choose to store attachments in the same folder as the current note, or in a subfolder relative to the current note.
  • Huge PDF improvements:
    • PDF files will now render when embedded inside a note.
    • PDF files are now rendered using a native PDF viewer, which can scroll, zoom, select and copy text.
    • You can now link to a page of a PDF file by adding #page=number at the end. For example [[My file.pdf#page=3]]. This also works for embedded PDFs. Typing # while auto-completing a PDF file will automatically add #page= for you.

Improvements

  • Folders now shows the number of files and subfolders when you hover over them.
  • The hover tooltips for the file explorer has been reprimanded for being too eager to show up on time. They will now only display once you stop your mouse over it.
  • An unlinked pinned outline pane will now attempt to open the file if it's not already open.
  • Audio recorder will now generate file names with timestamps similar to pasted images.
  • Word count has been improved to handle numbers better.

No longer broken

  • Changing active panes with hotkeys will now properly focus on them.
  • Tooltips no longer leave behind a lingering line sometimes.
  • Tooltips now appear on the correct side for backlinks and file explorer.
  • The editor text should now always stay clear using subpixel-antialiasing, instead of jumping to blurry grayscale from time to time.

Developers

  • The file-open event is now fired in a debounced frame instead of synchronously running while the activeLeaf is being set.
  • The layout-ready event will now only fire once when the app finish loading the workspace, instead of also triggering when loading a different workspace.

Shiny new things

  • Tags can now be clicked on Obsidian Publish to show a list of other pages containing the same tag.
  • You can now Ctrl/Cmd click tags in the tag pane to toggle them as a search filter, instead of replacing the search query.

Improvements

  • You can now unlink and pin backlink, outline, or local graph panes to have them stay on the file that was open, instead of navigating along with the current active pane.
  • Daily notes will now only check for the daily note inside the selected folder.
  • tag:#mytag will now always use case-insensitive mode, since tags are always insensitively matched. For case sensitive match, use a plain #mytag query instead.

No longer broken

  • Tags with underscore _ will now auto-complete properly.

Improvements

  • Tags are now case insensitive in graph view.

No longer broken

  • The backlink pane should now scroll properly if it's not in the sidebar.
  • The ugly flair for attachment file types is now properly styled in the file explorer.
  • Internal links can now be selected again in preview.
  • Folding headings in preview no longer causes the subsequent area to stay blank until the page is scrolled.
  • Dragging and dropping text with a : character no longer creates a Markdown link.

Improvements

  • Opening Obsidian with an obsidian:// URI no longer opens all previously opened vaults.

No longer broken

  • Graph view controls should now be styled properly.
  • Unexpected OS keys should no longer break the hotkeys panel.
  • Tooltips will now properly stay on a single line if there's enough space.
  • Tag pane should no longer blank out after collapsing or expanding parent tags.

Developers

  • In the editor, #parent/child nested tags will only have cm-hashtag-end on the last piece of <span> when spellchecker breaks the tag into multiple pieces.
  • MarkdownRenderChild has been properly exported.
  • Elements in the file explorer now has their file path encoded in a data-path attribute to facilitate custom CSS targeting.

Improvements

  • Hotkeys has been once again reworked to use a "semi" layout independent mode. This should properly recognize remapped layouts like AZERTY and Dvorak, but still provide layout-independence from number and symbol keys.
  • Remapped escape key (typically on caps lock) should now work again.
  • If you've set any hotkeys in v0.10.2 or v0.10.3, you might need to reset them if they stopped working.

No longer broken

  • Fixed tag pane sometimes not showing some nested tags depending on the sorting algorithm used.

Shiny new things

  • Nested Tags: you can now nest tags with unlimited hierarchies using the syntax #parent/child/subchild.
    • Searching for tag:#parent will now match #parent/child.
    • Tag pane now has an option to display nested tags in hierarchy or flat mode.
  • Search now has 3 more operators:
    • line:(...) will perform the subquery on a line-by-line basis, rather than a file-by-file basis. For example, line:(foo bar) will only match foo and bar if they're on the same line.
    • block:(...) will perform the subquery on a block-by-block basis. This is expensive computationally as it requires parsing each file, which means this is likely slower than other modes.
    • section:(...) will perform the subquery on a section-by-section basis. A section starts from a heading and ends before the next heading.
  • Hotkeys have been completely revamped to always use keyboard layout independent mode.
    • This has caused confusion in the last version, so we've simplified the process.
    • If you've customized hotkeys in the past, they will still work.
    • All new hotkeys will be layout independent.
  • You can now drag and drop links to pane headers to open the link in a specific pane.
  • You can now see created and modified time of files by hovering them in the file explorer.

Improvements

  • Cmd+Shift+V can now paste as plaintext on macOS, in addition to the previous Cmd+Shift+Option+V (seriously, who came up with this default hotkey?).
  • You can now disable HTML to Markdown conversion on paste in Settings > Editor.
  • Hotkeys that are assigned multiple times are now displayed in red.
  • Closing panes will re-focus on the most recent active pane instead of the first pane from the left.
  • Clicking on a link will automatically focus on the new pane if the current pane is pinned.
  • The translucency plugin has been moved to the appearance setting tab.

No longer broken

  • Links with %20 now decode properly when navigating using the editor.
  • Focusing on panes now properly sets the state for arrow keys and page up/down keys to scroll the preview.
  • Dragging text within the same editor pane no longer duplicates it.
  • Fixed spacing between paragraphs in blockquotes.

Developers

  • Setting and BaseComponent now have a setDisabled function that will disable its control. Disabling a setting will disable all of its components.
  • Scope.registerKey is now deprecated. It is replaced by Scope.register.

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.

Improvements

  • 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.

Developers

  • 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.

Shiny new things

  • Pasting HTML content will now be automatically converted to Markdown. Same for drag and drop. For example, links you drag from web pages will now generate [Display text](https://url) instead of previously just the URL.

Improvements

  • Search and replace now has a new default hotkey on macOS Cmd+Option+F to avoid clashing with the native hotkey for hide window.
  • Creating new notes from the file explorer or using the hotkey now always open in edit mode.
  • When setting up sync on a vault that's older than the synced remote vault, the older files will be ignored and overwritten to avoid a mass rollback.
  • Navigation history has been slightly tweaked to be more intuitive, and also remembers scroll sync properly.
  • On macOS, closing the last vault and re-activating Obsidian will now re-open the last vault instead of opening the vault switcher.

No longer broken

  • On macOS, quitting and restarting the app will properly restore the opened vaults.
  • Translucency should now work again on app start on macOS.
  • Drag and drop a file to open in a pane will now properly push the navigation history so going backwards feels more natural.
  • Spellchecker will now split words that are adjacent to CJK characters.
  • The "explain search term" button now works properly again.

Shiny new things

  • You can now select multiple files in file explorer using Alt+Click, or multiple consecutive files using Shift+Click.
  • You can now reorder starred items.
  • You can now drag files from various of places:
    • Drag a file (or multiple files) from the file explorer, just like before.
    • Drag a file from a search result.
    • Drag a file from a backlink, or an unlinked reference.
    • Drag a file from the starred pane.
  • You can now drop files to various places:
    • Drop a file (or multiple files) onto a folder to move it there. You can even do this with files you picked up from anywhere, like a search result. It doesn't have to be from the file explorer.
    • Drop a file to a pane's top header section to open the file in that pane.
    • Drop a file directly into the editor to insert it as a link. The generated link also follows your preferences, such as relative paths, or using Markdown links.
    • Drop a file in another application or in another Obsidian vault to generate an obsidian:// link the same way it's generated as "Copy obsidian url".
    • Drop a file to the starred pane to star it.
  • You can now drag a supported file from your system explorer to a folder in Obsidian's file explorer to import a copy there.
  • There is now a dialog with options for page size, landscape mode, and margin options for export to PDF.
  • You can now choose the tab size in editor settings.

Improvements

  • Quitting the app and restarting will now restore previously open vaults. This will also work on the "relaunch" button after an update has been downloaded.
  • On macOS, Obsidian will no longer quit when all windows are closed.
  • Pressing Tab will now insert spaces if Use tab to indent is turned off.
  • Various visual improvements are added for dragging and dropping panes.
  • The app window's title will now indicate the vault name.
  • If you have too many ribbon icons, it can now be scrolled to access them all, instead of clipping out the last few icons.
  • If the more options menu is too long, it can now be scrolled to access menu options that was previously off-screen.

No longer broken

  • Sometimes after opening multiple popup windows, all hotkeys stop working. That shouldn't happen anymore.
  • With an open note in Obsidian that's been edited outside or by a plugin, sometimes the last newline character disappears. That should no longer happen.
  • Fixed some edge cases where custom CSS causes IME positions to overlap the current line.
  • Vault switcher should now have more space for certain languages that take more space than others.
  • File names with multiple non-breaking spaces will now link properly.
  • The about setting tab no longer populates twice when you click on "Check for updates" twice.
  • The community plugins page no longer populates twice when you click on a plugin name twice.
  • Creating new files will no longer fail if there exists a file called "untitled.md" in lowercase.
  • Global search's input box will now expand to take the full width.
  • Sync will no longer allow restoring the current version.

Developers

  • The workflow for augmenting CodeMirror has been improved:
    • Plugin.registerCodeMirror(callback) has been introduced to help plugins hook to CodeMirror instances that are already loaded, and also created in the future. This function is just a helper for Workspace.iterateCodeMirrors(callback) then Workspace.on('codemirror', callback)
    • Workspace.iterateCodeMirrors(callback) has been introduced to help plugins cleanup their CodeMirror events when the plugin unloads.
    • App.on('codemirror', callback) has been moved to Workspace.on('codemirror', callback). The old method will be deprecated and will now proxy to the new one. There is no more event system on App.

No longer broken

  • Fixed preview "readable line width" option.
  • Fixed preview pane could not fold lists and headings.
  • Fixed YAML front matter not shown even when option is turned on.

Shiny new things

  • Obsidian Sync is now available and can now be purchased. It features:
    • End-to-end encryption.
    • Selective sync.
    • Version history.
  • You can now use the "Move file to another folder" command to move the current file without having to do a drag-n-drop in the file explorer.
  • You can now Ctrl/Cmd hover in the file explorer to preview the contents of a file.

Improvements

  • Graph view search filter now has a clear button.
  • The file explorer will now automatically scroll when dragging files near the top or bottom edge.
  • Tag suggestion will now match anywhere in the tag, instead of just from the beginning.
  • You can now create internal links in Mermaid by specifying the class internal-link for the node. The app will use the contents of the node as the link. Example: class A internal-link;
  • Quick switcher aliases now show the actual file path as well.

No longer broken

  • Link auto-complete should no longer add an extra pair of ]] when another link exists on the same line.
  • Mermaid text should now finally be properly scaled.
  • The notice "Updated x links in y files" now properly shows number of files instead of always showing 1.
  • Fixed some cases of blurry text caused by the lack of subpixel-antialiasing.
  • Fixed [[ auto-conversion from chinese characters 【【.
  • Typing should no longer lag when linked with another editor pane of the same file.

Developers

  • Fuzzy search related functions prepareQuery, fuzzySearch, renderMatches, renderResults, sortSearchResults, are now available.

Shiny new things

  • Quick switcher now auto-completes for aliases as well.

Improvements

  • Creating a new file from "no file is open" page now respects the default location option.
  • Invalid front matter now shows up as an error in the metadata section of preview mode.

No longer broken

  • Deleting files and folders now properly remove them from the file explorer.
  • Footnotes now work properly in exported PDF files.
  • Fixed mermaid graphs don't scale properly when using a HiDPI/retina monitor, or when zooming the app.
  • Link suggestion no longer suggests blocks for attachments like images or PDF files.
  • Fixed pressing Enter to finish rename a file not working properly when using an IME.

Developers

  • SuggestModal and FuzzySuggestModal are now available for use.

Improvements

  • Exporting to PDF now respects the "show frontmatter" option.
  • Themes/Snippets now excludes dotfiles generated by MacOS.
  • Custom CSS is now applied as soon as the app loads.
  • Tags in front matter are now split by space if there was any.

No longer broken

  • Fixed search and replace in edit mode.
  • Open themes/snippets folder now works properly.
  • Search, backlinks and unlinked mentions should no longer glitch out when collapsing all results.
Follow us
© 2024 Obsidian