Skip to content

Releases: summerdawn-ai/kagami

v1.0.0

Choose a tag to compare

@github-actions github-actions released this 01 Oct 20:29
69dd51f

What's Changed

This release contains a number of bugfixes related to event synchonization and how filters are evaluated.

Bugfixes

Full Changelog: v0.9.3...v1.0.0

v0.9.3

Choose a tag to compare

@github-actions github-actions released this 16 Sep 13:35
5ccddb7

What's Changed

Breaking Changes

Full Changelog: v0.9.2...v0.9.3

v0.9.2

Choose a tag to compare

@github-actions github-actions released this 20 Aug 09:05
9ea04af

What's Changed

Bugfixes

Other Changes

Full Changelog: v0.9.1...v0.9.2

v0.9.1

Choose a tag to compare

@github-actions github-actions released this 06 Aug 10:51
d4c8e82

What's Changed

Documentation Enhancements

Other Changes

Full Changelog: v0.9.0...v0.9.1

v0.9.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 19:32
d1b703c

What's Changed

Other Changes

  • Improve HTTP retry policies by @singularitopian in #21
  • Fix 412 Precondition Failed errors with --force sync and stale DB by @singularitopian in #22
  • Add --full sync flag and improve force/full semantics by @singularitopian in #23
  • Implement two-step best-match contact deduplication by @singularitopian with @Copilot in #26
  • Sync Microsoft contacts extended phone labels via MAPI extended properties + delta enrichment by @singularitopian with @Copilot in #29
  • Major refactor of items and helpers by @singularitopian in #31
  • Add XML doc comments across the codebase and comment-writing guidance to AGENTS.md by @singularitopian with @Copilot in #32
  • Refactor sync action application phase to SyncActionExecutor by @singularitopian with @Copilot in #33
  • Refactor sync engine: introduce link-centric planning pipeline by @singularitopian with @Copilot in #34
  • Partition link-state by endpoint-pair PartitionKey, remove EntityType by @singularitopian with @Copilot in #36
  • Fix JobExecutor to use cursor-based reads for planning instead of full-snapshot reads every run by @singularitopian with @Copilot in #35
  • Filtered-scope planning redesign: MovedOutOfScope, delta vs full-run semantics, single-read executor, options-only filter handling by @singularitopian with @Copilot in #37
  • Re-add important changes that were removed by bad merge conflict resolution by @singularitopian in #39
  • Implement route import/export through job pipeline; rename SyncService → CommandHandler by @singularitopian with @Copilot in #40
  • Fix performance for Google and Microsoft connectors by @singularitopian in #41
  • Fix Google group normalization; make contact conversion internal static and testable by @singularitopian with @Copilot in #42
  • Trigger Polly retry handler if Microsoft batch response contains 429 sub-responses by @singularitopian in #43
  • Fix small sync/export/match issues by @singularitopian in #44
  • Permanent per-item failures no longer fault the run or hold cursors by @singularitopian with @Copilot in #46
  • Refactor sync actions to be link-centric with live-only side IDs by @singularitopian with @Copilot in #45
  • Preserve Google system group memberships during contact updates by @singularitopian with @Copilot in #49
  • Pair endpoint cursors and retry expired delta reads as full/full by @singularitopian with @Copilot in #50
  • Add CLI-only --confirm execution mode with action display strings by @singularitopian with @Copilot in #47
  • Increase standard HttpClient total timeout to avoid masking transient 5xx failures by @singularitopian with @Copilot in #52
  • Handle Google People expired sync tokens from HTTP 400 EXPIRED_SYNC_TOKEN responses by @singularitopian with @Copilot in #51
  • Update writable contact serialization for Microsoft connector by @singularitopian with @Copilot in #53
  • Add per-command --verbose logging overrides to the Kagami CLI by @singularitopian with @Copilot in #54
  • Standardize sync logging UX, debug diagnostics, and action ordering; keep --list stdout pipe-safe by @singularitopian with @Copilot in #55
  • Ensure all log statements are written before exiting by @singularitopian in #57
  • Add CLI support for reverse synchronization in contacts sync command by @singularitopian with @Copilot in #56
  • Add exact category membership support to contact filters by @singularitopian with @Copilot in #58
  • Normalize line endings using .gitattributes by @singularitopian in #59
  • Re-add missing [*.cs] setting in .editorconfig by @singularitopian in #60
  • Document scoped sync, cursor resets, and prune safety in the README by @singularitopian with @Copilot in #63
  • Remove scheduled-jobs host model; add --interval and jobs admin commands by @singularitopian with @Copilot in #61
  • Align configuration loading behavior across projects by @singularitopian in #65
  • Fix SQLite native dependency vulnerability by @singularitopian in #66
  • Add calendar events sync with Google/Microsoft connectors, events CLI, and item category refactor by @singularitopian with @Copilot in #62
  • Improve contact and event filters by @singularitopian in #67
  • Improve authentication, add endpoint commands by @singularitopian in #68
  • Use immutable ids for Microsoft Graph contacts and events by @singularitopian in #69
  • Refactor endpoint types for Microsoft and Google integration by @singularitopian in #70
  • Improve event deduplication by @singularitopian in #71
  • Fix cross-provider event synchronization semantics by @singularitopian in #72
  • Clarify synchronization action logging messages by @singularitopian in #73
  • Improve documentation structure and clarity by @singularitopian in #74
  • Document as CLI, not library, for now by @singularitopian in #75
  • Improve forced conflict diagnostics on sync by @singularitopian in #76
  • Fix GitHub build warnings and errors by @singularitopian in #77
  • Fix kagami build warnings and issues by @singularitopian in #78

Full Changelog: v0.1.0-preview...v0.9.0

v0.1.0-preview

v0.1.0-preview Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 17 Apr 19:16
9ffc8d6

What's Changed

Other Changes

  • Add initial Kagami codebase with real Google/Graph contact sync, tests, and CLI by @Copilot in #1
  • Add interactive kagami contacts and kagami jobs CLI commands by @Copilot in #2
  • Improve interactive cli functionality by @singularitopian in #4
  • Replace Google service-account credential with OAuth 2.0 user flow by @Copilot in #3
  • Add full contact photo sync for Google and Microsoft connectors by @Copilot in #6
  • Add kagami jobs unlock command to force-clear stuck job leases by @singularitopian in #8
  • Improve change detection and duplicate detection by @Copilot in #5
  • Refactor Planner to single unified PlanActions entrypoint by @Copilot in #7
  • Rename A/B → Source/Destination; replace --mode with --bidirectional/--prune/--on-conflict; add contacts import by @Copilot in #9
  • Refactor credential system: inline credentials, Authentication namespace, pre-built credential objects; rename Graph→Microsoft by @Copilot in #10
  • Remove PersistenceOptions, hardcode DB path in LocalAppData, replace --config with --settings by @Copilot in #11
  • Merge Summerdawn.Kagami.Cli into Summerdawn.Kagami by @Copilot in #12
  • Fix code style compliance and add CI test workflow by @Copilot in #13
  • Fix invalid URLs in Google photo sync by @singularitopian in #15
  • Per-item error handling and ILogger logging for sync, export, and import by @Copilot in #14
  • Improve sync planning: null-as-deleted detection, early-skip, and NoOp logging by @Copilot in #16
  • Fix false-positive change detections in GoogleContactsConnector due to etag mismatch by @Copilot in #17
  • Fix mixed line endings and enforce CRLF line endings for .cs files by @singularitopian in #18
  • refactor: replace IConnectorFactory with Func<string, IConnector> + keyed DI per endpoint by @Copilot in #19
  • Add Polly retry policies to Google and Microsoft named HttpClients by @Copilot in #20

New Contributors

Full Changelog: https://github.com/summerdawn-ai/kagami/commits/v0.1.0-preview