Skip to content

Commit 2fc9626

Browse files
committed
release: v0.2.0
Bump all workspace crates + companions to 0.2.0. CHANGELOG.md stamped with the v0.2.0 section (mdns capability, typed errors, feature-gated db, cargo-audit CI, completions + man + sigstore, packaging templates) and the version reference links. - crates/netscli-core/Cargo.toml: 0.1.1 -> 0.2.0 - crates/netscli-mcp/Cargo.toml: 0.1.1 -> 0.2.0 + netscli-core path-dep version pin 0.1.1 -> 0.2.0 - apps/netscli-cli/Cargo.toml: 0.1.1 -> 0.2.0 + both netscli-core and netscli-mcp path-dep pins updated - apps/netscli-gui/src-tauri/Cargo.toml + tauri.conf.json + package.json - site/src/data/site.ts version field used in SoftwareApplication JSON-LD - packaging/{homebrew,scoop,aur} version fields (URLs automatically resolve to the v0.2.0 release once tagged) All 67+ tests green. cargo clippy --all-targets -- -D warnings clean. cargo fmt --check clean.
1 parent f02babf commit 2fc9626

12 files changed

Lines changed: 41 additions & 19 deletions

File tree

‎CHANGELOG.md‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,26 @@ version and release together.
99

1010
## [Unreleased]
1111

12+
## [0.2.0] — 2026-04-18
13+
1214
### Added
15+
- `netscli completions <bash|zsh|fish|powershell|elvish>` subcommand that
16+
writes a shell-completion script to stdout. Package managers
17+
regenerate completions at install time by shelling out to the
18+
installed binary, so they never drift from the CLI surface.
19+
- `netscli man` subcommand that renders the roff-format man page from
20+
the clap command tree to stdout.
21+
- Sigstore keyless signing in `.github/workflows/release.yml`. Every
22+
release asset now ships with a `.sig` + `.pem` alongside the `.sha256`,
23+
verifiable by anyone with `cosign verify-blob`. No paid cert, no
24+
long-lived secrets; uses the GitHub Actions OIDC token exchanged via
25+
Fulcio for a short-lived signing cert bound to the workflow + commit +
26+
tag.
27+
- `packaging/` directory with submission templates for Homebrew (tap),
28+
Scoop (bucket), Winget (microsoft/winget-pkgs via wingetcreate), and
29+
Arch AUR (`netscli-bin`). Each has a README with the submission flow
30+
and VERSION_SHA256_* placeholders that get stamped with real
31+
checksums on release day.
1332
- **mDNS / DNS-SD service discovery.** New `netscli-core::mdns` module
1433
(behind the `mdns` feature) with `MdnsEngine::discover` and
1534
`discover_common` on top of the pure-Rust `mdns-sd` crate. Browses a
@@ -63,6 +82,8 @@ version and release together.
6382
- `pcap` runtime errors → `Pcap` variant via `#[from]`
6483
- A few private helpers in `ping.rs` (ICMP round-trip internals) keep
6584
`anyhow::Error` because they never reach the public surface.
85+
- Extracted section headings + leads into `site.copy` so the landing
86+
page is 100% data-driven; no per-project strings in components.
6687

6788
## [0.1.1] — 2026-04-17
6889

@@ -144,6 +165,7 @@ backed by the same core library.
144165
- Desktop app needs the WebView2 runtime on Windows. Most Windows
145166
10/11 systems have it preinstalled.
146167

147-
[Unreleased]: https://github.com/fstubner/netscli/compare/v0.1.1...HEAD
168+
[Unreleased]: https://github.com/fstubner/netscli/compare/v0.2.0...HEAD
169+
[0.2.0]: https://github.com/fstubner/netscli/releases/tag/v0.2.0
148170
[0.1.1]: https://github.com/fstubner/netscli/releases/tag/v0.1.1
149171
[0.1.0]: https://github.com/fstubner/netscli/releases/tag/v0.1.0

‎Cargo.lock‎

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎apps/netscli-cli/Cargo.toml‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# consistency, but the published crate is just `netscli` so users can
44
# `cargo install netscli` (matching the produced binary name).
55
name = "netscli"
6-
version = "0.1.1"
6+
version = "0.2.0"
77
description = "Interactive TUI and CLI for network discovery, scanning, and diagnostics"
88
authors.workspace = true
99
license.workspace = true
@@ -25,8 +25,8 @@ clap_mangen = "0.2"
2525
ratatui = "0.29.0"
2626
crossterm = "0.27"
2727
tui-textarea = "0.4"
28-
netscli-core = { path = "../../crates/netscli-core", version = "0.1.1", default-features = false, features = ["db", "mdns"] }
29-
netscli-mcp = { path = "../../crates/netscli-mcp", version = "0.1.1", features = ["mdns"] }
28+
netscli-core = { path = "../../crates/netscli-core", version = "0.2.0", default-features = false, features = ["db", "mdns"] }
29+
netscli-mcp = { path = "../../crates/netscli-mcp", version = "0.2.0", features = ["mdns"] }
3030
serde_yaml_ng = "0.10"
3131
dirs = "5.0"
3232
mac_address = "1.1.8"

‎apps/netscli-gui/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "netscli-gui",
3-
"version": "0.1.1",
3+
"version": "0.2.0",
44
"description": "NetsCLI GUI - Modern network scanner with beautiful desktop interface",
55
"private": true,
66
"type": "module",

‎apps/netscli-gui/src-tauri/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "netscli-gui"
3-
version = "0.1.1"
3+
version = "0.2.0"
44
description = "Tauri 2.0 desktop GUI for network discovery, scanning, and diagnostics"
55
authors.workspace = true
66
license.workspace = true

‎apps/netscli-gui/src-tauri/tauri.conf.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema": "https://schema.tauri.app/config/2",
33
"productName": "NetsCLI",
4-
"version": "0.1.1",
4+
"version": "0.2.0",
55
"identifier": "com.netscli.app",
66
"build": {
77
"beforeDevCommand": "npm run dev",

‎crates/netscli-core/Cargo.toml‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "netscli-core"
3-
version = "0.1.1"
3+
version = "0.2.0"
44
description = "Core networking library: discovery, scanning, DNS, ARP, PCAP, and OUI resolution"
55
authors.workspace = true
66
license.workspace = true

‎crates/netscli-mcp/Cargo.toml‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "netscli-mcp"
3-
version = "0.1.1"
3+
version = "0.2.0"
44
description = "Model Context Protocol (MCP) server exposing netscli-core tools to LLM agents"
55
authors.workspace = true
66
license.workspace = true
@@ -17,7 +17,7 @@ thiserror.workspace = true
1717
ipnet.workspace = true
1818
tracing.workspace = true
1919
tracing-subscriber.workspace = true
20-
netscli-core = { path = "../netscli-core", version = "0.1.1", default-features = false }
20+
netscli-core = { path = "../netscli-core", version = "0.2.0", default-features = false }
2121

2222
[features]
2323
default = ["mdns"]

‎packaging/aur/PKGBUILD‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
pkgname=netscli-bin
44
_binname=netscli
5-
pkgver=0.1.1
5+
pkgver=0.2.0
66
pkgrel=1
77
pkgdesc="Network scanner with CLI, TUI, desktop app, and MCP server"
88
arch=('x86_64' 'aarch64')

‎packaging/homebrew/netscli.rb‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
class Netscli < Formula
1414
desc "Network scanner with CLI, TUI, desktop app, and MCP server"
1515
homepage "https://netscli.com"
16-
version "0.1.1"
16+
version "0.2.0"
1717
license "MIT"
1818

1919
on_macos do

0 commit comments

Comments
 (0)