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.
./link/to/file.png
)."text" * 2
) in formulas now reports an error.Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.8.
File#hasProperty()
function. To check if a file has a property (regardless of value), use file.hasProperty("property")
. In the filter menu, "exists" is no longer a valid operator. This was returning incomplete and incorrect results. Instead of "<property>
exists", you will need to update your filters to say "file has property <property>
".String#reverse
and String#repeat
functions.+
(e.g. list1 + list2
).Command/Ctrl
while navigating through files using the arrow keys will now open the file under the cursor..base
files.Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.7.
file.backlinks
.file:///
path (desktop only).file()
and Link.asFile()
. You can now also access properties from a file reference.__
).null
in frontmatter. This behavior is more consistent with text properties.:
getting rendered as a link in properties.Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.6.
date > "2025-07-18"
).a && b
).link()
not working if URL has spaces.Includes all new functionality and bug fixes up to Obsidian Desktop v1.9.5.