MIBBLE VERSION INFORMATION
==========================

Version 2.3 (2004-03-10):
-------------------------

    o Added graphical MIB browser
      A graphical MIB browser has been added that allows for easy 
      viewing of a MIB contents, while also sending SNMP requests for 
      objects. Many thanks to Watsh Rajneesh and HP India for 
      contributing the code. Thanks also to Charles F. Schatz for 
      providing an alternate implementation. [Bug #4366]

    o Added shell scripts for launching utilities
      Shell scripts for Unix and Windows have been added for 
      launching the Mibble utility programs. The original scripts 
      were contributed by Watsh Rajneesh. [Bug #6961]

    o Added API for loading MIBs from more sources
      Added new addResourceDir() method to the MibLoader class, 
      allowing usage of the Java ClassLoader for locating and loading 
      MIB files. Also, new load(URL) and load(Reader) methods has 
      been added to simplify loading MIBs from other sources. The 
      MibblePrinter and MibbleValidator programs have also been 
      extended to also support URLs. Thanks to Yun Freund for 
      suggesting this. [Bug #7746]

    o Added support for unloading MIBs
      Added new unload() methods to the MibLoader class. It is now 
      possible to remove references to a single MIB without losing 
      the references to all MIBs. [Bug #7616]

    o Added method for retrieving all OID children
      Added new getAllChildren() method to the ObjectIdentifierValue 
      class. This makes it easier to retrieve all OID children at 
      once. [Bug #8046]

    o Modified the API for MibLoader.load() slightly
      The various load() methods in the MibLoader class have had 
      their API slightly modified. They are now declared to throw 
      IOException instead of the previous FileNotFoundException in 
      order to accomodate the new load(URL) and load(Reader) methods. 
      [Bug #7746]

    o Modified OID child ordering
      The ObjectIdentifierValue child ordering has been changed from 
      undefined to numerical order. The new implementation is 
      actually faster than the previous one, due to more clever 
      object comparison than previously used. [Bug #8090]

    o Fixed issue with not always finding loaded MIBs
      Previously when loading named MIBs, the search path was first 
      used to locate the MIB file. If the MIB file couldn't be found 
      in the path, an exception is thrown. The MibLoader has now been 
      extended to first check the loaded MIB names, thereby making it 
      possible to manually load MIB files not adhering to the MIB 
      file naming standard. Thanks to Zemian Deng for pointing this 
      out. [Bug #6959]

    o Fixed problem loading MIBs from current directory
      When loading MIB files from the current directory with the 
      MibblePrinter or MibbleValidator application, the directory 
      wasn't correctly added to the MibLoader path. This has now been 
      fixed, so MIB imports now works correctly even for file names 
      without a directory portion. [Bug #6528]


Version 2.2 (2003-11-03):
-------------------------

    o Added support for ASN1.1 type tags
      All primitive type now have default ASN.1 type tags and these 
      may also be overridden by tags in the MIB files. New methods 
      isPrimitive() and getTag() has been added to MibType. Thanks to 
      Sudhir Khurana for pointing this out. [Bug #5001] & [Bug #5003]

    o Added validation of sequence elements
      Sequence element names previously weren't validated against the 
      containing MIB. This has now been changed so that sequence 
      elements inside an OBJECT TYPE will be looked up in the MIB. If 
      no symbol with that name could be found, a new default symbol 
      is created. Thanks to Charles F. Schatz for finding and 
      reporting this. [Bug #5904]

    o Added access to referenced type and value symbols
      When resolving type and value references, the referenced symbol 
      name was previously lost and only the type or value information 
      was extracted. This has been fixed and new convenience methods 
      isReferenceTo() in the MibType and MibValue classes have been 
      added. Thanks to Charles F. Schatz for suggesting this. [Bug 
      #6112]

    o Added a number of missing accessor methods
      Several primitive types lacked accessor methods for retrieving 
      the constraints, defined values and similar. The MIB symbols 
      lacked a getMib() method. These accessor methods have now been 
      added. [Bug #5007]

    o Changed the logging API
      The logging API was simplified by removal of the log printing 
      classes. The same functionality is now present directly in the 
      MibLoaderLog class. A new method entries() allows direct 
      retrieval of all log entries from the log, providing a more 
      generic approach than the previous one. [Bug #6116]

    o Improved Javadoc API documentation
      The Javadoc API documentation has been generally improved in 
      various places. References to appropriate RFC documents have 
      been added along with initial package overviews. [Bug #6155]

    o Updated to version 1.4 of Grammatica
      The Grammatica library distributed with Mibble has been updated 
      to version 1.4 (from 1.3). The build file has been simplified 
      as a result of this. [Bug #5000]

    o Removed some previously public methods
      A number of internal methods were previously public although 
      there was no need for them to be. This has been fixed by making 
      them private or package protected. Code that called these 
      methods should be modified to use the correct public 
      counterparts.


Version 2.1 (2003-08-22):
-------------------------

    o Corrected MIB symbol value search
      Searching for MIB symbols by value never returned any results 
      in the previous version. Thanks to Nigel Mellor for finding and 
      fixing this. [Bug #4893]

    o Updated to version 1.3 of Grammatica
      The Grammatica library distributed with Mibble has been updated 
      to version 1.3 (from 1.2). Minor changes have been made to the 
      parser to accomodate this. [Bug #4903]


Version 2.0 (2003-07-19):
-------------------------

    o Complete rewrite with API and name change
      The project has been renamed to Mibble, and the library has 
      been completely rewritten from scratch. The API:s have also 
      been replaced to correct a number of serious flaws in the 
      previous design.

    o Added complete support for SNMPv2 and SNMPv3
      All types and constructs in SNMPv2 and SNMPv3 are now supported.

    o Added a real MIB import mechanism
      Symbol imports are now handled by reading and parsing the MIB 
      file. Standard IANA and IETF MIB files have been added to the 
      JAR library, in order to always have these imports available.

    o Added full access to all type information
      All of the type information can now be easily accessed through 
      methods in the type classes.

    o Added syntactical and semantical error recovery
      The MIB parser now attempts to recover from errors in the MIB 
      file. All encountered errors are available after the parsing is 
      complete. This change was made available by using Grammatica 
      instead of JavaCC to generate the parser.

    o Added warnings for wrong identifier case
      A warning is now issued if the first character in a type 
      identifier is lower-case, or if the first character in a value 
      identifier is upper-case.

    o Added HTML release notes
      The release notes are now generated to both text and HTML 
      format from an XML representation.

    o Changed parser generator to Grammatica
      The JavaCC parser generator has been replaced with Grammatica. 
      This was done as JavaCC isn't free software, and Grammatica was 
      chosen as it provides a simple grammar syntax, a decent parsing 
      and analysis framework, and very high quality error handling.

    o Removed the old symbol tree model
      The symbol tree model has been removed as it was not compatible 
      with the new API:s.


Version 1.2 (2003-03-27):
-------------------------

    o Relicensing to GPL + linking exception
      Relicensed all the source code to GPL plus a linking exception. 
      See the new LICENSE.txt file for details.

    o Removed JavaCC requirement from Ant build file
      Removed the strict dependency of JavaCC from Ant build file 
      (build.xml). The JavaCC parser generator will be replaced in a 
      future version of the library.


Version 1.1 (2003-01-06):
-------------------------

    o Updated MIB syntax to SNMPv2
      The MIB file parser can now handle several new macros, such as 
      MODULE-IDENITY, OBJECT-IDENTITY, NOTIFICATION-TYPE, 
      OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE and the 
      improved OBJECT-TYPE macro (as of SNMPv2).

    o Updated MIB syntax with textual conventions
      The MIB file parser can now handle the TEXTUAL-CONVENTION macro 
      type.

    o API changes breaking backwards compability
      The MIB class was renamed to Mib and several new methods were 
      added to allow easy access to the information in the MIB file. 
      Some old methods were also renamed to better match the new 
      methods.

    o Improved code style
      All the source code has been reindented to use four (4) spaces, 
      and various minor code style improvements have been made in the 
      source tree.

    o Improved API documentation
      The API documentation has been somewhat improved by adding 
      package descriptions and improving the class comments.

    o Added MIB example code
      An example class has been added to demonstrate how the library 
      can be used.

    o Added initial test cases
      Some initial test cases have been added, making regression 
      testing easier. Much work is still missing on the test cases, 
      though.


Version 1.0 (2002-08-14):
-------------------------

    o First public release
      The first public release of this library.


_____________________________________________________________________

Mibble 2.3 (2004-03-10). See http://www.nongnu.org/mibble for
more information.

Copyright (c) 2004 Per Cederberg. Permission is granted to copy this
document verbatim in any medium, provided that this copyright notice
is left intact.
