Skip to content

v1.1.0

Choose a tag to compare

@github-actions github-actions released this 24 Sep 18:23
· 5 commits to main since this release

✨ Added

  • JSON dictionaries: one file per language in assets/lang/ (en, fa, ru, zh), loaded at startup with English fallback; test/i18n_parity_test.dart enforces identical key sets.
  • Russian and Chinese UI (locale switch in Settings, persisted; Persian stays the only RTL locale).
  • Release workflow now ships Windows x64 (zip), Linux x64 (tarball) and macOS arm64 (zipped .app, Gatekeeper note in README).
  • Port Scanner tab: TCP sweep with host + ports spec (80,443,8000-8010, max 4096 ports), bounded-concurrency batches, open/closed/filtered states with well-known service guesses, copy-open and clear actions. Fully localized and theme-aware.
  • Alert log: status transitions recorded with severity (critical/warning/info), unread badge on the matrix bell (red when the latest is critical), newest-first dialog with per-event RTT/loss detail and clear-all. Boot baselines (pending → anything) are not logged.
  • Unit tests for traceroute host validation, metrics-snapshot decoding, the alert log and CSV export.
  • CSV export: one-click snapshot of all target metrics (RFC 4180 quoting, sorted by id) to Documents/VeloceNet-Studio/velocenet-metrics-<timestamp>.csv, with copy-path feedback. The button shows a spinner and ignores taps while exporting (no duplicate downloads), then confirms with file name + size.

🐛 Fixed

  • Traceroute fallback races: stale stdout/exit-code/DNS callbacks from a killed run can no longer overwrite the new trace (generation counter + subscription cancel in stop()).
  • Traceroute host validation: IPv4 (octet-checked), IPv6 (±brackets) and hostnames accepted; shell metacharacters and empty hosts rejected with an error instead of a silent no-op.
  • Traceroute parser: IPv6 hop addresses recognized; RTT now averages all samples per line (was first-sample only, decimals truncated on Linux).
  • Traceroute maxHops/timeoutMs clamped in Dart before FFI (unclamped maxHops truncated to u8) and before system-prober arguments.
  • Metrics snapshot JSON now decodes in a background isolate (compute) with backpressure (overlapping ticks skipped); malformed payloads keep the previous frame.

🔄 Changed

  • Bandwidth interface counters migrated from GetIfTable (32-bit, wraps every ~4 GiB) to GetIfTable2 (64-bit InOctets/OutOctets, real TransmitLinkSpeed, UTF-16 friendly names). Requires the Win32_NetworkManagement_Ndis windows-sys feature.