3.34.3 (2022-03-31)
===================
👷 Bug fixes
------------

- rql2sql: upgrade RQL version to fix translation of ``NOT EXISTS(X eid Y)`` (`#528 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/528>`_)
- view: don't escape html tags inside image previews

3.34.2 (2022-03-09)
===================
👷 Bug fixes
------------

- avoid excaping cubicweb:loadurl's value twice (to `#523 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/523>`_)
- don't escape whole key="value" attributes in TreeViewItemView (to `#523 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/523>`_)
- escape URLs passed as href attributes (to `#523 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/523>`_)

3.34.1 (2021-12-01)
===================
👷 Bug fixes
------------

- server: correct RQL generation when we have function in ``ORDERBY`` (`#466 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/466>`_)

3.34.0 (2021-11-23)
===================
Breaking changes
----------------

- Python 3.7 is now the minimum supported version of Python;
- test: ``settings = {"cubicweb.bwcompat": true}`` is now the default for test,
  please, check your test if they are failing because of this;
- test: the qunit test driver has been removed;
- remove our deprecated and unused wsgi module;
- fix!(handler): rediction to login on ``cubicweb.AuthenticationError``
  Previously we were sending a forbidden response (403) with the login form as
  the html content, now we redirect (303) to the login form instead;
- `rich <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/348>`,
  introduced in 3.33 for nice tracebacks,
  `had been removed <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/434#note_93131>`.

Since we updated rdflib to version 6, some packages like rdflib_jsonld
are no longuer needed. Please, check your dependencies if you have any issue.

🎉 New features
---------------

- add an export-schema command to cwctl
- csrf: add debug login when creating a new csrf token
- get_cleaned_form_data: add backward deprecated compatibility on req.form
- pyramid/test/ux: better debugging information when failing to get CSRF token
- security: implement inforcing form validation for POST arguments
- store: allow stores to be used as context manager (`#446 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/446>`_)

👷 Bug fixes
------------

- allow in Int as rest_attr
- build_doc: docutils version 0.18.0 breaks doc building
- doc8: indentation was using tabs in 3.32_reledit.rst
- ldap: upgrade to ldap3 (datetime, encode fix)
- p3-misc: missing fyzz modules for certains tests in spa2rql
- pyramid/test: webapp handles cookies for us, we don't need to manually set them
- RDFLib: Remove rdflib-jsonld dependency and use RDFLib v6 jsonld builtin parser
  *BREAKING CHANGE*: The RDFLib v6 does not support python 3.6 anymore. With this dependency, CubicWeb neither.
- reledit: Do not retrieve a list of schemata with _compute_ttypes
- remove qunit test stuff (`#447 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/447>`_)
- skeleton: use forge.extranet.logilab.fr as default web url for new cubes (`#463 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/463>`_)
- startup: Fix RQL query to take advantage of caching (`#384 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/384>`_)
- store csrf token during login
- test: make anonymous user creation hook tests pass (`#452 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/452>`_)
- utils: remove an useless space character
- views: remove unneeded xml_escape for primary titles

🤖 Continuous integration
-------------------------

- allow sonarqube to fails until we fix the internal url problem
- test: don't wait lint to run tests (`#445 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/445>`_)
- use some gitlab-ci-templates (`#455 <https://forge.extranet.logilab.fr/cubicweb/cubicweb/-/issues/455>`_)
- uses buster-slim-pg11-firefox custom image for py3-auto-test job
- uses cubicweb/dockerfiles/can-i-merge image to optimize can-i-merge job

🤷 Various changes
------------------

- instance-config: add attributes for authenticated smtp
- `pyramid.compat <https://pyramid-pt-br.readthedocs.io/en/latest/api/compat.html>`_ is deprecated and will be removed in Pyramid 2.0. The functionality is no longer necessary, as Pyramid 2.0 drops support for Python 2.
- webconfig: remove an unused configuration option
