Learn more

Changelog

Follow Obsidian updates and improvements.

Shiny new things

  • Added new "Cycle bullet/checkbox" command that cycles between regular bullet, checkbox, and checked checkbox.

Improvements

  • Reduced chance of Obsidian Sync overwriting instead of merging when a rare race condition happens.
  • Improve Obsidian Sync's handling of templated daily notes created on other devices (will require next mobile release to fully apply).
  • Pressing Enter in an empty blockquote now extends the blockquote instead of exiting it. Shift+Enter can be used to exit the blockquote.

No longer broken

  • Fixed embeds in Live Preview blocks have an extra padding at the bottom.
  • Fixed using many embeds and images in Live Preview sometimes causes click position detection to misbehave.
  • Fixed outgoing links crash when encountering a link named "constructor".
  • Fixed middle click in editor doesn't open in new pane.
  • Fixed drag and drop in outline pane not working when pane is scrolled.
  • Fixed LaTeX and inline code not properly sized in headings.
  • Fixed Live Preview HTML blocks not respecting normal HTML white-spacing rules and rendering extra whitespace by default, causing newline characters to be rendered.
  • Fixed Ctrl/Cmd+G stopped working in document search.
  • Fixed various Markdown syntax toggle commands like bold and italics misbehaving when working across multiple lines.
  • Fixed multiple possible memory leak in editor when closing panes.
  • Fixed a bug in list block ID parsing which caused links and embeds to resolve the parent list item instead of the specific child item.
  • Fixed sometimes the context menu appears multiple times on screen.
  • Fixed unable to see last few characters of long tables in legacy editor.
  • Triple clicking text will now select the whole sentence without the ending newline character.

Developers

  • Theme developers: you can also now use variables for heading font sizes with --h1, --h2, etc. We've also moved heading font sizes from cm-header-x to HyperMD-header-x to avoid certain elements not being properly up-sized like LaTeX and inline code.
  • There is a new deleted event on MetadataCache now.
  • DataAdapter.stat now returns the OS mtime and ctime for folders.
  • Obsidian's icon library now supports all icons from lucide, a currently maintained fork of feather-icons with 547 supported icons. No need to import feather-icons anymore. You can browse them at Lucide.dev

Core update

Includes all new functionality and bug fixes up to Obsidian Desktop v0.13.24. This update also allows all new cm6-compatible plugins to run.

Live Preview While this feature works pretty well already, it hasn't been fully mobile optimized, so there could still be some usability issues when using with a touch-only device, such as editing embeds and code blocks. In the meantime, feel free to use Source Mode when that happens. You can do that by long-holding the 3 dot button on the top right and hitting "Toggle Live Preview/Source mode" (or run a command from the pull down menu or bottom toolbar).

Vim mode Support for vim mode is now available, but must be enabled on a per-device basis on mobile. It is not really usable on a mobile device without an external keyboard.

Others Drag and drop features from desktop is now generally available across the app, and can be triggered by long-holding items. This includes drag and drop files and folders, starred items, and outline items.

No longer broken

  • Fixed several themes broken due to the new <img> placeholders.
  • Fixed reading view images without width/height gaining a null width/height attribute when the paragraph is edited.

Shiny new things

  • Clicking on links in Live Preview will now open them directly.
    • Previously Ctrl/Cmd+Click to open link is now simply a click.
    • Previously Ctrl/Cmd+Shift+Click to open link in new pane is now Ctrl/Cmd+Click, just like everywhere else in the app.
  • Embedding list items will now show any sub list items when rendering.

Improvements

  • Embeds to files that don't yet exist will automatically load the file once it's created. This avoids issues with images that syncs in after opening the note it was embedded in.
  • Word count now properly counts apostrophes.
  • Renamed "Swap line up/down" commands to "Move line up/down".
  • Obsidian Publish now has an option to hide page title headings.
  • Added persistent notice to the help vault to remind users not to save data in it, since the help vault can be reset.
  • Added additional confirmation for opening file:/// links.

No longer broken

  • Fixed several issues with IME in the new editor.
  • Fixed code blocks tagged with markdown as the language causes Live Preview to misbehave.
  • Fixed mermaid state diagrams not properly sized.
  • Fixed command palette performance issue.
  • Fixed export to PDF doesn't expand embedded notes and instead show a scrollbar.
  • Fixed local file:/// links stopped working.
  • Fixed macOS caret character misbehaving when used as a deadkey in some keyboard layouts.
  • Fixed hitting Shift+End twice not going to the end of the paragraph.

Developers

  • Theme developers: our new editor has received an upgrade where previous &ZeroWidthSpace; characters, used as placeholders for computing cursor positions, have been switched to 0-width <img> elements. We recommend double-checking that your theme does not contain global img { ... } CSS rules to avoid breaking the editor.
  • TFile.unsafeCachedData has been removed and is now stored in a private inaccessible WeakMap to avoid accidental use of this unsafe data.
  • There is now a new requestUrl API function that returns an object with the http response status, headers, as well as getters for arrayBuffer, json, and text. This is a more advanced version of the request API. (Requires API version 0.13.25)
  • The request and the new requestUrl functions can now accept a body of type ArrayBuffer.

Improvements

  • Reduced the chances of Obsidian Sync duplicating the contents of a note when it encounters a conflicting new note which is modified both locally and remotely. It will now keep the latest version when this happens. (This patch is only fully effective when all of your devices are upgraded to this version)
  • Slightly improved editor performance.

No longer broken

  • Fixed editing large documents causes embeds to be broken.
  • Fixed indented code blocks adds large gap sometimes.
  • Fixed heading fold broken when multiple space characters are used after #.
  • Fixed plugins unable to load when using esbuild's new esmodule format.
  • Fixed toggling checklists only adds list bullet when no lists exist.

No longer broken

  • Fixed external URLs with % encodings stopped working but wasn't fully fixed last release.
  • Fixed renaming files with $ signs sometimes causes links to be generated incorrectly.
  • Fixed link suggestion crashes when using Markdown links.
  • Fixed link suggestion showing "no results found" when only one exact match found.

No longer broken

  • Fixed external URLs with % encodings stopped working.
  • Fixed external URLs in embed blocks not working in Live Preview.
  • Fixed line numbers misaligned with embed blocks in Live Preview.
  • Fixed list bullets misaligned vertically in Live Preview.
  • Fixed a case of Live Preview lag when large base64-encoded images are inserted.
  • Fixed sometimes a zero width space character is inserted when replacing some text around fold indicators. They showed up as a red dot.
  • Fixed sometimes choosing a link suggestion to a block without an ID in the same document causes the cursor to be misplaced.
  • Fixed up/down keys misbehaving in Live Preview's word-wrapped lines when the previous/next real line is a hidden block.
  • Updating plugins no longer scrolls the plugin list back to the top.

Developers

  • Added an option in community plugin pane to help debug slow plugin startup times.
  • Fixed editorLivePreviewField not dynamically updated when Live preview is turned on/off.
  • Added data-type to tab header elements.

No longer broken

  • Fixed legacy editor crashes when using frontmatter.
  • Fixed Ctrl/Cmd+G hotkey doesn't work in reading mode.
  • Fixed Ctrl/Cmd+G does not override open graph view command.

Developers

  • Introduced apiVersion: string and requireApiVersion(version: string): boolean to help with API version requirements. Plugin authors can use this function to limit functionality that depends on new Obsidian APIs to avoid crashing on older versions of Obsidian.

Improvements

  • The new editor now supports the cssclass frontmatter property.
  • Live Preview will now detect whether the editor is focused to apply syntax hiding.
  • Community plugin search filter will now also match by author.
  • Added shortcuts for plugin settings and hotkeys in the community plugins list.

No longer broken

  • Fixed clicking on checklists and fold indicators causes the cursor/selection to be affected.
  • Fixed resizing panes causes buggy selection rendering until selection is changed.
  • Fixed fold indicator spacing sometimes misalign due to fonts applied by themes.
  • Fixed gutter line numbers not showing for embeds and custom code blocks.
  • Fixed memory leak when closing Markdown panes.
  • Fixed vim mode undo/redo combines multiple edits.
  • Fixed up/down arrow keys don't navigate properly around list bullets.
  • Fixed up/down arrow keys don't navigate properly when at the end of a word-wrapped line.
  • Fixed unindenting numbered lists sometimes generates "undefined".
  • Fixed auto number lists generates individual undo/redo entries for each line.
  • Fixed toggle numbered lists always generate 1 as the number.
  • Fixed typing inline code causes the rest of the document to become code.
  • Fixed underline not applied to external links when in lists, headings, or blockquotes.
  • Fixed two identical embed in the same file causes Live Preview to misbehave.
  • Fixed linking to a block without a block id from an earlier position in the same note causes the link to be badly formatted.
  • Fixed in-editor search removes highlight when only a single match is found.
  • Added Ctrl/Cmd+G (and Ctrl/Cmd+Shift+G) for selecting next/previous search occurrence when using in-editor search.
  • Fixed opening some file:/// paths on Linux causes Obsidian to freeze until the new process exits.
  • Fixed Markdown importer unable to convert tags with some character sets like CJK characters.
  • Fixed undo close pane still opens a new pane even when the current pane is empty.
  • Fixed copy external URL menu action doesn't properly encode special characters.
  • Fixed linking an unlinked mention loses its original casing.

Developers

  • Fixed sometimes empty duplicate <span> elements show up before or after widgets, causing issues when using css padding or :before/:after.
  • The debug info command now includes the OS information.
  • There is now a new editorLivePreviewField: StateField<boolean> that can be used to check whether Live Preview is enabled in the editor.
  • Fixed out-of-bound {line,ch} pairs causes error with new editor.

No longer broken

  • Fixed automatic numbering of lists doesn't stop at the end of the list and accidentally changes the numbers of lists further down the document.
  • Fixed sometimes undo/redo combines multiple consecutive operations like typing and pasting into a single change.
  • Fixed when redoing a change, the cursor would be put in the wrong spot afterwards.
  • Fixed sometimes bad HTML causes Live Preview to crash with an error.

Improvements

  • Improved fold indicators in new editor. They will now appear closer to the line's text rather than all the way at the left edge.
  • New hotkeys for in document search: "Search All" (Alt+Enter) and "Replace All" (Ctrl/Cmd+Alt+Enter).
  • In Live Preview, you can now click a code block's language flair (top right) to copy the code block.
  • New editor's vim mode now experimentally supports search highlighting and multiple cursors.
  • You can now use Ctrl/Cmd+Shift+Enter in quick switcher to create a new note and open it in a new pane.

No longer broken

  • Fixed the fold all command sometimes not working.
  • Fixed Shift+Up/Down in Live Preview doesn't select hidden blocks properly.
  • Fixed backlink and unlinked reference count indicator not properly updated when a link is removed.
  • Fixed middle click and Ctrl/Cmd+Click embedded note's "open link" button in Live Preview causes weird behavior.
  • Fixed middle click links, file explorer items, and search results stopped working.
  • Fixed unable to click external links with formatting styles like bold or italics in editing view.
  • Fixed sometimes the bullet dot renders as weird letters.
  • Fixed console error when OS language doesn't support spellchecker.
  • Word count now properly count contractions as one word.

Developers

  • Added .cm-active to gutter elements as well.

Improvements

  • Improved list bullet rendering to avoid jumping in Live Preview.
  • Improved behavior when pressing Enter in lists and blockquotes.

No longer broken

  • Fixed new editor's spellchecker dictionary options not working.
  • Fixed two consecutive footnote references causes any text in between to be underlined.
  • Fixed unable to type < and > in Hungarian keyboard layout on mac.
  • Removed emacsy toggle for mac in new editor.

Developers

  • Heads up to theme developers: the .list-bullet CSS has been reworked. It will now keep the original character and superimpose the dot using the :after pseudo-element.

Improvements

  • Switching between files will now keep the undo/redo history for the last 20 files, unless the file was changed externally. Not available for the legacy editor.

No longer broken

  • Fixed readable line length not properly applied when line wrapping is turned on.
  • Search will now properly unfold folded areas when highlighting the match.
  • Fixed wikilinks at the beginning of the line causes it to inherit styles from the previous line.
  • Fixed a rare case of data loss due to race condition caused by clicking on a link and triggering the loading of the additional syntax highlighting library.
  • Fixed gutter alignment for empty lines above headings.
  • Fixed mermaid diagrams overflowing.

Improvements

  • Edit mode now supports headings in lists.
  • Embedded content generated by plugin custom handlers (like image in Admonitions and Dataview) are now rendered in both Live Preview and Reading view. This will be a temporary addition until we can come up with a proper Markdown rendering API that handles nestable rendering contexts better.

No longer broken

  • Ctrl/Cmd+C now copies the whole line again if there is no selection.
  • Fixed several parsing issues with formatting symbols in wikilinks.
  • Fixed an issue where the Tab Size setting could change how indented lists are interpreted in edit view. This will now always recognize a tab character as 4 spaces, as required by Markdown's specifications.
  • Fixed a crash when pressing up (or using k in vim mode) on a --- separator that's out of screen.
  • Fixed a crash that happens sometimes when pressing page up or page down (or the equivalent commands in vim mode).
  • Fixed some plugins could cause line wrapping to fail and grow the width of the editor.
  • Code blocks will now line wrap in reading view, to stay consistent with editing view.
  • Fixed code block's language flair stopped showing up when indented in Live Preview.
  • Fixed math blocks inside blockquotes and lists are rendered outside.
  • Improved parsing of footnote references and definitions.

Developers

  • getSectionInfo() is now implemented for custom code blocks in Live Preview.

Improvements

  • When changing default edit mode between Live Preview and Source mode, the new setting will now be automatically applied to all panes.
  • Fixed default edit mode, which will now use Live Preview when not using Legacy editor.

No longer broken

  • Fixed Live Preview sometimes unable to drop at the end of the document.
  • Fixed reading view clips out the first line of the document when in document search is active.
  • Drag and drop external files from the file system now preserves file extension in the display text if creating an external link.
  • Fixed some plugins CSS causes Live Preview's selections to break.
  • Fixed when using in document search or clicking on a global search result, the search highlight is sometimes hidden due to Live Preview.
  • Fixed using in document search and replace does not highlight the next match when replacing.
  • Fixed sometimes selecting multi-line text results in a weirdly rendered selection box.

No longer broken

  • Fixed line wrapping not working with panes smaller than 700px.
  • Fixed unresolved links in Live Preview not taking into account link aliases.

Shiny new things

  • There is now a new Core plugin called "Editor status" which adds a status bar item showing you the current editor mode. You can also use it to toggle the editor mode.

Live preview improvements

  • Internal links to non-existent files will now look dimmer than regular links.
  • Fixed drop cursor is invisible in dark mode, also fixed drop cursor doesn't position correctly when document is scrolled.
  • Fixed IME on MacOS sometimes causes duplicate characters to be entered.
  • Fixed vim mode g related keys causes vim mode to crash until app is restarted.
  • Middle click now opens internal links in new panes.
  • Removed very faint background colors on external links.
  • Fixed pressing Enter on an indented line does not keep the indent properly.
  • Fixed long tables broken again due to an engine upgrade.
  • Fixed tables has a weird extra spacing after the last | character.

Improvements

  • Word count will now no longer re-calculate on every change, but instead re-compute at most twice every second, to spare some CPU time.

Developers

  • The changed event on MetadataCache now contains the file contents as well as the parsed metadata object.
  • There is now two helper functions for HTMLElement: isShown() which tells you whether this element is shown, and onNodeInserted which can add a callback for when the element is shown. These statuses depend on the element to be attached to the DOM and require not having any parent or ancestor with the css display: none.

Shiny new things

  • Added basic RTL (right-to-left) text support. The option can be found in Settings > Editor.

Live preview improvements

  • Fixed pasting from websites causes duplicate text to be inserted.
  • Fixed sometimes the list bullet, or the checkbox shows up duplicated when selecting text.
  • Improved the onboarding modal for selecting whether to use legacy editor or live preview.
  • Relaunching after changing the legacy editor option now properly saves the option value, without having to wait for one second.
  • When switching out of legacy editor, all edit panes will automatically use the default edit mode, rather than always staying in source mode.
  • Fixed some actions like indenting and unindenting sometimes moves the cursor to unintended spots.
  • Fixed an issue where selections look really bad if the first line of the document has a list.
  • Internal links that start with # for heading sections will now hide the # when not selected to avoid confusion with tags.
  • Fixed vim mode scrolling commands like zz, zt and zb.
  • Fixed blocks like embeds and custom code blocks aren't properly included in the fold if they're at the end of the fold section.
  • Fixed re-focusing on the editor sometimes causes the selection to jump to the beginning of the file.
  • Improved inline footnotes parsing.

No longer broken

  • Fixed tooltips wrap text in awkward spots.
  • Fixed outgoing links unlinked mentions cuts off items that has a dot in the file name.
  • Fixed changing image alt text does not update in reading view.

Live preview improvements

  • Restored legacy editor to be default for now.
  • Fixed gutter elements (line numbers and fold indicators) misalignment.
  • Fixed Live Preview sometimes run into situations where it stops being parsed and highlighted halfway down the document.
  • Fixed drag and drop text duplicates instead of moves selected text.
  • Fixed several operations such as pasting, undo/redo, drag and drop, etc, causes duplicate characters or phrases to linger in the document.
  • Fixed Ctrl/Cmd+Shift+Z stopped working for undo.
  • Fixed full line embeds has an extra line after it.
  • Improved external images rendering when on its own line.
  • Empty headings will now keep the # characters in view to help see that it's an empty heading.
  • Inline LaTeX will no longer be accidentally recognized when the ending sign is followed by a digit like $10.
  • Fixed several commands that sometimes mis-position the selection after the command executes.
  • Spellchecking is now properly applied to wiki links.
  • Fixed some themes and plugins accidentally introduces margins, causing editor selections to misbehave.
  • Fixed vim mode jumps by two lines sometimes.

Improvements

  • Reverted editing/reading icon state. We will try to improve this in a future version.
  • Improved Markdown formatting commands like bold and italics detection when selecting the outside layer.
  • Markdown formatting commands now ignores whitespace characters at the beginning or ending of the selection when being applied.
  • Backlink in document can now be turned on by default in the settings page of the core plugin "Backlinks".
Follow us
© 2024 Obsidian