Repoze.bfg 0.6.9 is out, a bugfix release.  Their changelog is below:

repoze.bfg 0.6.9 (2009-02-16)

Bug Fixes

- lru cache was unstable under concurrency (big surprise!) when it
  tried to redelete a key in the cache that had already been deleted.
  Symptom: line 64 in put:del data[oldkey]:KeyError: '/some/path'.
  Now we just ignore the key error if we can't delete the key (it has
  already been deleted).

- Empty location names in model paths when generating a URL using
  ``repoze.bfg.model_url`` based on a model obtained via traversal are
  no longer ignored in the generated URL.  This means that if a
  non-root model object has a ``__name__`` of ``''``, the URL will
  reflect it (e.g. ``model_url`` will generate ``http://foo/bar//baz``
  if an object with the ``__name__`` of ``''`` is a child of bar and
  the parent of baz).  URLs generated with empty path segments are,
  however, still irresolveable by the model graph traverser on request
  ingress (the traverser strips empty path segment names).


- Microspeedups of ``repoze.bfg.traversal.model_path``,
  ``repoze.bfg.traversal.quote_path_segment``, and

- add zip_safe = false to setup.cfg.


- Add a note to the ``repoze.bfg.traversal.quote_path_segment`` API
  docs about caching of computed values.

Implementation Changes

- Simplification of
  ``repoze.bfg.traversal.TraversalContextURL.__call__`` (it now uses
  ``repoze.bfg.traversal.model_path`` instead of rolling its own

Repoze-dev mailing list

Reply via email to