3.28.2
======

Fixed
-----

- re-introduce cubicweb.pyramid.resources.EntityResource/ETypeResource
- re-introduce cubicweb.pyramid.predicates.MatchIsETypePredicate
- both were still needed for several cubes

3.28.1
======

Fixed
-----

- python 3.8 compatibility: base64 encodestring has been removed, use encodebytes

3.28
====

The big highlights of this release are:

- CubicWeb now requires **python >=3.6**
- a new dynamic database connections pooler to replace the old static one
- a big upgrade in our CI workflow both for tests and documentations
- RDF generations when rdf mimetype in Accept HTTP headers
- rql resultset now stores selections variables names for RQL select queries, this will allow to build better tools

Added
-----

- [pyramid]`has_cw_permission` pyramid predicates added for routes and view
- The database pooler is now dynamic. New connections are opened when needed and closed after a configurable period of time. This can be configured through `connections-pooler-max-size` (default 0, unlimited), `connections-pooler-min-size` (default 0), and `connections-pooler-idle-timeout` (default 600 seconds). The old configuration `connections-pooler-size` has been dropped.
- [pyramid-debugtoolbar] make SQL and RQL tables sortable
- [RQL]Resulset now stores selected variables for RQL select queries
- pyramid: add routes /{eid} and /{etype}/{eid} to return RDF when rdf mimetype in Accept HTTP headers
- entities: simplify rdf generation and add a generic rdf adapter
- web.views: add Link alternate in HTTP response header in HTML view
- Black and Mypy config in tox.ini file in new cube skeleton
- Gitlab CI config file in new cube skeleton


Changed
-------

- CubicWeb now requires python >=3.6
- CI now test Cubicweb against latest unreleased public commits of its dependencies
- CI now rebuilds documentation after tests

Deprecated
----------

- Class cubicweb.view.EntityAdapter was moved to cubicweb.entity.EntityAdapter, a deprecation warning is in place, but please update your source code accordingly

Removed
-------

- Support for plpython has been dropped
- `RDFnquadsView` (**Breaking Change**)

Fixed
-----

- Fix various tests in the CI
- Use SchemaLoader instead of pyfilereader
- [pyramid-debugtoolbar] remove CW controller panel rendering when no controller got collected
- [basecontroller] link tags in the header can only be added on entities
- add a __contains__ method to dict_protocol_catcher to avoid breaking on "in"


Thanks to our contributors: Simon Chabot, Laurent Peuch, Nicolas Chauvat,
Philippe Pepiot, Élodie Thieblin, François FERRY, Fabien Amarger, Laurent
Wouters, Guillaume Vandevelde.
