]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Update the changelog file for the release.
authorMatthias Maier <tamiko@43-1.org>
Sat, 22 May 2021 14:30:36 +0000 (09:30 -0500)
committerMatthias Maier <tamiko@43-1.org>
Sat, 22 May 2021 14:30:36 +0000 (09:30 -0500)
doc/news/9.2.0-vs-9.3.0.h [new file with mode: 0644]

diff --git a/doc/news/9.2.0-vs-9.3.0.h b/doc/news/9.2.0-vs-9.3.0.h
new file mode 100644 (file)
index 0000000..d03e4d4
--- /dev/null
@@ -0,0 +1,1746 @@
+// ---------------------------------------------------------------------
+//
+// Copyright (C) 2017 - 2021 by the deal.II authors
+//
+// This file is part of the deal.II library.
+//
+// The deal.II library is free software; you can use it, redistribute
+// it, and/or modify it under the terms of the GNU Lesser General
+// Public License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
+// The full text of the license can be found in the file LICENSE.md at
+// the top level directory of deal.II.
+//
+// ---------------------------------------------------------------------
+
+/**
+@page changes_between_9_2_0_and_9_3_0 Changes between Version 9.2.0 and 9.3.0
+
+<p>
+This is the list of changes made between the release of deal.II version
+9.2.0 and that of 9.3.0. All entries are signed with the names of the
+author.
+</p>
+<!-- ----------- INCOMPATIBILITIES ----------------- -->
+
+<a name="incompatible"></a>
+<h3 style="color:red">Incompatibilities</h3>
+
+<p style="color:red">
+Following are a few modifications to the library that unfortunately
+are incompatible with previous versions of the library, but which we
+deem necessary for the future maintainability of the
+library. Unfortunately, some of these changes will require
+modifications to application programs. We apologize for the
+inconvenience this causes.
+</p>
+<ol>
+
+ <li>
+  Removed: An additional overload of GridTools::cell_measure(), which only
+  existed to aid generic programming and only threw an exception, has been
+  removed. If you use this function then the best fix is to ensure that
+  you are not explicitly providing a template parameter to the function itself.
+  <br>
+  (David Wells, 2021/05/16)
+ </li>
+
+ <li>
+  Renamed: The function ParticleHandler::locally_relevant_ids() has been deprecated.
+  Please use the new function ParticleHandler::locally_owned_particle_ids() instead.
+  <br>
+  (Peter Munch, 2021/05/01)
+ </li>
+
+ <li>
+  Deprecated: The GridReordering class as well as
+  Triangulation::create_triangulation_compatibility have been deprecated.
+  These functions use the old-style (before 5.2) numbering and have been
+  unofficially deprecated since 2005.
+  <br>
+  (David Wells, 2021/04/22)
+ </li>
+
+ <li>
+  Removed: The class parallel::distributed::ErrorPredictor has been
+  removed. Use the function hp::Refinement::predict_error() in combination
+  with parallel::distributed::CellDataTransfer instead. Please consult the
+  documentation of hp::Refinement::predict_error() for instructions.
+  <br>
+  (Marc Fehling, 2021/04/21)
+ </li>
+
+ <li>
+  Changed: The order in which vertices are read from GridIn::read_unv() has
+  changed. As a result the vertex numbers on each cell are now slightly different.
+  <br>
+  (David Wells, 2021/04/13)
+ </li>
+
+ <li>
+  Changed: The order of parameters has been switched in MappingQCache::initialize(), 
+  with the Mapping now being the first argument.
+  <br>
+  (Peter Munch, 2020/05/23)
+ </li>
+
+ <li>
+  Changed: The various parse_arguments(), to_string(), and to_value() functions
+  related to the Pattern namespace take their last argument by `const&` instead of
+  `const std::unique_ptr<>&`.
+  <br>
+  (Daniel Arndt, 2021/02/22)
+ </li>
+
+ <li>
+  Fixed: GridOut::write_vtk output the vertices of hexahedra in the wrong order,
+  which resulted in visualization programs computing all cell volumes as negative.
+  Fixing this required that we significantly update the way VTK input is read in
+  to deal.II as well (so that GridOut composed with GridIn remains idempotent). As
+  a result, the order of cells, faces, and edges is now different for meshes read
+  from VTK files.
+  <br>
+  (David Wells, 2021/02/20)
+ </li>
+
+ <li>
+  Changed: The FE_Q_Base class took a description of the polynomial
+  space as a template argument. But that is not necessary: It is
+  entirely sufficient to pass this information to the constructor in the
+  form of a regular constructor argument. This has been changed, and the
+  class has therefore lost its first template argument.
+  <br>
+  (Wolfgang Bangerth, 2021/02/03)
+ </li>
+
+ <li>
+  Deprecated: ARKode does no longer need a `reinit_vector` function.
+  <br>
+  (Sebastian Proell, 2021/02/01)
+ </li>
+
+ <li>
+  Added a simple mesh for debugging purposes that consists
+  of two cubes where one of them can be chosen to have one face
+  either flipped or rotated.
+  <br>
+  (Konrad Simon, 2021/01/28)
+ </li>
+
+ <li>
+  Updated: deal.II dropped support for Sundials older than version 3.0.0.
+  <br>
+  (Matthias Maier, Luca Heltai, 2021/01/25)
+ </li>
+
+ <li>
+  Updated: deal.II now requires CMake version 3.1.0 or newer to configure
+  <br>
+  (Matthias Maier, 2021/01/25)
+ </li>
+
+ <li>
+  Deprecated: All `LinearAlgebra::distributed::Vector::zero_out_ghosts()` has been deprecated. 
+  Use `LinearAlgebra::distributed::Vector::zero_out_ghost_values()` instead.
+  <br>
+  (Peter Munch, 2021/01/04)
+ </li>
+
+ <li>
+  Patch to fix issue#7970 for 'RaviartThomas<3>(degree)' elements on meshes
+  that contain cells with faces that are flipped and/or not in standard
+  orientation. The patch provides a possible way to fix other FE classes inheriting
+  from 'FE_PolyTensor' but does not implement it yet. It does not change the interface
+  to FE classes.
+  <br>
+  (Konrad Simon, 2020/12/22)
+ </li>
+
+ <li>
+  Changed: The interface of FE::fill_fe_face_values() now accepts instead
+  of a Quadrature instance a hp::QCollection instance, enabling the evaluation of
+  shape functions for different quadrature formulas on different faces for
+  FiniteElement classes with supports for this feature (e.g. FE_Q, FE_SimplexP). 
+  <br>
+  (Peter Munch, 2020/12/12)
+ </li>
+
+ <li>
+  Deprecated: The function CellId::to_cell() has been replaced by
+  Triangulation::create_cell_iterator().
+  <br>
+  (Marc Fehling, 2020/12/12)
+ </li>
+
+ <li>
+  Changed: GridTools::find_active_cell_around_point() no longer throws an exception, but returns an invalid iterator.
+  User codes should now check that the returned cell is valid instead of relying on exceptions, instead of trying
+  to catch exceptions that this function may have thrown.
+  <br>
+  (Luca Heltai, 2020/11/30)
+ </li>
+
+ <li>
+  Removed: The file `affine_constraints.h` had a class called
+  `IsBlockMatrix` that, however, also allowed to check whether its
+  template argument is in fact a block sparsity pattern. The class was
+  likely never intended to be in the public interface, and has been
+  moved to internal::AffineConstraints::IsBlockMatrix and now also
+  internal::AffineConstraints::IsBlockSparsityPattern.
+  <br>
+  (Wolfgang Bangerth, 2020/11/29)
+ </li>
+
+ <li>
+  Deprecated: The DoFHandlerType template argument for the DataOutStack
+  class has been deprecated. Use DataOutStack<dim, spacedim> instead.
+  <br>
+  (Marc Fehling, 2020/11/20)
+ </li>
+
+ <li>
+  Deprecation announcement: The template arguments of the following
+  classes will change in a future release:
+  <ul>
+    <li>SolutionTransfer
+    <li>parallel::distributed::SolutionTransfer
+    <li>Functions::FEFieldFunction
+    <li>DataOut
+    <li>DataOut_DoFData
+    <li>DataOutFaces
+    <li>DataOutRotation
+  </ul>
+  If for some reason, you need a code that is compatible with deal.II
+  9.3 and the subsequent release, a Legacy namespace has been introduced
+  with aliases of these classes with their original interface. You can
+  make the following substitutions to your code for each of the affected
+  classes:
+  <ul>
+    <li>X &rarr; Legacy::X
+  </ul>
+  To perform this substitution automatically, you may use a *search and
+  replace* script like the following made for the *bash* shell:
+  @code{.sh}
+  classes=(SolutionTransfer parallel::distributed::SolutionTransfer Functions::FEFieldFunction DataOut DataOut_DoFData DataOutFaces DataOutRotation)
+  for c in \${classes[@]}; do
+    find /path/to/your/code -type f -exec sed -i -E "/(\w\${c}|\${c}[^<]|Particles::\${c}|distributed::\${c}|^\s*(\/\/|\*))/! s/\${c}/Legacy::\${c}/g" {} \;
+  done
+  @endcode
+  (Marc Fehling, 2020/11/20)
+ </li>
+
+ <li>
+  Deprecated: The DoFHandlerType template argument for the functions
+  DataPostprocessorInputs::CommonInputs::set_cell() and
+  DataPostprocessorInputs::CommonInputs::get_cell() has been deprecated.
+  These functions now only work with the basic `DoFHandler` class. As a
+  consequence, the get_cell() function requires an additional dim
+  template. For example, write: cell=common_inputs.template get_cell<dim>()
+  <br>
+  (Marc Fehling, 2020/11/15)
+ </li>
+
+ <li>
+  Deprecated: The DoFHandlerType template argument for the MappingFEField
+  class has been deprecated. Use MappingFEField<dim, spacedim, VectorType>
+  instead.
+  <br>
+  (Marc Fehling, 2020/11/15)
+ </li>
+
+ <li>
+  Deprecated: The variant of the function MatrixFree::get_dof_handler
+  expecting a DoFHandlerType template has been deprecated. Use the 
+  template-less variant returning a DoFHandler instead.
+  <br>
+  (Marc Fehling, 2020/11/13)
+ </li>
+
+ <li>
+  Deprecated: All `MatrixFree::reinit()` functions without `Mapping` as argument 
+  have been deprecated. Use the functions that explicit provide the Mapping instead.
+  <br>
+  (Peter Munch, 2020/11/11)
+ </li>
+
+ <li>
+  Deprecated: The operator FiniteElement::operator[] has been deprecated.
+  Use DoFHandler::get_fe() with a specified index instead of code like
+  dof_handler->get_fe()[index].
+  <br>
+  (Marc Fehling, 2020/11/11)
+ </li>
+
+ <li>
+  Deprecated: The initialization interface for the DoFHandler class has
+  changed. DoFHandler::initialize() and DoFHandler::set_fe() have been
+  deprecated. Instead, use the constructor DoFHandler::DoFHandler(tria) or
+  DoFHandler::DoFHandler() followed by DoFHandler::reinit(tria) to attach
+  a Triangulation tria, and DoFHandler::distribute_dofs() to enumerate
+  degrees of freedom.
+  <br>
+  (Marc Fehling, 2020/10/30)
+ </li>
+
+ <li>
+  Changed: MatrixFree::loop() only accepts LinearAlgebra::distributed::Vector arguments
+  that have been initialized via MatrixFree::initialize_dof_vector()
+  and are as a consequence globally compatible with the 
+  Utilities::MPI::Partitioner within internal::MatrixFreeFunctions::DoFInfo. 
+  <br>
+  (Peter Munch, Martin Kronbichler, 2020/10/21)
+ </li>
+
+ <li>
+  Changed: The return type of the method Mapping::get_vertices() has been changed
+  from std::array to boost::container::small_vector.  
+  <br>
+  (Peter Munch, 2020/10/16)
+ </li>
+
+ <li>
+  Deprecated: The QTrapez class, poorly named because the proper English
+  term is "trapezoidal quadrature rule", has been renamed to QTrapezoid,
+  and the class with the old name has been deprecated.
+  <br>
+  (Wolfgang Bangerth, 2020/09/28)
+ </li>
+
+ <li>
+  Replaced: Python wrapper for 'merge_triangulations' with a more generic equivalent.
+  <br>
+  (Alexander Grayver, 2020/09/01)
+ </li>
+
+ <li>
+  Removed: CUDA 9, 10.0, and 10.1 are not supported anymore.
+  <br>
+  (Bruno Turcksin, 2020/08/05)
+ </li>
+
+ <li>
+  Changed: The template arguments of the classes DoFAccessor and DoFCellAccessor have changed.
+  The template argument DoFHandlerType has been replaced by dimension and
+  space dimension.  
+  <br>
+  (Peter Munch, 2020/06/24)
+ </li>
+
+ <li>
+  Deprecated: The functions MatrixFree::reinit(), which take 
+  a vector of hp::DoFHandlers, have been deprecated. Users are asked
+  to provide vectors of DoFhandlers, which may contain hp::DoFHandlers. This is
+  possible now since hp::DoFHandler is deriving from DoFHandler.  
+  <br>
+  (Peter Munch, 2020/06/03)
+ </li>
+
+ <li>
+  Removed: The deprecated class MGCoarseGridLACIteration has been removed.
+  <br>
+  (Daniel Arndt, 2020/06/12)
+ </li>
+
+ <li>
+  Removed: The header file `deal.II/grid/tria_object.h` has been
+  removed. It was only used for internal purposes.
+  <br>
+  (Wolfgang Bangerth, 2020/06/05)
+ </li>
+
+ <li>
+  Changed: The binary representation of the Triangulation and DoFHandler classes 
+  created by the function `save()` with release 9.2 cannot be read anymore with 
+  `load()` due to major internal changes
+  of these classes. This change also affects, i.a., the functions
+  `GridIn::read_vtu()` and `GridOut::write_vtu()`.
+  <br>
+  (Peter Munch, 2020/06/03)
+ </li>
+
+ <li>
+  Removed: The deprecated bindings to the legacy NETCDF C++ library have been
+  removed.
+  <br>
+  (David Wells, 2020/05/27)
+ </li>
+
+ <li>
+  Removed: The deprecated bindings to nanoflann have been removed.
+  <br>
+  (David Wells, 2020/05/27)
+ </li>
+
+ <li>
+  Changed: The ThreadLocalStorage class has been reimplemented with C++14 STL
+  primitives and does not depend on the TBB library any more. With that the
+  obscure ThreadLocalStorage::get_implementation() function that exposed the
+  underlying TBB container has been removed.
+  <br>
+  (Matthias Maier, 2020/05/23)
+ </li>
+
+ <li>
+  Removed: The Threads::Task class had an `operator==` that allowed
+  comparing objects of this type for equality. This operator has been
+  removed. If you want to store objects of this kind in a collection
+  that requires this kind of operator (say, `std::set`), then you
+  probably can't do so any more in a reasonable way. However, this is
+  exactly what the Threads::TaskGroup class is there for.
+  <br>
+  (Wolfgang Bangerth, 2020/05/26)
+ </li>
+
+ <li>
+  Deprecated: The class hp::DoFHandler has been deprecated, since the DoFHandler
+  has been extended with its functionalities.
+  <br>
+  (Peter Munch, 2020/05/23)
+ </li>
+
+ <li>
+  Removed: The following preprocessor definitions have been removed from
+  config.h.in: DEAL_II_NOEXCEPT, DEAL_II_USE_MT_POSIX,
+  DEAL_II_USE_MT_POSIX_NO_BARRIERS
+  <br>
+  (Matthias Maier, 2020/05/23)
+ </li>
+
+ <li>
+  Removed: The deprecated classes Threads::Mutex::ScopedLock,
+  Threads::ConditionVariable, and deprecated functions
+  Threads::Mutex::acquire(), Threads::Mutex::release(),
+  Threads::n_existing_threads(), Threads::this_thread_id() have been removed.
+  <br>
+  (Matthias Maier, 2020/05/22)
+ </li>
+
+ <li>
+  Removed: The <code>DEAL_II_WITH_CXX14</code> and
+  <code>DEAL_II_WITH_CXX17</code> configuration options have been removed.
+  The library will now be compiled with the default C++ standard enabled by
+  the compiler. This is (as of May 2020) C++14 for all compilers. If you want
+  to override that behavior, please set the C++ standard directly for example
+  by configuring with <code>-DDEAL_II_CXX_FLAGS="-std=c++17"</code>, or by
+  setting the environement variable <code>CXXFLAGS="-std=c++17"</code>.
+  <br>
+  (Matthias Maier, 2020/05/21)
+ </li>
+
+ <li>
+  Updated: deal.II now requires a compiler with enabled C++14 support.
+  <br>
+  (Matthias Maier, 2020/05/21)
+ </li>
+
+ <li>
+  Changed: The polynomial space template argument has been removed from
+  FE_Poly and FE_PolyTensor.
+  <br>
+  (Graham Harper, Daniel Arndt, 2020/05/21)
+ </li>
+
+ <li>
+  Removed: The deprecated class Threads::PosixThreadBarrier has been
+  removed.
+  <br>
+  (Wolfgang Bangerth, 2020/04/21)
+ </li>
+
+</ol>
+
+
+<!-- ----------- GENERAL IMPROVEMENTS ----------------- -->
+
+<a name="general"></a>
+<h3>General</h3>
+<ol>
+
+ <li>
+  New: The step-66 tutorial program shows how to solve a nonlinear PDE in parallel
+  with MatrixFree methods.
+  <br>
+  (Fabian Castelli, 2021/05/19)
+ </li>
+
+ <li>
+  New: The class FEPointEvaluation provides an interface to the evaluation of 
+  interpolated solution values and gradients on cells on arbitrary reference 
+  point positions. These points can change from cell to cell, both with 
+  respect to their quantity as well to the location. The two typical use 
+  cases are evaluations on non-matching grids and particle simulations.
+  <br>
+  (Martin Kronbichler, 2021/05/18)
+ </li>
+
+ <li>
+  New: The step-72 tutorial revisits step-15 (that solves a nonlinear elliptic
+  problem using Newton's method). In this variant, automatic differentiation
+  is used either to linearize the residual, or to compute the full linear system
+  from an energy functional.
+  <br>
+  (Jean-Paul Pelteret, 2021/05/06)
+ </li>
+
+ <li>
+  New: The step-71 tutorial demonstrates how automatic and symbolic differentiation
+  can be leveraged to compute the derivatives of a coupled constitutive law.
+  <br>
+  (Jean-Paul Pelteret, 2021/05/06)
+ </li>
+
+ <li>
+  New: The step-77 tutorial explores one of the mentioned extensions to step-15,
+  namely implementing a proper step length control algorithm. It uses the KINSOL
+  nonlinear solver package from the SUNDIALS library to incorporate a line
+  search method into the incremental update for Newton's method.
+  <br>
+  (Wolfgang Bangerth, 2021/05/04)
+ </li>
+
+ <li>
+  New: The step-75 tutorial program shows how to solve a simple Laplace
+  equation in parallel with hp-adaptive and MatrixFree methods.
+  <br>
+  (Marc Fehling, Peter Munch, Wolfgang Bangerth, 2021/04/15)
+ </li>
+
+ <li>
+  New: Experimental support for simplex meshes (i.e., meshes consisting
+  of triangle or tetrahedron cells) and mixed meshes (i.e., meshes consisting
+  of lines, triangles, quadrilateral, tetrahedron, pyramid, wedge, and/or 
+  hexahedron cells) has been added. The new features are presented 
+  in the test folder `tests/simplex` and in the 
+  new "Simplex" module page.
+  <br>
+  (various, 2021/03/04)
+ </li>
+
+ <li>
+  New: The class Utilities::MPI::RemotePointEvaluation and the function
+  VectorTools::evaluate_at_points() allow to work on arbitrary distributed
+  points. 
+  <br>
+  (Peter Munch, Martin Kronbichler, Magdalena Schreter, Niklas Fehn, 2021/02/28)
+ </li>
+
+ <li>
+  New: The communicator of an arbitrary (not just parallel) Triangulation class can now be 
+  queried via Triangulation::get_communicator() or DoFHandler::get_communicator(). In
+  the case of serial Triangulations and DoFHandler set up with serial Triangulations,
+  MPI_COMM_SELF is returned.
+  <br>
+  (Peter Munch, 2021/02/28)
+ </li>
+
+ <li>
+  New: The behavior of the local_size() member function is not consistent across
+  all vector classes that support ghost elements. As a remedy theis member
+  function is deprecated and replaced by locally_owned_size() that returns the
+  number of locally owned elements (in particular without ghost elements).
+  <br>
+  (Daniel Arndt, David Wells, 2021/02/11)
+ </li>
+
+ <li>
+  New: Added a new quadrature rule QWitherdenVincent for simplices.
+  <br>
+  (David Wells, 2021/02/08)
+ </li>
+
+ <li>
+  New: Added a new class BarycentricPolynomial that makes defining
+  polynomials on simplices much easier.
+  <br>
+  (David Wells, 2021/01/26)
+ </li>
+
+ <li>
+  New: Added a new finite element FE_SimplexP_Bubbles suitable for using mass
+  lumping on simplex meshes.
+  <br>
+  (David Wells, 2021/01/26)
+ </li>
+
+ <li>
+  Improved: Update SUNDIALS ARKODE interface to support versions > 4.0.0 and add preconditioner support
+  <br>
+  (Sebastian Proell, 2020/12/11)
+ </li>
+
+ <li>
+  New: Added capacity to update ghost particles without rebuilding them from scratch in the particle_handler
+  <br>
+  (Bruno Blais, Peter Munch, 2020/11/10)
+ </li>
+
+ <li>
+  New: Tutorial example (step-68) showcasing parallel simulation of the advection
+  of particles including load balancing.
+  <br>
+  (Bruno Blais, Toni El Geitani Nehme, Rene Gassm
+  ller, Peter Munch, 2020/05/23)
+ </li>
+
+ <li>
+  New: The step-19 tutorial program shows how to use particle methods.
+  <br>
+  (Wolfgang Bangerth, Rene Gassmoeller, Peter Munch, 2020/09/15)
+ </li>
+
+ <li>
+  New: The GridIn class can now read ExodusII files when deal.II is configured
+  with Trilinos and SEACAS.
+  <br>
+  (David Wells, 2020/09/09)
+ </li>
+
+ <li>
+  New: The multithreading framework in the library has been completely revamped:
+  Intel TBB has been replaced by taskflow, which is bundled within the
+  library. Multithreading support is now unconditionally enabled and we removed
+  the CMake option DEAL_II_WITH_THREADS. The tasking framework can be controlled
+  using MultithreadInfo and the DEAL_II_NUM_THREADS environment variable.
+  <br>
+  (Wolfgang Bangerth, Timo Heister, Matthias Maier, 2020/05/25)
+ </li>
+
+ <li>
+  Changed: The internal data structures of DoFHandler have been modified to use 
+  compressed row storage, enabling it to also handle hp::DoFHandler functionalities.
+  Currently, the user can choose between the normal mode and the hp mode during
+  calling the constructur. Please note that the multigrid functionalities are only 
+  available during normal mode.
+  <br>
+  (Peter Munch, 2020/05/23)
+ </li>
+
+</ol>
+
+
+<!-- ----------- SPECIFIC IMPROVEMENTS ----------------- -->
+
+<a name="specific"></a>
+<h3>Specific improvements</h3>
+<ol>
+
+ <li>
+  Fixed: Make SUNDIALS::IDA function names  consistent with SUNDIALS::KINSOL function names.
+  <br>
+  (Luca Heltai, 2021/05/21)
+ </li>
+
+ <li>
+  Fixed: KINSOL interface is now fully working
+  <br>
+  (Luca Heltai, Nicola Giuliani, 2021/05/19)
+ </li>
+
+ <li>
+  Improved: The images in tutorial 35 have been updated to cold and hot color scheme with higher resolution and more consistent sizing. 
+  <br>
+  (Bryn Barker, 2021/05/18)
+ </li>
+
+ <li>
+  New: SUNDIALS::IDA is now compatible with SUNDIALS > 4.0.0
+  <br>
+  (Nicola Giuliani, Luca Heltai, 2021/05/13)
+ </li>
+
+ <li>
+  Improved: ParticleHandler::sort_particles_into_subdomains_and_cells()
+  now uses a faster method to identify particles in cells farther away
+  from their previous cell.
+  <br>
+  (Martin Kronbichler, 2021/05/12)
+ </li>
+
+ <li>
+  Fixed: DataOutBase::write_ucd() has been fixed to output vertices in the correct
+  order. Previously, cells were tangled when read with Paraview's AVS-UCD reader.
+  <br>
+  (David Wells, 2021/05/06)
+ </li>
+
+ <li>
+  Fixed: The function Particles::Generators::probabilistic_locations could crash
+  if some MPI ranks had no active cells. This is fixed now.
+  <br>
+  (Rene Gassmoeller, 2021/05/05)
+ </li>
+
+ <li>
+  Improved: There is now a cache for TriaAccessor::vertex_index() for the cells
+  of a mesh, which considerably speeds up operations with intensive use of
+  `cell->vertex()` or `cell->vertex_index()`.
+  <br>
+  (Martin Kronbichler, 2021/05/04)
+ </li>
+
+ <li>
+  New: Add a function taylor_estimate_function_bounds, which estimates the range
+  of the value and gradient components of a Function<dim> over a
+  BoundingBox<dim>, by approximating the function by a 2nd order Taylor
+  polynomial.
+  <br>
+  (Simon Sticko, 2021/04/25)
+ </li>
+
+ <li>
+  Deprecated: The FEValuesViews::Scalar, FEValuesViews::Vector,
+  FEValuesViews::Tensor, and FEValuesViews::SymmetricTensor classes all
+  have `OutputType` structures that defined the types of evaluating
+  the values and derivatives of finite element fields at quadrature
+  points. These structures have been deprecated, and the corresponding
+  types are now defined via local `using` declarations in the classes
+  mentioned above.
+  <br>
+  (Wolfgang Bangerth, 2021/04/25)
+ </li>
+
+ <li>
+  Bugfix: FE_Nedelec<2>::convert_generalized_support_point_values_to_dof_values() 
+  now works correctly for every degree.
+  <br>
+  (Jake Harmon, 2021/04/22)
+ </li>
+
+ <li>
+  Fixed: The function hp::Refinement::predict_error() produced incorrect
+  results for p-coarsening.
+  <br>
+  (Marc Fehling, 2021/04/21)
+ </li>
+
+ <li>
+  Deprecated: The TriaAccessor::number_of_children() function has been
+  deprecated in favor of the new TriaAccessor::n_active_descendants()
+  function.
+  <br>
+  (Wolfgang Bangerth, 2021/04/20)
+ </li>
+
+ <li>
+  Added: The MPI_InitFinalize RAII class has gained an
+  MPI_InitFinalize::signals::at_mpi_init and an
+  MPI_InitFinalize::signals::at_mpi_finalize signal that are triggered
+  immediately after initializing the MPI context with <code>MPI_Init</code>
+  and immediately before deinitializing the MPI context with
+  <code>MPI_Finalize</code>.
+  <br>
+  (Matthias Maier, 2021/04/19)
+ </li>
+
+ <li>
+  New: There are now versions of the constructors of the
+  Functions::InterpolatedTensorProductGridData and
+  Functions::InterpolatedUniformGridData classes
+  that *move* the data in the arguments given,
+  instead of copying it.
+  <br>
+  (Wolfgang Bangerth, 2021/04/19)
+ </li>
+
+ <li>
+  Fixed: Work around a memory leak issue in OpenMPI 4.1.0 triggered by our
+  Utilities::MPI::min_max_avg() function by repeatedly allocating and freeing
+  MPI_Datatype handles.
+  <br>
+  (Matthias Maier, 2021/04/18)
+ </li>
+
+ <li>
+  New: FEInterfaceValues now can use FEValuesExtractors to extract scalar or
+  vector components like FEValues does.
+  <br>
+  (Jiaqi Zhang, 2021/04/15)
+ </li>
+
+ <li>
+  New: The functions AlignedVector::replicate_across_communicator()
+  and  Table::replicate_across_communicator()
+  allow copying information across MPI processes.
+  <br>
+  (Wolfgang Bangerth, 2021/04/28)
+ </li>
+
+ <li>
+  New: Now the HDF5 interface can set bool attributes.
+  <br>
+  (Daniel Garcia-Sanchez, 2021/04/03)
+ </li>
+
+ <li>
+  Add a new grid generator (subdivided_cylinder) which generates a 
+  cylinder with a number of x subdivisions which is specified by the user.
+  Alter cylinder so that it also uses this new generator to prevent code
+  duplication.
+  <br>
+  (Bruno Blais, 2021/04/01)
+ </li>
+
+ <li>
+  Add: Adds new settings to PETScWrappers::PreconditionBoomerAMG::initialize()
+  in the struct PETScWrappers::PreconditionBoomerAMG::AdditionalData.
+  <br>
+  (Maximilian Bergbauer, 2021/03/31)
+ </li>
+
+ <li>
+  Deprecated: The version of DoFTools::extract_boundary_dofs() that
+  returns its information via an `IndexSet` reference argument has been
+  deprecated. Use the version of the function that returns information
+  via an IndexSet return type instead.
+  <br>
+  (Wolfgang Bangerth, 2021/03/30)
+ </li>
+
+ <li>
+  Deprecated: The version of DoFTools::extract_boundary_dofs() that
+  returns its information via a `std::vector<bool>` has been
+  deprecated. Use the version of the function that returns information
+  via an IndexSet instead.
+  <br>
+  (Wolfgang Bangerth, 2021/03/30)
+ </li>
+
+ <li>
+  New: Class parallel::distributed::TemporarilyMatchRefineFlags that
+  temporarily modifies the refine and coarsen flags of all active cells
+  on a parallel::distributed::Triangulation to match its p4est oracle.
+  <br>
+  (Marc Fehling, 2021/03/29)
+ </li>
+
+ <li>
+  New: The getter function for the divergence in 
+  FEEvaluationAccess<1, 1, Number, is_face, VectorizedArrayType>::get_divergence() 
+  is now also implemented for dim==1 and n_components==1. The function 
+  FEEvaluationAccess<1, 1, Number, is_face, VectorizedArrayType>::submit_gradient()
+  now also takes a rank 2 tensor as input argument.
+  <br>
+  (Magdalena Schreter, Peter Munch, Martin Kronbichler, 2021/03/22)
+ </li>
+
+ <li>
+  New: Add nearest neighbor predicate support to ArborXWrappers::BVH(). This
+  allows to find the `n` closest bounding boxes or points to any given bounding
+  box or point.
+  <br>
+  (Bruno Turcksin, 2021/03/19)
+ </li>
+
+ <li>
+  Improved: The function parallel::distributed::Triangulation::copy_triangulation()
+  now also works with locally refined meshes of type
+  parallel::distributed::Triangulation.
+  <br>
+  (Marc Fehling, 2021/03/19)
+ </li>
+
+ <li>
+  Improved: The class LinearAlgebra::ReadWriteVector now also can import
+  from Vector and LinearAlgebra::Vector.
+  <br>
+  (Peter Munch, 2021/03/18)
+ </li>
+
+ <li>
+  New: Adds the new generalized MPI_Bcast function Utilities::MPI::broadcast() for arbitrary data types T.
+  <br>
+  (Maximilian Bergbauer, 2021/03/18)
+ </li>
+
+ <li>
+  Fixed: MatrixFree::get_boundary_id() would previously only support boundary ids
+  between 0 and 255 via an `unsigned char` type. This has now been changed to
+  the correct types::boundary_id type, supporting also larger boundary ids.
+  <br>
+  (Martin Kronbichler, 2021/03/16)
+ </li>
+
+ <li>
+  New: Added Functions::IdentityFunction.
+  <br>
+  (David Wells, 2021/03/16)
+ </li>
+
+ <li>
+  New: The new method Differentiation::SD::BatchOptimizer::extract() allows one to
+  extract results from previous evaluation of the symbolic expressions. 
+  This means that one can safely use a single instance of a batch optimizer to
+  pre-compute a set of results, cache them, and then later extract some results
+  from the cached data without re-evaluating any symbolic expressions.
+  <br>
+  (Jean-Paul Pelteret, 2021/03/13)
+ </li>
+
+ <li>
+  Improved: The result type deduction for the product of symbolic types 
+  (specifically, Differentiation::SD::Expression) with tensors and symmetric
+  tensors has been improved.
+  <br>
+  (Jean-Paul Pelteret, 2021/03/13)
+ </li>
+
+ <li>
+  New: The MeshWorker::ScratchData class is now able to compute the Laplacians
+  of the scalar-valued and vector-valued components of the solution vector.
+  <br>
+  (Jean-Paul Pelteret, 2021/03/13)
+ </li>
+
+ <li>
+  Improved: The MeshWorker::ScratchData::get_general_data_storage() method now has
+  a `const` variant.
+  <br>
+  (Jean-Paul Pelteret, 2021/03/13)
+ </li>
+
+ <li>
+  Improved: The function VectorTools::get_position_vector() can now also take 
+  a Mapping object as input parameter.
+  <br>
+  (Peter Munch, 2021/03/10)
+ </li>
+
+ <li>
+  New: MappingQCache has new initialize functions. One set of functions takes
+  either a std::function or a dealii::Function for transforming
+  individual points. Another set of functions take global vectors (and 
+  MGLevelObjects of global vectors) and use these to initialize the position of
+  the support points much like MappingFEField does.
+  <br>
+  (Niklas Fehn, Martin Kronbichler, Peter Munch, 2021/03/10)
+ </li>
+
+ <li>
+  New: Utilities::MPI::logical_or() for collective <i>logical or</i> operations.
+  <br>
+  (Marc Fehling, 2021/03/04)
+ </li>
+
+ <li>
+  New: Add a component parameter to FESeries::Fourier/Legendre to
+  make them working with non-primitive elements.
+  <br>
+  (Ce Qin, 2021/03/01)
+ </li>
+
+ <li>
+  New: A new class GridTools::MarchingCubeAlgorithm has been added. It
+  helps to create a surface mesh on the iso line/contour of a scalar field.
+  <br>
+  (Peter Munch, Magdalena Schreter, Martin Kronbichler, 2021/02/28)
+ </li>
+
+ <li>
+  New: Function hp::Refinement::limit_p_level_difference()
+  restricts the maximal level difference of neighboring cells with respect
+  to the finite element hierarchy of the registered hp::FECollection.
+  <br>
+  (Marc Fehling, 2021/02/23)
+ </li>
+
+ <li>
+  New: The new MGTransferBase::prolongate_and_add() performs a prolongation
+  without zeroing out the destination vector.
+  <br>
+  (Martin Kronbichler, 2021/02/22)
+ </li>
+
+ <li>
+  New: Member function hp::FECollection::get_hierarchy_sequence() returning
+  the sequence of finite element indices that correspond to the registered
+  hierarchy. 
+  <br>
+  (Marc Fehling, 2021/02/22)
+ </li>
+
+ <li>
+  Fixed: deal.II should now be able to use versions of LAPACK compiled with
+  Fortran compilers that do not adhere to the usual Fortran mangling
+  convention.
+  <br>
+  (David Wells, 2021/02/20)
+ </li>
+
+ <li>
+  Added a template version of CUDAWrappers::MatrixFree::reinit() that takes an
+  IteratorFilters object. This allows to perform the operator evaluation on part
+  of the domain.
+  <br>
+  (Bruno Turcksin, 2021/02/19)
+ </li>
+
+ <li>
+  Added: A multidimensional array dealii::ndarray that allows one to
+  conveniently create "stacked" std::array objects that model a
+  multidimensional array. `dealii::ndarray<double, 1, 2, 3, 4>` for example
+  is a short-hand for `std::array<std::array<std::array<std::array<double, 4>, 3>, 2>, 1>`.
+  <br>
+  (Matthias Maier, 2021/02/19)
+ </li>
+
+ <li>
+  Moved: The CommunicationPatternBase class has been moved from the LinearAlgebra
+  namespace into the more general Utilities::MPI namespace.
+  <br>
+  (David Wells, 2021/02/15)
+ </li>
+
+ <li>
+  Fixed: CutOffFunctionTensorProduct::gradient() was computing the wrong gradient. This is now fixed.
+  <br>
+  (Luca Heltai, 2021/02/13)
+ </li>
+
+ <li>
+  New: ArrayView objects can now also be constructed from C-style arrays.
+  <br>
+  (Wolfgang Bangerth, 2021/02/09)
+ </li>
+
+ <li>
+  New: The method parallel::distributed::Triangulation::load()
+  can now also accept a p4est/p8est forest, which can be queried
+  from an existing triangulation via parallel::distributed::Triangulation::get_p4est().
+  <br>
+  (Marc Fehling, Peter Munch, 2021/02/09)
+ </li>
+
+ <li>
+  New: There are now functions Utilities::get_bit() and
+  Utilities::set_bit() that do as their names suggest.
+  <br>
+  (Peter Munch, Wolfgang Bangerth, 2021/02/05)
+ </li>
+
+ <li>
+  Improved: AffineConstraints::copy_from() now also works for differing
+  number template types.
+  <br>
+  (Peter Munch, Maximilian Bergbauer, 2021/02/05)
+ </li>
+
+ <li>
+  Update: class PETScWrappers::PreconditionerBase renamed to
+  PETScWrappers::PreconditionBase for consistency.
+  <br>
+  (Pasquale Claudio Africa, 2021/02/03)
+ </li>
+
+ <li>
+  Fixed: Triangulation::get_manifold_ids() was not returning all ids correctly.
+  <br>
+  (Luca Heltai, 2021/02/03)
+ </li>
+
+ <li>
+  New: SUNDIALS N_Vector module now directly operates on different deal.II vectors without internally
+  creating copies.
+  In particular, ARKode can now also be used with LinearAlgebra::distributed::(Block)Vector.
+  <br>
+  (Sebastian Proell, 2021/01/31)
+ </li>
+
+ <li>
+  Improved: Exception texts are now formatted and broken to fixed-length
+  lines, rather than flowing to arbitrary lengths.
+  <br>
+  (Wolfgang Bangerth, 2021/01/25)
+ </li>
+
+ <li>
+  New: Added support for gmsh library API. This allows using GridIn::read_msh()
+  and GridOut::write_msh() to save and read also manifold id information.
+  <br>
+  (Luca Heltai, 2021/01/20)
+ </li>
+
+ <li>
+  New: implemented p::f::Triangulation::load()/save() for use with p::d::SolutionTransfer.
+  <br>
+  (Pasquale Claudio Africa, Peter Munch, 2021/01/18)
+ </li>
+
+ <li>
+  Improved: provide abstract interface to p::d::Triangulation::load()/save().
+  <br>
+  (Pasquale Claudio Africa, 2021/01/18)
+ </li>
+
+ <li>
+  New: Added python wrappers to enable support for simplex and mixed meshes.
+  <br>
+  (Alexander Grayver, 2021/01/18)
+ </li>
+
+ <li>
+  New: Mapping::get_bounding_box() now returns the bounding box of the support points, when the mapping
+  is of type MappingQ, MappingQGeneric, and MappingQEulerian.
+  <br>
+  (Luca Heltai, 2021/01/16)
+ </li>
+
+ <li>
+  New: The method parallel::distributed::Triagnulation::communicate_locally_moved_vertices() 
+  has been refactored and moved to parallel::DistributedTriangulationBase so that it can now also be
+  used for parallel::fullydistributed::Triangulation.
+  <br>
+  (Daniel Arndt, Ivan Fumagalli, Peter Munch, 2021/01/15)
+ </li>
+
+ <li>
+  New: Implemented MappingFE::transform_real_to_unit_cell().
+  <br>
+  (Luca Heltai, 2021/01/13)
+ </li>
+
+ <li>
+  New: The old tensor basis transformation functions internal::Physics::transformation_contraction()
+  have been moved out of the internal namespace and renamed to
+  Physics::Transformations::basis_transformation() and have documentation now.
+  <br>
+  (Nils Much, 2021/01/12)
+ </li>
+
+ <li>
+  New: Created two new methods ParameterAcceptor::enter_subsection() and
+  ParameterAcceptor::leave_subsection() that allow more intricated parameter 
+  paths within ParameterAcceptor classes.
+  <br>
+  (Luca Heltai, 2021/01/12)
+ </li>
+
+ <li>
+  New: Add new BVH (Bounding Volume Hierarchy) class based on ArborX. This class
+  performs multiple kinds of geometric search: intersection of bounding boxes and
+  intersection of bounding boxes with points.
+  <br>
+  (Bruno Turcksin, 2021/01/08)
+ </li>
+
+ <li>
+  New: Function GridTools::get_subdomain_association() determines
+  the owning process of any valid cell on a Triangulation that is
+  represented by a globally unique CellId.
+  <br>
+  (Marc Fehling, 2021/01/07)
+ </li>
+
+ <li>
+  New: The policy under which things in deal.II are deprecated has changed.
+  Deprecated features are now first marked with DEAL_II_DEPRECATED_EARLY until the
+  next release of the library, at which point they will be remarked with
+  DEAL_II_DEPRECATED. By default, things marked with DEAL_II_DEPRECATED_EARLY do
+  not print deprecation warnings - this is controlled with the
+  DEAL_II_EARLY_DEPRECATIONS CMake configuration option. This change was made so
+  that users can use multiple recent checkouts of the development branch without
+  needing to address the problem that some will print deprecation warnings and
+  others do not, and also so that new deprecation warnings do not appear outside
+  of the release period.
+  <br>
+  (Daniel Arndt, 2021/01/05)
+ </li>
+
+ <li>
+  Fixed: Reset time and timestep_number during pre refinement steps in step-26.
+  <br>
+  (Praveen Chandrashekar, 2021/01/05)
+ </li>
+
+ <li>
+  Changed: Tutorial step-27 has been simplified and now uses the recently
+  introduced SmoothnessEstimator namespace.
+  <br>
+  (Marc Fehling, 2020/12/24)
+ </li>
+
+ <li>
+  Fixed: DoFTools::make_periodicity_constraints() was not instantiated for condition 'dim < spacedim'. The instantiation was corrected and a test was added to verify that the function works for such condition.     
+  <br>
+  (Malhar Tidke, 2020/12/23)
+ </li>
+
+ <li>
+  Improved: If there is an uncaught exception the destructor of the HDF5
+  interface does not call H5Dclose, H5Gclose or H5Fclose. In addition,
+  to avoid MPI synchronization and a possible deadlock, the destructor
+  calls MPI_Abort().
+  (Daniel Garcia-Sanchez, 2020/12/23)
+ </li>
+
+ <li>
+  New: Add functions CUDAWrappers::local_q_point_id_host(),
+  CUDAWrappers::get_quadrature_point_host(), CUDAWrappers::copy_mf_data_to_host(), and
+  CUDAWrappers::MatrixFree::get_colored_graph(). These functions can be used to
+  evaluate material properties in the same order on the host and on the device.
+  <br>
+  (Bruno Turcksin, 2020/12/06)
+ </li>
+
+ <li>
+  Fixed: A previous patch accidentally broke step-46 and led to
+  exceptions about accessing neighboring cells that don't actually exist
+  because a cell is at the boundary. This has been fixed.
+  <br>
+  (Wolfgang Bangerth, 2020/12/03)
+ </li>
+
+ <li>
+  New: The function GridGenerator::convert_hypercube_to_simplex_mesh allows to
+  convert a given triangulation based on quadrilaterals (2D) or hexahedra (3D)
+  to a triangulation based on simplices or tetraedra, respectively. Thereby,
+  material_IDs and boundary_IDs are inherited from the given triangulation.
+  <br>
+  (Elias Dejene, Peter Munch, 2020/11/23)
+ </li>
+
+ <li>
+  New: A new class LowStorageRungeKutta is added to the namespace TimeStepping to 
+  implement the explicit low-storage Runge-Kutta methods, see @cite KennedyCarpenterLewis2000 and step-67.
+  <br>
+  (Jiaqi Zhang, 2020/11/18)
+ </li>
+
+ <li>
+  Improved: QCollection<dim> now also accepts Quadrature<1> and converts this
+  input quadrature rule to a dim-dimensional quadrature rule internally via
+  tensor product. Furthermore, a copy constructor has been added
+  accepting QCollection<1>.
+  <br>
+  (Peter Munch, 2020/11/12)
+ </li>
+
+ <li>
+  Fixed: WorkStream::mesh_loop() should now work on anisotropic grids.
+  <br>
+  (Luca Heltai, 2020/11/03)
+ </li>
+
+ <li>
+  Improved: An inverse quadratic approximation has been added for the pull-back
+  operation in the TransfiniteInterpolationManifold::new_points() function. The
+  better initial guesses for the Newton/Broyden iteration make the computation
+  faster and more robust in some difficult scenarios.
+  <br>
+  (Martin Kronbichler, 2020/11/01)
+ </li>
+
+ <li>
+  Fixed: There was a bug in 
+  Differentiation::AD::ScalarFunction::extract_hessian_component()
+  that was triggered when using a symmetric tensor extractor with a non-zero
+  first component index. Having previously lead to either incorrect results being
+  returned or valid user programs crashing, it has now been corrected.
+  <br>
+  (Jean-Paul Pelteret, 2020/11/01)
+ </li>
+
+ <li>
+  Improved: MatrixFree now also works for hp in MPI-parallelized
+  programs.
+  <br>
+  (Marc Fehling, Katharina Kormann, Martin Kronbichler, Peter Munch, 2020/10/20)
+ </li>
+
+ <li>
+  New: step-9 uses the "streamline-upwind Petrov-Galerkin" method, but
+  does not make any attempt at explaining what this method is or why it
+  might be named like this. This has been rectified: The introduction
+  now has a long section that explains the origin of the method and its name.
+  <br>
+  (Wolfgang Bangerth, 2020/10/10)
+ </li>
+
+ <li>
+  New: Mapping::transform_points_real_to_unit_cell() can compute the operation
+  of Mapping::transform_real_to_unit_cell() on many points simultaneously, which
+  can be much faster for MappingQGeneric and derived classes that involve
+  expensive operations to compute the support points of the mapping.
+  <br>
+  (Martin Kronbichler, 2020/10/07)
+ </li>
+
+ <li>
+  New: GridRefinement::refine_and_coarsen_fixed_fraction() and
+  parallel::distributed::GridRefinement::refine_and_coarsen_fixed_fraction()
+  now allow to specify a VectorTools::NormType, which determines how
+  combined errors on subsets of cells will be calculated.
+  <br>
+  (Marc Fehling, 2020/10/06)
+ </li>
+
+ <li>
+  New: SSP_THIRD_ORDER is added to the namespace TimeStepping to 
+  implement the explicit third order Strong Stability Preserving (SSP) Runge-Kutta method, 
+  which is also called the third order Total Variation Diminishing (TVD) Runge-Kutta method, see @cite gottlieb2001strong.
+  <br>
+  (Jiaqi Zhang, 2020/10/05)
+ </li>
+
+ <li>
+  New: GridTools::affine_cell_approximation() returns a matrix <i>A</i> and
+  offset vector <i>b</i> that describe a least-squares fit of an affine
+  approximation to a set of vertices of a cell.
+  <br>
+  (Martin Kronbichler, 2020/10/04)
+ </li>
+
+ <li>
+  New: Helper functions CellAccessor::child_iterators() and
+  DoFCellAccessor::child_iterators() which return iterators to children of
+  a cell via `cell->child_iterators()`.
+  <br>
+  (Marc Fehling, 2020/10/03)
+ </li>
+
+ <li>
+  New: CellId has a new constructor to create it from a std::string.
+  <br>
+  (Timo Heister, 2020/10/05)
+ </li>
+
+ <li>
+  Improved: MappingQGeneric::transform_real_to_unit_cell() has been made much
+  faster by directly working with the tensor product form of the mapping shape
+  functions and avoiding many unnecessary memory allocations. The main cost is
+  now MappingQGeneric::compute_mapping_support_points(), which can be made fast
+  with MappingQCache, for example.
+  <br>
+  (Martin Kronbichler, 2020/09/30)
+ </li>
+
+ <li>
+  New: The function BlockSparsityPattern::print_svg() outputs a block
+  sparsity pattern in SVG format.
+  <br>
+  (Wolfgang Bangerth, 2020/09/25)
+ </li>
+
+ <li>
+  Changed: step-29 no longer uses the `deallog` variable to generate
+  output, but instead directly writes to `std::cout`.
+  <br>
+  (Wolfgang Bangerth, 2020/09/23)
+ </li>
+
+ <li>
+  New: The classes FEEvaluation and FEFaceEvaluation with template parameter -1
+  for the polynomial degree is now based on pre-compiled templated code for
+  polynomial degrees between 1 and 6. This allows for fast execution of
+  matrix-free evaluation for run-time polynomial degrees. The generated
+  instantiations are controlled by
+  `include/deal.II/matrix_free/evaluation_template_factory.templates.h` and can
+  be pre-compiled for additional degrees in user code.
+  <br>
+  (Martin Kronbichler, Peter Munch, 2020/09/21)
+ </li>
+
+ <li>
+  Fixed: Our cmake scripts forgot to install some of the files that are
+  part of the code gallery. This is now fixed.
+  <br>
+  (Wolfgang Bangerth, 2020/09/17)
+ </li>
+
+ <li>
+  Fixed: DoFTools::extract_dofs() return an IndexSet as result used to have a
+  quadratic complexity in the number of extracted indices. This is now fixed.
+  <br>
+  (Martin Kronbichler, 2020/08/11)
+ </li>
+
+ <li>
+  Added: method for returning list of all triangulation cells.
+  <br>
+  (Alexander Grayver, 2020/09/03)
+ </li>
+
+ <li>
+  Added: python wrapper for GridTools::replicate_triangulation,
+  more general version of the GridTools::merge_triangulations is
+  implemented
+  <br>
+  (Alexander Grayver, 2020/09/01)
+ </li>
+
+ <li>
+  New: The methods FEEvaluation::gather_evaluate(),
+  FEEFaceEvaluation::gather_evaluate(), FEEvaluation::integrate_scatter() and
+  FEfaceEvaluation::integrate_scatter() can now also accept block vectors.
+  <br>
+  (Peter Munch, Magdalena Schreter, Martin Kronbichler, 2020/08/31)
+ </li>
+
+ <li>
+  New: A particle collection can now be copied into a new ParticleHandler object using
+  the new ParticleHandler::copy_from function.
+  <br>
+  (Rene Gassmoeller, 2020/08/28)
+ </li>
+
+ <li>
+  Added: DataOut now supports HDF5 file format with simplex meshes.
+  <br>
+  (Pasquale Claudio Africa, 2020/08/27)
+ </li>
+
+ <li>
+  Updated: GridTools::transform() now works with simplex meshes.
+  <br>
+  (Pasquale Claudio Africa, 2020/08/26)
+ </li>
+
+ <li>
+  Improved: The macro DEAL_II_PICKUP_TESTS can now also be run with on optional
+  input parameter that can be used to manipulate the folder name of tests during
+  ctest.
+  <br>
+  (Peter Munch, 2020/07/23)
+ </li>
+
+ <li>
+  New: The test suite can now also be run with .json files.
+  <br>
+  (Peter Munch, 2020/08/17)
+ </li>
+
+ <li>
+  Improved: The definitions of the templated functions of the HDF5 interface are
+  now in hdf5.h, therefore it is possible to use additional template combinations.
+  The instantiations are no longer necessary, therefore they have been removed.
+  <br>
+  (Daniel Garcia-Sanchez, 2020/08/14)
+ </li>
+
+ <li>
+  New: MGTools::make_sparsity_pattern() can now take an optional
+  AffineConstraints argument to add the effect of, e.g., periodic boundary
+  conditions.
+  <br>
+  (Martin Kronbichler, 2020/08/11)
+ </li>
+
+ <li>
+  Fixed: The DataPostprocessorTensor class erroneously announced that
+  the components of its output are a bunch of scalars when, of course,
+  the whole point of the class was to output things as one tensor
+  field. This is now fixed.
+  <br>
+  (Wolfgang Bangerth, 2020/08/06)
+ </li>
+
+ <li>
+  New: GridIn::read_vtk() now supports triangular and tetrahedral meshes.
+  <br>
+  (Peter Munch, 2020/07/23)
+ </li>
+
+ <li>
+  New: GridIn::read_msh() now supports triangular and tetrahedral meshes.
+  <br>
+  (Daniel Paukner, 2020/07/20)
+ </li>
+
+ <li>
+  New: The method hp::FEFaceValues::reinit() can now also accept face iterators.
+  <br>
+  (Peter Munch, 2020/07/16)
+ </li>
+
+ <li>
+  New: The class hp::MappingCollection has a new constructor. This constructor creates 
+  a MappingCollection from one or more mapping objects passed to the constructor.
+  <br>
+  (Peter Munch, 2020/07/15)
+ </li>
+
+ <li>
+  Fixed: MeshWorker::mesh_loop() did not work on 1d with refined grids. This is now fixed.
+  <br>
+  (Luca Heltai, 2020/07/08)
+ </li>
+
+ <li>
+  Added the functions CUDAWrappers::MatrixFree::get_vector_partitioner() and
+  CUDAWrappers::MatrixFree::get_dof_handler()
+  <br>
+  (Bruno Turcksin, 2020/07/06)
+ </li>
+
+ <li>
+  Fixed: In parallel hp-adaptive applications,
+  DoFHandler::distribute_dofs() no longer fails to enumerate degrees of
+  freedom on ghost interfaces if continuous finite elements do not
+  dominate each other.
+  <br>
+  (Marc Fehling, 2020/07/03)
+ </li>
+
+ <li>
+  New: A new quadrature rule for simplex geometric entities has been added.
+  <br>
+  (Peter Munch, 2020/07/02)
+ </li>
+
+ <li>
+  New: Geometric objects of a Triangulation are assigned a ReferenceCell::Type. The value
+  can be queried via TriaAccessor::reference_cell_type().
+  <br>
+  (Peter Munch, 2020/06/30)
+ </li>
+
+ <li>
+  New: The class ArrayView can now also be constructed from std::array.
+  <br>
+  (Peter Munch, 2020/06/29)
+ </li>
+
+ <li>
+  New: BoundingBox::real_to_unit() and BoundingBox::unit_to_real() allow one to
+  apply both the direct and the inverse transformation that are needed to map the
+  unit bounding box to the current box, and viceversa.
+  <br>
+  (Luca Heltai, 2020/06/29)
+ </li>
+
+ <li>
+  New: The member function DiscreteTime::set_next_step_size() is added.
+  <br>
+  (Reza Rastak, 2020/06/27)
+ </li>
+
+ <li>
+  New: There is now a constructor for class Tensor that takes
+  an initializer from an object of type ArrayView.
+  <br>
+  (Wolfgang Bangerth, 2020/06/27)
+ </li>
+
+ <li>
+  Fixed: The class parallel::distributed::SolutionTransfer can now
+  also handle FE_Nothing.
+  <br>
+  (Dominic Soldner, Peter Munch, 2020/06/24)
+ </li>
+
+ <li>
+  Fixed: FEInterfaceValues now works also for codim one and two. Instantiated
+  also DoFTools::make_flux_sparsity_pattern() for codim one and two.
+  <br>
+  (Luca Heltai, 2020/06/24)
+ </li>
+
+ <li>
+  New: The class TriaAccessor provides now the capability to query
+  the number of vertices, lines, and faces (with n_vertices(), 
+  n_lines(), n_faces(), vertex_indices(), 
+  line_indices(), face_indices()). The new methods can be used as an 
+  alternative to the methods in GeometryInfo.
+  <br>
+  (Peter Munch, 2020/06/23)
+ </li>
+
+ <li>
+  New: Added FEInterfaceValues to MeshWorker::ScratchData.
+  <br>
+  (Luca Heltai, 2020/06/23)
+ </li>
+
+ <li>
+  Fixed: The ParticleHandler::insert_particles() function forgot to
+  associate particles with the common property pool. Consequently,
+  setting properties on particles added to a ParticleHandler this way
+  led to an error.
+  <br>
+  (Andrew Davis, Wolfgang Bangerth, 2020/06/23)
+ </li>
+
+ <li>
+  New: Particles::Particle and Particles::ParticleAccessor can now be used as
+  indexable in boost::rtree objects. 
+  <br> (Luca Heltai, 2020/06/15)
+ </li>
+
+ <li>
+  New: Each cell is assigned a globally unique active cell index and (if requested) 
+  a level cell index. These indices are integers enumerated contiguously within
+  each subdomain of the mesh.
+  Users can query locally-owned and ghost cells for their indices via CellAccessor::global_active_cell_index()
+  or CellAccessor::global_level_cell_index().
+  The value is managed automatically by the Triangulation classes.
+  Furthermore, triangulations deriving from parallel::TriangulationBase provide partitioners
+  for these indices, which can be used to set up ghosted vectors with one entry per
+  cell. 
+  <br>
+  (Peter Munch, 2020/06/12)
+ </li>
+
+ <li>
+  New: The function Particles::ParticleHandler::add_global_particles() now takes 
+  another optional argument, that allows one to set ids arbitrarily. Moreover,
+  now the numbering of the ids is correct also if we call the method more than
+  one time. Newly added particles, if ids are not specified, now correctly get
+  the first available ids. 
+  Added a new version of Particles::ParticleHandler::add_global_particles() that
+  takes a vector of Particles::Particle objects instead of just their positions.
+  This can be used in conjunction with the signal
+  Particles::ParticleHandler::Signals::particle_lost() to reinsert
+  Particles::Particle objects that went out of the locally owned and ghost cells.
+  <br> (Luca Heltai, 2020/06/11)
+ </li>
+
+ <li>
+  Fixed: The AffineConstraints class had a bug where, if deal.II was
+  compiled without threading, the class used a global variable. If a
+  user program used threads nonetheless, this global variable led to
+  race conditions. This is now fixed.
+  <br>
+  (Wolfgang Bangerth, 2020/06/11)
+ </li>
+
+ <li>
+  Fixed: Fix a bug where CUDAWrappers::MatrixFree::cell_loop() would set the
+  destination vector to zero if the partitioner of the MatrixFree object was
+  different from the partitioner of the source or destination vector.
+  <br>
+  (Bruno Turcksin, 2020/06/10)
+ </li>
+
+ <li>
+  New: Applying user constraints 
+  before prolongation in MGTransferPrebuilt.
+  <br>
+  (Julian Roth and Conrad Clevenger, 2020/06/05)
+ </li>
+
+ <li>
+  New: FEEvaluation::evaluate(), FEEvaluation::integrate(),
+  FEFaceEvaluation::evaluate() and FEFaceEvaluation::integrate() now take an
+  argument of type EvaluationFlags::EvaluationFlags to determine which of the
+  values, gradients or hessians should be evaluated to quadrature points or
+  integrated, allowing much more expressive programs than the previous list of
+  bools. The evaluation flags can be combined with `operator|`, similarly to
+  UpdateFlags for FEValues.
+  <br>
+  (Timo Heister, 2020/06/05)
+ </li>
+
+ <li>
+  Changed: The vertices in CellData are now stored in form of a std::vector
+  instead of C-style array.
+  <br>
+  (Peter Munch, 2020/05/31)
+ </li>
+
+ <li>
+  Improved: The efficiency of the assembly of step-62 has been improved and now
+  it is 7 times faster.
+  <br>
+  (Daniel Garcia-Sanchez, 2020/05/31)
+ </li>
+
+ <li>
+  Fixed: Fix a bug where only one CUDAWrappers::MatrixFree object was valid at a
+  given time. There is now a variable CUDAWrappers::mf_n_concurrent_objects in
+  base/cuda_size.h that controls the maximum number of concurrent objects. The
+  default value is five.
+  <br>
+  (Bruno Turcksin, 2020/05/29)
+ </li>
+
+ <li>
+  New: Add multigrid transfer operators for distributed polynomial and 
+  global coarsening.
+  <br>
+  (Peter Munch, Laura Prieto Saavedra, 2020/05/29)
+ </li>
+
+ <li>
+  Improved: step-28 now uses tasks instead of threads.
+  <br>
+  (David Wells, 2020/05/28)
+ </li>
+
+ <li>
+  New: The class Particles::DataOut can now output particle properties as
+  scalars, vectors, or tensors, depending on the arguments handed over to the
+  Particles::DataOut::build_patches() function.
+  <br>
+  (Rene Gassmoeller, 2020/05/27)
+ </li>
+
+ <li>
+  New: When executing a task on a separate thread, if that task ends
+  with throwing an exception instead of returing a value, then this
+  exception will be obtained when you wait for the task using
+  Threads::Task::join() or Threads::Task::return_value().
+  <br>
+  (Wolfgang Bangerth, 2020/05/27)
+ </li>
+
+ <li>
+  New: GridTools::Cache::get_locally_owned_cell_bounding_boxes_rtree() extracts
+  a tree of bounding boxes covering the locally owned cells of a triangulation.
+  This can be used in conjunction with GridTools::Cache::get_covering_rtree() to
+  make approximate geometrical queries on who owns what spatial region.
+  <br>
+  (Luca Heltai, 2020/05/26)
+ </li>
+
+ <li>
+  New: pack_rtree_of_indices() and IndexableGetterFromIndices allow to construct an
+  RTree object that stores indices to existing containers of indexable objects.
+  <br>
+  (Luca Heltai, 2020/05/24)
+ </li>
+
+ <li>
+  New: The class ParticleHandler now provides a signal 'signals.particle_lost'
+  that is triggered whenever a particles can not be associated with a cell while
+  calling its function sort_particles_into_subdomains_and_cells().
+  <br>
+  (Rene Gassmoeller, 2020/05/25)
+ </li>
+
+ <li>
+  Bugfix: hp::Refinement::choose_p_over_h() now works in parallel.
+  <br>
+  (Marc Fehling, 2020/05/22)
+ </li>
+
+ <li>
+  New: There is now a second overload for
+  Particles::ParticleAccessor::set_properties() that takes an ArrayView
+  as argument.
+  <br>
+  (Wolfgang Bangerth, 2020/05/22)
+ </li>
+
+ <li>
+  Removed: All headers under <code>base/std_cxx11/</code> have been removed.
+  <br>
+  (David Wells, 2020/05/21)
+ </li>
+
+ <li>
+  Changed: In many other classes that are templated on `dim` and
+  `spacedim`, the second template argument `spacedim` had a default
+  value equal to `dim`. Particles::DataOut did not, but now does.
+  <br>
+  (Wolfgang Bangerth, 2020/05/21)
+ </li>
+
+ <li>
+  New: A new BoundingBoxDataOut class is available, to output a collection
+  of objects that can be converted to BoundingBox objects in graphical format.
+  <br>
+  (Luca Heltai, 2020/05/19)
+ </li>
+
+</ol>
+
+*/

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.