doc/changes/3.22.rst
author Denis Laxalde <denis.laxalde@logilab.fr>
Thu, 21 Mar 2019 14:33:54 +0100
changeset 12530 9d88e1177c35
parent 11104 269317987dc6
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:
11051
de472896fc0a [pkg] 3.22.0
Julien Cristau <julien.cristau@logilab.fr>
parents: 11043
diff changeset
     1
3.22 (4 January 2016)
de472896fc0a [pkg] 3.22.0
Julien Cristau <julien.cristau@logilab.fr>
parents: 11043
diff changeset
     2
=====================
10927
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     3
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     4
New features
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     5
------------
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     6
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     7
* a huge amount of changes were done towards python 3.x support (as yet
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     8
  incomplete).  This introduces a new dependency on six, to handle
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
     9
  python2/python3 compatibility.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    10
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    11
* new cubicweb.dataimport.massive_store module, a postgresql-specific store
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    12
  using the COPY statement to accelerate massive data imports.  This
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    13
  functionality was previously part of cubicweb-dataio (there are some API
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    14
  differences with that previous version, however).
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    15
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    16
* cubes custom sql scripts are executed before creating tables.  This allows
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    17
  them to create new types or extensions.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    18
11043
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    19
* the ``ejsonexport`` view can be specialized using the new ``ISerializable``
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    20
  entity adapter.  By default, it will return an entity's (non-Bytes and
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    21
  non-Password) attributes plus the special ``cw_etype`` and ``cw_source``
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    22
  keys.
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    23
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    24
* cubes that define custom final types are now handled by the ``add_cube``
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    25
  migration command.
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    26
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    27
* synchronization of external sources can be triggered from the web interface
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    28
  by suitably privileged users with a new ``cw.source-sync`` action.
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    29
10927
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    30
User-visible changes
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    31
--------------------
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    32
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    33
* the ldapfeed source now depends on the `ldap3` module instead of
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    34
  `python-ldap`.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    35
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    36
* replies don't get an ``Expires`` header by default.  However when they do,
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    37
  they also get a coherent ``Cache-Control``.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    38
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    39
* data files are regenerated at each request, they are no longer cached by
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    40
  ``cubicweb.web.PropertySheet``.  Requests for data files missing the instance
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    41
  hash are handled with a redirection instead of a direct reply, to allow
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    42
  correct cache-related reply headers.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    43
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    44
API changes
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    45
-----------
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    46
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    47
* ``config.repository()`` creates a new Repository object each time, instead of
11043
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    48
  returning a cached object.  WARNING: this may cause unexpected issues if
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    49
  several repositories end up being used.
10927
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    50
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    51
* migration scripts, as well as other scripts executed by ``cubicweb-ctl
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    52
  shell``, are loaded with the print_function flag enabled (for backwards
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    53
  compatibility, if that fails they are re-loaded without that flag)
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    54
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    55
* the ``cw_fti_index_rql_queries`` method on entity classes is replaced by
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    56
  ``cw_fti_index_rql_limit``, a generator which yields ``ResultSet`` objects
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    57
  containing entities to be indexed.  By default, entities are returned 1000 at
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    58
  a time.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    59
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    60
* ``IDownloadableAdapter`` API is clarified: ``download_url``,
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    61
  ``download_content_type`` and ``download_file_name`` return unicode objects,
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    62
  ``download_data`` returns bytes.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    63
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    64
* the ``Repository.extid2eid()`` entry point for external sources is deprecated.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    65
  Imports should use one of the stores from the ``cubicweb.dataimport`` package
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    66
  instead.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    67
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    68
* the ``cubicweb.repoapi.get_repository()`` function's ``uri`` argument should
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    69
  no longer be used.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    70
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    71
* the generic datafeed xml parser is deprecated in favor of the "store" API
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    72
  introduced in cubicweb 3.21.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    73
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    74
* the session manager lives in the ``sessions`` registry instead of ``components``.
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    75
11043
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    76
* ``TZDatetime`` attributes are returned as timezone-aware python datetime
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    77
  objects.  WARNING: this will break client applications that compare or use
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    78
  arithmetic involving timezone-naive datetime objects.
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    79
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    80
* creation_date and modification_date attributes for all entities are now
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    81
  timezone-aware (``TZDatetime``) instead of localtime (``Datetime``).  More
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    82
  generally, the ``Datetime`` type should be considered as deprecated.
12db20aeda44 [doc] 3.22 release notes update
Julien Cristau <julien.cristau@logilab.fr>
parents: 10933
diff changeset
    83
10927
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    84
Deprecated code drops
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    85
---------------------
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    86
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    87
* the ``cubicweb.server.hooksmanager`` module was removed
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    88
41341b5a1f49 [doc] add 3.22 changelog
Julien Cristau <julien.cristau@logilab.fr>
parents:
diff changeset
    89
* the ``Repository.pinfo()`` method was removed
10933
830f1ea52789 [utils] Drop now-unused SizeConstrainedList
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10927
diff changeset
    90
830f1ea52789 [utils] Drop now-unused SizeConstrainedList
Denis Laxalde <denis.laxalde@logilab.fr>
parents: 10927
diff changeset
    91
* the ``cubicweb.utils.SizeConstrainedList`` class was removed
11104
269317987dc6 [cwctl] remove support for startorder file in /etc/cubicweb.d (closes #5618947)
David Douard <david.douard@logilab.fr>
parents: 11051
diff changeset
    92
269317987dc6 [cwctl] remove support for startorder file in /etc/cubicweb.d (closes #5618947)
David Douard <david.douard@logilab.fr>
parents: 11051
diff changeset
    93
* the 'startorder' file in configuration directory is no longer honored
269317987dc6 [cwctl] remove support for startorder file in /etc/cubicweb.d (closes #5618947)
David Douard <david.douard@logilab.fr>
parents: 11051
diff changeset
    94