Repository navigation
Releases: Drexel-UHC/notion-sync
Release list
v2.0.0
What's Changed
- fix(clean): surface URLs canonicalized in dry-run summary by @ran-codes in #71
- feat(clean): normalize folderPath separator to forward slashes by @ran-codes in #72
- test(clean): CLI e2e test covering all 9 migrations budnled into
go testby @ran-codes in #73 - fix(sync): stop pinning file mtime to Notion last_edited_time by @ran-codes in #75
- design of v1.4 push feature by @ran-codes in #76
- Notino-sycn puhs v1.4 pahse 1 delveopement - confirmation gate before any Notion write by @ran-codes in #77
- feat(push): phase 2 — validation gate halts run before any Notion write by @ran-codes in #79
- refactor(push): unify scanPushable / scanLocalHalts / ValidatePushQueue into one classifier by @ran-codes in #86
- refactor: thin out cmd/main.go + rename util→pathutil (#83) by @ran-codes in #88
- chore: add contributor.md and tmp markdown staging by @ran-codes in #89
- feat(push): validate select/status/multi_select against schema options by @ran-codes in #92
- [Docs] Push phase 3 - Cell level write engine - Plan and DAG reconciliaiton and updates by @ran-codes in #94
- feat(markdown): rich-text push parser + downstream docs (Gap 2 + Gap 1, #95) by @ran-codes in #96
- feat(push): per-cell diff vs gate snapshot — skip no-op rows (3a, #55) by @ran-codes in #97
- feat(push): send-changed-fields + read-back verify + auth halt (3b/3c, #55) by @ran-codes in #98
- feat(push): harden rich-text parser + un-skip rich_text on push (#95, #55) by @ran-codes in #99
- feat(push): structured JSON run summary — single agent-readable sink (Phase 4, n41, #55) by @ran-codes in #101
- [E2E Testing] Phase 1
test-pushe2e coverage: rich-text un-skip (Phase 3d + Page 8) by @ran-codes in #106 - perf(test-push): cut Notion round-trips via single-query sweep + store-verify trust (B+C, #104) by @ran-codes in #108
- feat(push): 2-way per-cell conflict report on halt (Option A, #103) by @ran-codes in #109
- test(test-push): close encoder-breadth & halt-class coverage gaps (P1-P6, V6/V7, #107) by @ran-codes in #110
- [E2E Testing] Test instance
test-pushv1.0.0- 5/25/2026 + minor skill stale docs udpates by @ran-codes in #111 - refactor(agents): embed AGENTS.md template + force-upgrade on drift (#87) by @ran-codes in #112
- docs(agents): rewrite AGENTS.md push section, ultra-conservative posture (#87) by @ran-codes in #113
Full Changelog: v1.3.0...v2.0.0
v1.3.0
What's Changed
- feat: canonicalize Notion page URLs to app.notion.com/p/{id} by @ran-codes in #64
- feat: regenerate AGENTS.md without sync (agents-md command) by @ran-codes in #65
- docs(agents): align AGENTS.md template with canonical URL behavior by @ran-codes in #67
Full Changelog: v1.2.0...v1.3.0
v1.2.0
What's Changed
- feat: relax title-property exclusion in push command by @ran-codes in #52
- [E2E testing] add e2e push coverage to single-datasource skill by @ran-codes in #56
- feat: drop per-file notion-frozen-at; extend clean migration by @ran-codes in #58
- fix(push): refetch precise last_edited_time after UpdatePage by @ran-codes in #59
- fix(import): detect page-on-databases-endpoint 400 in auto-detect by @ran-codes in #61
Full Changelog: v1.1.0...v1.2.0
v1.1.0
What's Changed
- feat: push command — reverse sync frontmatter properties to Notion by @ran-codes in #47
- chore: add new Claude Code skills and enhance critical-code-reviewer by @ran-codes in #49
- feat: append trailing newline to .md and JSON outputs by @ran-codes in #50
Full Changelog: v1.0.1...v1.1.0
v1.0.1
What's Changed
- Strip rotating S3 presigned URLs from synced files (closes diff churn) by @ran-codes in #46
Full Changelog: v1.0.0...v1.0.1
v1.0.0
What's Changed
- Remove SQLite store and output-mode flag by @ran-codes in #42
- Use UUID-based filenames with one-time migration by @ran-codes in #43
Full Changelog: v0.3.0...v1.0.0
v0.3.0
What's Changed
- Generate CLAUDE.md context file for notion sync workspace (for user agents) by @ran-codes in #32
- Add API key validation and config get command by @ran-codes in #33
- Add page-level sync support by @ran-codes in #34
- [Chore] Add clean and ship CLI skills by @ran-codes in #36
- [Bug Fix] Remove SQLite fallback from skip logic by @ran-codes in #38
Full Changelog: v0.2.1...v0.3.0
v0.2.1
What's Changed
- fix: disambiguate duplicate page titles to prevent silent overwrites by @ran-codes in #30
Full Changelog: v0.2.0...v0.2.1
v0.2.0
What's New in v0.2
SQLite Store
Local SQLite database (_notion_sync.db) now stores all synced pages with full-text search. Use --output-mode to choose: markdown, sqlite, or both (default).
- #21 — Add
internal/storepackage with schema and CRUD - #22 — Wire SQLite store into sync pipeline
- #23 — Add
--output-modeCLI flag
Notion API v2 — Multi-Data-Source Databases
Databases with multiple data sources (linked views) now sync into subfolders automatically.
- #26 — Multi-data-source support
New Properties & File mtime
unique_id, created_by, and last_edited_by properties are now synced. File modification times match notion-last-edited.
- #20 — New property types + mtime preservation
Testing Infrastructure
Extracted NotionClient and BlockFetcher interfaces for mock-based testing. Added unit, integration, and system test suites.
Full Changelog: v0.1.4...v0.2.0
v0.1.4
What's Changed
- fix: refresh no longer re-syncs all pages on every run by @ran-codes in #11
- feat: add --ids flag to selectively refresh specific pages by @ran-codes in #13
Full Changelog: v0.1.3...v0.1.4