doc/changes/3.22.rst
author Philippe Pepiot <philippe.pepiot@logilab.fr>
Tue, 25 Apr 2017 17:10:16 +0200
changeset 12179 14f85569eda2
parent 11104 269317987dc6
permissions -rw-r--r--
[req] clearer exception message Display what attribute trigger the NotImplementedError
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