v0.9.0 -- Type Registry¶
Released: March 2026
This release introduces a declarative type registry that replaces per-type boilerplate code, adds instance-level type selection, real-time sync progress, and broken reference detection.
What's New¶
Instance Settings¶
Choose which of the 12 Zendesk configuration types to sync per connection. Disabling a type stops future syncs but preserves existing snapshots. Re-enabling pulls fresh data on the next sync.
Types are grouped into 5 categories with toggle switches and category-level select/deselect controls. All 12 types are enabled by default.
Learn more about Instance Settings
Sync Progress Indicator¶
A real-time progress bar replaces the simple "Syncing..." spinner. See which type is being synced, your position in the sequence, elapsed time, and completed types with item counts.
The indicator polls every 1 second and collapses to a summary after completion.
Learn more about Sync Progress
Broken Reference Detection¶
Six new health checks (REF-001 through REF-006) detect configuration items that reference deleted or missing Zendesk objects. The scanner cross-references dependency data against snapshot history to flag triggers, automations, macros, views, SLA policies, and ticket forms with broken references.
Findings appear in the health check dashboard, PDF reports, and AI-powered executive summary.
Learn more about Broken Reference Detection
Improved Dependency Accuracy¶
Dependency extraction accuracy improved by 24%, from 374 to 463 dependencies on a typical instance. Eight missing reference patterns were ported from the frontend, and two new target types (schedules and brands) are now captured. String-ID coercion bug fixed, eliminating silent drops of group, brand, assignee, and ticket form references.
What Changed¶
Type Registry¶
All 12 Zendesk object types are now defined in a single declarative registry file. This replaced ~857 lines of per-type boilerplate with ~550 lines of registry-driven code, a net reduction of ~617 lines. Adding a new type is now a ~20-line config entry instead of touching 12--20 files.
Key changes:
- ZendeskService: 12 per-type getter methods replaced by a single
fetchConfigType()method - SyncService: 13 per-type sync methods replaced by a single
syncType()method - SyncController: 13 handlers collapsed into 1 parameterised handler
- Routes: 15 hardcoded routes collapsed into 3 parameterised routes
- parseFieldReference: Refactored from ~170-line if/else chain to ~45-line registry-driven pattern matcher
Health Checks¶
The health check engine now includes 32 checks (previously 26). The 6 new checks are broken reference detections (REF-001 through REF-006) in the Data Hygiene category.
Sync Filtering¶
Full sync now respects each connection's enabled types configuration. Disabled types are skipped, reducing sync time proportionally. Selective (single-type) sync validates against the enabled types list.
Database Migration¶
This release includes a backward-compatible database migration:
- add_enabled_types -- Adds an
enabledTypescolumn to the connection model. Existing connections are backfilled with all 12 types enabled. An empty array means "sync all types", ensuring pre-migration connections work identically without any changes.
Upgrade Notes¶
- No action required. The migration is fully backward-compatible.
- Existing connections continue to sync all types by default.
- Health check scores may change slightly due to the 6 new broken reference checks.