Skip to content

BigDipper Refresh release (7.5)

Compare
Choose a tag to compare
@lextm lextm released this 30 Oct 06:48
· 616 commits to master since this release

This is a bug fix release (7.5.10510.1) with limited breaking API changes.

  • Work item 7224 Refactor core classes to consider byte array length while parsing existing packets is closed.
  • Work item 7225 RFC2021 TimeStamp Error is closed.
  • Work item 7226 Create a new MIB compiler based on ANTLR is closed.
  • Work item 7227 New compiler does not support some comment style is closed.
  • Work item 7230 Exception during walk: unsupported data type: opaque is closed.
  • Work item 7232 Trap V3 authentication fails when system uptime over 25 days is closed.
  • Work item 7234 ISnmpMessage.BeginGetResponse/EndGetResponse pair doesn't work in Task.FromAsync is closed.

Based on change set

https://github.com/lextm/sharpsnmplib/tree/de58f7c050a0976654e7ee4b90a9217e99af6ae3

*Mono for Android assemblies are based on lextm@c83387c
Mono for Android assemblies under LGPL are removed from this release. Please go to TritonMate (8.0) which contains updated ones under MIT/X11 license.

Tested on

  • Windows 7 SP1
  • Windows 8 Release Preview

.NET Framework support policy is changed, so please read this KB article first.

  • Re-licensed part of the code base under permissive licenses (MIT/X11 and BSD 3 Clause).

Core assemblies changes from 7.0

New Assembly

.Engine is added and .Pipeline/.Objects namespace are moved to this new assembly.

New Public Types

No new type is added in SharpSnmpLib, except those types from System.Tuples project.

SharpSnmpLib.Mib is rewritten, so except old classes from previous version, such as ObjectRegistryBase derived classes and others, the low level classes are completely different, such as MibModule.

Changed Interfaces (Breaking)

The following interfaces are changed,

  1. IConstruct
  2. ITypeAssignment
  3. IEntity
  4. IObjectRegistry
  5. IObjectTree
  6. IAuthenticationProvider

Obsolete and Deleted Classes (Breaking)

  1. DefaultObjectRegistry (Resolution: Use SimpleObjectRegistry.)
  2. GetResponsePdu. (Resolution: Use ResponsePdu.)
  3. Integer64. (Resolution: not needed by #SNMP any more. If need it, use the old class from a previous release.)
  4. Low level classes under .Mib (Resolution: Try to use the new classes.)

Removed Methods (Breaking)

  1. ByteTool.PackMessage() (Resolution: Use the new overload.)
  2. .ctor that accepts Stream for ISnmpData derived classes (Resolution: Use the new ctor that accepts Stream in each classes.)
  3. IObjectRegistry.Decode and IObjectTree.Decode. (Resolution: Wait till #SNMP 8.)
  4. Two constructors of Sequence class. (Resolution: Use other constructors.)
  5. Many methods in StreamExtension class. (Resolution: Either use the new overload, or alternative methods in other classes.)
  6. ctor of ISnmpMessage derived classes. (Resolution: Use new ctor instead).
  7. SnmpMessageExtension.PackMessage. (Resolution: Use new overload).
  8. IAuthenticationProvider.ComputeHash. (Resolution: Use new methods).
  9. AuthenticationProviderExtension.VerifyHash and CleanAuthenticationParameters. (Resolution: Use new methods.)
  10. Other changes under .Mib namespace.