SNMP4J-SMI-PRO CHANGES
======================

[2016-05-07] Version 1.8.0 (Requires SNMP4J 2.5.0 or later)

* Changed: Replaced SmiMaxAccess by MaxAccess from SNMP4J 2.5.0.
* Added: SubIndexInfo dependency from SNMP4J 2.5.0.
* Added: SmiErrorInfo interface to allow more flexible error reporting.
* Added: Support for NameAndNumber OID format.
* Added: Error checking for negative ranges for unsigned numeric values.
* Fixed: Possible in rare cases: NPE when checking sequence constructs
  in the SMI parser (strict checking only).
* Fixed: Possible in rare cases: NPE when checking import constructs
  in the SMI parser (strict checking only).

[2015-07-07] Version 1.7.0 (Requires SNMP4J 2.3.3 or later)

* Fixed [SFJ-111]: For trap and notification types the VARIABLES and OBJECTS clauses
  cannot be evaluated. A new interface SmiNotificationType has been added for that.
* Added: SmiManager.findSmiObject by module and object name with (optionally)
  including imported MIB modules of the specified module in the search.
* Added: Interfaces and implementations in SmiManager to access attributes
  of MODULE-COMPLIANCE and AGENT-CAPABILITIES statements.

[2015-03-12] Version 1.6.0 (Requires SNMP4J 2.3.3 or later)

* Fixed [SFJ-102]: BITS syntax cannot be used in SMIv1 as textual convention.
* Added [SFJ-101]: SmiManager.findSmiObject by OID and provide filename
  of the MIB module an object belongs too.

[2014-10-18] Version 1.5.2 (Requires SNMP4J 2.3.0 or later)

* Fixed: Index object parsing from String of IpAddress values.
* Added: Added SNMP-TLS-TM-MIB to mib repository.
* Added: SmiManager.getIndexStringFromVariables(..) method.
* Fixed: SmiObject.getParent did not return correct object type.
* Fixed: SmiManager.getIndexVariables did not take the entry object
  (instead a column object).
* Fixed: SmiTextualConvention.getDisplayHint returned display hint
  text enclosed in double quotes.
* Improved: System.lineSeparator dependency (Java 6 SE is now
  supported too).

[2014-08-05] Version 1.5.1 (Requires SNMP4J 2.3.0 or later)

* Fixed: File handle leak when using the SmiManager.compile(File[]...)
  method.
* Fixed: NPE in PIB module parsing.
* Added: SmiCompiler.dryModeWithoutErrorLimit to get all errors of a
  MIB module regardless of any globally set limit.
* Fixed: Duplicate module names in SmiManager.listModules if repository
  listener were not added/removed properly.

[2014-07-26] Version 1.5.0 (Requires SNMP4J 2.3.0 or later)

* Fixed: False error messages about missing imports or unresolved syntaxes
  could have been generated by the MIB compiler if a MIB file had several
  errors affecting the MIB structure.
* Improved: Error location of DEFVAL and other unresolved references.
* Added: Full SPPI PIB module checking now available with additional error
  messages 6001-6007.

[2014-06-30] Version 1.4.2 (Requires SNMP4J 2.3.0 or later)

* Fixed: If a MIB module had exactly one syntax error, an empty
  error list could have been returned to the caller of SmiManager.compile(..).

[2014-06-23] Version 1.4.1 (Requires SNMP4J 2.3.0 or later)

* Improved: Lenient mode parsing of SMIv2 MIB modules without mandatory
  MODULE-IDENTITY construct.

[2014-06-19] Version 1.4.0 (Requires SNMP4J 2.3.0 or later)

* Fixed: Lexical errors are reported with line, column and position (not only in
  line and column in message).
* Added: End position and end row & column of an SmiError.
* Fixed: Lenient compiler mode accepted too much errors in MIB files resulting
  in compiled MIB modules with missing MIB information (e.g., empty SYNTAX), causing
  NullPointerExceptions if accessed unchecked.
* Added: Short error message support which does not include error number and location.
* Improved: ZIP-File support for CompilationResult.
* Added: New interface SmiCompiler and extended control about the compilation process
  and overwriting of MIB modules in the MIB repository.
* Added: SmiObjectFilter.java and SmiManager.findSmiObject by filter method.

[2014-05-18] Version 1.3.2 (Requires SNMP4J 2.3.0 or later)

* Improved: Moved SmiSyntaxElementImpl and SmiSyntaxImpl outside SmiManager in order
  to be able to use SmiSyntax within JSF front end-code.
* Fixed: Possible NPE in getMinValueLength and getMaxValueLength.
* Added: SmiSyntaxType.java and resolved syntax support to seamlessly get syntax information
  from textual convention or SMIv1 type definitions.
* Added: Method SmiObjectType.createNewVariable to create a new variable value for an object type.
* Added: SmiObjectType.getDefaultValue and SmiObjectType.getDefaultVariable.

[2014-03-27] Version 1.3.1 (Requires SNMP4J 2.2.5 or later)

* Added: SmiObjectType.getMaxValueLength() and SmiObjectType.getMinValueLength() to
  determine the minimum and maximum length of a formatted value.
* Fixed [SFJ-91]: Fixed SmiObjectType.getSmiSyntax() implementation returned wrong
  BER syntax identifier values.

[2014-03-17] Version 1.3.0 (Requires SNMP4J 2.2.5 or later)

* Added: Easy multi-language support for SmiError messages through ResourceBundles.
  See the sample ResourceBundle SampleSmiErrorResourceBundle.java in the examples
  directory of the
* Added: SmiManager.setIncludeUnknownErrorsCause method to be able to forward
  exceptions in a custom RepositoryDriver to the caller of the compile methods
  as "unknown" SmiErrors.

[2014-03-03] Version 1.2.4 (Requires SNMP4J 2.2.5)

* Fixed: Race condition in SmiManager when accessing many different MIB modules
  concurrently from multiple threads.

[2014-02-18] Version 1.2.3 (Requires SNMP4J 2.2.5)

* Fixed: Regression in SmiManager.listModules which did not return a value if called
  on a SmiManager without a RepositoryDriver.
* Improved: SmiObject.getChildren now returns a list of SmiObjects or its subclasses.
  This allows API users to wrap the SmiObject class in their own subclasses.

[2014-02-14] Version 1.2.2 (Requires SNMP4J 2.2.5)

* Fixed: NullPointerException when calling SmiManger.listModules with the MemRepositoryDriver.
* Improved: The compile method now uses the lenient SMI compiler mode to determine module
  dependencies which improves sorting for MIB modules with syntax errors.

[2014-02-11] Version 1.2.1 (Requires SNMP4J 2.2.5)

* Initial SNMP4J-SMI-PRO release with four new (additional) SmiManager.find* methods
  which provide direct access to any SMIv1/v2 information (except compliance modules and
  agent-capabilities statements). The SNMP4J-SMI-PRO license is a site license in contrast
  to the user license SNMP4J-SMI.

CHANGES since SNMP4J-SMI 1.1.2:
* Fixed: NullPointerException in SmiManager.compile with some special syntax errors, for example
  if  a lowercase name exceeds 64 characters.
* Improved: Lenient parser mode now also accepts inconsistent syntax (i.e. between table entry and
  column definition) and the underscore ("_") character in lowercase names.

