________________________________________________________________________________
   |       |
   | knipp |           Knipp Medien und Kommunikation GmbH
    -------


Change Log of the Knipp RRI Toolkit

Version 0.8 (preview build)

  First public release. As the RRI protocol is still in beta state and
  has not yet completely stabilized, incompatibilities between the toolkit
  and the registry may occur. Because of this, the release is marked as
  "preview build" and is not recommended for the use in the production
  environment. However, the implementation is nearly complete and would
  deserve an early "beta" status otherwise.

  open issues:
    - synchronization with the final RRI protocol (as soon as available)
    - further testing required
    - debugging output needs to be removed
    - hooks need to be added in the area of Codec to allow the recording
      of the communication between the application and the registry
    - PooledPort generates an IO exception if the registry rejects
      a channel due to the reach of the connection limit. It should wait
      instead until another channel becomes available or is closed.
    - some functionality should be supported to simplify the analysis
      of ResultMessages; the use of enums would be advantageous; also
      the filtering of zone check related messages would be helpful
    - copy constructor for DomainData
    - SinglePort class needs a close method


Version 0.8.1 (preview build)

  - various bug fixes
  - removed debugging output; discarded idea of hooks in codec; created wrapper 
    classes for Port and ChannelFactory as a replacement that print to console
    instead
  - added some convenience constructors for requests
  - improved SinglePort (new constructor & getChannel); this allows to close
    the channel
  - improved PooledPort. Wrong login data causes IOException to be thrown.
    Reaching the connection limit is silently handled, but only if at least
    one allocated channel exists (to avoid starvation).
  - created copy constructor for DomainData
  - created response classes for all requests
  - refactoring. rritoolkit package got too large, so the classes got 
    distributed to subpackages
  - completed ChangeProvUpdateMessage for the KV case
  - added enumeration and helper classes for easier error handling of
    responses


Version 0.9 (beta 1)

  - various bug fixes
  - replaced constants in ErrorType with the final error codes
  - improved PooledPort: failing connections now do not cause hammering during
    preallocation
  - added holder migrate request and response
 

Version 1.0

  - added missing expire date getter in DomainData
  - fixed bugs reported by Reimer Prochnow/HansaNet
     - fixed message type/XML element name for the change provider reminder
       message
     - fixed missing copy of e-mail addresses in copy constructor
     - added missing (and undocumented) error code 53380043210
  - added 14 new error codes
  - added change provider command to test program
  - reworked TcpChannel to proactively close idle channels, added new
    TCP parameter to control the maximum idle wait time
  - updated DomainData to reflect change key/element name for 
    the provider ID
  - made the classes ContactData, DomainData, DomainData.Ref and DnsEntry
    serializable, as it does not hurt and some users benefit from it.
  - ChangeProvState "Active" is now also reported on non-recursive info requests
    as well as on provider changes between two other providers (related NPE
    bug fixed)

Version 1.0.1

  - fixed miscounting bug in PooledPort, which could prevent the allocation of 
    new channels

Version 1.1

  - general code housekeeping (JavaDoc fixes and such)
  - updated error codes, marked no longer existing codes as deprecated
  - deprecated Lateack request & response, as no longer supported by registry
  - deprecated/deleted preAck related code
  - added support for disputeReference returned contact info response
  - added support for AuthInfo in DomainData object for changes in the
    change prov request and domain info response
  - added three new operations for the management of AuthInfos
  - added three new message types for new provider change mechanism/AuthInfo
    management
  - added temporary work-around of date format bug in KV response of the
    AuthInfo 1 create response

Version 1.1.1

  - fixed bugs reported by Markus Wolf/New Media Markets & Networks GmbH
     - expiration date for AuthInfo 1 is optional in RRI; fixed to allow
       omission (i.e. null) and added more convenience constructors
     - made ExpireMessageBase.Entry serializable
     - fixed time zone miscalculation in date conversion
       caused by daylight savings time

Version 1.2.b1

  - added support for DNSSEC
  - added support for IPv6 addresses, fixed bugs related to multiple
    IP addresses per name server
  - marked classes related to the discontinued provider change
    process as deprecated

Version 1.2

  - removed classes, methods and Enum constants related to the old provider
    change process
  - resynchronized error codes with official DENIC list, added error codes
    for the access quota result messages
  - general code housekeeping (including comment fixes, missing @Override etc.)

Version 1.3

  - added support for new AAAA nsentry
