--- /dev/null
+Changed: The header file `deal.II/grid/tria.h` used to automatically
+include the header file `deal.II/grid/tria_description.h` that
+declares classes such as CellData and SubCellData. But this led to a
+circular set of inclusions because `deal.II/grid/tria_description.h`
+also included `deal.II/grid/tria.h`, something that C++ allows but
+that leads to other problems. As a consequence, `deal.II/grid/tria.h`
+now no longer includes `deal.II/grid/tria_description.h`. If your
+program uses the CellData, SubCellData, or similar classes previously
+declared in `deal.II/grid/tria_description.h`, then you may want to
+explicitly include `deal.II/grid/tria_cell_data.h` (for the
+CellData and SubCellData classes) or `deal.II/grid/tria_description.h`
+(for the classes in namespace TriaDescription) in your program.
+
+The file `deal.II/grid/cell_data.h` is new. As a consequence, if
+you need to ensure that your code compiles with both deal.II 9.6
+and 9.7, you can't directly include it. However,
+`deal.II/grid/tria_description.h` now includes it, so a backward
+compatible solution is to only include that file, even if you
+only need the CellData and SubCellData classes but not the ones
+in namespace TriaDescription.
+<br>
+(Wolfgang Bangerth, 2024/05/16)