penspanic61 downloadsBrowse recently modified files and folders in a compact sidebar with time filters.
A compact Obsidian sidebar for finding recently modified files and folders.
Pick a time range, switch between files and folders, and return to the work that just changed. This is useful when your vault is also edited by external editors, scripts, AI agents, or Git.
README and index.Requires desktop Obsidian 1.7.2 or newer. The community listing is published and its automated review is complete. If Recent Changes is not yet visible in your app's plugin browser, install through BRAT or use the release files below.
The listing's Add to Obsidian link opens the app's plugin browser. It does not bypass the app's catalog: if the plugin is missing from search results, use BRAT or manual installation instead.
https://github.com/penspanic/obsidian-recent-changes and select Add Plugin.BRAT also manages updates from GitHub releases. See the BRAT quick guide for update options.
main.js, manifest.json, and styles.css from the latest release. Use the individual release assets, not the source-code ZIP.<vault>/<config-dir>/plugins/recent-changes/. The default config directory is .obsidian.For manual updates, disable the plugin, replace those same three files with the latest release assets, and enable it again. Keep your existing data.json; it stores your per-vault settings.
The desktop plugin has been smoke-tested on macOS with Obsidian 1.13.7. Mobile support is not enabled in this release. See validation for tested behavior and remaining device checks.
Choose Files to scan individual changes, or Folders to see which folders have recent activity. Collapse a folder to reduce clutter. The last mode, range, and collapsed folders are saved per vault.
The count shows matching files before the display limit, for example 200 of 350. Folder counts include only displayed files.
These actions only hide entries in Recent Changes; the files remain in your vault. Matching uses the full vault path, so excluding Project/notes.md does not hide another notes.md elsewhere.
To restore an item, open Settings → Recent Changes → Excluded items and select Remove. Existing manual rules under Exclude still apply.
| Setting | Default | Meaning |
|---|---|---|
| Open sidebar on startup | On | Create the sidebar after the workspace loads. Saved panes are retained. |
| Maximum files | 200 | Display at most 1–5,000 files. |
| Extensions | md, canvas, base |
Comma-separated extensions. Empty means all file types. |
| Exclude | node_modules/, .venv/ |
One case-sensitive rule per line. |
| Excluded items | Empty | Exact files/folders hidden through the sidebar menu; use Remove to restore. |
A folder rule ends in / and matches at any depth: Archive/ excludes both Archive/a.md and Project/Archive/a.md, but not Archived/a.md. A nested rule such as Project/Generated/ matches that folder sequence. A rule without / at the end matches an exact filename anywhere in the vault: README.md excludes that name, not MyREADME.md. Exclusions are literal rules, not glob patterns or regular expressions.
Upgrading the earlier local plugin with the same recent-changes ID preserves its stored filters and collapsed folders. New installs receive general-purpose defaults; existing personalized exclusions are not removed automatically.
The list uses the modification time reported by Obsidian, not the time a file was last opened. External edits appear once Obsidian detects them. Git checkouts, synchronization, and imports can update timestamps, so this is a navigation aid rather than an audit log. It does not record historical edits, deleted files, diffs, or the author of a change.
Time ranges are rolling durations; 1m means 30 days. Today/Yesterday headings use the local calendar. Extension filtering and exclusions happen before the display cap.
Requires Node.js 22 or newer and npm.
git clone https://github.com/penspanic/obsidian-recent-changes.git
cd obsidian-recent-changes
npm ci
npm run check
npm run verify:release
The installable files are in dist/. Only source files are committed; builds and local plugin settings are ignored.
npm run dev
Watch mode rebuilds JavaScript. After changing styles.css or manifest.json, restart the watcher to recopy those assets. Copy the three dist/ files into a test vault's plugin directory and reload the plugin. A build writes only to dist/. If your local plugin files are linked to dist/, reloading the plugin applies that build.
See contributing, release steps, and validation.
Report bugs or suggest improvements in GitHub Issues. Include your Obsidian version, operating system, and steps to reproduce. For code contributions, see CONTRIBUTING.md.
MIT, copyright 2026 penspanic. This is an independent community plugin, not an official Obsidian product.