Skip to content

Releases: JamesCliffordSpratt/obsidian-habits

1.3.0

Choose a tag to compare

@github-actions github-actions released this 10 Jul 19:13

New: Break bad habits (experimental)

You can now track habits you're trying to reduce or quit — not just ones you're building. Requested in #1.

Enable it under Settings → Habits → Experimental → Break bad habits, then create a habit and set Goal to Stay under a limit:

  • Binary — avoid something entirely. The card shows Clean / Slipped boxes; days start clean, and a tap records a slip (or takes it back).
  • Repetition — stay at or under a daily count (e.g. at most 2 coffees). A limit of 0 means none at all.
  • Timed — stay under a daily number of minutes (e.g. at most 2 hours of gaming). Lower the limit over time as you cut down.

How it scores

  • Days you don't log count as staying within your limit — no daily bookkeeping required.
  • Streaks count consecutive days within the limit; going over breaks the streak.
  • A perfect day now means every build habit completed and every limit respected. A day with only break habits, all within limit, also counts.
  • Stats, heatmaps, charts and exports all understand limits: over-limit days show red, and days before a habit existed are neutral, not failures.

Why experimental?

The toggle is off by default while the design settles. It only gates creating limit habits — anything you make with it keeps working and keeps its meaning even if you switch the toggle off later, so there's no lock-in and nothing to migrate when the feature graduates.

Existing habits are completely unaffected: no data changes, no behavior changes.

Available in English, Deutsch, Español, Français and 简体中文.

Thanks to @lovelindhoni for the feature request (#1) — feedback on the experimental design is very welcome there.

1.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Jul 13:12

1.2.0 — Weekly & monthly habits

Habits can now run on a weekly or monthly schedule, not just daily. Pick a frequency when you create or edit a habit, and the plugin takes care of the rest.

New

  • Frequency picker — every habit can be Daily, Weekly, or Monthly. Weekly habits are due on a weekday you choose; monthly habits on a day of the month you choose.
  • Cards appear only when due — weekly and monthly habits show up in the dashboard and sidebar panel on their due date only, so your list stays focused on what actually needs doing today. A gentle "nothing due" message appears on empty days.
  • Smart month-end handling — for monthly habits, a day that a month doesn't have rolls to that month's last day. Set the 31st and February fires on the 28th (29th in leap years), April on the 30th, and so on — you never skip a month.

Streaks & stats

  • Streaks now count periods, not days: a weekly habit's streak is consecutive weeks completed, a monthly habit's is consecutive months.
  • Completion rates and perfect days ignore the days a habit isn't due, so off-days no longer drag your numbers down.
  • Habit pages adapt their charts: the activity chart plots each recent due date (labelled with the date it falls on) and a rolling completion-rate trend, with tiles relabelled to "Weeks completed" / "Months completed".

Notes

  • Fully backward compatible — existing habits are treated as Daily with no changes.
  • To log a weekly or monthly due date you missed, step back to it with the dashboard's date arrows.

1.1.1

Choose a tag to compare

@github-actions github-actions released this 06 Jul 05:35

Habits 1.1.0

Two new features, a safer dependency chain, and a stack of polish.

✨ New

  • 💬 Per-day comments — every dashboard card now has a comment flap along its bottom edge. Click it and the card flips over (with a 3D animation) to a comment box for the selected day — ideal for noting why a habit was missed or what made a great day work. Days with a comment show an accent-tinted speech bubble, comments live in your habit note's frontmatter alongside your records, and they can be included in PDF reports via a new export toggle. Can be disabled in settings.
  • 🌍 Localization — Habits is now available in English, Spanish, French, German, and Simplified Chinese, following your Obsidian language setting. Everything is translated: dashboard, sidebar panel, stats, export dialog, settings, menus, and notices.

🔒 Security & dependencies

  • Upgraded jsPDF to v4, resolving all published advisories against jspdf and dompurify (including GHSA-w532-jxjh-hjhj) — npm audit is clean
  • Removed jsPDF's unused dynamic <script> injection from the bundle — its pdfobjectnewwindow/pdfjsnewwindow output modes (which this plugin never uses; PDF export only ever calls output("arraybuffer")) created a <script> element to load code from a CDN. A build step now strips that capability from main.js entirely, clearing the community scorecard's dynamic-code-execution flag
  • Replaced the deprecated builtin-modules package with Node's built-in node:module API
  • Release assets (main.js, manifest.json, styles.css) are now published with GitHub artifact attestations, so you can cryptographically verify they were built from this repository

🐛 Fixes & polish

  • Long habit names stay on a single line and truncate with a proper ellipsis; tooltips always show the full name
  • Tighter card title spacing so more of each name fits — "Drink Water" no longer truncates at four cards per view
  • The comment indicator on the card flap now correctly shows its accent tint
  • Assorted card layout refinements

📦 Installation

Habits is available in the Obsidian community plugin browser: open Settings → Community plugins → Browse, search for "Habits", then install and enable. Already using Habits? This update will appear under Settings → Community plugins → Check for updates.

Found a bug or have an idea? Open an issue.

1.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Jul 22:30

Habits 1.1.0

Two new features, a safer dependency chain, and a stack of polish.

✨ New

  • 💬 Per-day comments — every dashboard card now has a comment flap along its bottom edge. Click it and the card flips over (with a 3D animation) to a comment box for the selected day — ideal for noting why a habit was missed or what made a great day work. Days with a comment show an accent-tinted speech bubble, comments live in your habit note's frontmatter alongside your records, and they can be included in PDF reports via a new export toggle. Can be disabled in settings.
  • 🌍 Localization — Habits is now available in English, Spanish, French, German, and Simplified Chinese, following your Obsidian language setting. Everything is translated: dashboard, sidebar panel, stats, export dialog, settings, menus, and notices.

🔒 Security & dependencies

  • Upgraded jsPDF to v4, resolving all published advisories against jspdf and dompurify (including GHSA-w532-jxjh-hjhj) — npm audit is clean
  • Replaced the deprecated builtin-modules package with Node's built-in node:module API
  • Release assets (main.js, manifest.json, styles.css) are now published with GitHub artifact attestations, so you can cryptographically verify they were built from this repository

🐛 Fixes & polish

  • Long habit names stay on a single line and truncate with a proper ellipsis; tooltips always show the full name
  • Tighter card title spacing so more of each name fits — "Drink Water" no longer truncates at four cards per view
  • The comment indicator on the card flap now correctly shows its accent tint
  • Assorted card layout refinements

📦 Installation

Habits is available in the Obsidian community plugin browser: open Settings → Community plugins → Browse, search for "Habits", then install and enable. Already using Habits? This update will appear under Settings → Community plugins → Check for updates.

Found a bug or have an idea? Open an issue.

1.0.0

Choose a tag to compare

@github-actions github-actions released this 03 Jul 15:28

Habits 1.0.0 — first official release 🎉

A habit tracker for Obsidian: build streaks, log daily habits, and watch your progress — with every habit stored as a plain Markdown note in your vault.

✨ Highlights

  • Carousel dashboard — add a ```habits``` code block to any note and log your day. Completed cards celebrate with an animation and glide to the back of the queue.
  • Three habit types — done/not-done, counted (8 cups of water), and timed (30 minutes, with +1/+5/+10 quick buttons).
  • Sidebar quick-log panel — tick off today's habits from anywhere, designed for narrow panes.
  • Streaks & statistics — current and best streaks, completion rates, perfect days, weekly/monthly goals, and per-habit heatmaps.
  • Charts on every habit page — a ```habit-metrics``` block renders 30-day activity and 12-week trend charts in your theme's colours.
  • Printable PDF reports — choose your metrics, date range, and layout with a live A4 preview; exports save straight into your vault.
  • Pause without penalty — ill or travelling? Paused days never break streaks or drag down your stats. Stopped habits keep their full history.
  • Daily-note aware — a dashboard inside 2026-07-01.md automatically shows that day's habits.
  • Mobile ready — responsive cards, long-press context menus, and a configurable mobile layout.

📦 Installation

Until Habits is available in the community plugin browser, install manually: download main.js, manifest.json, and styles.css from this release into <your vault>/.obsidian/plugins/habits/, then enable Habits in Settings → Community plugins. (Or use BRAT with this repo.)

🐛 Feedback

Found a bug or have an idea? Open an issue — feedback is very welcome.