doc/3.18.rst
author Julien Cristau <julien.cristau@logilab.fr>
Tue, 22 Apr 2014 15:18:04 +0200
changeset 9689 9e4a3c8719a7
parent 9395 96dba2efd16d
permissions -rw-r--r--
[services] don't hardcode 'users' group for register_user Let the caller choose which group the user should be in. Related to #3020639 Caveat: this is a possible security hole if untrusted values are allowed.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     1
What's new in CubicWeb 3.18?
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     2
============================
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     3
9375
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
     4
The migration script does not handle sqlite nor mysql instances.
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
     5
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
     6
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     7
New functionalities
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     8
--------------------
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
     9
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    10
* add a security debugging tool
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    11
  (see `#2920304 <http://www.cubicweb.org/2920304>`_)
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    12
9395
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    13
* introduce an `add` permission on attributes, to be interpreted at
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    14
  entity creation time only and allow the implementation of complex
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    15
  `update` rules that don't block entity creation (before that the
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    16
  `update` attribute permission was interpreted at entity creation and
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    17
  update time)
96dba2efd16d [hooks/security] provide attribute "add" permission
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9390
diff changeset
    18
9341
099a3a33eaaa [uicfg] give a set_fields_order method to the primary view display control
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9302
diff changeset
    19
* the primary view display controller (uicfg) now has a
099a3a33eaaa [uicfg] give a set_fields_order method to the primary view display control
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9302
diff changeset
    20
  `set_fields_order` method similar to the one available for forms
099a3a33eaaa [uicfg] give a set_fields_order method to the primary view display control
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9302
diff changeset
    21
9382
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    22
* new method `ResultSet.one(col=0)` to retrive a single entity and enforce the
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    23
  result has only one row (see `#3352314 https://www.cubicweb.org/ticket/3352314`_)
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    24
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    25
* new method `RequestSessionBase.find` to look for entities
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    26
  (see `#3361290 https://www.cubicweb.org/ticket/3361290`_)
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    27
9388
4c34a63bd113 update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9384
diff changeset
    28
* the embedded jQuery copy has been updated to version 1.10.2, and jQuery UI to
4c34a63bd113 update jquery to 1.10 (closes #2786674)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9384
diff changeset
    29
  version 1.10.3.
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    30
9390
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    31
* initial support for wsgi for the debug mode, available through the new
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    32
  ``wsgi`` cubicweb-ctl command, which can use either python's builtin
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    33
  wsgi server or the werkzeug module if present.
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    34
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    35
* a ``rql-table`` directive is now available in ReST fields
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    36
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    37
* cubicweb-ctl upgrade can now generate the static data resource directory
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    38
  directly, without a manual call to gen-static-datadir.
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    39
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    40
API changes
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    41
-----------
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    42
9254
e1369f2dba79 [hooks/security] Defer entity permission checks to an Operation.
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9218
diff changeset
    43
* not really an API change, but the entity permission checks are now
e1369f2dba79 [hooks/security] Defer entity permission checks to an Operation.
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9218
diff changeset
    44
  systematically deferred to an operation, instead of a) trying in a
e1369f2dba79 [hooks/security] Defer entity permission checks to an Operation.
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9218
diff changeset
    45
  hook and b) if it failed, retrying later in an operation
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    46
9301
84ff860a966b [doc] document changed attribute default value storage
Julien Cristau <julien.cristau@logilab.fr>
parents: 9291
diff changeset
    47
* The default value storage for attributes is no longer String, but
84ff860a966b [doc] document changed attribute default value storage
Julien Cristau <julien.cristau@logilab.fr>
parents: 9291
diff changeset
    48
  Bytes.  This opens the road to storing arbitrary python objects, e.g.
84ff860a966b [doc] document changed attribute default value storage
Julien Cristau <julien.cristau@logilab.fr>
parents: 9291
diff changeset
    49
  numpy arrays, and fixes a bug where default values whose truth value
84ff860a966b [doc] document changed attribute default value storage
Julien Cristau <julien.cristau@logilab.fr>
parents: 9291
diff changeset
    50
  was False were not properly migrated.
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    51
9361
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    52
* `symmetric` relations are no more handled by an rql rewrite but are
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    53
  now handled with hooks (from the `activeintegrity` category); this
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    54
  may have some consequences for applications that do low-level database
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    55
  manipulations or at times disable (some) hooks.
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    56
9375
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
    57
* `unique together` constraints (multi-columns unicity constraints)
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
    58
  get a `name` attribute that maps the CubicWeb contraint entities to
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
    59
  corresponding backend index.
8e88576787c3 [schema] fix unique together index handling
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9374
diff changeset
    60
9384
430859af32c6 [breadcrumbs] Small breadcrumb components refactoring
Florent Cayre <florent.cayre@logilab.fr>
parents: 9382
diff changeset
    61
* BreadCrumbEntityVComponent's open_breadcrumbs method now includes
430859af32c6 [breadcrumbs] Small breadcrumb components refactoring
Florent Cayre <florent.cayre@logilab.fr>
parents: 9382
diff changeset
    62
  the first breadcrumbs separator
430859af32c6 [breadcrumbs] Small breadcrumb components refactoring
Florent Cayre <florent.cayre@logilab.fr>
parents: 9382
diff changeset
    63
9390
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    64
* entities can be compared for equality and hashed
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    65
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    66
* the ``on_fire_transition`` predicate accepts a sequence of possible
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    67
  transition names
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    68
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    69
* the GROUP_CONCAT rql aggregate function no longer repeats duplicate
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    70
  values, on the sqlite and postgresql backends
9361
0542a85fe667 symmetric relations: replace bogus rql2sql translation by a hook
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9341
diff changeset
    71
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    72
Deprecation
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    73
---------------------
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    74
9374
1236d9058ad3 [pyrorql] deprecate pyrorql source (closes #2919299)
David Douard <david.douard@logilab.fr>
parents: 9361
diff changeset
    75
* ``pyrorql`` sources have been deprecated. Multisource will be fully dropped
1236d9058ad3 [pyrorql] deprecate pyrorql source (closes #2919299)
David Douard <david.douard@logilab.fr>
parents: 9361
diff changeset
    76
  in the next version. If you are still using pyrorql, switch to ``datafeed``
1236d9058ad3 [pyrorql] deprecate pyrorql source (closes #2919299)
David Douard <david.douard@logilab.fr>
parents: 9361
diff changeset
    77
  **NOW**!
1236d9058ad3 [pyrorql] deprecate pyrorql source (closes #2919299)
David Douard <david.douard@logilab.fr>
parents: 9361
diff changeset
    78
9302
af36f459d2f0 [server] deprecate the old multi-source system
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9301
diff changeset
    79
* the old multi-source system
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    80
9382
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    81
* `find_one_entity` and `find_entities` in favor of `find`
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    82
  (see `#3361290 https://www.cubicweb.org/ticket/3361290`_)
ac0661486568 [release notes] Documents one() and find() addition
Christophe de Vienne <cdevienne@gmail.com>
parents: 9375
diff changeset
    83
9390
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    84
* the `TmpFileViewMixin` and `TmpPngView` classes (see `#3400448
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
    85
  https://www.cubicweb.org/ticket/3400448`_)
9218
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    86
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    87
Deprecated Code Drops
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    88
----------------------
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    89
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    90
* ``ldapuser`` have been dropped; use ``ldapfeed`` now
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    91
  (see `#2936496 <http://www.cubicweb.org/2936496>`_)
c027ed79f1ce [doc] add a what's new file for 3.18
David Douard <david.douard@logilab.fr>
parents:
diff changeset
    92
9291
4894bb92558a [web] remove action "Got Rhythm" (closes #3093362)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9259
diff changeset
    93
* action ``GotRhythm`` was removed, make sure you do not
4894bb92558a [web] remove action "Got Rhythm" (closes #3093362)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9259
diff changeset
    94
  import it in your cubes (even to unregister it)
4894bb92558a [web] remove action "Got Rhythm" (closes #3093362)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9259
diff changeset
    95
  (see `#3093362 <http://www.cubicweb.org/3093362>`_)
4894bb92558a [web] remove action "Got Rhythm" (closes #3093362)
Nicolas Chauvat <nicolas.chauvat@logilab.fr>
parents: 9259
diff changeset
    96
9255
46f41c3e1443 remove 3.8 bw compat
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9254
diff changeset
    97
* all 3.8 backward compat is gone
9256
697a8181ba30 remove 3.9 bw compat
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9255
diff changeset
    98
9259
68cde7431c2c [js] remove 3.9 bw compat (where apparently unused)
Aurelien Campeas <aurelien.campeas@logilab.fr>
parents: 9257
diff changeset
    99
* all 3.9 backward compat (including the javascript side) is gone
9390
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
   100
41795de3d48a [doc] update 3.18 release notes
Julien Cristau <julien.cristau@logilab.fr>
parents: 9388
diff changeset
   101
* the ``twisted`` (web-only) instance type has been removed