We did analysis on #SNMP 4.0 before. This post is the latest one for 5.0.
1 SELECT METHODS WHERE CodeWasChanged OR WasAdded
The codebase keeps evolves fast, and the picture shows a lot.
You can see a lot of highlighted areas, because
- We migrated to Visual Studio 2010, so many generated code has been changed.
- We changed a lot of GUI code in order to support Mono/openSUSE.
- Agent side SNMP v3 support introduces many underlying changes in the Library.
- Browser side SNMP v3 support introduces a few changes in itself.
1 2 SELECT TYPES FROM ASSEMBLIES "SharpSnmpLib","SharpSnmpLib.Controls", "SharpSnmpLib.Mib" WHERE IsPublic AND WasAdded
Only three new types are introduced in 5.0,
- MalformedMessage: It is used to represent an SNMP v3 message received by the listener, which cannot be decrypted successfully due to several reasons.
- DecryptionException: An exception raised when an SNMP v3 message cannot be decrypted successfully.
- ListenerBinding: We introduce this class, so you can ask a Listener class to monitor on several IP address:port number bindings.
1 SELECT ASSEMBLIES WHERE WasAdded
Only one assembly is added to our binary release package. That is snmptranslate, a utility to show how to use compiled MIB documents to do OID translation.
1 SELECT TYPES WHERE WasAdded AND IsPublic
We have a few new types here except for the three mentioned above,
- OutputPanelAppender: This is a custom log4net appender used in the Browser and the Compiler. It logs all necessary information into the output panel.
- RollingFileAppender: This is a custom log4net rolling file appender that outputs log file names in IIS similar pattern.
Our biggest changes are,
- The Agent and the Browser now support SNMP v3.
- The Agent, the Browser and the Compiler supports both .NET/Windows and Mono/openSUSE now.
- VB.NET samples are added.
Removed types are,
Moved types are,