  In this paper we provide an algorithm that generates a graph with given
degree sequence uniformly at random. Provided that $\Delta^4=O(m)$, where
$\Delta$ is the maximal degree and $m$ is the number of edges,the algorithm
runs in expected time $O(m)$. Our algorithm significantly improves the
previously most efficient uniform sampler, which runs in expected time
$O(m^2\Delta^2)$ for the same family of degree sequences. Our method uses a
novel ingredient which progressively relaxes restrictions on an object being
generated uniformly at random, and we use this to give fast algorithms for
uniform sampling of graphs with other degree sequences as well. Using the same
method, we also obtain algorithms with expected run time which is (i) linear
for power-law degree sequences in cases where the previous best was
$O(n^{4.081})$, and (ii) $O(nd+d^4)$ for $d$-regular graphs when $d=o(\sqrt
n)$, where the previous best was $O(nd^3)$.
