Featuring stories from Eric Shanower, Troy Riser, Michael Tierney, and seventeen other masters of the form, FANTASTIC VOYAGES is all about doors --
The Flash Season 3 Comes at You Fast on Blu-ray
Error message
- Deprecated function: Using ${var} in strings is deprecated, use {$var} instead in require_once() (line 132 of sites/all/libraries/bad-behavior/bad-behavior/core.inc.php).
- Deprecated function: Optional parameter $type declared before required parameter $key is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $data declared before required parameter $name is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $file declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $entity declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $account declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $values declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $view_mode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $langcode declared before required parameter $entity_type is implicitly treated as a required parameter in require_once() (line 342 of includes/module.inc).
- Deprecated function: Optional parameter $view_mode declared before required parameter $langcode is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $terms declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Optional parameter $args declared before required parameter $node is implicitly treated as a required parameter in include_once() (line 1442 of includes/bootstrap.inc).
- Deprecated function: Return type of EntityStructureWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 292 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityListWrapper::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 991 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::hasChildren() should either be compatible with RecursiveIterator::hasChildren(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::getChildren() should either be compatible with RecursiveIterator::getChildren(): ?RecursiveIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataWrapperIterator::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1192 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetExists($delta) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetGet($delta) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetSet($delta, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::offsetUnset($delta) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
- Deprecated function: Return type of EntityMetadataArrayObject::getIterator() should either be compatible with IteratorAggregate::getIterator(): Traversable, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in include_once() (line 1235 of sites/all/modules/entity/includes/entity.wrapper.inc).
FTC Statement: Reviewers are frequently provided by the publisher/production company with a copy of the material being reviewed.The opinions published are solely those of the respective reviewers and may not reflect the opinions of CriticalBlast.com or its management.
As an Amazon Associate, we earn from qualifying purchases. (This is a legal requirement, as apparently some sites advertise for Amazon for free. Yes, that's sarcasm.)

In the first season of The Flash, Barry Allen (GRANT GUSTIN) took on the Reverse-Flash (played, most of the time, by TOM CAVANAGH and sometimes by MATT LETSCHER). He was a super-speedster, just like The Flash.
In the second season of The Flash, the producers opened up the multiverse, and Barry took on Zoom (played, most of the time, by TEDDY SEARS). He was a super-speedster, just like The Flash.
In the third season of The Flash, the producers tried something different, and Barry took on Savitar (played, some of the time, by GRANT GUSTIN). He was a super-speedster, just like The Flash.
It's a miracle that, given the replicative nut of each season's plotline, the writers have nonetheless succeeded in making the series as engaging and fun as it is. Much of that is due to the depth of the universes the writers have available to them. They're getting a chance not just to tell Flash stories, but to bring in heroes and villains from all corners of the DC Multiverse, with the exception of the Big Three themselves -- and now that Superman has actually been showing up on SUPERGIRL, how long until we have a fully fleshed-out DC TV universe?
In Savitar, Flash has the most compelling motive ever to stop the villain. Having travelled, accidentally, into the future, Flash bore witness to a nightmare -- the murder of his beloved Iris West (CANDICE PATTON), which his future self wasn't fast enough to stop. From that point forward, Barry has a singular goal: to change the future.
All of this, however, stems from Barry's last attempt to muck with time, when he changed the past and prevented his mother's murder, creating an alternate timeline. He eventually had to undo this change and allow her to die, but the restored timeline still had some fractures -- little changes that nobody knew had taken place except for Barry. But little by little, events from that Flashpoint timeline begin to leak into the new timeline, as people begin to remember their unlived lives, resulting in the arrival of new villains -- and a new hero -- courtesy of the villainous Doctor Alchemy, aka Julian Albert (TOM FELTON) who later becomes a member of Team Flash, joining Cisco Ramone / Vibe (CARLOS VALDES) and Caitlin Snow / Killer Frost (DANIELLE PATTON). Through him, we get the speedster hero of Central City we saw in Flashpoint -- Kid Flash, aka Iris's estranged brother Wally West (KEIYNAN LONSDALE).
The season had a number of great moments that make it stand out. The two-part confrontation with Gorilla Grodd, for instance ("Attack on Gorilla City" and "Attack on Central City"). And the musical team-up episode ("Duet") with Supergirl (Gustin's GLEE alum, MELISSA BENOIST). But perhaps the most-watched show of the entire season was "Invasion!," the story that crossed over SUPERGIRL, ARROW, and LEGENDS OF TOMORROW.
I could go in-depth on each episode, highlighting the good and nitpicking the bad. But I've already done that, and if you want to know my opinion on any specific episode, I've hyperlinked those reviews in the disc catalog below. Suffice it to say, if you've been waiting for this release before binging on the series, you're going to be in for a fun ride!
| The Flash The Complete Third Season |
|||
| Disc One | Disc Two | Disc Three | Disc Four |
| 01. Flashpoint 02. Paradox 03. Magenta 04. The New Rogues 05. Monster 06. Shade Special Features - Villain School: The Flash Rogues |
07. Killer Frost 08. Invasion! 09. The Present 10. Borrowing Problems from the Future 11. Dead or Alive 12. Untouchable Special Features - Allied: The Invasion! Complex |
13. Attack on Gorilla City 14. Attack on Central City 15. The Wrath of Savitar 16. Into the Speed Force 17. Duet 18. Abra Kadabra Special Features - Rise of Gorilla City - The Flash: Hitting the Fast Note - The Flash: I'm Your Super Friend - Harmony in a Flash - Synchronicity in a Flash |
19. The Once and Future Flash 20. I Know Who You Are 21. Cause and Effect 22. Infantino Street 23. Finish Line Special Features - The Flash: 2016 Comic-Con Panel - A Flash in Time: Time Travel in the Flash Universe - A Conversation with Andrew Kreisberg and Kevin Smith - Gag Reel |
More by this author
FEATURED ALBUM
Songs of faith, family and moving forward.
Latest Release




