  A fundamental question in graph theory is to establish conditions that ensure
a graph contains certain spanning subgraphs. Two well-known examples are
Tutte's theorem on perfect matchings and Dirac's theorem on Hamilton cycles.
Generalizations of Dirac's theorem, and related matching and packing problems
for hypergraphs, have received much attention in recent years. New tools such
as the absorbing method and regularity method have helped produce many new
results, and yet some fundamental problems in the area remain unsolved. We
survey recent developments on Dirac-type problems along with the methods
involved, and highlight some open problems.
