Given the increasing number of space-related applications, research in the emerging space industry is becoming more and more attractive. One compelling area of current space research is the design of miniaturized satellites, known as CubeSats, which are enticing because of their numerous applications and low design-and-deployment cost. The new paradigm of connected space through CubeSats makes possible a wide range of applications, such as Earth remote sensing, space exploration, and rural connectivity. CubeSats further provide a complementary connectivity solution to the pervasive Internet of Things (IoT) networks, leading to a globally connected cyber-physical system. This paper presents a holistic overview of various aspects of CubeSat missions and provides a thorough review of the topic from both academic and industrial perspectives. We further present recent advances in the area of CubeSat communications, with an emphasis on constellation-and-coverage issues, channel modeling, modulation and coding, and networking. Finally, we identify several future research directions for CubeSat communications, including Internet of space things, low-power long-range networks, and machine learning for CubeSat resource allocation.