New function Plugin#onUserEnable gives you a place to performance one-time initialize after the user installs and enables your plugin. If your plugin has a custom view, this is a good place to initialize it rather than recreating the view in Plugin#onload.
Workspace#ensureSideLeaf is now public. This function is a shorthand way to create a leaf in the sidebar if one does not already exist.
Added WorkspaceLeaf#isDeferred and WorkspaceLeaf#loadIfDeferred. As of Obsidian v1.7.2, Obsidian will now defer tabs by default. We published a guide on how to handle deferred views in the developer docs.
Housekeeping
We've updated the API to prefer unknown to any. Using any causes Typescript to disable typechecking entirely on the returned value, so this change could uncover some hidden typing issues.
We also removed prepareQuery, fuzzySearch, and PreparedQuery from the API. If your plugin is using one of these functions, you should migrate to prepareFuzzySearch.
// Old
let pq: PreparedQuery = prepareQuery(q);
...
fuzzySearch(pq, text);
// New
let fuzzy = prepareFuzzySearch(q);
...
fuzzy(text);
Misc
New Plugin#removeCommand is now available if your plugin needs to dynamically remove commands (for example, if your plugin allows for user-created commands).
SuggestModal#selectActiveSuggestion is now public. This is useful to provide an alternative hotkey to your SuggestModal that still triggers the selected item.
v1.7.0 (Insider)
Fixed FileSystemAdapter#rmdir(dirPath, false) always throwing an error when attempting to delete an empty directory.
Added a data-type to the Markdown embed container using subpath type.
v1.5.11
Fixed revealLeaf failing to focus the correct window.
If you are using the SliderComponent in your app, be aware, the behavior of the component has changed in 1.5.9. Now, instead of updating the value when the slider is dragged, it will only update the value when the slider is released. If your plugin was relying on the old behavior, you will need to update your plugin code to call .setInstant(true) on the slider.
Note: Because setInstant is a new function, you'll also need to check to see if the function exists before calling it. This will ensure your plugin maintains backwards compatibility when being run on older versions of Obsidian.
v1.5.7
Plugin#onExternalSettingsChange
There's a new callback function for plugins to react to when plugin settings (data.json) get changed on disk. This callback can be used to reload settings when they are updated by an external application or when the settings get synced using a file syncing service like Obsidian Sync.
New Vault#getFileByPath and Vault#getFolderByPath utility functions
Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions |
| --- | --- |
| eslint | [>= 9.a, < 10] |
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the dependencies group with 5 updates:
18.3.6
18.3.8
1.6.6
1.7.2
8.5.0
8.6.0
8.5.0
8.6.0
8.57.0
8.57.1
Updates
@types/react
from 18.3.6 to 18.3.8Commits
Updates
obsidian
from 1.6.6 to 1.7.2Changelog
Sourced from obsidian's changelog.
... (truncated)
Commits
Updates
@typescript-eslint/eslint-plugin
from 8.5.0 to 8.6.0Release notes
Sourced from
@typescript-eslint/eslint-plugin
's releases.Changelog
Sourced from
@typescript-eslint/eslint-plugin
's changelog.Commits
343710e
chore(release): publish 8.6.0454d37e
feat(eslint-plugin): [no-misused-promises] check array predicate return (#9955)af92611
feat: addallow
option forrestrict-template-expressions
(#8556)2a809e2
test(eslint-plugin): [no-unnecessary-type-parameters] add tests with intrinsi...682299e
feat(eslint-plugin): [no-unnecessary-condition] check switch cases (#9912)77e65df
fix(eslint-plugin): [no-unnecessary-condition] properly reflect multiple nega...c11ca06
chore(eslint-plugin): make utility for static member access (#9836)2a956b2
fix(eslint-plugin): [no-deprecated] report on deprecated properties with func...9a80067
fix(eslint-plugin): [no-deprecated] report on deprecated variables used in de...3710c9c
feat(type-utils): isNullableType add Void logic (#9937)Updates
@typescript-eslint/parser
from 8.5.0 to 8.6.0Release notes
Sourced from
@typescript-eslint/parser
's releases.Changelog
Sourced from
@typescript-eslint/parser
's changelog.Commits
343710e
chore(release): publish 8.6.0Updates
eslint
from 8.57.0 to 8.57.1Release notes
Sourced from eslint's releases.
Changelog
Sourced from eslint's changelog.
... (truncated)
Commits
5b9414c
8.57.1f66806d
Build: changelog update for 8.57.1140ec45
chore: upgrade@eslint/js
@8
.57.1 (#18913)bcdfc04
chore: package.json update for@eslint/js
release3f6ce8d
chore: pin vite-plugin-commonjs@0.10.1 (#18910)a19072f
fix: add logic to handle fixTypes in the lintText() method (#18900)04c7188
fix: Don't lint same file multiple times (#18899)87ec3c4
fix: do not throw when defining a global named__defineSetter__
(#18898)60a1267
fix: Provide helpful error message for nullish configs (#18889)35d366a
build: Support updates to previous major versions (#18870)Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | eslint | [>= 9.a, < 10] |Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show