Skip to content

v1.3.10

Choose a tag to compare

@foru17 foru17 released this 04 Jul 07:11

This release comes from a project-wide deep review (architecture / database / performance / frontend / UX) and fixes the high-risk findings. Full report: docs/dev/deep-review-2026-07.md.

Fixed

  • RuleSet/IPCIDR nodes in the chain-flow entry column (v1.3.9 regression) — mihomo traffic keys on the top-level policy group again; a one-time startup migration remaps and merges the polluted rows written since v1.3.9
  • 30-day ranges effectively contained only 7 days of dimension data — hourly dim tables now follow the hourly retention window instead of the minute-level cutoff
  • Silent missing data when ClickHouse writes are on but reads stay on SQLite — write reduction now requires reads to prefer ClickHouse, with a startup warning for the misconfiguration
  • CSV association columns dropped values on substring collisions (a.com vs aa.com) — delimiter-aware dedup everywhere
  • Batch writes double-counted on retry — the flush is now one atomic transaction
  • Cross-backend data bleed while switching backends — WS pushes carry backendId; the client drops mismatched in-flight pushes
  • Error surfaces — route/global error boundaries; chain-flow failures show a retry card instead of vanishing
  • Dark mode — theme-aware world map, upload-arrow color fix, missing dark variants on health button/badge

Changed

  • Chain-flow realtime merge O(R×N) → O(R+N), top-N row cap (RULE_CHAIN_FLOW_MAX_ROWS)
  • Concurrent WS broadcast payload fetch + outbound backpressure (WS_MAX_BUFFERED_BYTES)
  • Dropped four never-used expression indexes (write amplification on the hottest tables)
  • Collapsed the drifted single-update write path into the batch implementation

Upgrade notes: no manual steps — the rule-name cleanup and index drops run automatically at startup. See CHANGELOG.md / CHANGELOG.en.md for details.