doc/4.0.rst
author Pierre-Yves David <pierre-yves.david@logilab.fr>
Wed, 26 Jun 2013 11:21:39 +0200
changeset 9098 5467fb901931
parent 9043 97c3bb9a7c99
child 9113 af6efc15fc90
permissions -rw-r--r--
[connection] transparent cnx_set handling Connection object while take cares of there cnxset themself (as dbapi connection does). The ``set_cnxset`` and ``free_cnxset`` operation are still available for backward compatibility purpose. The ``_auto_free_cnx_set`` is introduced to handle mixed usage. A new context manager ``connection.ensure_cnx_set`` is added for code that access ``cnx.cnxset`` directly and are not wrapped in any specific ``Connection`` method. A ``_with_cnx_set`` decorator is used on all Connection method that need a cnxset.

What's new in CubicWeb 4.0?
============================

Behavior Changes
----------------

* The anonymous property of Session and Connection are now computed from the
  related user login. If it match the ``anonymous-user`` in the config the
  connection is anonymous. Beware that the ``anonymous-user`` config is web
  specific. Therefore, no session may be anonymous in repository only setup.

API changes
-----------

* ``RepositorySessionManager.postlogin`` is now called with two arguments,
  request and session. And this now happens before the session is linked to the
  request.

* ``SessionManager`` and ``AuthenticationManager`` now take a repo object at
  initialization time instead of a vreg.

* The ``async`` argument of ``_cw.call_service`` have been dropped. All call are
  now  synchronous. The zmq notification bus looks like a good replacement for
  most async usecase.

* ``repo.stats()`` is now deprecated. The same information are available through
  a service (``_cw.call_service('repo_stats')``)

* ``repo.gc_stats()`` is now deprecated. The same information are available through
  a service (``_cw.call_service('repo_gc_stats')``)

* ``request.set_session`` no longer takes an optional ``user`` argument.

* CubicwebTC does not have repo and cnx as class attributes anymore. They are
  standard instance attributes. ``set_cnx`` and ``_init_repo`` class methods
  become instance methods.


Deprecated Code Drops
----------------------

* The ldapuser source has been dropped. ldapfeed is the only official source
  remaining for ldap.

* session.hijack_user mechanism has been dropped.