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.27 (not yet released)
=======================
New features
------------
* Tests can now be run concurrently across multiple processes. You can use
`pytest-xdist`_ for that. For tests using `PostgresApptestConfiguration` you
should be aware that `startpgcluster()` can't run concurrently. Workaround is
to call pytest with ``--dist=loadfile`` to use a single test process per test
module or use an existing database cluster and set ``db-host`` and
``db-port`` of ``devtools.DEFAULT_PSQL_SOURCES['system']`` accordingly.
.. _pytest-xdist: https://github.com/pytest-dev/pytest-xdist
Backwards incompatible changes
------------------------------
* ``cubicweb-ctl`` commands "start", "stop", "restart", "reload" and "status"
have been removed because they relied on the Twisted web server backend that
is no longer maintained nor working with Python 3.
* Twisted web server support has been removed.
Deprecated code drops
---------------------
Most code deprecated until version 3.25 has been dropped.