The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
0.54 -- Fri Mar 29 12:07:40 CET 2013

Bug Fixes:
* RT#73202: LDIF.pm: Base64-encode values ending in spaces
* RT#83815: fix typo/bug in example for root_dse

Enhancements:
* FAQ.pod: mention Dancer::Plugin::LDAP, update example
* Extra/eDirectory.pm: new; extensions for eDirectory
* Constant.pm: add constants for Novell eDirectory
* LDIF.pm: clean up handling of mode parameter
* LDIF.pm: partially support controls when reading
* Util.pm: add time conversion functions
* Makefile.PL: update recommends, add comments on core modules
* FAQ.pod: update info on required/optional modules
* LDAP.pod,FAQ.pod: harmonize documentation of scope values

0.53 -- Sat Jan 26 18:23:35 CET 2013

Bug Fixes:
* various clarification & fixes in documentation
* t/7{1pre,2post}read.t: don't use deprecated methods

Enhancements:
* Filter.pm: new method negate()
* Util.pm: new function ldap_url_parse()
* RT#77716: LDAP.pm: new option keepalive for new()
* LDAP.pm: convert scheme to lowercase in new()
* FAQ.pod: how to search all members of a large AD group
* FAQ.pod: how to do nested group searches in AD

0.52 -- Tue Jan 1 13:54:22 CET 2013

Bug Fixes:
* fix PreRead & PostRead controls
* AD.pm: fix typo in documentation

Enhancements:
* add tests for PreRead & PostRead controls
* FAQ.pm: example for certificateExactMatch
* coding style overhaul:
  * use single-quoted strings where possible
  * 2 SPACEs before postfix if,unless,or,and
  * SPACE after comma
  * SPACE between if,elsif,unless,while,for and (
  * make private lexical variables more private
  * unquote identifiers before =>
  * unquote identifiers used as hash keys

0.51 -- Sat Dec 1 14:37:35 CET 2012

Bug Fixes:
* RT#81380: in Filter.pm unescape hexpairs and ( ) \ * only
* tests: compare files in "text mode"
* Makefile.PL: mention all requirements for tests

Enhancements:
* Schema.pod: document attribute_syntax()
* contrib/schema2ad.pl: new, convert schema file to something AD can digest

0.50 -- Sat Nov 24 13:03:45 CET 2012

Bug Fixes:
* t/07filtermatch.t: use core module Text::Soundex instead of String::Approx
* Message.pm: fix regression w.r.t. Net::LDAP::Message::Dummy

Enhancements:
* Makefile.PL: make dependencies reflect reality better
* LDAP.pm: avoid warning in new() that might have occurred in corner cases

0.50_01 -- Sat Nov 17 18:05:15 CET 2012

Bug Fixes:
* RT#80482 fix display of =item inet6 in LDAP.pod
* RT#66753: new key & cert for SSL server tests
* RT#79763 Net::LDAP::Util's $VERSION increased
* t/06constant.t: numbering glitch in t/06constant.t
* FilterMatch.pm: fix mapping of greaterOrEqual
* FAQ.pod: small fixes

Enhancements:
* add constant LDAP_PROXY_AUTHZ_FAILURE
* FilterMatch.pm: complete overhaul
  - update matching rules known in OpenLDAP
  - support matching rules for extensibleMatch
  - avoid warning if no matching rule is found
  - add specific implementations for a lot of rules
* global overhaul towards Perl 5.8 features
  - declare @ISA and $VERSION as package-local
  - replace 'use vars' by 'our'.
* Makefile.PL: overhaul
* tests: cleanup & extensions
  - convert to Test::More
  - t/common.pl: allow client() to take options for Net::LDAP
  - t/common.pl: get rid of local compare function
  - t/03schema.t: overhaul, update data/schema.in
  - t/07filtermatch.t: new, tests for Net::LDAP::FilterMatch
  - t/40connect.t: new, test for IPv4 / IPv6 connections
  - reorganize servers tests: rename t/5X*.t -> t/4(X+1)*.t
  - t/47ipc.t: add TLS tests
  - t/60cancel.t: new, tests for Net::LDAP::Extension::Cancel
  - t/70sortctrl.t: make it a server test & add multi-attribute testcase

0.49 -- Sat Oct 5 10:00:30 CEST 2012

Bug Fixes:
* RT#79763 extend ldap_explode_dn() for RFC 4514
* RT#77291 canonicalize host name with ldapi://
* LDAP.pm: don't try to set errors on undefined objects

Extensions:
* Net/LDAP/Extra/AD.pm:  convenience functions for AD
* various documentation updates

0.48 -- Thu Sep 20 10:55:20 CEST 2012

Bug Fixes:
* Util.pm: fix bug in escape_dn_value()
* t/55ssl.t: fix typos in output text
* LDIF.pm: with encode => 'canonical', do mbcescape DNs
* the usual typo fixes in docs

Enhancements:
* ASN.pm: adapt to RFC 4511
* Extension/{SetPassword,Refresh}.pm: polish ASN.1 definition
* LWP/Protocol/ldap.pm: respond with requested MIME type
* LWP/Protocol/ldap.pm: document 'x-format' URI extension
* LWP/Protocol/ldap.pm: add DSMLv1 as output format
* test routines updated to work with recent OpenLDAP
* removed trailing spaces
* support OpenLDAP extension: scope => "children"

0.47 -- Sun Sep 16 12:00:30 CEST 2012

Bug Fixes
* contrib/ldifdiff.pl: fix POD
* Intermediate/SyncInfo.pm: fix newcookie() method
* LWP/Protocol/ldap.pm: complete overhaul

Enhancements
* more feature constants in Net/LDAP/Constant.pm
* new features & documentation for LWP/Protocol/ldap.pm
* LWP/Protocol/ldapi.pm: support ldapi:// URIs with LWP
* contrib/LWPsearch.pl: demo program for LWP::Protocol::ldap*
* update link list in the FAQ
* update references to RFCs

0.46 -- Wed Sep 5 18:09:00 CEST 2012

Bug Fixes
  * LDAP.pm: unbreak - make done a real sub
  * Message.pm: fix typo, i.e. add forgotten ';'

Enhancements:
  * FAQ.pod: update URLs a bit more

0.45 -- Wed Sep 5 11:20:46 CEST 2012

Bug Fixes
  * RT#72108 fix non-blocking IO with SSL
  * RT#74572 fix $entry->update($ldif)
  * RT#74759 fix POD spelling/grammar errors
  * RT#77180 use "sslv23" instead of "sslv2/3" for sslversion
  * work around a warning in Authen::SASL::Perl <= 2.1.5
  * various typo fixes in documentation

Enhancements
  * RT#77458 re-work IPv6 support
  * Don't accumulate intermediate messages passed to a callback.
  * slightly extend Net::LDAP::Entry->update() and document it
  * convenience alias done() for Net::LDAP->unbind()
  * various updates to the FAQ

0.44 -- Sun Jan 29 10:36:08 CET 2012

Bug Fixes
  * un-break certificate verification
  * fixes for the ProxyAuthorization control
  * fix typos & spelling errors in POD

Enhancements
  * MANIFEST.SKIP: sync with Perl 5.14.2's ExtUtils version
  * Makefile.PL: update resource info on repository
  * new extended operation Net::LDAP::Extension::Cancel
  * new control Net::LDAP::Control::MatchedValues
  * new control Net::LDAP::Control::Assertion
  * update reference documents in POD
  * extend documentation for Pre-Read & Post-Read controls
  * add error string for LDAP_VLV_ERROR
  * add result codes for VLV and cancel
  * add constant for DontUseCopy control
  * add constant for PermissiveModify control

0.43 -- Sat Sep 3 12:50:49 CDT 2011

  * Fix copy & paste errors in Net::LDAP::Message

0.42 -- Sat Sep 3 07:46:06 CDT 2011

  * Check whether LDAP socket object has a peerhost() method defined before calling it. This fixes SASL authentication over UNIX domain (ldapi://) sockets. [Chris Mikkelson]

0.41 -- Sat Sep 3 07:37:31 CDT 2011

  * use of non-localised $_ in Net::LDAP::Constant causes prolems in lemonldap-ng [Damyan Ivanov]
  * Added cn,o,ou to the default set of case-insensitive attributes [Kartik Subbarao]
  * Entry.pod: fix typos [Peter Marschall]
  * extend Net::LDAP::Entry->update() to take LDIF objects [Peter Marschall]
  * Specify that we want to use the 'ldap' scheme to verify certificates. [Kevan Carstensen]

0.4001 -- Wed Mar 24 14:54:35 CDT 2010

  * Update Module::Install and generate META.yml

0.40 -- Thu Mar 11 20:56:28 CST 2010

  * Avoid 'cookie parsing error' on OpenLDAP 2.3 [Mathieu Parent]
  * Added e-syncRefreshRequired constant [Mathieu Parent]
  * Minor typo fix in documentation [Quanah Gibson-Mount]
  * Update CREDITS for Mathieu Parent
  * Remove runtime dependency on DATA handle for constants
  * Clarify documentation for gen_password
  * Allow caller to pass Authen::SASL client_new object
  * fix typo [Peter Marschall]
  * use current IO::Socket::SSL's method start_SSL instead of deprecated function socketToSSL; raise required IO::Socket:SSL version appropriately [Peter Marschall]
  * FilterMatch.pm: fix regex treatment in _{cis,exact}_substrings(). [Peter Marschall]
  * FilterMatch.pm: correct # of args in function declarations/definitions [Peter Marschall]
  * Don't duplicate documentation [Mathieu Parent]
  * Added numcmp option to compare attributes numerically. [Kartik Subbarao]
  * Avoid infinite loop when authenticating with EXTERNAL mechanism
  * Add Net::LDAP::Extension::Refresh as described in RFC2589 [Etienne Bagnoud]
  * RT#40068 Fix tests to work with 2.4.11
  * Add ldif method to Net::LDAP::Entry
  * RT#46111 Make LWP::Protocol::ldap return ldif when requested
  * RT#51165 Compact multiple consecutive spaces in Net::LDAP::Util::canonical_dn
  * RT#46125 Add LWP::Protocol::ldaps to support ldaps: urls
  * RT#44110 Fix Net::LDAP::LDIF->current_lines


perl-ldap 0.39 -- Mon Oct 27 15:02:37 CDT 2008
==============================================

Bug Fixes
 * Several fixes to the handling of IntermediateMessage and LDAP Content synchronisation
 * Fix dsmt test to not fail on win32
 * Fix Net::LDAP::Util to not cause Undefined subroutine &Net::LDAP::Util::ldap_error_desc

perl-ldap 0.38 -- Sun Sep 21 09:17:25 CDT 2008
==============================================

Bug Fixes
 * Fix bug in Net::LDAP::Extension using wrong field for resultCode
 * Fix Net::LDAP::Control::PasswordPolicy decoding bug.

Enhancements
 * Net::LDAP::Extension::SetPassword now supports controls

perl-ldap 0.37 -- Thu Aug 28 07:48:13 CDT 2008
==============================================

Bug Fixes
 * Pass correct hostname to SASL when connecting to a round-robin
 * Return the SASL error message when sasl client_start fails

Enhancements
 * Add Modify Increment (RFC 4525) support
 * Add Content Synchronization (RFC 4453) support

perl-ldap 0.36 -- Mon Apr 21 10:00:09 CDT 2008
==============================================

Bug Fixes
 * Fixed Net::LDAP::constant to return correct names for values 0 - 9
 * Fixed DSML test to be more tolerant of whitespace

Enhancements
 * Added controls for PreRead & PostRead

perl-ldap 0.35 -- Sun Mar 30 13:35:04 CDT 2008
==============================================

Bug Fixes
 * Fix wrapping in Net::LDAP::LDIF
 * Patch from Gergely Santa to allow entries with no attributes in LDIF
 * Fix modr?dn to fetch values in sclar context
 * send packets in sizes that IO::Socket::SSL can chew
 * Avoid attept to use undef as hash reference in ->sync
 * Ensure Bind.pm presents final server response to SASL object

Enhancements
 * Added vendorName/vendorVersion (RFC 3045) to root_dse()
 * add option to support IPv6
 * Allow Entry->deleted to be called with a single value is well as array ref
 * Added Net::LDAP::Control::PasswordPolicy to support draft RFC

perl-ldap 0.34 -- Sat Feb 10 17:39:49 CST 2007
==============================================

Bug Fixes
  * Improve dealing with mixed case attributes in Net::LDAP::Entry
  * Documentation fixes & updates
  * Don't let Net::LDAP->bind() die on SASL errors
  * Fix case-folding in Net::LDAP::Util::ldap_explode_dn()
  * Saner default for ldapi socket
  * Update test suite to work with recent OpenLDAP versions
  * The usual bunch of typo fixes
  * Fix escaping on non-ascii characters in Net::LDAP::Filter

Enhancements
  * Flexible handling of line ends in Net::LDAP::LDIF when reading
  * Improve writing speed in Net::LDAP::LDIF
  * Net::LDAP accessor methods for scheme, host, port, URI connected to
  * New checkcrl option to Net::LDAP->new() to do CRL checking
  * New package Net::LDAP::Filtermatch for client side filtering
  * More ASN1 messages handled in Net::LDAP:ASN: IntermediateResponse
  * Option 'raw' to return Perl UTF-8 strings from queries (requires Perl 5.8)
  * Support  Active Directory's extendedAttributeInfo schema information
  * Method to find matchingrule for an attribute in Net::LDAP:Schema
  * Updated build dependecies: GSSAPI support, ..


perl-ldap 0.33 -- Mon Apr 25 08:02:26 CDT 2005
==============================================

Bug Fixes
  * Removed superfluous "print" in Net::LDAP::LDIF before _write_attr on writing
  * Base64 encode any value starting with < in Net::LDAP::LDIF
  * Documentation updates
  * Fix case insensitivity issues in contrib/ldifdiff.pl

Enhancements
  * Added Net::LDAP::Extension::WhoAmI
  * Added write_version() and handle() methods to Net::LDAP::LDIF
  * Updated Net::LDAP::Control::ProxyAuth to support new OID from latest rfc-draft
  * Added contrib/recursive-ldap-delete.pl
  * Added ability to do case in comparisons to contrib/ldifsort.pl
  

perl-ldap 0.3202 -- Mon Jul 19 11:44:08 BST 2004
================================================

Bug Fixes
  * Fixed case typo in Makefile.PL

perl-ldap 0.3201 -- Wed Jul 14 21:52:59 BST 2004

Bug Fixes
  * Fixed dependancies in Makefile.PL

perl-ldap 0.32 --

Bug Fixes
  * Documentation updates
  * Fixed LDIF output from ldapsearch command
  * Return an error if no filter is passed to Net::LDAP::filter->parse
  * Fixed bug handling comments in LDIF parser
  * Fix to ldapsearch for passing scope with -s
  * Do not send a fake userid in SASL binds
  * Net::LDAP::Schema->parse() now returns undef on errors

Enhancements
  * Added supportedFeatures to the default list of attributes
    fetched by ->root_dse
  * Added option to sort attributes in LDIF output, with objectclass
    being first floowed by all other attributes in alphabetical order
  * Add escape/unescape filters/DN utility functions
  * Added support for reading LDIF URL attributes using file://
  * The socket created by new can now be bound to a local address & port
  * Any controls returned by the server with each entry as a result from a search
    are now available in the callback function
  * Added classes for EntryChange, PersistentSearch and ManageDsaIT controls
  * Allow options passed to Net::LDAP::Entry-.update to be passed to the
    Net::LDAP method that is finally called

perl-ldap 0.31  1 Jan 2004
==========================

* Fixed bug that could cause methods to return an integer instead of an object
* Fixed bug causing Schema.pm to ignore superior classes that had no attributes
* Documentation updates
* Updates to LDIF module

perl-ldap 0.30 17 Oct 2003
==========================

* Documentation updates
* Fixed bug checking return value of client_step in bind()
* Fixed bug in Entry.pm causing method calls on unblessed references

perl-ldap 0.29 24 Jun 2003
==========================

* Workaround bug in IO::Socket::SSL when startTLS fails
* Fix reference loop memory leak problem
* Add a SIGNATURE to the distribution
* Re-added support for :all in the import list to get all constants
* New methods error_name, error_text, error_desc added to Message.pm

perl-ldap 0.28 19 May 2003
==========================

* Net::LDAP::Entry object can now be cloned
* New class Net::LDAP::RootDSE
* Net::LDAP->new can now accept URLs for the host
* Added support for ldapi:
* Now supports Notice of disconnection
* Net::LDAP::Constant now implements its own import function, it no
  longer inherits from Exporter. So :all and /^LDAP_CONTROL/ etc
  are no longer valid arguments for import. The result is that
  Net::LDAP::Constant only defined the subs that are needed.

perl-ldap 0.27 27 Jan 2003
==========================

* Default protocol version is now version 3
* Fixed support for multiple hosts to be passed to new

perl-ldap 0.26 18 Jul 2002
==========================

* canonical_dn and ldap_explode_dn have a new implementation.
* Net::LDAP::DSML reimplemented using XML::SAX
* Net::LDAP::Schema reimplemented. API needed to change to fix
  many bugs in previous implementation
* Added support for version number in Net::LDAP::LDIF
  (support for fill version still todo)

perl-ldap 0.251 15 May 2002
===========================

* Added support for Adamson's SASL authentication
* Both Cyrus SASL and Perl SASL modules are sought

perl-ldap 0.25 29 Oct 2001
==========================

* Added support for EXTERNAL SASL authentication
* Caller can now specify attributes to return from root_dse
* More scripts added to contrib
* Various bug fixes
* Caller can now specify sslversion for LDAPS and start_tls

perl-ldap 0.24 17 July 2001
===========================

* Added support for startTLS
* Better error checking in Net::LDAP methods
* VLV control now works
* Can now use oid or name for the matchingRule in filter extensible matches
* Major overhaul of LDIF.pm
* $schema->name2oid is now context sensetive
* test suite now works with openldap2

perl-ldap 0.23 April 20 2001
============================

* Fixed bug in Net::LDAP::Filter when the filter contained an escaped *
* Fixed SASL bind to call challenge with serverSaslCreds
* Fixed some uninit errors in Net::LDAP::Entry
* Various documention updates
* Added Net::LDAP::Util::canonical_dn
* Net::LDAP::LDIF will now call canonical_dn for any DN which
  contains non-printable characters
* Added support for matchingruleuse, ditstructurerules, ditcontentrules
  and nameForms into Net::LDAP::Schema
* The ->schema method in Net::LDAP has changed how it finds the
  schema to return. The new method is more correct, but there may
  be a possibility that this change has created an incompatability.
* New control module Net::LDAP::Control::ProxyAuth from
  Olivier Dubois added
* Added support for moddn in Net::LDAP::LDIF.
* Minor fixes to the DSML output (fixing illegal XML.)



perl-ldap 0.22 September 14 2000
================================

* Quick release to fix memory problem with 5.6.0

perl-ldap 0.21 September 12 2000
================================

* Change ->get back to return what 0.19 returned
* Deprecate ->get in favor of ->get_value
* Net::LDAP::Schema now supports matchingRules
* Added experimental onerror option to ->new
* New FAQ by Clif Harden

perl-ldap 0.20 August 3 2000
============================

* Added INSTALL and CREDITS files
* Net::LDAP::Entry ->get and ->attributes methods now support options
* Added Net::LDAP::DSML from Mark Wilcox
* Added Net::LDAPS from Chris Ridd
* Many documentation updates
* Several fixes to ::Control::* classes, they should now work as intended.
* Net::LDAP::Entry->get now always returns a scalar result as documented.
* bin/ldapsearch now requires URI-1.08

perl-ldap 0.19 June 8 2000
============================

* Fixed bug which caused 2nd and subsequent binds to be anonymous.
* Fixed bug in moddn.
* Fix bug which caused a call to ->pop_entry or ->shift_entry
  to hang forever.

perl-ldap 0.18 May 22 2000
============================

* Now passes -wc with 5.004, 5.005_03 and 5.6.0
* Bundle now correctly references Convert::ASN1 instead of
  the non-existant Convert::ASN
* Net::LDAP::Filter will now catch the case of unmatched
  ()'s and return an error
* as_struct, which was broken in the changeover to Convert::ASN1,
  now works again.

 KNOWN PROBLEMS
 --------------

 Test t/02filter.t fails with perl 5.6.0 compiled with threads enabled
 This is due to a bug in 5.6.0 when compiled with threads, see
 http://bugs.perl.org/perlbug.cgi?req=tidmids&tidmids=20000409.003&range=32323&format=h

perl-ldap 0.17 May 12 2000
============================

* Change to use asn_read instead of asn_resc. This seems to have
  fixed the known problem with 0.16
* Various bug fixes, see ChangeLog

perl-ldap 0.16 April 27 2000
============================

* This is the first release which uses Convert::ASN1 instead of
  Convert::BER. This should show an increase in performance.
* Added support for LDAPv3 controls. Controls supported are
  - VirtualListView
  - Sort
  - Paged
* HTML version of the documentation is now included in the
  distribution
* Added Bundle::Net::LDAP
* Net::LDAP->schema can now be told where to search for the schema.

 KNOWN PROBLEMS
 --------------

  In a pre-release of 0.16 it has been seen that a search result may
  not contain all entries and $mesg->code will be LDAP_DECODING_ERROR.
  This has been seen when the client is running on NT or Linux and the
  server is an Exchange server.