===========================
Changes in version 2016.2.0
===========================

FIAT 2016.2.0 was released on 2016-11-30.

Summary of changes
==================

- More elegant edge-based degrees of freedom are used for generalized Regge
  finite elements.  This is a internal change and is not visible to other parts
  of FEniCS.
- The name of the mapping for generalized Regge finite element is changed to
  "double covariant piola" from "pullback as metric". Geometrically, this
  mapping is just the pullback of covariant 2-tensor fields in terms of proxy
  matrix-fields. Because the mapping for 1-forms in FEniCS is currently named
  "covariant piola", this mapping for symmetric tensor product of 1-forms is
  thus called "double covariant piola". This change causes multiple internal
  changes downstream in UFL and FFC. But this change should not be visible to
  the end-user.
- Added support for the Hellan-Herrmann-Johnson element (symmetric matrix
  fields with normal-normal continuity in 2D).
- Add method ``FiniteElement.is_nodal()`` for checking element nodality
- Add ``NodalEnrichedElement`` which merges dual bases (nodes) of given
  elements and orthogonalizes basis for nodality
- Restructuring ``finite_element.py`` with the addition of a non-nodal class
  ``FiniteElement`` and a nodal class ``CiarletElement``. ``FiniteElement`` is
  designed to be used to create elements where, in general, a nodal basis isn't
  well-defined. ``CiarletElement`` implements the usual nodal abstraction of
  a finite element.
- Removing ``trace.py`` and ``trace_hdiv.py`` with a new implementation of the
  trace element of an HDiv-conforming element: ``HDivTrace``. It is also
  mathematically equivalent to the former ``DiscontinuousLagrangeTrace``, that
  is, the DG field defined only on co-dimension 1 entities.
- All nodal finite elements inherit from ``CiarletElement``, and the non-nodal
  ``TensorProductElement``, ``EnrichedElement`` and ``HDivTrace`` inherit from
  ``FiniteElement``.

Detailed changes
================

- Enable Travis CI on GitHub
- Add Firedrake quadrilateral cell
- Add tensor product cell
- Add facet -> cell coordinate transformation
- Add Bubble element
- Add discontinuous Taylor element
- Add broken element and H(div) trace element
- Add element restrictions onto mesh entities
- Add tensor product elements (for tensor product cells)
- Add H(div) and H(curl) element-modifiers for TPEs
- Add enriched element, i.e. sum of elements (e.g. for building Mini)
- Add multidimensional taylor elements
- Add Gauss Lobatto Legendre elements
- Finding non-vanishing DoFs on a facets
- Add tensor product quadrature rule
- Make regression tests working again after few years
- Prune modules having only __main__ code including transform_morley,
  transform_hermite (ff86250820e2b18f7a0df471c97afa87207e9a7d)
- Remove newdubiner module (b3b120d40748961fdd0727a4e6c62450198d9647,
  reference removed by cb65a84ac639977b7be04962cc1351481ca66124)
- Switch from homebrew factorial/gamma to math module (wraps C std lib)
