[Twisted-Python] ChangeLog

Tommi Virtanen tv at twistedmatrix.com
Fri Mar 11 11:40:48 EST 2005

James Y Knight wrote:
> On the other hand, perhaps all we really want is a single human-edited 
> changes file, describing in a bit more detail than the 1.3 NEWS file 
> what's changed, but more concise than a full changelog. What do people 
> think?

What I do with ldaptor is take the SVN commit messages, clean them up,
categorize and prioritize. People who want just high-level can read
the first section only, people who are only admins/users can read the
first two sections, and developers can pick the parts they are
interested in. I also take care to trim out anything that isn't relevant
-- e.g. things that are a continuation of work committed after 0.0.30
was released. On the other hand, I don't bother providing a NEWS file,
atleast for now.

Looks like this:

ldaptor (0.0.31) unstable; urgency=low

   * Conceptual changes:
     - Service-specific passwords: added a mechanism that allows having
       "subpasswords" that are only used with particular services; e.g.
       let the userPassword attribute be used only for SSH logins, and use
       additional "mail" and "web" password, stored in an attribute called
       "servicePassword". The value is two whitespace-separated fields:
       service name and userPassword-style password digest. See
       ServiceBindingProxy for more.
     - LDIFTree allows LDAP server data storage an a one entry per file
       format, with nice unixy semantics.

   * Applications changes:
     - WebUI:
       - Add pretty label to search form submit button.
       - Service-specific password editing support. Closes: ldaptor#17.
     - Server:
       - New LDIFTree storage backend, storing the LDAP as a filesystem
         directory tree, with one entry per file in LDIF format.
       - Add LDAP proxy support.
       - Add ServiceBindingProxy, an LDAP proxy that handles non-anonymous
         bind requests specially. Closes: ldaptor#15.

   * API changes:
     - Get rid of MutableString:
       - Add pureber.berDecodeObject, remove pureber.ber2object.
       - Add pureber.berDecodeLength, remove pureber.berlen2int.
       - Switch LDAPClient and LDAPServer buffers to be plain strings.
       - Remove MutableString.
     - Change the BER decoding mechanism:
       - Add classmethod fromBER instead of using __init__ in two
       - Remove old-style decode support.
     - Add pureber.berDecodeMultiple, mainly for use by subclasses of
     - Large lengths appeared to be negative, switched berlen2int to
       using longs.
     - Split LDAPServer to BaseLDAPServer, so one has a choice of
       inheriting something without any handle_* methods.
     - Make ldapsyntax.LDAPEntryWithClient.move() remove the old RDN.
     - Make ldapsyntax.LDAPEntryWithClient.move() change the entry's idea
       of its own DN.

   * Refactorings to adapt to Ldaptor APIs:
     - Use connectAnonymously in parallelsearch example.

   * Refactorings to adapt to Twisted/Nevow APIs:
     - Nevow ISerializable is deprecated.
     - ctx.{allPatterns,patternGenerator} are now called
       ctx.tag.allPatterns etc.
     - all IRequest APIs take a context.
     - switch from getDynamicChild to childFactory.
     - addSlash where appropriate.
     - return URLs instead of explicit redirects.
     - switch from renderHTTP to child_.
     - switch from locateChild to childFactory.
     - Twisted >1.3 moves SRVConnector to twisted.names.srvconnect.

   * Bugfixes:
     - Fix BER length encoding for lengths greater than 127, add unit
     - Make many __repr__'s work even when __init__ failed.
     - Make sure every LDAP wire class takes a tag argument.
     - Make LDAPDelRequest also understand keyword argument value, as
       that is what LDAPString uses.
     - Fix and test handling of unknown match types.
     - Fix and unit test saltless non-client setPassword.
     - Fix DistinguishedName order comparison.
     - Make sure configuration does not interfere with the lmPasswords in
       the unit tests.
     - Make nevow data access to LDAP entry attributes work.
     - Add items() to LDAPEntry IContainer adapter's attributes child;
       webui search needs it.
     - Webui edit can now edit attributes that are in the RDN. Closes:
     - Improve handling of missing baseDN in configuration.

   * Cleanups:
     - Remove dead code.
     - Remove the hack-and-slashed RFC file that served as a TODO note.
     - Override IOPump to pass around more than one byte at a time, saves
       >10 seconds in unit tests and protocol decoding of partial messages
       is unit tested elsewhere anyway.
     - Improve ldaptor.testutil error messages, accept any true/false value
       and not just 1 and 0.
     - Clean up LDAPServer.handleUnknown.
     - Prettify LDAPMessage.__repr__
     - Prettify LDAPResult.__repr__
     - If ldapsyntax.LDAPEntryWithClient.search gets a bad response from
       the LDAP server, raise a real exception and not an assert.
     - When converting delta Modifications to LDAP, convert them to basic
       data types for easier debugging and unit testing.
     - Be consistent and use "ctx" everywhere in webui change_password.
     - Add nevow renderer that produces zebra tables.
     - Make ldapsyntax.LDAPEntryWithClient.move() accept strings etc. as
       newDN, add unit test.
     - Make epydoc happy.
     - Simplify ldap-intro document generation.

   * Packaging:
     - Depend on Nevow v0.3.0 or later.
     - Depend on Twisted v1.3.0 or later.
     - Switch to CDBS.
     - Add an ldaptor-common package to contain conffiles.
     - Run unit tests before building debs.
     - Include the unit tests in the distributed files.

   * Administrivia:
     - Add TODO notes.
     - Update ignore file lists to match currently generated files.
     - Export dia files to format png-libart, not just png. This makes the
       export reliable. Hint from Debian bug#275959.

  -- Tommi Virtanen <tv at debian.org>  Fri, 10 Dec 2004 17:39:36 +0200

More information about the Twisted-Python mailing list