SnmpKit v1.3.22 Release Notes

Release Date: May 2026 Version: 1.3.22 Previous Version: 1.3.21

Overview

This patch release fixes regular walk timeout and socket behavior while keeping the public API stable. It is focused on making non-shared-socket walks behave more like command-line SNMP tools: one operation owns its socket, each PDU has its own timeout and retry budget, and whole-walk protection is handled separately with walk_timeout:.

Highlights

  • Regular GETBULK walks now reuse one private UDP socket for the full walk instead of opening and closing a socket for each page.
  • Low-level manager operations now close sockets from after blocks so error and timeout paths do not leak sockets.
  • retries: is now honored for low-level SNMP requests. Retries apply per PDU after a per-PDU timeout:.
  • Legacy strategy: :simple multi-walk task protection now uses walk_timeout: instead of a single PDU timeout.
  • Timeout documentation now clearly separates timeout:, retries:, and walk_timeout:.
  • Multi-target docs now describe top-level timeout: as the call-level default per-PDU timeout, not a whole-operation timeout.

API Compatibility

This release is backward compatible:

  • No public function signatures were removed or changed.
  • timeout: remains the per-PDU timeout.
  • Per-request timeout: overrides continue to work in multi-target APIs.
  • walk_timeout: is the separate whole-walk safety cap for walk operations.

User-Visible Fixes

Regular Walks

  • Single-target regular walks no longer churn UDP sockets on every GETBULK page.
  • Timeout behavior is now per PDU, so a large table walk is not limited to one request timeout.
  • Whole-walk safety remains bounded by walk_timeout:.

Low-Level Manager Operations

  • GET, GETBULK, SET, and GETNEXT close their private sockets consistently on success and failure.
  • PDU retries now behave as documented.

Validation

Validated with:

  • focused manager and walk regression tests
  • simulator community-string regression coverage
  • full test suite

The full suite passed with 76 doctests and 1392 tests.