Learn more

Changelog

Follow Obsidian updates and improvements.

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.

Shiny new things

  • You can now download multiple themes and switch between them. They are now stored in the vault/.obsidian/themes folder. Be sure to disable the legacy option for obsidian.css when you do so!
  • You can now add multiple CSS snippets, and choose to enable/disable them individually. They are stored in the vault/.obsidian/snippets folder.
  • You can now check for third-party plugin updates and selectively update them.
  • In preview mode, there is now a new section displaying the metadata of a file based on its YAML front matter.
  • You can now give notes specific CSS classes using the front matter option cssclass. You can also specify multiple ones with the same syntax as tags and aliases, for example, cssclass: class1, class2. Combine this with custom CSS to selectively style notes.
  • You can now sort tags in alphabetical order instead of by frequency.
  • You can now collapse the front matter section in edit mode.

Improvements

  • The custom CSS plugin has been merged into the app, under the "Appearance" setting tab.
  • In preview mode, if the front matter fails to parse as YAML, an error message will be displayed in the code block if you had show front matter option enabled.
  • Link suggestion will now suggest aliases of a file after you type |.
  • Link suggestion no longer shows YAML front matter as a block to refer to.
  • When renaming a file, Markdown links will now also change the display text if it matches the file name.
  • File explorer has been improved to lag less on big vaults.
  • Backlinks and unlinked mentions have been improved to lag less when there are many results.

No longer broken

  • Highlights are now properly exported to PDF.
  • After renaming a file, automatically updated Markdown links will now properly contain the .md extension.
  • Choosing a spellcheck suggestion will no longer wipe adjacent characters.
  • Creating or renaming a file now properly calculates backlinks to it.
  • Embed images now shows up properly in block suggestions.

Developers

  • moment.js has been replaced with moment-with-locales.js.
  • CodeMirror has been updated to v5.58.3.
  • A new event layout-change is has been added to Workspace.

Shiny new things

  • Obsidian now has a native build for Apple M1 (Apple Silicon).
  • There's now a build for 32bit Windows and arm64 Windows.
  • There's also a build for Linux arm64.

Improvements

  • Tags in front matter no longer requires the # character. You can now write tags: [tag1, tag2, tag3].

No longer broken

  • Fixed unable to type in edit mode after inserting a template or opening command palette or quick switcher.
  • Star/unstar file in more options menu has been added back.

Shiny new things

  • You can now specify aliases in front matter. These will then show up in the [[ link suggestion, and auto-complete to [[Filename|alias]]. They will also be picked up in unlinked mentions. For example: aliases: [AI, Artificial Intelligence]. Add double quotes around your alias if it contains special characters.
  • You can now specify tags in front matter. These will then show up in the tag pane, as well as in search queries using the tag: operator. For example: tags: ["#pkm", "#hype"].

Improvements

  • Command palette and Quick switcher will now restore your cursor or selection when exiting.

No longer broken

  • Graph filter tag operators no longer operate on links to non-existent files.
  • The duplicate menu item "Copy obsidian url" has been removed from the more options menu.
  • On Windows, you should now be able to drag the window from the top when it's maximized.

Developers

  • frontmatter is now available in CachedMetadata.
  • Some helper functions for front matter parsing are made available: parseFrontMatterEntry, parseFrontMatterStringArray, parseFrontMatterAliases and parseFrontMatterTags.
  • The css class mod-root is now always added to the workspace center area.
  • Deprecations: (the old name will remain in code for backward compatibility for a while)
    • Setting.addExtraSetting has been renamed to addExtraButton.
    • Workspace.getActiveLeafOfViewType has been renamed to getActiveViewOfType.
Follow us
© 2024 Obsidian