SNMP4J-SMI-PRO 2.0.0 Release

After more than 10 years of SNMP4J-SMI-PRO 1.x 2026-06-23T22:00:00Z version 2.0.0 was released! The 2.x release provides

  1. Up-to 50% faster lookups from loaded modules
  2. No 3rd-party license dependencies (JGL) anymore - included JSON is ‘public domain’
  3. Added JSON support and operations for AI integration
  4. SNMP4J-SMI-PRO and SNMP4J-MCP provides a full featured SNMP AI tool for managing SNMP devices and analysing SNMPv3 messages as well as doing research and development for MIB specifications.
  5. SNMP4J-SMI-PRO 2.0.0 requires Java 21 or later

CHANGES

  • Removed: Dependency on the JGL (Generic Collection Library). Java standard collection types are used throughout in place of JGL collection classes. This reduces the size of the library and improves the performance of SmiManager.findSmiObject(OID) by ~30%.
  • Added: New package com.snmp4j.smi.ber with SnmpMessageTree, BERNode, and BERNodeError for parsing raw SNMP messages into a navigable BER decode tree. Supports SNMPv1, SNMPv2c, and SNMPv3 including AUTH_PRIV ScopedPDU decryption via DirectUserTarget credentials. The tree can be rendered as an indented text tree (SnmpMessageTree.formatAsText()) or as a JSON object tree (SnmpMessageTree.formatAsJson()). BERNodeError nodes record parse deviations with position, offending bytes, and expected tags. A Draft 2020-12 JSON Schema for the BER node JSON format is provided as a classpath resource (com.snmp4j.smi.ber/BERNodeJsonSchema.json).
  • Added: SmiObjectJsonConverter and SmiObjectJsonMatcher in new package com.snmp4j.smi.util.json for converting MIB object instance data to JSON and matching JSON values against MIB object types. A Draft 2020-12 JSON Schema (SmiObjectJsonSchema.json) describes the supported JSON representation.
  • Added: SmiSyntaxElement.getComment() to retrieve the comment associated with an SMI syntax element.
  • Improved: PolymorphicColumnType now supports polymorphic formatting of column values based on the actual type of the variable binding. The default polymorphic formatters are: SNMP-TARGET-MIB|NOTIFICATION-LOG-MIB:TAddress, AGENTX-MIB:AgentXTAddress, IP-MIB:InetAddressType, TCP-MIB:InetAddressType, UDP-MIB:InetAddressType, IP-FORWARD-MIB:InetAddressType.
  • Improved: SmiManager.loadModules() now properly closes all I/O resources after loading, preventing resource leaks when module files are deleted or inaccessible during load operations.
  • Changed: Default DISPLAY-HINT is no longer OctetStringDefaultFormat.ASCII, instead it is set to OctetStringDefaultFormat.MIB.