Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.14.
Modal on phone sizes.Modal instances.file.hasTag('#tag') is no longer case-sensitive. file.hasTag('test') and file.hasTag('TEST') now return the same results.contains function now correctly handles nested tags. For example,tags.contains("A") will now return results containing #A as well as #A/B.this now work if a Base file is embedded inside Canvas.this now resolve to null if the Base is not in the sidebar and not embedded.The installer has been updated to use Electron v37.6.0 (requires downloading the latest installer). For users on macOS Tahoe, this may improve app performance.
This release introduces tons of new features and improvements to Bases. This release also includes the initial version of the Bases API.
Cmd/Ctrl-Z and Cmd/Ctrl-Shift-Z.reduce() function for lists.html() function for rendering custom HTML.random() function. Useful if you want to create a custom formula for randomizing your sort order.file.backlinks and other formulas that result in stale data.Ctrl/Cmd), a new split (Ctrl/Cmd-Alt), or a new window (Ctrl/Cmd-Alt-Shift).null) are now sorted with false values.Ctrl/Cmd-C, Ctrl/Cmd-V to copy and paste the selected cells.Ctrl/Cmd-z, Ctrl/Cmd-Shift-Z to undo and redo changes made while editing properties.Ctrl/Cmd-A to select all cells in the current groupCtrl/Cmd-Shift-Arrowkey to select all cells in a given direction.ctrl-Space to select the column.Shift-Space to select the row.Enter to focus the current cell. For checkboxes, this toggles the checkbox. For formulas, this opens the formula editor.Home go to the first column.End go to the last column.Pageup/Pagedown go to navigate by visual page height.Esc to clear the current cell selection.Backspace to clear the current cells.Tab go to the next cell.Shift-tab to to the previous cell.appearance.json changes.FileManager#generateMarkdownLink no longer prepends "!" on attachment links.open-link event is now fired on the active element when the user triggers the "Follow link under cursor" command.file.hasTag('#tag') is no longer case-sensitive. file.hasTag('test') and file.hasTag('TEST') now return the same results.contains function now correctly handles nested tags. For example,tags.contains("A") will now return results containing #A as well as #A/B.this now work if a Base file is embedded inside Canvas.this now resolve to null if the Base is not in the sidebar and not embedded.Modal on phone sizes. Modals are now always pinned to the bottom of the screen by default.Modal instances.This update introduces a new migration assistant for Obsidian Sync. This tool will allow you to perform migrations for your remote Sync vaults, such as encryption upgrades, and in the future the ability to switch regions. Learn more
Obsidian occasionally upgrades Sync encryption to maintain the highest security standards. If an encryption upgrade is available you will see an option titled "Upgrade vault encryption" in Obsidian Settings → Sync.
file.tags.contains() not finding files with parent tags (e.g. a/b should match when looking for "a").Obsidian Sync has received a minor security upgrade. File names have always been end-to-end encrypted, but they're now protected using an even stronger method. All new vaults automatically use this stronger encryption. Existing vaults can be upgraded with the new migration assistant in Obsidian 1.9.11.
The old method of encrypting file paths and hashes derived the initialization vector (IV) from a hash of the string. In rare cases, this could create a pattern that an attacker might try to take advantage of if they were able to get access to your encrypted data. Now, file paths and hashes are encrypted with AES-SIV so those patterns can no longer exist.
The way file contents are encrypted hasn't changed, they've always been secured with AES-GCM.
This update introduces a new migration assistant for Obsidian Sync. This tool will allow you to perform migrations for your remote Sync vaults, such as encryption upgrades, and in the future the ability to switch regions.
Obsidian occasionally upgrades Sync encryption to maintain the highest security standards. If an encryption upgrade is available you will see an option titled "Upgrade vault encryption" in Obsidian Settings → Sync.
file.tags.contains() not finding files with parent tags (e.g. a/b should match when looking for "a").Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.10.
Ctrl-Tab and Shift-Ctrl-Tab to switch between tabs on iPad.Introducing Bases, a new core plugin that lets you turn any set of notes into a powerful database. With Bases you can organize everything from projects to travel plans, reading lists, and more.
Bases lets you create custom views to visualize and interact with data in your vault. You can filter your notes by properties and create formulas to derive your own dynamic properties.
All the data in a base is backed by your local Markdown files and properties stored in YAML. To support Bases, we're introducing the .base file format and syntax.
tag, alias, cssclass in favor of tags, aliases and cssclasses. In addition, the values of these properties must be a list. If the current value is a text property, it will no longer be recognized by Obsidian.
In the "Format converter" core plugin, there is a new option to fix any incorrectly formatted aliases, tags, and cssclasses in your vault. It will also migrate your old alias, tag, and cssclass properties to the new format.Command/Ctrl while navigating through files using the arrow keys will now open the file under the cursor.Shift-Enter inside a text property no longer creates an empty input.Ctrl-C.idb has been updated to version 8.0.2.yaml has been updated to version 2.7.0.document.body are now mirrored across all pop-out windows.ButtonComponent now automatically shows a loading spinner if the onClick event is async.window.open(url, '_external').processFrontmatter will no longer create a YAML alias.Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.9.