0.22 2006-05-12 + EPP Poll from prototype by Elias Sidenbladh (Protocol/EPP/Core/RegistryMessage) : new methods message_retrieve() (=poll request) message_delete() (=poll ack) and message_waiting() in Net::DRI Please see examples at the end of t/601vnds_epp.t on how to retrieve info on a message, and info on all messages (count & first id). + Preliminary support for .FR/.RE by email : only domain creation for now, without parsing of registry emails coming back (Net::DRI::Data::Contact::AFNIC Net::DRI::Protocol::AFNIC::Email Net::DRI::Protocol::AFNIC::Email::Message Net::DRI::Protocol::AFNIC::Email::Domain Net::DRI::Transport::SMTP) For all asynchronous operations, the result status is command successful but pending. + In all result status, new method trid() that stores the (local/client) transaction identifier of the operation that generated this result status, and new method is_pending() to know if the operation has been done or is pending review, which will be the case for all asynchronous registries (Protocol/ResultStatus) = EPP + RRP : we use the nameserver list provided in domain operations only if it is not empty = Data/Contact/EURid : lower limits for name/org length than in EPP - Transport/Socket : correctly shut down alarms in end() (thanks to Sten Spans) - Protocol/EPP/Extensions/EURid/Domain : bugfix for transfer/transferq/trade requests when specifying nameservers, from bug report by Andreas Wittkemper - Protocol/EPP/Connection : bugfix when there is no svcExtension (found by Michael Braunoeder) - Protocol/EPP/Core/Contact : correctly handle all cases of empty fax (and tel for that matter), bug report from Brian 0.21 2006-03-04 + Support for .SE (based on EPP) thanks to Elias Sidenbladh and the NIC SE team + Support for .PL (based on EPP) except the Future object (interoperability with registry not tested) + Data/Contact,Protocol/EPP/Core/Contact : we now handle both internationalized and localized data, for registries handling both. Changes are backwards compatible with previous version, but make sure to test on your systems before installing in production. + Protocol/ResultStatus : new print_full() method to have all details from registry + Data/Hosts : new set() method + Transport : we keep time of last use (idea from Brian), with method time_used() = Transport/Socket : if sending fails, and retry > 1, we try to reconnect ; this is a crude way to handle registry timeouts = local_object() enables you to create any kind of local objects, including hosts, contacts, contactsets, changes, etc... without having to load and directly call Net::DRI::Data::Hosts,Contact,ContactSet,Changes Please see the modified t/606eurid_epp.t for examples = better error debugging in new_profile() when loading Transport and Protocol classes = Transport/Socket : do not use IO::Socket::SSL::context_init anymore, it is marked as deprecated in module - Protocol/EPP/Message : correct creation of commands (bug found by Elias Sidenbladh) - Protocol/{EPP,RRP}/Message : correct encoding of outgoing messages with Encode::encode() - eg/eurid_epp.pl : the filehandle used for logging must be closed after $dri->end() not before 0.20 2005-12-02 + EURid/Sunrise : we automatically reconnect after each apply command (successful or not), when needed, since the connection is dropped by registry (bug reported by Lucas Vossberg) + Transport/Socket : a client certificate is no more mandatory, the default verification level is lowered, better error message for SSL problems (suggested by Peter van Dijk) - Protocol/EPP/Extensions/EURid/Sunrise : various bugfixes for documentaryevidence=thirdparty (found by Yves Cartenstadt) = EURid : the sample provided (eurid_epp.pl) dumps all exchanges to a file 0.19 2005-11-14 + Updates for conformity with latest EURid specifications : # extra information in result of apply during Sunrise (reference, code, crDate) # new action apply_info during Sunrise to get back information on previously submitted applications (reference, code, crDate, application_status, contact, ns, docsReceivedDate, adr) + Protocol/Resultatus : extra information from registry (error messages) is available with info() + EPP/Extensions/EURid : we parse eurid:msg for extra information, especially useful if errors - EPP/Extensions/EURid/Sunrise : invalid call for nsgroup (bug found & fixed by Jørgen Thomsen) = Data/Hosts has 2 significative changes : you can use get_details with a name and you can add a nameserver already in the list, in which case the new IP addresses are added with existing ones (without duplicates) 0.18 2005-11-06 + Many improvements for .EU support : no need to specify empty useless values needed for EPP but not used by EURid (domain/contact auth), no status handling for domains, example for test systems (eg/eurid_epp.pl) - EPP/Message : use bytes is necessary for correct length calculation = Transport : if a server closes the connection on us (at protocol level, not socket one), we note the fact and will try to reconnect later if needed = RRP : take into account PENDINGRESTORE PENDINGDELETE PENDINGTRANSFER status 0.17 2005-10-24 + Full support for EURid (.EU) with Net::DRI::DRD::EURid, Net::DRI::Data::Contact::EURid, Net::DRI::Protocol::EPP::Extensions::EURid and Net::DRI::Protocol::EPP::Extensions::EURid::* + Query list of object types managed by registry (ex: domain, contact, etc...) with $dri->has_object() + A copy of all exchanges can be sent to the filehandle of your choices (see log_fh in Net::DRI::Transport) - BUGFIX in handling of dates in EPP : we switch to UTC before printing - BUGFIX in Net::DRI::Protocol::EPP::Connection : data may come in multiple chunks - BUGFIX in Net::DRI::Protocol::EPP::Core::Domain : handling of hosts as attributes = Net::DRI::Data::Hosts::add() returns the object itself (useful for chains) = Net::DRI::Data::Contact::validate() verifies the country code against the list in Util = No more hardcoding of various xml namespaces names in various modules, the list is set during protocol object creation. = domain_create() : a duration is not mandatory 0.16 2005-10-04 + Three new EPP extensions : SecDNS (for DNSSEC), E164 (for ENUM) and NSgroup (for .BE & .EU) + New registry : .WS + New API in addition to the existing one, with Net::DRI::Data::RegistryObject : needed for extensions that handle new types of objects, such as NSgroup + Take into account new error codes for AFNIC Web Services (technical note RP-20050913/DT-01) + Add a name() and loid() accessor in Net::DRI::Data::Hosts - In EPP, we load host commands only if hosts are handled as an object by the registry - For domain_info(), host_info() and contact_info() we use data from cache, if we really did an *_info() before. - Various bugfixes in DRD and RRP protocol. = Rework of Net:DRI::Protocol::ResultStatus & associated classes to handle more cases by directly passing the EPP code = Simpler in-memory XML nodes representation in Net::DRI::Protocol::EPP::Message = Rework of Net::DRI::Protocol::{EPP,RRP}::Connection & Net::DRI::Transport::Socket (send_login) to die with a Net::DRI::Protocol::ResultStatus in case of problems + Changes in Net::DRI::Registry::new{,_current}_profile to return a ResultStatus object = Change in EPP domain_update as RFC3731 is ambigous (text & XML schema do not agree) With this change, we now conform to the XML schema, which seems normative per provreg mailing-list consensus. This will break with any server implementing the text part 0.15 2005-07-20 + New protocol: EPP, with Grace Period extension (other can easily be added) + Better way to create statuses (no() function in StatusList), see README for domain_update_status_add and statuses name are not put in uppercase automatically + Handling of contacts : modules Contact & ContactSet + new functions in DRD (contact_*) + New functions: domain_check_multi, host_check_multi (if registry supports, check multiple objects at once) - BUGFIX in Net::DRI::Util::is_ipv6 - BUGFIX : better checks of references with UNIVERSAL::isa instead of pure ref() = Rework of Net::DRI::Transport::Socket & associated connection classes 0.12 2005-05-31 + New ``registries'': 1) AFNIC (through web services, domain check only) 2) Gandi (through web site, domain nameservers update only) + New transport: SOAP (HTTP/HTTPS only) + New transport: Web (Web Scraping) + New protocol: Gandi Web Site (domain update only) + New protocol: AFNIC web services (domain check only) + New way of using profiles in Net::DRI::Registry : an auto switch functionnality is provided so that the calling app does not have to call target() explicitely over and over (see README for details) - BUGFIX for RRP : order of elements is now exactly as specified by standard - BUGFIX for Net::DRI::DRD in host_is_mine: parameters (warning not triggered in some perls) - BUGFIX for Net::DRI::DRD in err_invalid_domain_name/err_invalid_host_name: correct message & really raise an exception if a problem is found ! - BUGFIX for Net::DRI::DRD in check_name: correct count of dots + Net::DRI::Transport::Socket : require on the protocol connection class to make sure it works - DOCFIX for Net::DRI::Data::Hosts (a ] was missing for the ref array of IPs) + New tests for Net::DRI::Protocol::RRP::Connection, Net::DRI::Protocol::AFNIC::WS::Message, Net::DRI::Protocol::Gandi::Web::Message, Net::DRI::Protocol::Gandi::Web::Connection - BUGFIX : no more warnings in tests, we use the TODO block of Test::More 0.11 2005-04-25 + POD NAME section for each file with a short description - BUGFIX for VERSION (. missing) + New files: Changes, TODO = No changes in code 0.10 2005-04-24 = First version on CPAN