After four years of fans demanding it from Warner Bros., Zack Snyder's infamous version of 2017's Justice League has hit HBO Max. Those who doubted the movement, suggesting that his cut would be the same movie but longer, were silenced. Zack Snyder's Justice League is a completely different movie.

RELATED: 10 Things You Didn’t Know About George Miller’s Canceled DC Movie, Justice League Mortal

None of the massive reshoots that Joss Whedon did made a return. Instead, it's all footage that Zack Snyder's originally filmed before he left the project. As a bonus, Zack Snyder was able to film extra scenes to complete his vision. The number of changes and additions is vast, but which ones were the best?

Changed: Cyborg's Character Arc

Cyborg silas stone Snydercut

Actor Ray Fisher has been very vocal about how poorly Warner Bros. and Joss Whedon treated him. As a result, Cyborg was reduced to feeling like an afterthought rather than an essential member of the Justice League. Zack Snyder's version is the total opposite in nearly every way. Not only is the CGI infinitely better, but Ray Fisher's Cyborg is also given an emotional character-driven origin story.

The Snyder version comes much closer to the darker version of the character from Marv Wolfman's comics. Ray Fisher also gives a strong performance, becoming one of the most impactful members of the League. Ray Fisher deserves more, which is why fans and co-stars are rallying behind him on social media.

Added: More Fitting Character Interaction

Zack Snyder's Justice League

Since the 2017 version was trying to cram so much into less than two hours of runtime, the chemistry between the League members was very minimal. Most of it was Joss Whedon's footage with very forced humor that did not fit anything in the DC Extended Universe.

With four hours to work with, every Justice League member is given a chance to shine. They all have more fitting and natural banter with one another, including humor that actually fits the characters. In four hours, fans are given the chance to become attached to all of them thus making their fights feel more meaningful.

Changed: Batman Is Batman Again

Ben Affleck as Batman in Justice League Snyder Cut Trailer

Ben Affleck lost his passion for this character, and after comparing the 2017 version with Zack Snyder's version, it's easy to see why. The theatrical version consisted almost entirely of reshoots for Batman that turned him into a nerfed joke that served little purpose; hardly resembling what was established in Batman V Superman: Dawn Of Justice.

RELATED: Batman: 10 Dark Storylines The HBO Max Series Should Adapt

In Zack Snyder's Justice League, none of the forced humor is present. Ben Affleck is back to form, feeling like a true continuation of Dawn Of Justice. He's the strong and fearless leader that the League needs, with Ben looking more confident in the role than in any scenes in the 2017 version.

Added: Vulko's Real Introduction

Willem Dafoe as Vulko in Aquaman

In Zack Snyder's Justice League, Willem Dafoe returns as Aquaman's mentor Vulko. However, this is actually footage that was deleted: originally, Vulko was going to debut in Justice League and then return in James Wan's Aquaman.

Vulko arrives in the film to give Arthur Curry both his mother's trident and his armor. In the 2017 version, Vulko did not appear at all. Arthur instead gets his equipment all off-screen and thanks to reshoots, it makes it look like he gets it from Amber Heard's Mera.

Changed: Superman's Second Chance

Superman about to punch Steppenwolf in the Justice League movie

The CGI lip and cringe-worthy dialogue that turned the 2017 version into a laughingstock is gone. Henry Cavill's original footage is restored, with him being a total powerhouse in the climax. Cavill also gets to show off more range as he goes from a mindless Kryptonian to rediscovering who he is.

Henry Cavill gets to wear the iconic black suit and complete his three-movie arc. In Zack Snyder's Justice League, Henry Cavill gets to finish what began with 2013's Man Of Steel, becoming the Superman fans know and love. After this, Henry deserves the chance to get his second solo movie.

Added: Harry Lennix Returns

General Swanick martian manhunter snyder cut

Very rarely are fan theories proven to be true. After Man Of Steel, fans questioned if Harry Lennix's General Swanwick was secretly J'onn J'onzz, AKA Martian Manhunter, in disguise. Well, Zack Snyder confirmed it with quick glimpses at his storyboards.

RELATED: Justice League: The First 10 Members of DC's Super Team, In Chronological Order

This was simply extra fuel for the fire that made fans chant for Zack Snyder's Justice League. So, Harry Lennix returned to film new scenes, and finally, Martian Manhunter has debuted in the DCEU. Though the CGI was understandably unpolished, the character's establishment for future movies is nothing short of applause-worthy.

Changed: Steppenwolf Is Actually Awesome

Steppenwolf in Justice League Snyder Cut

One of Joss Whedon's biggest errors was with Steppenwolf. Not only was the design inconsistent with what was shown in Dawn Of Justice, but the CGI was terrible in every way. Steppenwolf was also just a bland villain who felt more like a punching bag for the League. Even actor Ciaran Hinds complained that the Steppenwolf fans saw was not the one he worked hard on.

That is not the case with Snyder's movie. Steppenwolf is not some deep villain, but he is terrifying. Every scene with Steppenwolf showcases that he is a deadly force of darkness that gives the movie its R-rating. He's brutal, scary, and even has a motivation behind him. Add in a really creative and well-animated design as a bonus.

Added: The Lord Of Apokolips

Zack Snyder's Justice League Darkseid

This is the most baffling exclusion that Joss Whedon made. In his version, Darkseid is only mentioned once in the whole movie by Steppenwolf. There wasn't even a proper setup for the character via dialogue or post-credit scene. Steppenwolf even replaced Darkseid in the flashback, showing the war against his invasion.

Darkseid instead has an entire supporting role as the true villain in Zack Snyder's version; establishing him for things to come when a sequel is made. Darkseid's role in the flashback was restored, he appears multiple times as Steppenwolf's leader, and even appears during the climax. Ray Porter is perfect in his brief time with great CGI to back up his performance.

Changed: The Flash Is Fleshed Out

The Flash pushes Diana's sword with his finger in Justice League

Much like Ray Fisher, Ezra Miller's Flash was heavily altered in the Joss Whedon version. That version was not only nerfed, but made to be too cowardly and obnoxious. Ezra Miller's Barry Allen was given complete redemption in Snyder's version, becoming much more essential to the story than expected.

Barry Allen is much more capable, powerful, and confident, while still providing healthy comedic relief. Ezra's performance is much stronger as well, especially in the climax when nearly everything falls on his shoulders to save the world. Even the Speed Force is given a drastic but much better overhaul that will have everyone more than excited for the character's spinoff film.

Added: The Epilogue

Jared Leto as Joker in Snyder Cut Trailer

In the last fifteen minutes, it sets up future adventures to come: Aquaman's ending transitions into his solo movie, Barry Allen's movie is hyped up, and Batman's spinoff is teased via Deathstroke's even better cameo with Lex Luthor. That said cameo is also planting the seeds for a Justice League sequel.

Finally, there is a glimpse back into the Knightmare future where Batman and Jared Leto's Joker finally share a scene. Batman and Joker have a great banter before Bruce Wayne awakens to find Martian Manhunter on his doorstep, setting him up as the new member of the League.

NEXT: DCEU: Every Villain In Ben Affleck's Batman Mythos (So Far)