A Cloud Sync reliability release that replaces whole-file mirroring with independent UUID-based artifact synchronization, merges unrelated changes safely across computers, resolves same-item conflicts deterministically, preserves deletions with tombstones, synchronizes sample favourite folders, expands Topic Filter presets across connections, enforces durable canonical identities, hides ACL features automatically when a Kafka broker has no authorizer configured, and restores filtered topic lists smoothly when switching connections.
What changed
- Rebuilt Bunny Saved Data Cloud Sync around independent per-UUID objects so adding, editing, or deleting one saved item can no longer overwrite unrelated records in the same local aggregate file.
- Added versioned cloud artifact envelopes with creation and update timestamps, revision and source-device UUIDs, artifact validation, and deterministic latest-UTC conflict resolution for edits made on multiple computers.
- Added persistent tombstones for deleted cloud items so an offline or stale computer cannot resurrect records that were removed elsewhere.
- Made synchronization selective by listing each artifact family, downloading only changed checksums, uploading only changed UUIDs, tracking pending work per item, and retrying failed operations without blocking successful local saves.
- Expanded per-item Cloud Sync across criteria presets, Topic Filter presets, saved message-list views, playbooks, KSQL scripts, data samples, sample favourite folders, and Live Views with Topic Flows.
- Moved sample favourite All and custom folders from browser localStorage into a validated Java repository and REST API, with optimistic UI updates, cross-window refresh, cloud refresh, ordering, membership cleanup, and failure recovery.
- Upgraded Topic Filter presets to immutable UUID identities with creation and update timestamps, explicit multi-connection applicability, ID-based editing and deletion, and machine-local last-filter and default-preset state.
- Standardized canonical UUID generation and backend validation for criteria presets, Topic Filter presets, message-list views, playbooks, KSQL scripts, data samples, sample favourite folders, and Live Views.
- Hardened persisted-data loading so malformed records, duplicate identities, non-canonical UUIDs, invalid cloud envelopes, and incompatible sync-state versions are rejected or reset safely instead of being silently accepted.
- Added dynamic Java scheduling that honors the current Cloud Sync check interval after runtime settings changes, while retaining startup, focus, online, repository-write, renderer interval, and manual Sync now triggers.
- Improved cloud-driven UI refresh handling for playbooks, KSQL scripts, data samples, message-list views, sample favourite folders, Topic Filters, criteria presets, and Live Views, including visible notification when a downloaded change cannot be refreshed locally.
- Updated Cloud Sync settings and help content to explain per-item synchronization, latest-UTC same-item conflict handling, tombstones, pending UUID items, and the data that remains local to each computer.
- Detected Kafka brokers without an ACL authorizer during connection and reconnection, hid the Access Control List navigation for those environments, and avoided showing the misleading Failed to load ACLs error for SecurityDisabledException responses.
- Improved connection switching by restoring and applying each connection's saved Topic Filter before showing topic rows, with an accessible loading state and a smooth reduced-motion-aware fade-in that prevents the unfiltered list from flashing.