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-Shift
), 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 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.