What's New in v0.0.7
What’s New in v0.0.7
Features
- SQL Server tlog — Datastream parity: Bounded
fn_dblog with O(1) idle gate via sys.dm_db_log_stats; server-side filtering of COMPENSATION, CDC shadow, ghost cleanup, and heap replicate records; UTC normalisation of log timestamps; start_from_time property to start replication from an RFC3339 timestamp
- ldfparse — direct .ldf binary parser: New
cmd/ldfparse tool and tlog_ldf connector mode reads SQL Server .ldf files directly off disk, bypassing fn_dblog entirely. Block-level and VLF-level parallelism; WalkContinuous drops CDC event latency from ≤5 s to ≤25 ms on active tables
nanosync parse wal command: Generic WAL parsing CLI — --type sqlserver, --connection, --from, --follow, --filter, --out json|text, --stats. SQL Server implements the new connector.WALParser interface via ldfreader
- CDC checkpoint frequency:
pipeline.cdc.checkpoint_frequency config field (default 100K events) decouples checkpoint writes from sink batch cadence
- Phase-aware TUI columns: Pipeline detail view adapts columns by phase — snapshot (PROGRESS, SCANNED, EST TOTAL, ETA, PARTS) vs CDC live (CHANGES, LAG, SRC EV/S, SINK EV/S, BYTES/S) vs stopped; ETA format improved to
~Xm Ys
Bug Fixes
- CDC-only fresh start data loss: Start LSN was held in memory only — a crash before 100K events caused the next restart to re-probe the log tip at “now”, silently dropping events. Fix: new
connector.StartLSNReporter interface; SQL Server connector stores the computed start LSN during Subscribe; manager writes it to checkpoints and pipeline_runs.from_lsn immediately after Subscribe returns
- Backfill+CDC mid-snapshot crash data loss: Checkpoint was saved only after the full backfill completed, so a mid-snapshot crash caused the restart to re-probe a new log tip and lose events that occurred during the original snapshot. Fix:
Checkpoints.Save moved to immediately after ProbeLSN, before any partition runs
- Pipeline delete now removes the run log directory (
<log-dir>/<name>/) via os.RemoveAll
Installation
curl -fsSL https://nanosync.dev/install.sh | sh