CHANGE LOG OF SNMP4J
====================
[2008-08-11] Version 1.9.3b:
* Fixed: NullPointerException when processing Report
(regression from 1.9.3).
* Improved: InterruptedException is forwarded to calling
thread where appropriate.
[2008-07-22] Version 1.9.3a:
* Fixed: Regression when using null TransportMapping in
Snmp requests not returning a response when agent
does not respond in time on first retry.
[2008-07-21] Version 1.9.3:
* Improved: Removed creation of unnecessary Null istances.
* Improved: Reduced object creation through OID and
VariableBinding classes.
* Improved: Canceled TimerTasks free objects early to
reduce memory consumption, for example, when retries
are used with Snmp.
[2008-06-30] Version 1.9.2a:
* Fixed: Possible NPE in DefaultUdpTransportMapping.close()
and DefaultUdpTransportMapping.ListenThread.run().
[2008-06-11] Version 1.9.2:
* Improved: If no context engine ID is set for NOTIFICATION
and INFORM PDUs, SNMP4J now sets it to its local engine ID.
Prior to 1.9.2 that was the authoritative engine ID which
is the engine ID of the target in case of an INFORM PDU.
* Fixed: Possible NullPointerException when sending async
request (regression from 1.9.1f).
[2008-05-27] Version 1.9.1g:
* Fixed: NullPointerException in Snmp.close() when
there has not been any confirmed request processed before.
[2008-05-19] Version 1.9.1f:
* Improved: Performance of PrivAES.extendShortKey.
* Fixed: Inconsistent descriptions in org.snmp4j
package JavaDoc.
* Improved: DefaultUDPTransportMapping can be now reused
after close() has been called by calling listen() again.
* Improved: Exception handling of DefaultUDPTransportMapping.
* Fixed: DefaultTCPTransportMapping blocked until an incoming
request had been received.
* Fixed: ArgumentParser error handling and fixed bug
regarding default value recognition in conjunction with
regular expression.
* Improved: Snmp can now be closed and reused
with listen() again. Internal timer is only
created when needed.
[2008-04-22] Version 1.9.1e:
* Improved: Exception handling when transport mapping
cannot be initialized due to IO exceptions.
* Added: VersionInfo in org.snmp4j.version.
[2008-04-09] Version 1.9.1d:
* Improved: Asymmetric checking of SNMPv1 compatible
variable binding in PDUv1 removed.
* Fixed: Transport not copied in Snmp.PendingRequest
which could cause wrong transport usage when processing
retries (was not fixed correctly in 1.9.1b).
[2008-04-03] Version 1.9.1c:
* Fixed: Missing PDUv1.clone() which could lead to wrong
SNMPv1 trap PDU encoding.
* Fixed: Possible deadlock race condition when processing
sync requests with retry > 0.
* Improved: Pending async requests will be removed after
timeout even if the response listener did not call
Snmp.cancel.
* Fixed: TableUtils did not return all rows if request
PDUs had to be splitted because of too much columns.
[2008-03-27] Version 1.9.1b:
* Fixed: Transport not copied in Snmp.PendingRequest
which could cause wrong transport usage when processing
retries.
[2008-03-25] Version 1.9.1a:
* Fixed: Async request processing for broadcasts (regression
bug in 1.9.1 which prevented mutliple responses for a
single async request).
[2008-03-18] Version 1.9.1:
* Improved: OID parsing from string now supports embedded
string to OID conversion, for example the following OIDs
are equal:
a = new OID("1.3.6.2.1.5.'hal.'.'''.'lo'.1");
b = new OID("1.3.6.2.1.5.104.97.108.46.39.108.111.1");
* Improved: Added factory pattern for creating PDU for
incoming messages parsed by message processing models.
* Fixed: Null LogLevel returned by JavaLogAdapter.getLogLevel.
* Fixed: With async request processing and retry>0 there
could have been a race condition where a response event
had been generated twice for a request.
* Fixed: ArgumentParser option multi parameter support
which failed to parse options like "-option param1 param2"
correctly.
* Changed: MessageDispatcherImpl can now be used to register
more than one transport mapping per address class (UDP/TCP).
Nevertheless, only the first registered one will be used
for sending SNMP messages if no specific transport mapping
is given.
* Improved: Target is cloned when used internally by Snmp
instance to avoid errors through concurrent target usage.
[2008-01-31] Version 1.9:
* Improved: PDU.add(VariableBinding) no longer clones
VariableBindings while adding it if the contained variable
is dynamic. Instead VariableBinding.setVariable clones
the set variable always as well the oid set by setOid(OID).
* Improved: Added factories for thread and timer instances
configurable through SNMP4JSettings class.
* Improved: Created interfaces for ThreadPool (WorkerPool)
and thread of execution (WorkerTask) as well as Timer
(CommonTimer) for better Java EE intergration.
* Added: ArgumentParser for simple command line parsing.
* Fixed: Local engine ID could not be set for simple PDU
request for the command line tool.
[2007-11-06] Version 1.9 RC2:
* Fixed: Walk modus of console example.
* Added: -Ocs and -Ods to create and dump subtree
snapshot files.
[2007-10-18] Version 1.9 RC1:
* Fixed: LogFactory.getLogFactory() returned null if
log factory has not been initialized yet. Now
a new instance of LogFactory is returned instead.
* Fixed: Typo in Snmp JavaDoc (getPdu() -> getPDU()).
* Added: Hook-up method in DefaultTCPTransportMapping
to allow setting socket options by extending the
class and overwriting the setSocketOptions method.
* Added: TripleDES-EDE privacy protocol implementation.
* Changed: SecurityProtocol interface to allow dynamic
key extension.
* Fixed: Race condition in DefaultTCPTransportMapping.
[2007-05-04] Version 1.8.2:
* Fixed: Null.clone() did not copy/preserve syntax.
* Fixed: MPv3.addEngineID added engine ID to the local cache
although if it matched the local engine ID.
[2007-04-23] Version 1.8.1a:
* Fixed: No error was reported by TableUtils when sending
of a request failed.
* Fixed: MPv3.removeEngineID fired "engine ID added"
event.
[2007-03-12] Version 1.8.1:
* Fixed: Race condition in DefaultTCPTransportMapping
that could cause message loss because messages are
accidentially never send (because at the same time
another message came in).
* Improved: Snmp.addNotificationListener(..) sets the
connection timeout to 0 for TCP transport mappings.
* Fixed: Snmp.removeNotificationListener(..) caused
memory leak because it did not deregister the
notification transport mapping properly.
* Fixed/Improved: Several code cosmetics and Serializable
issues.
* Improved: REPORT messages are now sent over the same
transport mapping as the message reported on has been
received. This improves firewall interoperability.
[2007-02-01] Version 1.8:
* Fixed: Race condition with sync requests in Snmp.send
that could cause a deadlock.
* Fixed: Added missing serialVersionUIDs.
* Changed: PduHandleCallback.pduHandleAssigned(..) to
use Object as type of the PDU reference.
[2007-01-08] Version 1.8 RC1:
* Changed: Variable is now an interface and the former
abstract class implementation is now moved to
AbstractVariable. Serialized Variables from 1.7.x
or earliers released can be deserialized with 1.8
because the Variable interface defines the same
serialVersionUID as the former Variable abstract class.
* Fixed: MessageDispatcherImpl.getMessageProcessingModel
no longer throws an ArrayIndexOutOfBoundsException
when the requested model is not known.
* Added: GenericAddress constants for the default address
types "udp", "tcp", and "ip".
* Fixed: OctetString.fromSubIndex for implied length values.
* Added: Constants for default command responder and
no