doc/changes/3.20.rst
changeset 10491 c67bcee93248
parent 10131 7e6b7739afe6
child 10502 bdcd35e575fd
equal deleted inserted replaced
10490:76ab3c71aff2 10491:c67bcee93248
       
     1 What's new in CubicWeb 3.20
       
     2 ===========================
       
     3 
       
     4 New features
       
     5 ------------
       
     6 
       
     7 * virtual relations: a new ComputedRelation class can be used in
       
     8   schema.py; its `rule` attribute is an RQL snippet that defines the new
       
     9   relation.
       
    10 
       
    11 * computed attributes: an attribute can now be defined with a `formula`
       
    12   argument (also an RQL snippet); it will be read-only, and updated
       
    13   automatically.
       
    14 
       
    15   Both of these features are described in `CWEP-002`_, and the updated
       
    16   "Data model" chapter of the CubicWeb book.
       
    17 
       
    18 * cubicweb-ctl plugins can use the ``cubicweb.utils.admincnx`` function
       
    19   to get a Connection object from an instance name.
       
    20 
       
    21 * new 'tornado' wsgi backend
       
    22 
       
    23 * session cookies have the HttpOnly flag, so they're no longer exposed to
       
    24   javascript
       
    25 
       
    26 * rich text fields can be formatted as markdown
       
    27 
       
    28 * the edit controller detects concurrent editions, and raises a ValidationError
       
    29   if an entity was modified between form generation and submission
       
    30 
       
    31 * cubicweb can use a postgresql "schema" (namespace) for its tables
       
    32 
       
    33 * "cubicweb-ctl configure" can be used to set values of the admin user
       
    34   credentials in the sources configuration file
       
    35 
       
    36 * in debug mode, setting the _cwtracehtml parameter on a request allows tracing
       
    37   where each bit of output is produced
       
    38 
       
    39 .. _CWEP-002: http://hg.logilab.org/review/cwep/file/tip/CWEP-002.rst
       
    40 
       
    41 
       
    42 API Changes
       
    43 -----------
       
    44 
       
    45 * ``ucsvreader()`` and ``ucsvreader_pb()`` from the ``dataimport`` module have
       
    46   2 new keyword arguments ``delimiter`` and ``quotechar`` to replace the
       
    47   ``separator`` and ``quote`` arguments respectively. This makes the API match
       
    48   that of Python's ``csv.reader()``.  The old arguments are still supported
       
    49   though deprecated.
       
    50 
       
    51 * the migration environment's ``remove_cube`` function is now called ``drop_cube``.
       
    52 
       
    53 * cubicweb.old.css is now cubicweb.css.  The previous "new"
       
    54   cubicweb.css, along with its cubicweb.reset.css companion, have been
       
    55   removed.
       
    56 
       
    57 * the jquery-treeview plugin was updated to its latest version
       
    58 
       
    59 
       
    60 Deprecated Code Drops
       
    61 ----------------------
       
    62 
       
    63 * most of 3.10 and 3.11 backward compat is gone; this includes:
       
    64   - CtxComponent.box_action() and CtxComponent.build_link()
       
    65   - cubicweb.devtools.htmlparser.XMLDemotingValidator
       
    66   - various methods and properties on Entities, replaced by cw_edited and cw_attr_cache
       
    67   - 'commit_event' method on hooks, replaced by 'postcommit_event'
       
    68   - server.hook.set_operation(), replaced by Operation.get_instance(...).add_data()
       
    69   - View.div_id(), View.div_class() and View.create_url()
       
    70   - `*VComponent` classes
       
    71   - in forms, Field.value() and Field.help() must take the form and the field itself as arguments
       
    72   - form.render() must get `w` as a named argument, and renderer.render() must take `w` as first argument
       
    73   - in breadcrumbs, the optional `recurs` argument must be a set, not False
       
    74   - cubicweb.web.views.idownloadable.{download_box,IDownloadableLineView}
       
    75   - primary views no longer have `render_entity_summary` and `summary` methods
       
    76   - WFHistoryVComponent's `cell_call` method is replaced by `render_body`
       
    77   - cubicweb.dataimport.ObjectStore.add(), replaced by create_entity
       
    78   - ManageView.{folders,display_folders}