Repository navigation
Releases: mcaay/obsidian-google-calendar-sync
Release list
v0.9.4
v0.9.3
Security fixes from the 2026-10-03 audits: titles from other people can no longer add clickable links, math or comments to a note; notes can no longer make the plugin create, edit or delete items it did not issue or render; Disconnect now revokes access at Google and signs out every device that shares the connection; deleting a meeting you organize now notifies its guests.
v0.9.2
No behavior changes. Addresses the Obsidian community directory review: release files are now built and attested by GitHub Actions, and the plugin no longer uses sessionStorage or a CSS :has selector.
v0.9.1
v0.9.0
iPhone support: connect your phone with a one-time setup code carried by Obsidian Sync. See Connect another device. Verified on a physical iPhone; Android is untested.
Requires Obsidian 1.13 or later. The plugin's settings now appear in Obsidian's settings search.
Only edits made in Obsidian's editor on your device reach Google. A change that arrives through Sync, another app or a plugin that writes the file shows Google's value again at the next sync instead of overwriting Google.
A refused edit shows a notice with the value you typed. Network, quota and account problems keep your work queued and retry.
Editor fixes: pasted task rows become new tasks, Vim C, D, cc and S change only the title, and undo keeps working after syncs, including undo right after creating a task.
Pending work from 0.8.2 is migrated on first load.
v0.8.2
Fixed completed tasks appearing in another daily note when switching notes during a save. Completed tasks remain in the note where they were checked off.
Renamed the plugin to Calendar Sync by mcaay. The plugin ID and saved settings are preserved.
v0.8.1
Undoing a Google Task deletion after the five-second grace period now creates a replacement task and links the restored Markdown row to its new Google ID.
- Preserves the original task list, due date, restored title and completion status.
- Keeps the Markdown row identity stable so native Vim undo/redo and Cmd+Z continue to work.
- Waits for confirmation of the original deletion before inserting a replacement. Offline retries, plugin reloads and uncertain creation responses keep the same durable operation.
- Undo within five seconds still cancels deletion. Recurring Calendar deletion still affects only the selected occurrence.
Google Tasks API limits: a recreated task is a one-off task because recurrence and native reminder times cannot be restored through the public API. The API also has no delete-all-occurrences control, so the plugin cannot guarantee deletion of an entire repeating task series. Use Google's own Delete all action when that guarantee is needed. Calendar events are never recreated from Obsidian.
Validation: 119 unit tests, lint, strict TypeScript checks, production build, and native keyboard tests in a separate Obsidian vault with simulated Google responses. The app tests cover late undo, repeated deletion, redo, status changes on replacement tasks, Cmd+Z and plugin reloads. No live recurring-task series deletion is claimed.
Download google-daily-notes.zip and replace the plugin files in your vault, then disable and enable the plugin. Keep your existing data.json.
v0.8
First public testing release of Google Calendar Sync by mcaay.
- Google Calendar events and scheduled Google Tasks appear as editable Markdown in daily notes.
- Vim navigation, title editing and Cmd+Enter completion sync with Google.
- New Google Tasks use the daily note's date.
- Deleting a row gives you five seconds to undo with Vim
uor Cmd+Z before it reaches Google. Recurring calendar deletion affects only the selected occurrence. - Automatic sync, with no manual sync button.
Requires Obsidian desktop 1.11.4 or newer and your own Google desktop OAuth client. Mobile support is a v2 target. This release has not yet been submitted to Obsidian's community plugin directory.
Download google-daily-notes.zip, extract its folder into your vault's .obsidian/plugins/, and follow the README setup instructions. The individual plugin files are also attached.
Validation: 110 unit tests, lint, strict TypeScript checks, production build, and keyboard integration tests in an isolated Obsidian vault using simulated Google responses. The release archive's version and contents were checked.