Skip to content

Habits

Habit tracker with streaks, charts, and statistics. Log daily habits from a carousel dashboard or sidebar panel, pause habits without losing streaks, and export printable PDF reports. - This plugin has not been manually reviewed by Obsidian staff.

The above warnings are based on limited information and might not always be accurate.

Data

IDhabits
Authorjamescliffordspratt
Minimum Obsidian Version1.7.2
Official Release Date2026-07-03
Last update2026-07-12

Last Refresh

Obsidian Stats last refreshed the data behind this page on Jul 13, 2026.

Community plugin snapshotJul 13, 2026
Repository clonelast successful checkout Jul 13, 2026
Release acquisitionrelease metadata checked Jul 13, 2026; latest main.js acquired

Quick Links

Changes

DateChanged PropertyOld ValueNew Value
2026-07-03Plugin Added
2026-07-06Plugin Removed
2026-07-07Plugin Re-Added

Repository Data

LicenseMIT in package.json
MIT in LICENSE file
Package Managernpm
Uses TypescriptYes
Installed Bundlersesbuild
Installed Testing FrameworksNone found
Has Test FilesNo
Latest Release main.js Size1.11 MB
Detected ES VersionES2018
Probably MinifiedYes
main.js API Findings11 disclosures
Uses BRAT beta releasesNo
Dependencieschart.js, jspdf
Dev Dependencies@types/node, @typescript-eslint/parser, esbuild, eslint, eslint-plugin-obsidianmd, obsidian, tslib, typescript

main.js API Findings

These conservative findings come from static analysis of the latest release main.js. The table includes warnings and high-confidence informational findings; lower-confidence informational findings are omitted to reduce false positives. Warnings indicate usage of potentially risky APIs, but such APIs can be used safely if handled with care.

DisclosureDetected From
Cors Free Network AccessUses Obsidian request APIs
Dynamic Code Or Remote CodeEvaluates dynamic code or injects scripts
Embedded Base64 BlobIncludes large embedded base64 blobs
Full Vault AccessEnumerates vault files
Global Handlers Or TimersRegisters events, DOM handlers, or intervals
Markdown ProcessingRegisters markdown processors or renderers
Metadata AccessReads Obsidian metadata cache, Updates frontmatter through Obsidian APIs
Network AccessUses Obsidian request APIs, Uses browser network APIs
Private Network AccessReferences localhost or private-network addresses
Vault File WriteRenames, deletes, trashes, or copies vault files, Updates frontmatter through Obsidian APIs, Writes vault files
Workspace LayoutRegisters or manipulates workspace views and panes
FindingTypeConfidenceEvidence
Evaluates dynamic code or injects scriptsWarningHighdynamic_code:function_constructor (1)
References localhost or private-network addressesWarningMediumlocalhost (9)
Renames, deletes, trashes, or copies vault filesWarningHighapp.fileManager.renameFile (1), app.fileManager.trashFile (1)
Includes large embedded base64 blobsInfoHighbase64 blob (2)
Registers markdown processors or renderersInfoHighthis.registerMarkdownCodeBlockProcessor (2)
Registers events, DOM handlers, or intervalsInfoHighsetInterval (1), setTimeout (12), this.registerDomEvent (43), this.registerEvent (11)
Reads Obsidian metadata cacheInfoHighapp.metadataCache.getFileCache (1), app.metadataCache (4)
Updates frontmatter through Obsidian APIsInfoHighapp.fileManager.processFrontMatter (8)
References URLs or constructs URL objectsInfoHighhttp:// (17), https:// (4)
Uses browser network APIsInfoHighfetch (1), XMLHttpRequest (6)
Uses Obsidian request APIsInfoHighobsidian.requestUrl (1)
Persists plugin settings or dataInfoHighthis.loadData (1), this.saveData (1)
Registers plugin settings UIInfoHighthis.addSettingTab (1), Setting (44), obsidian.Setting (44)
Registers commands, ribbon icons, or status bar itemsInfoHighthis.addCommand (4), this.addRibbonIcon (1)
Accesses Obsidian vault APIsInfoHighapp.vault (17)
Enumerates vault filesInfoHighapp.vault.getAllLoadedFiles (1)
Opens or creates files through workspace or file manager APIsInfoHighapp.workspace.openLinkText (3)
Writes vault filesInfoHighapp.vault.create (1), app.vault.createBinary (1), app.vault.createFolder (1)
Accesses Obsidian workspace APIsInfoHighapp.workspace (6)
Registers or manipulates workspace views and panesInfoHighapp.workspace.getLeavesOfType (1), app.workspace.revealLeaf (1), registerView (1)

The above data may not be accurate and contain errors. For more information refer to the page about data collection.

Lines of Code

The plugin has a total of 7813 lines of code. The following chart shows the lines of code split by programming language.

Downloads

The following chart shows the total number of downloads of the plugin over time. The second chart shows the delta of downloads per week, which is the number of new downloads per week. New version releases are marked with vertical lines.

Version History

VersionRelease DateNote
1.0.02026-07-03None
1.1.02026-07-05None
1.1.12026-07-06Released while not listed
1.2.02026-07-09None
1.3.02026-07-10None
1.4.02026-07-12None

Blacklisted versions are versions that are known to cause major issues or contain security concerns and have thus been blacklisted by the Obsidian team. Obsidian will disable plugins on startup whose installed version is blacklisted. Released while not listed versions happened outside the period where the plugin was present in the community plugin list and are excluded from aggregate release statistics.