tsnmp v0.1.0 Release Notes
Date: 2026-05-07
Status: released
Summary
tsnmp v0.1.0 is the first tagged v0.1 release of the trishul-snmp runtime.
This release proves the intended split:
tsnmp is the Python SNMP runtime and manager surface
tsmi is the optional compiler that produces compiled JSON artifacts
This release is intentionally package-first. The CLI is present, but secondary.
Included in This Release
- async-first Python SNMPv2c manager API
- read-only manager operations:
get
get_next
get_bulk
walk
bulkwalk
- in-tree BER / ASN.1 / SNMPv2c wire codec
- UDP transport and request dispatcher
- bundle loading from:
- a single compiled module JSON file
- a directory of compiled module JSON files
- optional offline translation and runtime enrichment from compiled JSON bundles
- thin CLI wrappers for:
translate
get
getnext
getbulk
walk
bulkwalk
version
Explicit Scope Cuts
Not in v0.1.0:
- raw MIB file or raw MIB directory ingestion
- direct runtime dependency on the
trishul-smi Python package
pysnmp API-compatibility layers
set
- SNMPv1 manager support
- SNMPv3
- trap receiver / listener support
- agent / responder functionality
- public generic third-party JSON ingest support
Bundle Contract in This Release
load_bundle(path) accepts either:
- one compiled module JSON file
- a directory of compiled module JSON files
Optional sidecars in a directory bundle:
manifest.json
oid_index.json
These sidecars improve discovery and lookup performance, but are not required
for correctness. A single module JSON file is a valid degenerate bundle input.
If referenced dependency modules are missing, core manager behavior still works.
The impact is reduced translation or formatting fidelity, not runtime failure.
Known Limits
- current compatibility target is the tested
tsmi JSON shape, not a formal IR contract
- enrichment is intentionally partial in v0.1 and does not attempt full TC or INDEX fidelity
- walk behavior is protected against common agent quirks, but not aggressively optimized
- no sync facade is included in this release
Validation Used for This Release
- unit tests for bundle loading, wire codec, dispatcher behavior, manager behavior, CLI, and rendering
- malformed packet coverage for BER / message / PDU decode paths
- walk stop-rule coverage for subtree escape, duplicate/non-increasing OIDs, and
endOfMibView
- package CLI/module smoke from the source tree
Upgrade / Consumer Guidance
- prefer numeric OIDs if no compiled bundle is available
- treat bundle enrichment as optional
- produce bundle artifacts with
tsmi separately from runtime deployment
- do not rely on raw MIB ingestion or
pysnmp compatibility in this release