Mibble Version Information
Version 2.3 (2004-03-10):
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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):
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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):
-
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
-
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):
-
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.
-
Added complete support for SNMPv2 and SNMPv3
All types and constructs in SNMPv2 and SNMPv3 are now
supported.
-
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.
-
Added full access to all type information
All of the type information can now be easily accessed
through methods in the type classes.
-
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.
-
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.
-
Added HTML release notes
The release notes are now generated to both text and
HTML format from an XML representation.
-
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.
-
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):
-
Relicensing to GPL + linking exception
Relicensed all the source code to GPL plus a linking
exception. See the new LICENSE.txt file for details.
-
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):
-
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).
-
Updated MIB syntax with textual conventions
The MIB file parser can now handle the
TEXTUAL-CONVENTION macro type.
-
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.
-
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.
-
Improved API documentation
The API documentation has been somewhat improved by
adding package descriptions and improving the class
comments.
-
Added MIB example code
An example class has been added to demonstrate how the
library can be used.
-
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):
-
First public release
The first public release of this library.