                            Net::SNMP Changes

RELEASE 3.65 SEP-09-2001

- Corrected an error in the Net::SNMP::FSM module that would cause all
  response messages to be dropped in "non-blocking" mode if there is
  a recv() error.
- Updated the logic in the "blocking" response handling method such
  the transmit buffer is properly updated if there is a decode
  error while parsing the GetResponse-PDU. 
- Counter, Guages, and TimeTick values that are incorrectly encoded as
  negative signed integers are now converted to unsigned values.  This
  feature can be disabled by setting the "-unsigned" flag to false 
  using the translate() method.
- An empty community name is now allowed.
- Updated the "non-blocking" example script.

RELEASE 3.60 SEP-09-2000

- Translation can now be enabled or disabled on a per ASN.1 type basis.
- The Net::SNMP::FSM "event loop" now prioritizes processing SNMP responses
  over other actions.
- A set of example scripts is now included with the distribution.

RELEASE 3.50 MAY-06-2000

- The methods that expect a SNMP GetResponse-PDU in "blocking" mode now ignore
  messages with request-ids that do not match the current request-id.  This
  change addresses a common occurrence of the "Received request-id xxxx is
  not equal to transmitted request-id xxxx" error.  The manifestation of this
  error that has been corrected occurs when a remote agent is too busy to
  respond immediately, buffers the request, and responds to the request after
  the Net::SNMP timeout has expired.
- A new argument "-delay" was added to all methods that can function in "non-
  blocking" mode.
- The Net::SNMP::FSM "event loop" sub-module was completely rewritten to more
  logically handle events.
- The get_table() method now uses get-bulk-requests instead of
  get-next-requests when the calling object's version is SNMPv2c.
- When a duplicate OBJECT IDENTIFIER is received in the VarBindList of a
  GetResponse-PDU, the duplicate is now padded with an appropriate number of
  spaces to make it an unique key in the HASH reference returned by the object.
- The default Maximum Transport Unit was changed from 484 to 1500.  The
  minimum allow MTU is now 484.

RELEASE 3.01 JAN-01-2000

- Performance enhancements were made to the most heavily used methods.
- Changed the default timeout to 5.0 seconds and the default number of retries
  to 1 to reduce network traffic and to work around a problem with responses 
  from certain routers when they are busy.  The total default timeout period
  remains the same at 10 seconds. 
- Removed the verify_ip() method and the "-verifyip" argument to the 
  constructor.

RELEASE 3.00 SEP-09-1999

- Added event loop based "non-blocking" support.
- Deprecated the verify_ip() method because verification of the received
  IP address and port number is no longer done.
- The "null" character (\000) no longer triggers an OCTET STRING in a
  GetResponse-PDU to be converted to a hexadecimal representation if
  translation is enabled.
- A single socket is now used for all Net:SNMP objects.
- Corrected an error where a blocking session would send one too many 
  retries and fail to listen for the last message sent.
- Added a new export tag ":snmp" used to define SNMP related symbols.
- New utility functions oid_context_match(), oid_lex_sort(), and 
  ticks_to_time() were added to provide support for commonly requested 
  tasks.
- The length of the varBind SEQUENCE is now properly encoded when multiple
  varBinds exist. 

RELEASE 2.00 MAY-06-1999

- Added support for SNMPv2c (Community-Based SNMPv2).
- Modified the ASN.1 encode routine for INTEGERs to correctly handle 
  positive values greater than 8388607.
- Added an installation test to verify basic usage of the module, 
  including verification of basic encode and decode methods.

RELEASE 1.40 APR-26-1999

- All parameters for the object that used to be only configurable via an 
  object method can now be modified at object creation by passing named
  arguments to the constructor.
- The translate() and debug() methods were modified to require a boolean
  argument to enable or disable the feature.  This depreciates the toggle
  functionality they had previously.
- New method verify_ip() added that enables or disables the verification
  of the IP address and UDP port number on datagrams received by the object.
- Added support for decoding ASN.1 lengths encoded with 3 or 4 bytes. 
- Installation tests for the modules required by Net::SNMP and for basic 
  socket functionality were added to the distribution. 

RELEASE 1.30 MAR-17-1999

- Modified the OBJECT INDENTIFIER decode method to return a leading dot
  on all identifiers if there was a leading dot on any OBJECT IDENTIFIER
  passed to the encode method. 
- Changed the address comparison used when receiving an UDP packet to just 
  include the port and address information in order to work around an AIX 
  problem.

RELEASE 1.20 NOV-06-1998

- Now use gensym() from the Symbol module to generate typeglob references 
  for socket handles, correcting a memory leak.
- All private methods renamed to Perl programming style recommendations. 

RELEASE 1.10 OCT-14-1998

- New method trap() for sending SNMP Trap-PDUs added.
- New method error_status() which retrieves the SNMP error-status contained
  in the last SNMP GetResponse-PDU added.
- Named arguments for the method session() are now validated.
- New export tags ":asn1", ":generictrap", and ":ALL" added.
- New exportable symbols for generic-trap types added. 
- A comma contained in an OCTET STRING no longer causes the decoded result 
  of a GetResponse-PDU to be converted to a hexadecimal representation if 
  translation is enabled.
- The control characters \n\r\t no longer trigger an OCTET STRING in a
  GetResponse-PDU to be converted to a hexadecimal representation if 
  translation is enabled.
 
RELEASE 1.00 SEP-09-1998

- Initial release.

RCS

    $Id: Changes,v 3.65 2001/09/09 13:11:55 dtown Exp $
