Recognizing people by their gait has become more and more popular nowadays due to the following reasons. First, gait recognition can work well remotely. Second, gait recognition can be done from low-resolution videos and with simple instrumentation. Third, gait recognition can be done without the cooperation of individuals. Fourth, gait recognition can work well while other features such as faces and fingerprints are hidden. Finally, gait features are typically difficult to be impersonated. Recent ubiquity of smartphones that capture gait patterns through accelerometers and gyroscope and advances in machine learning have opened new research directions and applications in gait recognition. A timely survey that addresses current advances is missing. In this article, we survey research works in gait recognition. In addition to recognition based on video, we address new modalities, such as recognition based on floor sensors, radars, and accelerometers; new approaches that include machine learning methods; and examine challenges and vulnerabilities in this field. In addition, we propose a set of future research directions. Our review reveals the current state-of-art and can be helpful to both experts and newcomers of gait recognition. Moreover, it lists future works and publicly available databases in gait recognition for researchers.