doc/changes/3.21.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 21 Mar 2019 14:33:54 +0100
changeset 12530 9d88e1177c35
parent 10930 e0f5bfafec90
child 12728 6bcd8899f71b
permissions -rw-r--r--
Remove Twisted web server Twisted web server is not used anymore and has been superseded by pyramid many years ago. Furthermore, our usage is not compatible with Python 3. So we drop the "etwist" sub-package. As a consequence, "all-in-one" configuration type gets dropped as it was Twisted-specific. We resurrect it in cubicweb/pyramid/config.py by only keeping options used by the "pyramid". Similarly, we introduce a AllInOneCreateHandler in cubicweb/pyramid/pyramidctl.py that is basically the one that lived in cubicweb/etwist/twctl.py and is used to create the "all-in-one" instance. Added a TODO here about "pyramid.ini" that could be generated at the end of bootstrap() method. In cubicweb/devtools/httptest.py, CubicWebServerTC is now equivalent to CubicWebWsgiTC and the latter is dropped.

3.21 (10 July 2015)
===================

New features
------------

* the datadir-url configuration option lets one choose where static data files
  are served (instead of the default ${base-url}/data/)

* some integrity checking that was previously implemented in Python was
  moved to the SQL backend.  This includes some constraints, and
  referential integrity.  Some consequences are that:

  - disabling integrity hooks no longer disables those checks
  - upgrades that modify constraints will fail when running on sqlite
    (but upgrades aren't supported on sqlite anyway)

  Note: as of 3.21.0, the upgrade script only works on PostgreSQL.  The
  migration for SQLServer will be added in a future bugfix release.

* for easier instance monitoring, cubicweb can regularly dump some statistics
  (basically those exposed by the 'info' and 'gc' views) in json format to a file

User-visible changes
--------------------

* the use of fckeditor for text form fields is disabled by default

* the 'https-deny-anonymous' configuration setting no longer exists

Code movement
-------------

The cubicweb.web.views.timeline module (providing the timeline-json, timeline
and static-timeline views) has moved to a standalone cube_

.. _cube: https://www.cubicweb.org/project/cubicweb-timeline

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

* req.set_cookie's "expires" argument, if not None, is expected to be a
  date or a datetime in UTC.  It was previously interpreted as localtime
  with the UTC offset the server started in, which was inconsistent (we
  are not aware of any users of that API).

* the way to run tests on a postgresql backend has changed slightly, use
  cubicweb.devtools.{start,stop}pgcluster in setUpModule and tearDownModule

* the Connection and ClientConnection objects introduced in CubicWeb 3.19 have
  been unified.  To connect to a repository, use::

    session = repo.new_session(login, password=...)
    with session.new_cnx() as cnx:
        cnx.execute(...)

  In tests, the 'repo_cnx' and 'client_cnx' methods of RepoAccess are now
  aliases to 'cnx'.

Deprecated code drops
---------------------

* the user_callback api has been removed; people should use plain
  ajax functions instead

* the `Pyro` and `Zmq-pickle` remote repository access methods have
  been entirely removed (emerging alternatives such as rqlcontroller
  and cwclientlib should be used instead).  Note that as a side effect,
  "repository-only" instances (i.e. without a http component) are no
  longer possible.  If you have any such instances, you will need to
  rename the configuration file from repository.conf to all-in-one.conf
  and run ``cubicweb-ctl upgrade`` to update it.  Likewise, remote cubicweb-ctl
  shell is no longer available.

* the old (deprecated since 3.19) `DBAPI` api is completely removed

* cubicweb.toolsutils.config_connect() has been removed