doc/changes/3.25.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 21 Mar 2019 14:33:54 +0100
changeset 12530 9d88e1177c35
parent 12492 a7ffcaae7f4c
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.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12166
a33c2b8d183b [doc] Set release date of 3.25 in changelog
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12128
diff changeset
     1
3.25 (14 April 2017)
a33c2b8d183b [doc] Set release date of 3.25 in changelog
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12128
diff changeset
     2
====================
11951
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     3
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     4
New features
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     5
------------
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     6
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     7
* A new option `connections-pooler-enabled` (default yes) has been added. This
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     8
  allow to switch off internal connection pooling for use with others poolers
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
     9
  such as pgbouncer_.
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    10
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    11
.. _pgbouncer: https://pgbouncer.github.io/
330f240435b0 [doc] Add 3.25 release notes
Philippe Pepiot <philippe.pepiot@logilab.fr>
parents:
diff changeset
    12
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    13
* In `deleteconf` view (confirmation before deletion), the list of first-level
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    14
  composite objects that would be deleted along with the primary entity is
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    15
  displayed (01eeea97e549).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    16
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    17
* The ``cubicweb.pyramid`` module now provides a Paste application factory
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    18
  registered as an entry point named ``pyramid_main`` and that can be used to
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    19
  run a Pyramid WSGI application bound to a CubicWeb repository.
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    20
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    21
* A new configuration type ``pyramid`` has been added to create CubicWeb's
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    22
  instances (through ``cubicweb-ctl create -c pyramid <basecube> <appid>``).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    23
  This configuration bootstraps a CubicWeb instance that is essentially a
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    24
  repository plus the minimal setup to run a Pyramid WSGI application on top
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    25
  of it. Noticeably, it does not ship all *web* configuration but rather
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    26
  relies on configuration declared in a ``development.ini`` file for any
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    27
  Pyramid application.
11963
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    28
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    29
* A new way to declare workflows as simple data structure (dict/list) has been
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    30
  introduced. Respective utility functions live in ``cubicweb.wfutils``
64ecd4d96ac7 [workflow] Utilities for declarative definition of workflows
Christophe de Vienne <christophe@unlish.com>
parents: 11951
diff changeset
    31
  module. This handles both the creation and migration of workflows.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    32
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    33
* A new IDublinCore adapter has been introduced to control the generation of
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    34
  Dublin Core metadata that are used in several base views.
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    35
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    36
* It is now possible to *derive* rtags using their ``derive`` method
12083
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    37
  (0849a5eb57b8). Derived rtags keep a reference to the original rtag and only
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    38
  hold custom rules, allowing changes which are done in the original rtag after
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    39
  derivation to be still considered.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    40
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    41
* A new ``cubicweb-ctl scheduler <appid>`` command has been introduced to run
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    42
  background and periodic tasks of the repository (previously called *looping
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    43
  tasks*). In a production environment, a process with this command should be
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    44
  run alongside with a WSGI server process (possibly running multiple
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    45
  processes itself).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    46
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    47
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    48
Backwards incompatible changes
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    49
------------------------------
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    50
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    51
* As a consequence of the replacement of the old looping tasks manager by a
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    52
  scheduler, all cubicweb-ctl's "start" commands (i.e. ``start``, ``pyramid``,
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    53
  ``wsgi``) do not start repository *looping tasks manager* anymore, nor do
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    54
  they start the scheduler. Site administrators are thus expected to start
12112
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    55
  this scheduler as a separate process. Also, registering looping tasks (i.e.
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    56
  calling ``repo.looping_tasks()``) is a no-op when the repository has no
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    57
  scheduler set; a warning is issued in such cases. Application developers may
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    58
  rely on repository's ``has_scheduler`` method to determine if they should
0a54f49314f6 [server] Introduce an `has_scheduler` method on Repository
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12083
diff changeset
    59
  register a looping task or not.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    60
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    61
* In ``cubicweb.pyramid``, function ``make_cubicweb_application`` got renamed
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    62
  into ``config_from_cwconfig`` (950ce7d9f642).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    63
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    64
* Several cleanups in repository's session management have been conducted
12083
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    65
  resulting from changes introduced in 3.19 release. Among others, the
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    66
  ``cubicweb.server.session.Session`` class has been dropped, and request
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    67
  ``session`` attribute is now tight to a web session whose implementation
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    68
  depends on the front-end used (twisted or pyramid). Hence this attribute
af5e5137d6a8 [doc] Add some details about rtag derivation and server api cleanup in release notes
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12082
diff changeset
    69
  should not be accessed from "repository side" code (e.g. hooks or operations)
12128
1a50be88dd0c [doc] More release note about session data handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12124
diff changeset
    70
  and has lost some of his former attributes like ``repo`` which used to
1a50be88dd0c [doc] More release note about session data handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12124
diff changeset
    71
  reference the repository instance. Due to this, you don't have anymore access
1a50be88dd0c [doc] More release note about session data handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12124
diff changeset
    72
  to session's data through the connection, which leds to deprecation of the
1a50be88dd0c [doc] More release note about session data handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12124
diff changeset
    73
  ``data`` attribute and removal of ``get_shared_data`` and ``set_shared_data``
1a50be88dd0c [doc] More release note about session data handling
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12124
diff changeset
    74
  methods which are deprecated since 3.19.
12081
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    75
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    76
* Support for 'https-url' configuration option has been removed
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    77
  (4516c3956d46).
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    78
34dad81d955f [doc] Fill release notes for 3.25
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 11963
diff changeset
    79
* The `next_tabindex` method of request class has been removed (011730a4af73).
12492
a7ffcaae7f4c [doc/changelog] the removal of next_tabindex produce an error not in the changelog
Laurent Peuch <cortex@worlddomination.be>
parents: 12166
diff changeset
    80
  This include the removal of `settabindex` from the `FieldWidget` class init
a7ffcaae7f4c [doc/changelog] the removal of next_tabindex produce an error not in the changelog
Laurent Peuch <cortex@worlddomination.be>
parents: 12166
diff changeset
    81
  method.
12114
40446d4e1ee2 [hooks] Drop "logstats" hook
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12112
diff changeset
    82
40446d4e1ee2 [hooks] Drop "logstats" hook
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12112
diff changeset
    83
* The `cubicweb.hook.logstats.start` hook was dropped because it's looping
40446d4e1ee2 [hooks] Drop "logstats" hook
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12112
diff changeset
    84
  task would not be run in a web instance (see first point about repository
40446d4e1ee2 [hooks] Drop "logstats" hook
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 12112
diff changeset
    85
  scheduler).
12124
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    86
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    87
* ``uicfg`` rules  to hide the opposite relation of inlined form are not anymore
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    88
  automatically added, because this was actually done randomly and so not
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    89
  reliable, so you'll have to add them manually:
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    90
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    91
  ::
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    92
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    93
    autoform_section.tag_subject_of(('CWUser', 'use_email', 'EmailAddress'),
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    94
                                    'main', 'inlined')
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    95
    autoform_section.tag_object_of(('CWUser', 'use_email', 'EmailAddress'),
392d6d599286 [doc] Add release note about change in uicfg
Sylvain Thénault <sylvain.thenault@logilab.fr>
parents: 12114
diff changeset
    96
                                   'inlined', 'hidden')