Releases: catnet-io/catnet
Release list
v0.2.0
catnet v0.2.0 — Stability & English Standardisation
This release contains one breaking change.
If you usecatnet --format csv export input.json,
update your scripts before upgrading. See the migration note below.
⚠️ Breaking Change
export --format is no longer inherited from the root command.
Previously, the global --format flag was inherited by the export
subcommand as a side effect. This was undocumented behaviour and caused
ambiguity when both flags were present.
Before (v0.1.0):
catnet --format csv export input.json # worked by accidentAfter (v0.2.0):
catnet export input.json --format csv # required form
catnet export input.json -f csv # shorthand also works--format is now a required local flag on export. Omitting it
produces a clear error: required flag "format" not set.
What's New
Fixed — Test Infrastructure
- Integration tests no longer share Cobra command state between cases.
TestMainnow instantiates a freshrootCmdper test, eliminating
order-dependent failures that could silently pass or fail depending
on execution sequence. (Finding C6) os.Stdoutpipe is now unconditionally restored viadeferin all
integration tests that redirect standard output. Previously, a test
failure beforew.Close()would leak the file descriptor and corrupt
subsequent test output. (Finding C7)TestScanCancelledByContexthas been rewritten as a subprocess test.
The catnet binary is compiled once inTestMainand executed as a
child process.os.Interruptis sent only to the child PID, fully
isolating signal delivery from the test runner process. (Finding C10)
Added — Test Coverage
output/human.goandoutput/json.gonow have dedicated unit tests
using an injectedio.Writer. Coverage includes: tabwriter column
alignment, ANSI colour flag propagation, TTY detection fallback path,
and stderr/stdout routing for all six event types. (Finding C9)
Changed — Dependencies
catnet-coreupdated from development pseudo-version
v0.1.1-0.20260606132841-09db82a7e02cto stable releasev0.2.0.
This brings the defensive timeout fix, pointer aliasing fix, and
PortCount()method to all users of the CLI.
Changed — Repository
- All Portuguese comments, documentation strings, and user-facing
messages have been standardised to English. No functional changes.
Flag names, exit codes, and output format are identical to v0.1.0.
Engine Dependency
This release requires catnet-core v0.2.0.
For engine-level changes (scan engine, exporters, discovery primitives),
see the catnet-core v0.2.0 release notes.
Installation
Linux / macOS — one-liner:
curl -sSL https://github.com/mendsec/catnet/releases/download/v0.2.0/catnet_Linux_x86_64.tar.gz \
| tar xz && sudo mv catnet /usr/local/bin/Windows:
Download catnet_Windows_x86_64.zip from the assets below,
extract, and add the folder to your PATH.
go install:
go install github.com/mendsec/catnet/cmd/catnet@v0.2.0Verify:
catnet version
# catnet/v0.2.0 (linux/amd64) go1.26.3
# catnet-core/v0.2.0Verify checksum (Linux example):
sha256sum -c checksums.txt --ignore-missingBinary Assets
| File | Platform | Arch |
|---|---|---|
catnet_Linux_x86_64.tar.gz |
Linux | amd64 |
catnet_Linux_arm64.tar.gz |
Linux | arm64 |
catnet_Darwin_x86_64.tar.gz |
macOS | amd64 |
catnet_Darwin_arm64.tar.gz |
macOS (Apple Silicon) | arm64 |
catnet_Windows_x86_64.zip |
Windows | amd64 |
catnet_Windows_arm64.zip |
Windows | arm64 |
checksums.txt |
SHA-256 checksums for all archives | — |
All binaries are statically linked. No runtime dependencies.
Full Changelog
Contributors
If you find a bug or security issue, please see
SECURITY.md
before opening a public issue.