doc/changes/3.27.rst
author Noe Gaumont <ngaumont@logilab.fr>
Wed, 16 Oct 2019 14:49:38 +0200
changeset 12742 ca698656251c
parent 12738 a54037a68b14
child 12750 74b473f288d5
permissions -rw-r--r--
Add a migration function in order to relocate bfss Related to https://www.cubicweb.org/ticket/1903304

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

* on `cubicweb-ctl create` and `cubicweb-ctl pyramid`, if it doesn't already
  exist in the instance directory, the `pyramid.ini` file will be generated
  with the needed secrets.

* add a --pdb flag to all cubicweb-ctl command to launch (i)pdb if an exception
  occurs during a command execution.

* the --loglevel and --dbglevel flags are available for all cubicweb-ctl
  instance commands (and not only the ``pyramid`` one)

* following "only in foreground" behavior all commands logs to stdout by
  default from now on. To still log to a file pass ``log_to_file=True`` to
  ``CubicWebConfiguration.config_for``

* add a new migration function `update_bfss_path(old_path, new_path)` to update
  the path in Bytes File-System Storage (bfss).

Backwards incompatible changes
------------------------------

* Standardization on the way to launch a cubicweb instance, from now on the
  only way to do that will be the used the ``pyramid`` command. Therefore:

   * ``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.

   * ``cubicweb-ctl wsgi`` has also been removed.

* Support for legacy cubes (in the 'cubes' python namespace) has been dropped.
  Use of environment variables CW_CUBES_PATH and CUBES_DIR is removed.

* Python 2 support has been dropped.

* Exceptions in notification hooks aren't catched-all anymore during tests so
  one can expect tests that seem to pass (but were actually silently failing)
  to fail now.

* All "cubicweb-ctl" command only accept one instance argument from now one
  (instead of 0 to n)

* 'pyramid' command will always run in the foreground now, by consequence the
  option ``--no-daemon`` has been removed.

* DBG_MS flag has been removed since it is not used anymore

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

Most code deprecated until version 3.25 has been dropped.