Skip to content

Releases

v0.1.9

Choose a tag to compare

@github-actions github-actions released this 05 Nov 12:32
v0.1.9
3315204

What's new in 0.1.9

This release makes sks3200 monitor much gentler on the switch, and fixes text that was unreadable on light terminals.

Upgrading from 0.1.7 or earlier? 0.1.8 moved the read commands under show (so sks3200 status is now sks3200 show status) and added write commands that change the real switch by default. See Also in 0.1.8 below before upgrading.

Fixes

  • Unreadable text on light terminals. MAC addresses, config values and footer text could render white on white (the text was there if you selected it). Each theme now paints its own background, so text stays readable whatever your terminal's colour scheme, and status colours have darker variants in the light theme. The initial theme follows COLORFGBG where your terminal sets it; press t to toggle.
  • MAC table columns no longer clip labels such as VLAN 100 and Port 10.
  • Pane and switch changes (Tab, ←/→) now load data straight away, instead of showing "Waiting for data..." for up to a full refresh interval.
  • Partial failures no longer blank the dashboard. If system info fails to load, port statistics and the MAC table still do. Config pane fetch errors are now shown, instead of the pane silently emptying.
  • Traffic rates were measured against the wrong earlier sample and read roughly twice as high as they should. Fixed.

Gentler on the switch

The embedded web server on these switches can freeze under heavy polling. The dashboard now:

  • fetches the dynamic MAC table (a full hardware table dump on the switch) at most every 30 s, rather than on every refresh;
  • reuses one keep-alive connection across refreshes rather than opening a new one each time;
  • refreshes at most once a second from key presses, so holding a key cannot flood the switch;
  • stops a refresh at the first timeout or connection failure, and after two refreshes with no answer at all, sends a single probe request per refresh until the switch responds;
  • only redraws the screen when something has changed.

Behaviour change

  • show statistics --watch now defaults to a 5 s interval (previously 2 s), with a 3 s minimum. Asking for less prints a warning and uses 3 s.

Also in 0.1.8

0.1.8 was published without release notes, and its prebuilt binaries were never attached because the release job failed (it was available from crates.io only). If you're upgrading from 0.1.7, these changes are new to you as well, and the first one breaks existing scripts.

Breaking: read commands moved under show

The read-only commands from 0.1.7 are now subcommands of show, so scripts written for 0.1.7 fail with unrecognized subcommand. Add show in front:

  • sks3200 status becomes sks3200 show status
  • sks3200 ports becomes sks3200 show ports
  • sks3200 statistics --watch becomes sks3200 show statistics --watch
  • likewise mac, static-mac, trunk, vlan, stp, loop, igmp, storm, mirror, network and all

monitor and config-init stay at the top level.

Read-write switch management

0.1.7 was read-only. 0.1.8 added write support across the switch's configuration:

  • set commands for ports, device description, VLANs, IGMP, network settings, storm control, STP, port mirroring, trunking and loop protection, plus save to write the running config to startup;
  • clear statistics and clear mac;
  • reboot and factory-reset, which both require --yes;
  • backup and restore of the switch configuration as JSON;
  • a config editor in the monitor Config pane (Enter to edit a field, a to apply, s to save).

Writes apply to the real switch by default. Use --dry-run to preview a change against a built-in mock without touching the switch, or --mock to sandbox every command.

Dashboard

  • Per-second error-rate columns and a colour-coded error ratio (green below 0.1%, yellow up to 1%, red above).
  • An aggregate row totalling throughput across all ports.
  • Traffic sparklines for each active port.
  • A MAC churn counter and an active port count in the header.
  • A dark/light theme, toggled with t.

Switch-friendliness

  • Session cookies are cached on disk (~/.cache/sks3200/sessions/, 10-minute lifetime), so repeated commands reuse a login instead of authenticating every time.
  • Requests are paced, and the dashboard refreshes every 10 s by default (3 s minimum). System info refreshes every 60 s, and Config pane data loads only while that pane is open.

Dependencies

reqwest 0.13, ratatui 0.30, crossterm 0.29, toml 1.2 and md-5 0.11.

0.1.1 to 0.1.7: first release

0.1.1 was the first release, and 0.1.2 to 0.1.7 (all published the same day) only fixed the release pipeline: prebuilt binaries, the Homebrew tap (brew install planetf1/tap/sks3200) and crates.io publishing. None of them changed how the tool behaves.

That first release was read-only. It could:

  • query system info (firmware, IP, MAC address, temperature), port status and settings, traffic statistics (with --watch for a live view), dynamic and static MAC tables, trunks, VLANs, STP, loop protection, IGMP snooping, storm control, port mirroring and network settings, or everything at once with all;
  • output raw JSON with -j for scripting;
  • manage several switches from one config file (config-init writes a template), selected with -s;
  • run a live monitor dashboard in the terminal.

Install sks3200 0.1.9

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.9/sks3200-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install planetf1/tap/sks3200

Download sks3200 0.1.9

File Platform Checksum
sks3200-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sks3200-x86_64-apple-darwin.tar.xz Intel macOS checksum
sks3200-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sks3200-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.8

Choose a tag to compare

@planetf1 planetf1 released this 05 Nov 11:17
v0.1.8
14a502e

What's new in 0.1.8

These notes were added after release. The release job for 0.1.8 failed, so no prebuilt binaries are attached here; install it from crates.io (cargo install sks3200 --version 0.1.8), or use 0.1.9, which includes everything below.

Breaking: read commands moved under show

The read-only commands from 0.1.7 are now subcommands of show, so scripts written for 0.1.7 fail with unrecognized subcommand. Add show in front:

  • sks3200 status becomes sks3200 show status
  • sks3200 ports becomes sks3200 show ports
  • sks3200 statistics --watch becomes sks3200 show statistics --watch
  • likewise mac, static-mac, trunk, vlan, stp, loop, igmp, storm, mirror, network and all

monitor and config-init stay at the top level.

Read-write switch management

0.1.7 was read-only. 0.1.8 added write support across the switch's configuration:

  • set commands for ports, device description, VLANs, IGMP, network settings, storm control, STP, port mirroring, trunking and loop protection, plus save to write the running config to startup;
  • clear statistics and clear mac;
  • reboot and factory-reset, which both require --yes;
  • backup and restore of the switch configuration as JSON;
  • a config editor in the monitor Config pane (Enter to edit a field, a to apply, s to save).

Writes apply to the real switch by default. Use --dry-run to preview a change against a built-in mock without touching the switch, or --mock to sandbox every command.

Dashboard

  • Per-second error-rate columns and a colour-coded error ratio (green below 0.1%, yellow up to 1%, red above).
  • An aggregate row totalling throughput across all ports.
  • Traffic sparklines for each active port.
  • A MAC churn counter and an active port count in the header.
  • A dark/light theme, toggled with t.

Switch-friendliness

  • Session cookies are cached on disk (~/.cache/sks3200/sessions/, 10-minute lifetime), so repeated commands reuse a login instead of authenticating every time.
  • Requests are paced, and the dashboard refreshes every 10 s by default (3 s minimum). System info refreshes every 60 s, and Config pane data loads only while that pane is open.

Dependencies

reqwest 0.13, ratatui 0.30, crossterm 0.29, toml 1.2 and md-5 0.11.

Full Changelog: v0.1.7...v0.1.8

v0.1.7

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:57
v0.1.7
2f8e236

Install sks3200 0.1.7

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.7/sks3200-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install planetf1/tap/sks3200

Download sks3200 0.1.7

File Platform Checksum
sks3200-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sks3200-x86_64-apple-darwin.tar.xz Intel macOS checksum
sks3200-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sks3200-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.6

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:50
v0.1.6
2c23570

Install sks3200 0.1.6

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.6/sks3200-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install planetf1/tap/sks3200

Download sks3200 0.1.6

File Platform Checksum
sks3200-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sks3200-x86_64-apple-darwin.tar.xz Intel macOS checksum
sks3200-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sks3200-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.5

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:41
v0.1.5
faae8e2

Install sks3200 0.1.5

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.5/sks3200-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install planetf1/tap/sks3200

Download sks3200 0.1.5

File Platform Checksum
sks3200-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sks3200-x86_64-apple-darwin.tar.xz Intel macOS checksum
sks3200-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sks3200-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum

v0.1.4

Choose a tag to compare

@github-actions github-actions released this 22 Jul 18:37
v0.1.4
614ac07

Install sks3200 0.1.4

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/planetf1/sks32kmon/releases/download/v0.1.4/sks3200-installer.sh | sh

Install prebuilt binaries via Homebrew

brew install planetf1/tap/sks3200

Download sks3200 0.1.4

File Platform Checksum
sks3200-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
sks3200-x86_64-apple-darwin.tar.xz Intel macOS checksum
sks3200-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
sks3200-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum