Hubbry Logo
Adobe Flash PlayerAdobe Flash PlayerMain
Open search
Adobe Flash Player
Community hub
Adobe Flash Player
logo
7 pages, 0 posts
0 subscribers
Be the first to start a discussion here.
Be the first to start a discussion here.
Adobe Flash Player
Adobe Flash Player
from Wikipedia

Adobe Flash Player
Original authorsFutureWave
Macromedia
DevelopersAdobe
Zhongcheng
Harman
Initial releaseJanuary 1, 1996; 29 years ago (1996-01-01)
Stable release(s) [±]
Windows, macOS (China-specific variant)34.0.0.342[1] / October 29, 2025; 21 days ago (2025-10-29)[2]
Windows, macOS, Linux (Harman enterprise variant)50.x[3] / N/A
Linux (China-specific variant)34.0.0.137[4][5] / April 13, 2021; 4 years ago (2021-04-13)[2]
Windows, macOS, Linux, ChromeOS (Global variant, excluding China)32.0.0.465[6] / December 8, 2020; 4 years ago (2020-12-08)[7]
Internet Explorer 11 and Edge Legacy (Embedded - Windows 8 or later)32.0.0.445[6] / October 13, 2020; 5 years ago (2020-10-13)[7]
Android 4.0.x11.1.115.81 / September 10, 2013; 12 years ago (2013-09-10)[7]
Android 2.x and 3.x11.1.111.73 / September 10, 2013; 12 years ago (2013-09-10)[7]
Solaris11.2.202.223 / March 28, 2012; 13 years ago (2012-03-28)[7]
Preview release(s) [±]
Windows, macOS, Linux, ChromeOS32.0.0.380 Beta / May 14, 2020; 5 years ago (2020-05-14)[8]
Written inActionScript
Operating systemWindows, macOS, Linux, ChromeOS, Solaris, BlackBerry Tablet OS, Android, Pocket PC
PlatformWeb browsers and ActiveX-based software
Available inAfrikaans, Arabic, Chinese Simplified, Chinese Traditional, English, French, German, Italian, Japanese, Korean, Polish, Portuguese, Russian, Spanish, Telugu, Turkish, Vietnamese, Xhosa, Yiddish, and Zulu[9]
TypeRuntime system and browser extension
LicenseFreeware
Website

Adobe Flash Player (known in Internet Explorer, Firefox, and Google Chrome as Shockwave Flash)[10] is a discontinued[note 1] computer program for viewing multimedia content, executing rich Internet applications, and streaming audio and video content created on the Adobe Flash platform. It can run from a web browser as a browser plug-in or independently on supported devices. Originally created by FutureWave under the name FutureSplash Player, it was renamed to Macromedia Flash Player after Macromedia acquired FutureWave in 1996. After Adobe acquired Macromedia in 2005, it was developed and distributed by Adobe as Adobe Flash Player. It is currently developed and distributed by Zhongcheng for users in China, and by Harman International for enterprise users outside of China, in collaboration with Adobe.

Flash Player runs SWF files that can be created using Adobe Flash Professional, Adobe Flash Builder, or third-party tools such as FlashDevelop. Flash Player supports video and raster graphics; vector graphics; 3D graphics; embedded audio; and an object-oriented scripting language called ActionScript, which is based on ECMAScript (similar to JavaScript). Internet Explorer 11 and Microsoft Edge Legacy since Windows 8, along with Google Chrome on all versions of Windows, came bundled with a sandboxed Adobe Flash Player plug-in.[11][12][13][14][15]

Flash Player once had a large user base, and was required to run many web games, animations, and graphical user interface (GUI) elements embedded in web pages. Adobe stated in 2013 that more than 400 million out of over 1 billion connected desktops updated to new versions of Flash Player within six weeks of release.[16] However, Flash Player became increasingly criticized for poor performance, consumption of battery on mobile devices, the number of security vulnerabilities that had been discovered in the software, and its nature as a closed platform controlled by Adobe. Apple co-founder Steve Jobs was highly critical of Flash Player, having published an open letter criticising the platform and detailing Apple's reasoning for not supporting Flash on its iOS device family. Its usage further waned due to more modern web standards which replaced some of Flash's functionality, reducing the need for third-party plugins.[17][18][19]

This led to the eventual deprecation of the platform. Flash Player was officially discontinued on 31 December 2020, and its download page was removed two days later. Since 12 January 2021, Flash Player (original global variants) versions newer than 32.0.0.371, released in May 2020, refuse to play Flash content and instead display a static warning message.[20] The software remains supported in mainland China and in some enterprise variants,[21] and as part of Adobe Animate.

Features

[edit]

Adobe Flash Player is a runtime that executes and displays content from a provided SWF file, although it has no in-built features to modify the SWF file at runtime. It can execute software written in the ActionScript programming language, which enables the runtime manipulation of text, data, vector graphics, raster graphics, sound, and video. The player can also access certain connected hardware devices, including the web cameras and microphones, after permission for the same has been granted by the user.

Flash Player was used internally by the Adobe Integrated Runtime (AIR), to provide a cross-platform runtime environment for desktop applications and mobile applications. AIR supports installable applications on Windows, Linux, macOS, and some mobile operating systems such as iOS and Android. Flash applications must specifically be built for the AIR runtime to use additional features provided, such as file system integration, native client extensions, native window/screen integration, taskbar/dock integration, and hardware integration with connected Accelerometer and GPS devices.[22]

Data formats

[edit]

Flash Player included native support for many data formats, some of which can only be accessed through the ActionScript scripting interface.

  • XML: Flash Player has included native support for XML parsing and generation since version 8. XML data is held in memory as an XML Document Object Model, and can be manipulated using ActionScript. ActionScript 3 also supports ECMAScript for XML (E4X), which allows XML data to be manipulated more easily.
  • JSON: Flash Player 11 includes native support for importing and exporting data in the JavaScript Object Notation (JSON) format, which allows interoperability with web services and JavaScript programs.
  • AMF: Flash Player allows application data to be stored on users computers, in the form of Local Shared Objects, the Flash equivalent to browser cookies.[23] Flash Player can also natively read and write files in the Action Message Format, the default data format for Local Shared Objects. Since the AMF format specification is published, data can be transferred to and from Flash applications using AMF datasets instead of JSON or XML, reducing the need for parsing and validating such data.
  • SWF: The specification for the SWF file format was published by Adobe, enabling the development of the SWX Format project, which used the SWF file format and AMF as a means for Flash applications to exchange data with server-side applications.[24][25] The SWX system stores data as standard SWF bytecode which is automatically interpreted by Flash Player.[26] Another open-source project, SWXml allows Flash applications to load XML files as native ActionScript objects without any client-side XML parsing, by converting XML files to SWF/AMF on the server.[27][28]

Multimedia formats

[edit]

Flash Player is primarily a graphics and multimedia platform, and has supported raster graphics and vector graphics since its earliest version. It supports the following different multimedia formats, which it can natively decode and play back.

  • MP3: Support for decoding and playback of streaming MPEG-2 Audio Layer III (MP3) audio was introduced in Flash Player 4. MP3 files can be accessed and played back from a server via HTTP, or embedded inside an SWF file, which is also a streaming format.
  • FLV: Support for decoding and playing back video and audio inside Flash Video (FLV and F4V) files, a format developed by Adobe Systems and Macromedia. Flash Video is only a container format and supports multiple different video codecs, such as Sorenson Spark, VP6, and more recently H.264.[29] Flash Player uses hardware acceleration to display video where present, using technologies such as DirectX Video Acceleration and OpenGL to do so. Flash Video is used by YouTube,[30] Hulu,[31] Yahoo! Video, BBC Online,[32] and other news providers. FLV files can be played back from a server using HTTP progressive download, and can also be embedded inside an SWF file. Flash Video can also be streamed via RTMP using the Adobe Flash Media Server or other such server-side software.
  • PNG: Support for decoding and rendering Portable Network Graphics (PNG) images, in both its 24-bit (opaque) and 32-bit (semi-transparent) variants. Flash Player 11 can also encode a PNG bitmap via ActionScript.
  • JPEG: Support for decoding and rendering compressed JPEG images. Flash Player 10 added support for the JPEG-XR advanced image compression standard developed by Microsoft Corporation, which results in better compression and quality than JPEG. JPEG-XR enables lossy and lossless compression with or without alpha channel transparency. Flash Player 11 can also encode a JPEG or JPEG-XR bitmap via ActionScript.
  • GIF: Support for decoding and rendering compressed Graphics Interchange Format (GIF) images, in its single-frame variants only. Loading a multi-frame GIF will display only the first image frame.

Streaming protocols

[edit]

Performance

[edit]

Hardware acceleration

[edit]

Until version 10 of the Flash player, there was no support for GPU acceleration. Version 10 added a limited form of support for shaders on materials in the form of the Pixel Bender API, but still did not have GPU-accelerated 3D vertex processing.[41] A significant change came in version 11, which added a new low-level API called Stage3D (initially codenamed Molehill), which provides full GPU acceleration, similar to WebGL.[42][43] (The partial support for GPU acceleration in Pixel Bender was completely removed in Flash 11.8, resulting in the disruption of some projects like MIT's Scratch, which lacked the manpower to recode their applications quickly enough.[44][45])

Current versions of Flash Player are optimized to use hardware acceleration for video playback and 3D graphics rendering on many devices, including desktop computers. Performance is similar to HTML video playback.[46][47] Also, Flash Player has been used on multiple mobile devices as a primary user interface renderer.[48]

Compilation

[edit]

Although code written in ActionScript 3 executes up to 10 times faster than the prior ActionScript 2,[49] the Adobe ActionScript 3 compiler is a non-optimizing compiler, and produces inefficient bytecode in the resulting SWF, when compared to toolkits such as CrossBridge.[50][51][52][53][54]

CrossBridge, a toolkit that targets C++ code to run within the Flash Player, uses the LLVM compiler to produce bytecode that runs up to 10 times faster than code the ActionScript 3 compiler produces, only because the LLVM compiler uses more aggressive optimization.[52][53][54]

Adobe has released ActionScript Compiler 2 (ASC2) in Flex 4.7 and onwards, which improves compilation times and optimizes the generated bytecode and supports method inlining, improving its performance at runtime.[55]

As of 2012, the Haxe multiplatform language can build programs for Flash Player that perform faster than the same application built with the Adobe Flex SDK compiler.[56][unreliable source?]

Development methods

[edit]

Flash Player applications and games can be built in two significantly different ways:

  • "Flex" applications: The Adobe Flex Framework is an integrated collection of stylable graphical user interface, data manipulation, and networking components, and applications built upon it are termed "Flex" applications. Startup time is reduced since the Flex framework must be downloaded before the application begins, and it weighs in at approximately 500 KB. Editors include Adobe Flash Builder and FlashDevelop.
  • "Pure ActionScript" applications: Applications built without the Flex framework allow greater flexibility and performance.[57][58][59] Video games built for Flash Player are typically pure-Actionscript projects. Various open-source component frameworks are available for pure ActionScript projects, such as MadComponents, that provide UI Components at significantly smaller SWF file sizes.[60][61]

In both methods, developers can access the full Flash Player set of functions, including text, vector graphics, bitmap graphics, video, audio, camera, microphone, and others. AIR also includes added features such as file system integration, native extensions, native desktop integration, and hardware integration with connected devices.

Development tools

[edit]

Adobe provides five ways of developing applications for Flash Player:

Third-party development environments are also available:

  • FlashDevelop: an open-source Flash ActionScript IDE, which includes a debugger for AIR applications
  • Powerflasher FDT: a commercial ActionScript IDE
  • CodeDrive: an extension to Microsoft Visual Studio 2010 for ActionScript 3 development and debugging
  • MTASC: a compiler
  • Haxe: a multi-platform language[63]

Game development

[edit]
Adobe Gaming SDK 1.0 logo

Adobe offers the free Adobe Gaming SDK, consisting (as of August 2014) of several open-source AS3 libraries built on the Flash Player Stage3D APIs for GPU-accelerated graphics:[64]

  • Away3D: GPU-accelerated 3D graphics and animation engine
  • Starling: GPU-accelerated 2D graphics that mimics the Flash display list API
  • Feathers: GPU-accelerated skinnable GUI library built on top of Starling
  • Dragon Bones: GPU-accelerated 2D skeletal animation library

A few commercial game engines target Flash Player (Stage3D) as run-time environment, such as Unity 3D[65] and Unreal Engine 3.[65][66] Before the introduction of Stage3D, a number of older 2D engines or isometric engines like Flixel saw their heyday.[67]

Adobe also developed the CrossBridge toolkit which cross-compiles C/C++ code to run within the Flash Player, using LLVM and GCC as compiler backends, and high-performance memory-access opcodes in the Flash Player (termed "Domain Memory") to work with in-memory data quickly.[68] CrossBridge is targeted toward the game development industry, and includes tools for building, testing, and debugging C/C++ projects in Flash Player.

Notable online video games developed in Flash include Angry Birds, FarmVille, and AdventureQuest (started in 2002, and still active as of 2020).[69]

Availability

[edit]

Desktop platforms

[edit]

Adobe Flash Player is available in two major versions:

  1. The plugin version for use in various web browsers
  2. The "projector" version is a standalone player that can open SWF files directly.[70][71]

On February 22, 2012, Adobe announced that it would no longer release new versions of NPAPI Flash plugins for Linux, although Flash Player 11.2 would continue to receive security updates.[72][73][74] In August 2016, Adobe announced that, beginning with version 24, it would resume offering of Flash Player for Linux for other browsers.[75]

The Extended Support Release (ESR) of Flash Player on macOS and Windows was a version of Flash Player kept up to date with security updates, but it did not include the new features or bug fixes available in later versions. In August 2016, Adobe discontinued the ESR branch and instead focused solely on the standard release.[76]

Release history for desktop operating systems
Operating system First version Latest version Support status
Windows XP, Vista, 7, 8, 8.1, 10 and 11 21H2–24H2 1 34.0.0.342 (China-specific)[77]
50.x (Harman enterprise)[78]
32.0.0.465 (last public update, excluding China)[79]At least 35 (Adobe Animate component)
2017–present
2021–present
2001–2020

?-present

2000 11.1.102.55 and 10.3.183.90[80] 1999–2013
98 and ME 9.0.289.0[80] 1998–2011
95 and NT 4.0 (IA-32) 7.0.14.0[80] 1996–2005
3.1 3[81] 1996–1998
macOS 10.1215.x 5.0.41.0[82] 34.0.0.342 (China-specific)[77] 2017–present
10.1015.x 50.x (Harman enterprise)[78]
32.0.0.465 (last public update, excluding China)[79]
2021–present
2014–2020
10.9 29.0.0.171[80] 2013–2018
10.610.8 (IA-32, x64) 22.0.0.209[80] 2009–2016
10.5 (IA-32, x64) 10.3.183.90[80] 2007–2013
10.4 (IA-32, PPC) – 10.5 (PPC) 10.1.102.64[80] 2005–2011
10.110.3 9.0.289.0[80] 2001–2011
Classic Mac OS 7.6.1 – 9.2.2 (PowerPC) 1 7.0.14.0[80] 1996–2005
7.6.1 – 8.1 (68k) 3[81] 1996–1998
Linux desktops 4.0r12[83][84] 50.x (Harman enterprise)[78]
34.0.0.137 (last public update, China-specific)[85]
32.0.0.465 (last public update, excluding China)[79]
2021–present
2017–2021[86]
1999–2020
Solaris and OpenSolaris 4.0r12[83] 11.2.202.223 and 10.3.183.90[80] 2004–2013
IRIX 4.0r12[83][87] 4.0.r12[88] 1999

Version 10 can be run under Windows 98/Me using KernelEx.[89] HP offered Version 6 of the player for HP-UX,[90] while Innotek GmbH offered versions 4 and 5 for OS/2.[91] Other versions of the player have been available at some point for BeOS.[citation needed]

Mobile platforms

[edit]

In 2011, Flash Player had emerged as the de facto standard for online video publishing on the desktop, with adaptive bitrate video streaming, DRM, and full-screen support.[30][31] On mobile devices, however, after Apple refused to allow the Flash Player within iOS's integrated web browser, Adobe changed its strategy, enabling Flash content to be delivered as native mobile applications using the Adobe Integrated Runtime.

Up until 2012, Flash Player 11 was available for the Android (ARM Cortex-A8 and above),[92] although in June 2012, Google announced that Android 4.1 (codenamed Jelly Bean) would not support Flash by default. In August 2012, Adobe stopped updating Flash for Android.[93]

Flash Player was supported on a select range of mobile and tablet devices, from Acer, BlackBerry 10, Dell, HTC, Lenovo, Logitech, LG, Motorola, Samsung, Sharp, SoftBank, Sony (and Sony Ericsson), and Toshiba.[94][95][96] As of 2012, Adobe has stopped browser-based Flash Player development for mobile browsers in favor of HTML5;[97][98] however, Adobe continues to support Flash content on mobile devices with the Adobe Integrated Runtime, which allows developers to publish content that runs as native applications on certain supported mobile phone platforms.

Adobe said it will optimize Flash for use on ARM architecture (ARMv7 and ARMv6 architectures used in the Cortex-A series of processors and in the ARM11 family) and release it in the second half of 2009. The company also stated it wants to enable Flash on NVIDIA Tegra, Texas Instruments OMAP 3, and Samsung ARMs.[99][100] Beginning 2009, it was announced that Adobe would be bringing Flash to TV sets via Intel Media Processor CE 3100 before mid-2009.[101] ARM Holdings later said it welcomes the move of Flash, because "it will transform mobile applications and it removes the claim that the desktop controls the Internet."[102] However, as of May 2009, the expected ARM/Linux netbook devices had poor support for Web video and a fragmented software base.[103]

Among other devices, LeapFrog Enterprises provides Flash Player with their Leapster Multimedia Learning System and extended the Flash Player with touch-screen support.[104] Version 9 was the most recent version available for the Linux/ARM-based Nokia 770/N800/N810 Internet tablets running Maemo OS2008.[90] Other versions of the player have been available at some point for Symbian OS and Palm OS.[105] The Kodak Easyshare One includes Flash Player.[106]

The following table documents historical support for Flash Player on mobile operating systems:

Platform Final version
Android 4.0, ARM Cortex-A8+[92] Flash Player 11.1.115.81[80]
Android 2.2–3.x, ARM Cortex-A8+[107][92] Flash Player 11.1.111.73[80]
Dreamcast Flash Player 4.0[citation needed]
Maemo Flash Player 9.4[108]
PlayStation 3 with Firmware 2.50, NetFront 2.81 Flash Player 9.1 (update 3)[109]
PSP with Firmware 2.70 Flash Player 6[110]
Pocket PC 2003[111] Flash Player 7[112][113]
webOS (Palm and HP) Flash Player 10[citation needed]
Windows Mobile 5[111] Flash Player 7[112]

Other hardware

[edit]

Some CPU emulators have been created for Flash Player, including Chip8,[114] Commodore 64,[115] ZX Spectrum,[116] and the Nintendo Entertainment System.[117] They enable video games created for such platforms to run within Flash Player.

End of life

[edit]

Adobe announced on July 25, 2017, that it would end support for the normal/global variant of Flash Player on January 1, 2021, and encouraged developers to use HTML5 standards in place of Flash.[118][119] The announcement was coordinated with Apple,[120] Facebook,[121] Google,[122] Microsoft,[123] and Mozilla.[124] Adobe announced that all major web browsers planned to officially remove the Adobe Flash Player component on December 31, 2020, and Microsoft removed it from the Windows OS in January 2021 via Windows Update. In a move to further reduce the number of Flash Player installations, Adobe added a "time bomb" to Flash to disable existing installations after January 12, 2021.[125] In mid-2020, Flash Player started prompting users to uninstall itself.[126] Adobe removed all existing download links for Flash installers.[127] After January 26, 2021, all major web browsers including Apple Safari, Google Chrome, Microsoft Edge, and Mozilla Firefox have already permanently removed Flash support.[128] However, Flash content continues to be accessible on the web through emulators such as Ruffle, with varying degrees of compatibility and performance, although this is not endorsed by Adobe.[129]

Web browsers

[edit]
Google Chrome
[edit]

Starting from Chrome 76, Flash is disabled by default without any prompts to activate Flash content.[130] Users who wanted to play Flash content had to manually set a browser to prompt for Flash content, and then during each browser session, enable Flash plugin for every site individually. Microsoft Edge, which is based on Chromium, followed the same plan as Google Chrome.[131]

Google Chrome blocked the Flash plugin as "out of date" in January 2021, and fully removed it from the browser with Chrome version 88, released on January 20, 2021.[132][133]

Mozilla Firefox
[edit]

Starting with Firefox 85,[130] Flash is disabled by default without any prompts to activate Flash content. To play Flash content, users had to manually set a browser to prompt for Flash content, and then, during each browser session, enable the Flash plugin for every site individually. Firefox 85, released on January 26, 2021, completely removed support for the Flash plugin.[128] Firefox ESR dropped support on November 2, 2021 (Firefox 78 ESR was the last version with support).[134]

Microsoft Windows
[edit]

On October 27, 2020, Microsoft released an update (named KB4577586) for Windows 10 and 8.1 which removes the embedded Adobe Flash Player component from IE11 and Edge Legacy. In July 2021, this update was automatically installed as a security patch.[135][136] However, an ActiveX Flash Player plugin may still be used with IE after this update is applied.[137][138]

Apple Safari
[edit]

Apple dropped Flash Player support from Safari 14 alongside the release of macOS Big Sur.[139][140]

Fallout

[edit]

Despite the years of notice, several websites still were using Flash following December 31, 2020, including the U.S. Securities and Exchange Commission. Many of these were resolved in the weeks after the deadline. However, many educational institutions still relied on Flash for educational material and did not have a path forward for replacement.[141]

Post-EOL support

[edit]
Mainland China
[edit]

The China-specific variant of Flash is still supported, by a company known as Zhongcheng.[142][143] The Projector (standalone) versions of this variant also work outside of China and do not include the "Flash Helper Service"; however, some tracking code still seems to be present. They are available on a somewhat hidden "Debug" page.[144] In addition, as the global variant of the plugin was discontinued, some users have figured out how to modify and repack the China-specific variant to bring it more in line with the global variant. This includes removing the "Flash Helper Service" and removing the China-only installation restriction, along with all other geo-restrictions and tracking code. A "time bomb", similar to the one found in later versions of the global variant, is also present in the unmodified China variant; this is also removed in most repacks. In theory, these repacks should provide users outside of China with the latest security updates to Flash Player, without having to deal with invasive advertisements or worry about privacy risks.[145] One such project, "Clean Flash Installer", was served a DMCA takedown from Adobe in October 2021.[146]

Enterprise
[edit]

Adobe has partnered with Harman to support enterprise Flash Player users until at least 2023.[147][148] The Harman Flash player variant is labeled as version 50.x, to avoid confusion with other variants.[78]

Web browsers
[edit]

Internet Explorer 11, along with IE mode in Edge,[78] will continue with ActiveX support, and by extension Flash Player support.[138] Firefox forks that plan to continue NPAPI support, and by extension Flash Player support, include Basilisk, Pale Moon, K-Meleon, and Waterfox Classic. Various Chromium-based Chinese browsers will also continue to support Flash Player in PPAPI and/or NPAPI form, including, but not limited to, 360 Secure Browser.[137]

Shortly after Flash reached end-of-life, South African Revenue Service (SARS) released a custom version of the Chromium browser with the Adobe Flash Player "time bomb" removed. This browser can access only a small set of SARS online pages containing Flash-based forms required for filing financial reports.[149]

Adobe Flash Player Projector
[edit]

Although no longer available directly from Adobe, all versions of Adobe Flash Player Projector (also known as Adobe Flash Player Standalone) lack the "time bomb" present in the newer plug-in variants, and thus continue to be able to play all supported Flash file formats, including SWF files, without modification.[150][71][144]

Adobe Animate

Installations of Adobe Animate include a version of Adobe Flash Player, which may be found in the folders where the Adobe Animate program is stored.

Content preservation projects
[edit]

The Internet Archive hosts some Flash content and makes it playable in modern browsers via the Ruffle emulator integrated within its Emularity system.[151] Other emulators, such as CheerpX, also exist as options for Flash Player emulation on other websites.[152] The Flashpoint Archive project claims to have collected more than 38,000 Adobe Flash Player games and animations and made them available for download.[153]

Open source

[edit]

Adobe has released some components of Adobe Flash products as open source software via the Open Screen Project or donated them to open source organizations. As of 2021, most of these technologies are considered obsolete. This includes: ActionScript Virtual Machine 2 (AVM2) which implements ActionScript 3 (donated as open-source to Mozilla Foundation), Adobe Flex Framework (donated as open-source to the Apache Software Foundation and rebranded as Apache Flex,[62] superseded by Apache Royale), CrossBridge C++ cross-compilation toolset (released on GitHub).[154][68]

Criticism

[edit]

Accessibility and usability

[edit]

In some browsers, prior Flash versions have had to be uninstalled before an updated version could be installed.[155][156] However, as of version 11.2 for Windows, there are now automatic updater options.[157] Linux is partially supported, as Adobe is cooperating with Google to implement it via Chrome web browser on all Linux platforms.[158]

Mixing Flash applications with HTML leads to inconsistent input handling, leading to poor user experience with the site (keyboard and mouse not working as they would in an HTML-only document).[citation needed]

Privacy

[edit]

Flash Player supports persistent local storage of data (also referred to as Local Shared Objects), which can be used similarly to HTTP cookies or Web Storage in web applications. Local storage in Flash Player allows websites to store non-executable data on a user's computer, such as authentication information, game high scores or web browser games, server-based session identifiers, site preferences, saved work, or temporary files. Flash Player will only allow content originating from the same website domain to access data saved in local storage.[23]

Because local storage can be used to save information on a computer that is later retrieved by the same site, a site can use it to gather user statistics, similar to how HTTP cookies and Web Storage can be used. With such technologies, the possibility of building a profile based on user statistics is considered by some a potential privacy concern. Users can disable or restrict the use of local storage in Flash Player through a "Settings Manager" page.[159][160] These settings can be accessed from the Adobe website or by right-clicking on Flash-based content and selecting "Global Settings".

Local storage can be disabled entirely or on a site-by-site basis. Disabling local storage will block any content from saving local user information using Flash Player, but this may disable or reduce the functionality of some websites, such as saved preferences or high scores, and saved progress in games.

Flash Player 10.1 and upward honor the privacy mode settings in the latest versions of the Chrome, Firefox, Internet Explorer, and Safari web browsers, such that no local storage data is saved when the browser's privacy mode is in use.[161]

Security

[edit]

Adobe security bulletins and advisories announce security updates, but Adobe Flash Player release notes do not disclose the security issues addressed when a release closes security holes, making it difficult to evaluate the urgency of a particular update. A version test page allows the user to check if the latest version is installed, and uninstallers may be used to ensure that old-version plugins have been uninstalled from all installed browsers.

In February 2010, Adobe officially apologized[162] for not fixing a known vulnerability for over a year. In June 2010 Adobe announced a "critical vulnerability" in recent versions, saying there are reports that this vulnerability is being actively exploited in the wild against both Adobe Flash Player, and Adobe Reader and Acrobat.[163][164] Later, in October 2010, Adobe announced[165] another critical vulnerability, this time also affecting Android-based mobile devices. Android users have been recommended to disable Flash or make it only on demand.[166] Subsequent security vulnerabilities also exposed Android users, such as the two critical vulnerabilities published in February 2013[167] or the four critical vulnerabilities published in March 2013,[168] all of which could lead to arbitrary code execution.

Symantec's Internet Security Threat Report[169] states that a remote code execution in Adobe Reader and Flash Player[170] was the second most attacked vulnerability in 2009. The same report also recommended using browser extensions to disable Flash Player usage on untrusted websites. McAfee predicted that Adobe software, especially Reader and Flash, would be the primary target for attacks in 2010.[171] Adobe applications had become, at least at some point, the most popular client-software targets for attackers during the last quarter of 2009.[172] The Kaspersky Security Network published statistics for the third quarter of 2012 showing that 47.5% of its users were affected by one or more critical vulnerabilities.[173] The report also highlighted that "Flash Player vulnerabilities enable cybercriminals to bypass security systems integrated into the application."[173]

Steve Jobs criticized the security of Flash Player, noting that "Symantec recently highlighted Flash for having one of the worst security records in 2009."[174] Adobe responded by pointing out that "the Symantec Global Internet Threat Report for 2009, found that Flash Player had the second lowest number of vulnerabilities of all Internet technologies listed (which included both web plug-ins and browsers)."[175][176]

On April 7, 2016, Adobe released a Flash Player patch for a zero-day memory corruption vulnerability CVE-2016-1019 that could be used to deliver malware via the Magnitude exploit kit. The vulnerability could be exploited for remote code execution.[177][178]

Vendor lock-in

[edit]

Flash Player 11.2 does not play certain kinds of content unless it has been digitally signed by Adobe, following a license obtained by the publisher directly from Adobe.[179]

This move by Adobe, together with the abandonment of Flex to Apache, was criticized as a way to lock out independent tool developers in favor of Adobe's commercial tools.[180][181][182]

This has been resolved as of January 2013, after Adobe no longer required a license or royalty from the developer. All premium features are now classified as general availability and can be freely used by Flash applications.[183]

Apple controversy

[edit]

In April 2010, Steve Jobs, at the time CEO of Apple Inc. published an open letter explaining why Apple would not support Flash on the iPhone, iPod Touch, and iPad.[174] In the letter, he blamed problems with the "openness", stability, security, performance, and touchscreen integration of the Flash Player as reasons for refusing to support it. He also claimed that when one of Apple's Macintosh computers crashes, "more often than not" the cause can be attributed to Flash, and described Flash as "buggy".[184] Adobe's CEO Shantanu Narayen responded by saying, "If Flash [is] the number one reason that Macs crash, which I'm not aware of, it has as much to do with the Apple operating system."[185]

Steve Jobs also claimed that a large percentage of the video on the Internet is supported on iOS, since many popular video sharing websites such as YouTube have published video content in an HTML5 compatible format, enabling videos to play back in mobile web browsers even without Flash Player.[186]

Mainland China–specific variant

[edit]

Starting with version 30, Adobe stopped distributing Flash Player directly to users from mainland China. Instead, they selected 2144.cn as a partner and released a special variant of Flash Player on a specific website,[187] which contains a non-closable process, known as the "Flash Helper Service", that collects private information and pops up advertisement window contents,[188] by receiving and running encrypted programs from a remote server.[189] The partnership started in about 2017, but in version 30, Adobe disabled the usage of vanilla (global) variant of Flash Player in mainland China,[190] forcing users to use that specific variant, which may pose a risk to its users due to Internet censorship by the Chinese Communist Party (CCP).[191] This only affected Chinese Chromium based browser users, Firefox users, and Internet Explorer users using Windows 7 and below, as Microsoft still directly distributed Flash Player for Internet Explorer and Microsoft Edge Legacy through Windows Update in Windows 8 and upward at the time. Starting in 2021, however, this variant is the only publicly supported version of Flash Player.

Release history

[edit]
Adobe Flash Player version history
  • FutureSplash Player 1.1[192]
    • New scripting features
    • Option to disable the menu and memory management optimizations
  • Macromedia Flash Player 2 (June 17, 1997)
    • Mostly vectors and motion, some bitmaps, limited audio
    • Support of stereo sound, enhanced bitmap integration, buttons, the Library, and the ability to tween color changes
  • Macromedia Flash Player 3 (May 31, 1998)
    • Added alpha transparency, licensed MP3 compression
    • Brought improvements to animation, playback, digital art, and publishing, as well as the introduction of simple script commands for interactivity
  • Macromedia Flash Player 4 (June 15, 1999)
    • Saw the introduction of streaming MP3s and the Motion Tween. Initially, the Flash Player plug-in was not bundled with popular web browsers, and users had to visit the Macromedia website to download it. As of 2000, however, the Flash Player was already being distributed with all AOL, Netscape, and Internet Explorer browsers. Two years later, it shipped with all releases of Windows XP. The installed base of the Flash Player reached 92 percent of all Internet users.
  • Macromedia Flash Player 5 (August 24, 2000)
    • A major advance in ability, with the evolution of Flash's scripting abilities, as released as ActionScript
    • Saw the ability to customize the authoring environment's interface
    • Macromedia Generator was the first initiative from Macromedia to separate design from content in Flash files. Generator 2.0 was released in April 2001 and featured real-time server-side generation of Flash content in its Enterprise Edition. Generator was discontinued in 2002, in favor of new technologies such as Flash Remoting, which allows for seamless transmission of data between the server and the client, and ColdFusion Server.
    • In October 2000, usability guru Jakob Nielsen wrote a polemic article regarding the usability of Flash content entitled "Flash: 99% Bad". (Macromedia later hired Nielsen to help them improve Flash usability.)
The old Macromedia Flash Player logo
  • Macromedia Flash Player 6 (version 6.0.21.0, codenamed Exorcist) (March 15, 2002)
    • Support for the consuming Flash Remoting (AMF) and Web Service (SOAP)
    • Supports ondemand/live audio and video streaming (RTMP)
    • Support for screenreaders via Microsoft Active Accessibility
    • Added Sorenson Spark video codec for Flash Video[193]
    • Support for video, application components, shared libraries, and accessibility
    • Macromedia Flash Communication Server MX, also released in 2002, allowed video to be streamed to Flash Player 6 (otherwise the video could be embedded into the Flash movie).
  • Macromedia Flash Player 7 (version 7.0.14.0, codenamed Mojo) (September 10, 2003)
    • Supports progressive audio and video streaming (HTTP)
    • Supports ActionScript 2.0, an object-oriented programming language for developers
    • Ability to create charts, graphs, and additional text effects with the new support for extensions (sold separately), high fidelity import of PDF and Adobe Illustrator 10 files, mobile and device development, and a forms-based development environment. ActionScript 2.0 was also introduced, giving developers a formal object-oriented approach to ActionScript. V2 Components replaced Flash MX's components, being rewritten from the ground up to take advantage of ActionScript 2.0 and object-oriented principles.
    • In 2004, the "Flash Platform" was introduced. This expanded Flash to more than the Flash authoring tool. Flex 1.0 and Breeze 1.0 were released, both of which used the Flash Player as a delivery method but relied on tools other than the Flash authoring program to create Flash applications and presentations. Flash Lite 1.1 was also released, enabling mobile phones to play Flash content.
    • Last official version for Windows 95/NT4 and Mac Classic[80]
  • Macromedia Flash Player 8 (version 8.0.22.0, codenamed Maelstrom) (September 13, 2005)
    • Support for runtime loading of GIF and PNG images
    • New video codec (On2 VP6)
    • Improved runtime performance and runtime bitmap caching
    • Live filters and blend modes
    • File upload and download abilities
    • New text-rendering engine, the Saffron Type System
    • ExternalAPI subsystem introduced to replace fscommand
    • On December 3, 2005, Adobe Systems acquired Macromedia and its product portfolio (including Flash).[194]
  • Macromedia Flash Player 8 (version 8.0.24.0) (April 23, 2006)
  • Adobe Flash Player 9 (version 9.0.15.0, codenamed Zaphod and formerly named Flash Player 8.5) (June 22, 2006)
  • Adobe Flash Player 9 Update 1 (version 9.0.28.0, codenamed Marvin) (November 9, 2006)[195]
    • Support for fullscreen mode[196]
  • Adobe Flash Player 9 (version 9.0.45.0) (March 27, 2007)
    • Support for Creative Suite 3.
  • Adobe Flash Player 9 Update 2 (version Mac/Windows 9.0.47.0 and Linux 9.0.48.0, codenamed Hotblack) (June 11, 2007)
    • Security update
    • Last update for 95/NT.
  • Adobe Flash Player 9 Update 3 (version 9.0.115.0, codenamed Moviestar or Frogstar) (December 4, 2007)[197]
    • H.264[198]
    • AAC (HE-AAC, AAC Main Profile, and AAC-LC)
    • New Flash Video file format F4V based on the ISO base media file format (MPEG-4 Part 12)
    • Support for container formats based on the ISO base media file format[199]
    • Last version for Windows 98/ME and other platforms[80]
  • Adobe Flash Player 10 (version 10.0.12.36, codenamed Astro) (October 15, 2008)
    • New features
      • 3D object transformations
      • Custom filters via Pixel Bender
      • Advanced text support
      • Speex audio codec
      • Real Time Media Flow Protocol (RTMFP)
      • Dynamic sound generation
      • Vector data type
    • Enhanced features
      • Larger bitmap support
      • Graphics drawing API
      • Context menu
      • Hardware acceleration
      • Anti-aliasing engine (Saffron 3.1)
      • Read/write clipboard access
      • WMODE
  • Adobe Flash Player 10 (version 10.0.32.18) (July 27, 2009)
  • Adobe Flash Player 10 (version 10.0.42.34) (November 16, 2009)
  • Adobe Flash Player 10 (version 10.0.45.2) (February 21, 2010)
  • Adobe Flash Player 10.1 (version 10.1.53.64, codenamed Argo) (June 10, 2010)[200]
    • Reuse of bitmap data copies for better memory management
    • Improved garbage collector
    • Hardware-based H.264 video decoding
    • HTTP Dynamic Streaming
    • Peer-assisted networking and multicast
    • Support for browser privacy modes
    • Multi-touch APIs
    • For Macs/OSX 10.4 ppc or later
      • Using Cocoa UI for Macs
      • Use of a double-buffered OpenGL context for full-screen
      • Use of Core Animation
  • Adobe Flash Player 10.2 (version 10.2.152.26, codenamed Spicy) (February 8, 2011)
    • Stage Video, a full hardware-accelerated video pipeline
    • Internet Explorer 9 hardware-accelerated rendering support
    • Custom native mouse cursors
    • Multiple monitor full-screen support
    • Enhanced subpixel rendering for text
  • Adobe Flash Player 10.2 (version 10.2.152.32) (February 28, 2011)
  • Adobe Flash Player 10.2 (version 10.2.153.1) (March 21, 2011)
  • Adobe Flash Player 10.2 (version 10.2.159.1) (April 15, 2011)
  • Adobe Flash Player 10.3 (version 10.3.181.14, codenamed Wasabi) (May 12, 2011)[201]
    • Media measurement (video analytics for websites; desktop only)
    • Acoustic Echo Cancellation (acoustic echo cancellation, noise suppression, voice activity detection, automatic compensation for microphone input levels; desktop only)
    • Integration with browser privacy controls for managing local storage (ClearSiteData NPAPI)
    • Native control panel
    • Auto-update notification for Mac OS X
    • Last version for Mac OS X 10.5[80] and Windows 2000 (unofficially bypassing the XP installer)
    • Adobe replaced Extended Support Release 10.3 by 11.7 on July 9, 2013.[202]
  • Adobe Flash Player 10.3 (version 10.3.181.23) (June 5, 2011)
  • Adobe Flash Player 10.3 (version 10.3.181.26) (June 14, 2011)
  • Adobe Flash Player 10.3 (version 10.3.181.34) (June 29, 2011)
  • Adobe Flash Player 10.3 (version 10.3.183.5) (August 14, 2011)
  • Adobe Flash Player 10.3 (version 10.3.183.7) (August 24, 2011)
  • Adobe Flash Player 10.3 (version 10.3.183.10) (September 21, 2011)
  • Adobe Flash Player 10.3 (version 10.3.183.11) (November 11, 2011)
  • Adobe Flash Player 10.3 (version 10.3.183.25) (September 18, 2012)
  • Adobe Flash Player 10.3 (version 10.3.183.29) (October 8, 2012)
  • Adobe Flash Player 11 (version 11.0.1.152, codenamed Serrano) (October 4, 2011)[203]
    • Desktop only
      • Stage 3D accelerated graphics rendering[204]
      • H.264/AVC software encoding for cameras
      • Native 64-bit
      • Asynchronous bitmap decoding
      • TLS secure sockets
    • Desktop and mobile
      • Stage Video hardware acceleration
      • Native extension libraries[205]
        • Desktop: Windows (.dll), OS X (.framework)
        • Mobile: Android (.jar, .so), iOS (.a)
      • JPEG XR decoding
      • G.711 audio compression for telephony
      • Protected HTTP Dynamic Streaming (HDS)
      • Unlimited bitmap size
      • LZMA SWF compression
    • Mobile only
      • H.264/AAC playback
      • Front-facing camera
      • Background audio playback
      • Device speaker control
      • 16- and 32-bit color depth
  • Adobe Flash Player 11.1 (version 11.1.102.55, codenamed Anza) (November 10, 2011)[206]
    • Last version of the web browser plug-in for mobile devices (made for Android 2.2 to 4.0.3)
    • iOS 5 native extensions for AIR
    • StageText: Native text input UI for Android
    • Security enhancements, last official version for Windows 2000 and XP RTM-SP1[80]
  • Adobe Flash Player 11.1 (version 11.1.102.62) (March 5, 2012)
  • Adobe Flash Player 11.2 (version 11.2.202.228) (March 28, 2012)
  • Adobe Flash Player 11.2 (version 11.2.202.233) (April 12, 2012)
  • Adobe Flash Player 11.2 (version 11.2.202.235, codenamed Brannan) (May 3, 2012)[207]
    • The Windows version offers automatic updater options[157]
    • Dropped support of the browser plug-in for mobile devices (Android). Android app developers are encouraged to use Adobe Air, and Android web developers should switch to HTML5.
    • Extended support for Flash player 11.2 on Solaris, as it is the last version to be supported.[80]
    • Adobe replaced Extended Support Release 11.2 on Linux with 24.0 on December 13, 2016.
  • Adobe Flash Player 11.3 (version 11.3.300.257) (June 8, 2012)
  • Adobe Flash Player 11.3 (version 11.3.300.262) (June 21, 2012)
  • Adobe Flash Player 11.3 (version 11.3.300.265) (July 11, 2012)
  • Adobe Flash Player 11.3 (version 11.3.300.268) (July 26, 2012)
  • Adobe Flash Player 11.3 (version 11.3.300.270) (August 4, 2012)
    • Desktop and mobile
      • Fullscreen interactive mode (keyboard input during fullscreen)
      • Native bitmap encoding and compression (PNG, JPEG, JPEG-XR)
      • Draw bitmaps with quality (low, medium, high, best)
      • Texture streaming for Stage3D
      • Dropped support for Linux and Solaris
    • Mobile-only
      • Auto-orientation on specific devices
      • USB debugging for AIR on iOS
  • Adobe Flash Player 11.3 (version 11.3.300.271) (September 18, 2012)
  • Adobe Flash Player 11.3 (version 11.3.300.273) (October 3, 2012)
  • Adobe Flash Player 11.4 (version 11.4.402.259) (August 10, 2012)
    • Flash Player only
      • ActionScript workers
      • SandboxBridge support
      • Licensing support: Flash Player Premium features for gaming
    • Flash Player and AIR
      • Stage3D "constrained" profile for increased GPU reach
      • LZMA support for ByteArray
      • StageVideo attachCamera/Camera improvements
      • Compressed texture with alpha support for Stage3D
      • DXT encoding
    • AIR only
      • Deprecated Carbon APIs for AIR
      • Direct AIR deployment using ADT
      • Push notifications for iOS
      • Ambient AudioPlaybackMode
      • Exception support in Native Extensions for iOS
  • Adobe Flash Player 11.4 (version 11.4.402.265) (August 21, 2012)
  • Adobe Flash Player 11.4 (version 11.4.402.278) (September 18, 2012)
  • Adobe Flash Player 11.4 (version 11.4.402.287) (October 8, 2012)
  • Adobe Flash Player 11.5[208]
    • Shared ByteArray
    • Invoke Event enhancement (for openurl)
    • Packaging multiple libraries in an ANE (iOS)
    • Debug stack trace in release builds of Flash Player
    • Statistically link DRM (desktop only)
  • Adobe Flash Player 11.6 (codenamed Folsom)[208]
    • Lossless video export from standalone and authplay.dll
    • Support for flash.display.graphics.readGraphicsData() that returns a Vector of IGraphicsData
    • Improve permissions UI related to full-screen keyboard access
    • Prevent ActiveX abuse in Office documents
    • Support file access in the cloud on Windows
    • Enhance multi-SWF support
    • Migration certification for ANEs
    • RectangleTexture
    • File API update so AIR apps conform to Apple data storage guidelines
    • Separate sampler state for Stage3D
    • Set device-specific Retina Display resolution (iOS)
  • Adobe Flash Player 11.7 (version 11.7.700.169, codenamed Geary) (April 9, 2013)[208]
    • SharedObject.preventBackup property
    • forceCPURenderModeForDevices
    • Remote hosting of SWF files in case of multiple SWFs
    • Support for uploading 16-bit texture formats
    • GameInput updates
    • Android – create captive runtime apps
    • Adobe replaced Extended Support Release 11.7 on Mac and Windows with 13.0 on May 13, 2014.[209]
  • Adobe Flash Player 11.8 (codenamed Harrison)[208]
    • Stage3D baselineExtended profile
    • Recursive stop on MovieClip
    • Flash Player & AIR Desktop Game Pad Support
    • Support for large textures (extendedBaseline, 4096)
    • Rectangle texture
    • DatagramSocket
    • ServerSocket
    • Substitute a redirected URL from a source URLRequest for part of the URL in a new URLRequest
  • Adobe Flash Player 11.9 (codenamed Irving)[208]
  • Adobe Flash Player 12 (codenamed Jones)[210] (November 14, 2013)
    • Improved Mac .pkg Installation Support for the workflow and UI
    • Support for Internet Explorer 11 on Windows 7
    • Support for Safe Mode in Safari 6.1 and higher
    • 64-bit PPAPI Flash Player for Google Chrome
    • Graphics: Buffer Usage flag for Stage3D
  • Adobe Flash Player 13 (codenamed King)[211][212]
    • Supplementary Characters Enhancement Support for Text Field
    • Full-screen video message tweak
    • As of 13 May 2014 this is the Extended Support Release.[209]
  • Adobe Flash Player 14 (version 14.0.0.125, codenamed Lombard) (June 10, 2014)[213]
    • Stage 3D Standard profile
  • Adobe Flash Player 14 (version 14.0.0.145) (July 8, 2014)
  • Adobe Flash Player 14 (version 14.0.0.179) (August 12, 2014)
  • Adobe Flash Player 15 (version 15.0.0.152, codenamed Market) (September 9, 2014)[214]
    • Improved support for browser zoom levels
  • Adobe Flash Player 15 (version 15.0.0.167) (September 23, 2014)
  • Adobe Flash Player 15 (version 15.0.0.223) (November 11, 2014)
  • Adobe Flash Player 16 (version 16.0.0.235, codenamed Natoma) (December 9, 2014)[215]
    • Stage3D – Standard Constrained Profile
    • PPAPI Installers for Windows and Mac
  • Adobe Flash Player 16 (version 16.0.0.257) (January 13, 2015)
  • Adobe Flash Player 16 (version 16.0.0.287) (January 22, 2015)
  • Adobe Flash Player 16 (version 16.0.0.296) (January 27, 2015)
  • Adobe Flash Player 16 (version 16.0.0.305) (February 5, 2015)
  • Adobe Flash Player 17 (version 17.0.0.134, codenamed Octavia) (March 12, 2015)[216]
    • Control Panel improvements
    • Installer improvements for Mac
  • Adobe Flash Player 17 (version 17.0.0.169) (April 14, 2015)
  • Adobe Flash Player 17 (version 17.0.0.188) (May 12, 2015)
  • Adobe Flash Player 18 (version 18.0.0.160, codenamed Presidio) (June 9, 2015)
    • Contains fixes for Adobe Security Bulletin APSB 15–11[217]
  • Adobe Flash Player 18 (version 18.0.0.194) (June 23, 2015)
  • Adobe Flash Player 18 (version 18.0.0.203) (July 8, 2015)
  • Adobe Flash Player 18 (version 18.0.0.209) (July 14, 2015)
  • Adobe Flash Player 18 (version 18.0.0.232) (August 11, 2015)
  • Adobe Flash Player 19 (version 19.0.0.185, codenamed Quint) (September 21, 2015)
  • Adobe Flash Player 19 (version 19.0.0.207) (October 13, 2015)
  • Adobe Flash Player 19 (version 19.0.0.226) (October 16, 2015)
  • Adobe Flash Player 19 (version 19.0.0.245) (November 10, 2015)
  • Adobe Flash Player 20 (version 20.0.0.228, codenamed Rankin) (December 8, 2015)
  • Adobe Flash Player 20 (version 20.0.0.267) (December 28, 2015)
  • Adobe Flash Player 20 (version 20.0.0.270) (January 1, 2016)
  • Adobe Flash Player 20 (version 20.0.0.286) (January 19, 2016)
  • Adobe Flash Player 20 (version 20.0.0.306) (February 9, 2016)
  • Adobe Flash Player 21 (version 21.0.0.182, codenamed Sutter) (March 10, 2016)
  • Adobe Flash Player 21 (version 21.0.0.197) (March 23, 2016)
  • Adobe Flash Player 21 (version 21.0.0.213) (April 7, 2016)
  • Adobe Flash Player 21 (version 21.0.0.216) (April 8, 2016)
  • Adobe Flash Player 21 (version 21.0.0.226) (April 21, 2016)
  • Adobe Flash Player 21 (version 21.0.0.242) (May 12, 2016)
  • Adobe Flash Player 22 (version 22.0.0.185, codenamed Townsend) (June 16, 2016)
  • Adobe Flash Player 22 (version 22.0.0.209) (July 12, 2016)
  • Adobe Flash Player 22 (version 22.0.0.210) (July 14, 2016)
  • Adobe Flash Player 23 (version 23.0.0.162, codenamed Underwood) (September 13, 2016)
  • Adobe Flash Player 23 (version 23.0.0.185) (October 11, 2016)
  • Adobe Flash Player 23 (version 23.0.0.205) (October 26, 2016)
  • Adobe Flash Player 23 (version 23.0.0.207) (November 8, 2016)
  • Adobe Flash Player 24 (version 24.0.0.186, codenamed Van Ness) (December 13, 2016)
  • Adobe Flash Player 24 (version 24.0.0.194) (January 10, 2017)
  • Adobe Flash Player 24 (version 24.0.0.221) (February 14, 2017)
  • Adobe Flash Player 25 (version 25.0.0.127, codenamed Webster) (March 14, 2017)
  • Adobe Flash Player 25 (version 25.0.0.148) (April 11, 2017)
  • Adobe Flash Player 25 (version 25.0.0.163) (April 20, 2017)
  • Adobe Flash Player 25 (version 25.0.0.171) (May 9, 2017)
  • Adobe Flash Player 26 (version 26.0.0.126, codenamed York) (June 13, 2017)
  • Adobe Flash Player 26 (version 26.0.0.131) (June 16, 2017)
  • Adobe Flash Player 26 (version 26.0.0.137) (July 11, 2017)
  • Adobe Flash Player 26 (version 26.0.0.151) (August 8, 2017)
  • Adobe Flash Player 27 (version 27.0.0.130, codenamed Zoe) (September 12, 2017)
  • Adobe Flash Player 27 (version 27.0.0.159) (October 10, 2017)
  • Adobe Flash Player 27 (version 27.0.0.170) (October 16, 2017)
  • Adobe Flash Player 27 (version 27.0.0.183) (October 25, 2017)
  • Adobe Flash Player 27 (version 27.0.0.187) (November 14, 2017)
  • Adobe Flash Player 28 (version 28.0.0.126, codenamed Atka) (December 12, 2017)
  • Adobe Flash Player 28 (version 28.0.0.137) (January 9, 2018)
  • Adobe Flash Player 28 (version 28.0.0.161) (February 6, 2018)
  • Adobe Flash Player 29 (version 29.0.0.113) (March 13, 2018)
  • Adobe Flash Player 29 (version 29.0.0.140) (April 10, 2018)
  • Adobe Flash Player 29 (version 29.0.0.171) (May 8, 2018)
  • Adobe Flash Player 30 (version 30.0.0.113) (June 7, 2018)
  • Adobe Flash Player 30 (version 30.0.0.134) (July 10, 2018)
  • Adobe Flash Player 30 (version 30.0.0.154) (August 14, 2018)
  • Adobe Flash Player 31 (version 31.0.0.108) (September 11, 2018)
  • Adobe Flash Player 31 (version 31.0.0.122) (October 9, 2018)
  • Adobe Flash Player 31 (version 31.0.0.148) (November 13, 2018)
  • Adobe Flash Player 32 (version 32.0.0.101) (December 5, 2018)
  • Adobe Flash Player 32 (version 32.0.0.114) (January 8, 2019)
  • Adobe Flash Player 32 (version 32.0.0.142) (February 12, 2019)
  • Adobe Flash Player 32 (version 32.0.0.156) (March 12, 2019)
  • Adobe Flash Player 32 (version 32.0.0.171) (April 9, 2019)
  • Adobe Flash Player 32 (version 32.0.0.192) (May 14, 2019)
  • Adobe Flash Player 32 (version 32.0.0.207) (June 11, 2019)
  • Adobe Flash Player 32 (version 32.0.0.223) (July 9, 2019)
  • Adobe Flash Player 32 (version 32.0.0.238) (August 13, 2019)
  • Adobe Flash Player 32 (version 32.0.0.255) (September 10, 2019)
  • Adobe Flash Player 32 (version 32.0.0.270) (October 9, 2019)
  • Adobe Flash Player 32 (version 32.0.0.293) (November 12, 2019)
  • Adobe Flash Player 32 (version 32.0.0.303) (December 10, 2019)
  • Adobe Flash Player 32 (version 32.0.0.314) (January 14, 2020)
  • Adobe Flash Player 32 (version 32.0.0.321) (January 21, 2020)
  • Adobe Flash Player 32 (version 32.0.0.330) (February 11, 2020)
  • Adobe Flash Player 32 (version 32.0.0.344) (March 10, 2020)
  • Adobe Flash Player 32 (version 32.0.0.363) (April 14, 2020)
  • Adobe Flash Player 32 (version 32.0.0.371) (May 12, 2020)
  • Adobe Flash Player 32 (version 32.0.0.387) (June 9, 2020)
    • Refuses to play Flash content after January 12, 2021, and instead displays a static warning message.
  • Adobe Flash Player 32 (version 32.0.0.403) (July 14, 2020)
  • Adobe Flash Player 32 (version 32.0.0.414) (August 11, 2020)
  • Adobe Flash Player 32 (version 32.0.0.433) (September 8, 2020)
  • Adobe Flash Player 32 (version 32.0.0.445) (October 13, 2020)
  • Adobe Flash Player 32 (version 32.0.0.453) (November 10, 2020)
  • Adobe Flash Player 32 (version 32.0.0.465) (December 8, 2020)
    • Final global variant update.

See also

[edit]

Notes

[edit]

References

[edit]

Further reading

[edit]
[edit]
Revisions and contributorsEdit on WikipediaRead on Wikipedia
from Grokipedia
Adobe Flash Player was a proprietary client runtime developed by and later for rendering multimedia content, including animations, interactive , and , primarily as a browser plugin. It enabled the deployment of rich web experiences, such as high-impact user interfaces and online games, that surpassed the limitations of early standards. First released in 1996 under the name FutureSplash Player before evolving into Flash Player, it achieved widespread adoption, powering a significant portion of web-based and applications during the 2000s. The platform's defining characteristics included support for ActionScript scripting and scalable vector animations, but it was marred by chronic security vulnerabilities, with over 2,000 CVEs documented, many enabling and exploited in the wild. These flaws stemmed from its complex architecture as a third-party plugin, creating an enlarged within browsers and leading to frequent patches and advisories from . Ultimately, escalating risks and the maturation of native web technologies like prompted to announce the end of support on December 31, 2020, after which browsers universally blocked its execution.

History

Origins as FutureWave Software

FutureWave Software was established on January 22, 1993, in , , by Jonathan Gay, Charlie Jackson, and Michelle Welsh, with an initial emphasis on software for pen-based computing devices such as the . Gay, serving as the lead programmer, developed SmartSketch as a application optimized for input, enabling precise drawing and editing without reliance on pixel-based raster methods. Amid the faltering pen computing market, FutureWave shifted focus to web-compatible , adapting SmartSketch's core vector engine into FutureSplash Animator to produce compact, scalable content for emerging online platforms constrained by dial-up speeds averaging 28.8 kbps. FutureSplash Animator debuted in 1995 for both Macintosh and Windows systems, featuring tools for frame-by-frame vector animation, tweening, and export to lightweight files under 100 KB even for complex sequences. To facilitate web playback, FutureWave released the FutureSplash Player plugin in 1996, supporting and browsers, which rendered animations via a proprietary vector format that prioritized efficiency over photorealistic detail. This approach stemmed from causal necessities of the time: raster alternatives like GIFs bloated file sizes and lacked , whereas vectors scaled resolution-independently, enabling smooth playback on modest hardware without excessive bandwidth demands. Initial uptake validated the technology's practicality for bandwidth-limited environments. Disney Online integrated FutureSplash animations into Disney's Daily Blast subscription service, deploying interactive elements that loaded rapidly and engaged users with motion not feasible via static images. Similarly, entities like tested it for web prototypes, while broadcasters such as experimented with animated banners, demonstrating empirical success in delivering dynamic content—such as looping graphics under 20 KB—that outperformed contemporaries in load times and viewer retention metrics during the 1996 internet expansion.

Macromedia Era and Expansion

acquired in December 1996, gaining control of FutureSplash Animator, which was rebranded as Macromedia Flash shortly thereafter. The acquisition was publicly announced on January 6, 1997, as part of 's strategy to bolster its web multimedia tools, including integration with its Director authoring software for enhanced cross-platform content delivery. Subsequent releases under significantly expanded Flash's capabilities, fostering its growth as a web standard. In 2000, Flash 5 introduced 1.0, a compliant with standards, which allowed developers to create dynamic, programmable interactions beyond simple animations. This feature elevated Flash from a tool to a versatile platform for application-like experiences on the web. A pivotal advancement occurred in 2002 with the release of Flash MX (version 6), which incorporated the (FLV) format for efficient video encoding and streaming directly within the player. FLV's lightweight structure and compatibility with Flash's runtime enabled low-latency playback of compressed video over standard internet connections, powering early web video experiments and prototypes that foreshadowed platforms like . Flash's ubiquity stemmed from Macromedia's distribution of a free, compact browser plugin that achieved seamless integration across major web browsers, compensating for the limitations of contemporaneous in handling interactive vector animations and . Despite its nature, the plugin's small footprint—often under 100 KB initially—and broad compatibility drove voluntary installations, as web developers increasingly relied on Flash to deliver engaging content unavailable through open standards at the time. By the mid-2000s, this approach had resulted in near-universal penetration among desktop internet users.

Adobe Acquisition and Maturation

In April 2005, Adobe Systems announced a definitive agreement to acquire in an all-stock transaction valued at $3.4 billion, aiming to combine Macromedia's technologies, including Flash, with Adobe's and . The acquisition closed on December 3, 2005, enabling deeper integration of Flash with Adobe's PDF format for interactive s and Creative Suite applications such as Photoshop and , which facilitated workflows for embedding dynamic content into static designs. Post-acquisition enhancements focused on performance and scripting without compromising Flash's vector-based core. Flash Player 9, released in June 2006, introduced ActionScript 3.0 alongside the , delivering up to tenfold execution speed improvements for complex applications compared to prior versions. This upgrade supported richer scripting while maintaining compatibility with legacy ActionScript 2.0 content via a dual-virtual-machine architecture. Flash Player 10, released in October 2008, incorporated initial features, including limited GPU support for shaders and pixel bender effects, reducing CPU load for graphics-intensive tasks. By 2008, these advancements contributed to Flash Player's installation on 98 percent of Internet-enabled desktops, underscoring its role in powering the majority of online video delivery, as exemplified by platforms like that depended on Flash for streaming. The merger's synergies boosted developer adoption by embedding Flash authoring into Adobe's unified Creative Suite 3 (launched 2007), allowing export of assets from tools like Photoshop directly into Flash projects, yet preserved Flash's standalone runtime integrity.

Peak Dominance in Web Multimedia

Flash Player reached its zenith of adoption in web multimedia during the mid-, achieving a penetration rate of 98% among Internet-connected personal computers by , surpassing even the ubiquity of major operating systems in terms of plugin distribution. This widespread installation enabled Flash to become the for delivering dynamic content across browsers, with approximately 70% of Fortune 100 company websites incorporating Flash elements by the late . The plugin's proprietary runtime offered a uniform execution environment, circumventing the era's prevalent browser rendering discrepancies in , CSS, and implementations, which allowed developers to create sophisticated animations and interfaces without the fragmentation that plagued native web standards. In online video, Flash dominated delivery mechanisms, powering over 90% of traffic by 2009 according to Nielsen data, and serving as the primary player for until the platform defaulted to in January 2015. Similarly, browser-based gaming flourished under Flash, with estimates indicating over one million games created and hosted since 2000, including Zynga's , which launched in 2009 and leveraged Flash's for real-time social interactions that drew tens of millions of daily active users at its peak. also heavily relied on Flash for rich media formats, comprising 40% of U.S. online ad impressions in 2010 as reported by . This empirical dominance facilitated a pivotal transition in web architecture from static, text-heavy pages to interactive ecosystems, where Flash's consistent cross-platform rendering reduced development overhead and accelerated the integration of , scripted behaviors, and embedded media before and CSS3 achieved comparable maturity around 2010. By providing a reliable over inconsistent browser engines, Flash empirically lowered barriers to rich content creation, enabling broader experimentation with user engagement features that foreshadowed modern web applications.

Decline Due to Mobile and Security Pressures

The omission of Adobe Flash Player support in the , launched on June 29, 2007, marked an early shift away from plugin-based multimedia on mobile platforms, as Apple favored native rendering for efficiency on battery-constrained devices. This decision intensified with ' April 29, 2010 "," which highlighted Flash's excessive CPU demands causing rapid battery depletion, incompatibility with interfaces, and inherent security flaws that exposed users to frequent crashes and exploits. Android initially bundled Flash Player for versions up to 4.x, enabling playback on early devices, but Adobe halted development for mobile browsers in November 2011 amid poor performance and adoption challenges, with Google disabling new installations via the Play Store by August 15, 2012, to prioritize HTML5 integration. These moves reflected broader industry recognition that Flash's resource-intensive architecture hindered mobile , accelerating a pivot to standards offering native rendering without external plugins. Flash's security profile deteriorated as vulnerabilities mounted, with the player accruing hundreds of (CVEs) over its lifespan; reports indicate 56 CVEs in 2013, rising to 74 in 2014, and a further surge in driven by complex codebases prone to memory corruption and use-after-free errors exploited in drive-by downloads. Such flaws positioned Flash as a staple in exploit kits, contributing to a substantial share of web-mediated breaches during the early , as documented in analyses like Verizon's Data Breach Investigations Reports, which frequently cited plugin exploits as initial access vectors. Parallel to these pressures, the WHATWG's efforts, formalized in a first public working draft by January 22, 2008, enabled browsers to embed video, animation, and interactivity directly via open standards, bypassing Flash's proprietary runtime for faster, more secure execution without plugin dependencies or update lags. This transition gained momentum as major browsers—Chrome, , and —optimized for HTML5's hardware-accelerated and media elements, rendering Flash increasingly obsolete for cross-platform consistency.

Official End of Life in 2020

In July 2017, Adobe announced, in coordination with partners including and , that it would discontinue support for Flash Player effective December 31, 2020, with major browsers planning to phase out compatibility ahead of that date. This timeline allowed over three years for content creators and developers to transition away from the plugin, reflecting broad industry consensus on shifting to open web standards like HTML5. Following the end-of-support date on December 31, 2020, ceased all updates, security patches, and distribution of Flash Player, including removal of official download pages shortly thereafter. To enforce the discontinuation, implemented a built-in mechanism in Flash Player installations that began blocking all Flash content from running starting January 12, 2021, regardless of prior functionality. For legacy offline scenarios, had provided standalone offline installers and projectors prior to the EOL, enabling limited playback of local files without browser integration or further vendor support. The immediate aftermath saw widespread disruption, with estimates indicating millions of websites and applications rendered inoperable due to unmitigated Flash dependencies, particularly affecting older enterprise systems and archived content. However, this spurred accelerated migration efforts, as organizations and developers rapidly converted Flash-based multimedia to equivalents, leveraging tools and frameworks that had matured during the phase-out period to restore functionality across modern browsers and devices.

Technical Architecture

Core Data and Multimedia Formats

The core data format of Adobe Flash Player was the , a proprietary binary container designed primarily for delivering vector-based animations, graphics, and interactive content over the internet. SWF files encapsulated mathematical descriptions of scalable vector shapes, paths, and transformations, enabling resolution-independent rendering without pixelation, in contrast to raster formats that store fixed pixel data. This structure supported embedding of bitmap images, embedded fonts for text rendering, and bytecode for the ActionScript Virtual Machine, allowing programmatic control of graphics, user interactions, and logic execution within the player. For multimedia, Flash Player integrated support for Flash Video (FLV) as a optimized for streaming audio and video payloads, consisting of a header followed by interleaved timestamped packets of compressed media data. FLV enabled efficient delivery of codecs like Sorenson Spark (H.263 variant) for video and Nellymoser or ADPCM for audio, often paired with the Real-Time Messaging Protocol (RTMP) for low-latency transport of live or on-demand streams to the player. RTMP multiplexed audio, video, and metadata over TCP, facilitating real-time synchronization in browser-embedded playback. SWF's vector-centric design yielded empirically smaller file sizes for animations compared to raster alternatives like , as vectors required only equations for curves and fills rather than frame-by-frame arrays, reducing bandwidth demands in the bandwidth-constrained 1990s web era. For instance, simple vector animations in SWF were consistently more compact than equivalent GIF sequences, prioritizing efficiency for interactive web content over photorealistic detail. This format's compression and underpinned Flash's dominance in early web , though it remained and player-dependent.

Streaming and Interaction Protocols

Adobe Flash Player utilized the as its primary mechanism for low-latency streaming of audio, video, and data between clients and servers. Developed by and later maintained by , RTMP operated over TCP to maintain persistent connections, enabling efficient of streams with reduced overhead compared to contemporaneous HTTP-based methods that relied on repeated request-response cycles. This design facilitated real-time delivery suitable for live broadcasting and interactive applications, where delays under a few seconds were critical for . For dynamic user interfaces and real-time data synchronization, Flash Player supported XML-based exchanges via the XMLSocket class, which implemented client-side sockets for bidirectional communication with servers using a Flash-specific XML messaging protocol. Developers could connect to servers by or on ports other than 80 or 843, transmitting structured XML data for updates without full page reloads, thus enabling responsive applications like chat systems or collaborative tools. Complementing this, the SharedObject class provided local persistent storage akin to but with greater capacity, storing data in .sol files for retrieval across sessions and supporting remote synchronization for multi-client sharing. Integration with browser environments occurred through ExternalInterface, allowing functions in Flash content to be invoked from in the hosting page, and vice versa, for seamless bidirectional calls without proprietary plugins beyond the Player itself. This bridged rich media with web scripting, facilitating hybrid applications where Flash handled rendering and managed DOM interactions. In 2010, with Flash Player 10.1, Adobe introduced capabilities via the RTMFP protocol and the free Cirrus service (formerly Stratus), leveraging UDP for lower-latency media flows than TCP-based RTMP. RTMFP supported direct client-to-client connections for streaming and group communication, reducing server load and bandwidth by distributing content among peers, serving as an early implementation of scalable P2P media exchange predating widespread adoption.

Performance Enhancements and Compilation

Adobe Flash Player's Virtual Machine 2 (AVM2), introduced with 3.0 in 2006, employed just-in-time () compilation to translate derived from source code into native machine instructions at runtime, enabling efficient execution of complex scripts despite the interpretive overhead of earlier versions. This approach optimized performance for dynamic web applications by caching compiled code and applying runtime optimizations, allowing Flash to handle computationally intensive tasks like rendering and scripting logic that scaled to enterprise-level . To address limitations in software-based rendering, Flash Player 11, released on October 4, 2011, introduced Stage3D—a low-level granting direct access to GPU hardware for 3D graphics and pixel shading via the AGAL (Adobe Graphics Assembly Language) shader language. Stage3D enabled hardware-accelerated rendering pipelines, supporting techniques such as deferred lighting and multi-pass effects, which Adobe claimed delivered up to 1,000 times the of prior software rasterization in combined 2D and 3D workloads on compatible graphics hardware. This integration mitigated bottlenecks in graphics-heavy applications by offloading vector and pixel operations to the GPU, facilitating for simulations and visualizations that exceeded CPU-bound constraints. Independent benchmarks from 2013 on mid-range hardware, such as i7 processors paired with GPUs, indicated that Stage3D implementations achieved higher frame rates in GPU-bound 3D rendering tasks compared to early equivalents in browsers like Chrome and , where driver inconsistencies and immature support hindered parity. These gains stemmed from Flash's mature and optimized driver interactions, though they were contingent on desktop environments with robust or support, underscoring Flash's edge in pre-2012 GPU utilization before ecosystems matured. For desktop deployments beyond browser constraints, served as an alternative runtime, packaging Flash bytecode into standalone native executables via captive runtime bundling, which embedded the full AIR/Flash engine to eliminate plugin overhead and enable direct hardware access. AIR applications underwent ahead-of-time packaging for installation but retained JIT execution for , yielding measurable latency reductions—often 20-50% in startup and rendering on Windows and macOS—due to isolated process execution and optional native extensions for platform-specific code. This compilation model supported complex offline applications, bridging web-originated content to native performance profiles without full static recompilation to .

Development Ecosystem

Authoring Tools and Methods

Adobe Flash Professional served as the principal authoring tool for creating Flash content, enabling designers to produce vector-based graphics, animations, and interactive elements through a timeline-based interface. This environment supported direct vector drawing with tools such as the , , Oval, and for constructing shapes and paths mathematically defined for . Symbols formed a core component, stored in libraries as reusable assets including , buttons, and movie clips, which minimized by allowing multiple instances to reference a single master definition. Animation workflows in Flash Professional emphasized timeline manipulation, where users arranged keyframes to define changes in position, scale, rotation, or opacity across . Frame-by-frame animation involved manually or placing elements on sequential for precise control, suitable for complex sequences requiring custom artwork per frame. Alternatively, motion tweening automated between keyframes, applying easing functions to simulate natural motion for properties like transformation and color effects on instances or text fields. ActionScript provided programmatic methods to extend authoring beyond visual timelines, allowing developers to script behaviors, handle user interactions, and manipulate timeline playback at runtime. could be attached directly to frames, symbols, or external classes, supporting object-oriented paradigms for dynamic content generation and event-driven logic. Completed projects exported as files, compiling assets and scripts into a compact binary format playable by Flash Player. For dynamic server-integrated content, authoring incorporated calls to connect with Flash Media Server, facilitating real-time streaming of audio, video, or data via protocols like RTMP for applications requiring live updates or multi-user interactions. This enabled workflows where client-side Flash movies loaded external media or exchanged data without full recompilation, though primary authoring remained client-focused.

Specialized Game Development Frameworks

Flash's ecosystem fostered specialized frameworks tailored for browser-based game development, leveraging 's scripting capabilities to enable of 2D and 3D titles. One prominent example was , an open-source port of the C++ physics library adapted for 3.0, which facilitated realistic rigid-body simulations including collisions, joints, and forces essential for platformers and physics puzzles. This framework, released around 2008, powered numerous casual games by abstracting complex calculations into accessible APIs, allowing developers to integrate dynamic interactions without low-level math. For , Away3D emerged as a key open-source engine starting in 2007, serving as an open-source platform for developing interactive 3D graphics for video games and applications in Adobe Flash or HTML5. It utilizes the ActionScript 3 engine for creating interactive 3D graphics within Adobe Flash Player and Adobe AIR, running on web browsers via the Adobe Flash Player and employing Stage3D for GPU-accelerated rendering from version 11 onward. It supported features like model importing, , , and particle systems, enabling browser-embedded 3D experiences that were computationally feasible on mid-2000s hardware. Complementing these, (later rebranded in 2012) served as a high-level, cross-compiling language that targeted Flash's output alongside other platforms, streamlining game logic reuse and reducing for titles deployable in browsers. These tools collectively lowered barriers for independent developers, contributing to the proliferation of casual browser games. Newgrounds functioned as a central hub for this ecosystem, hosting thousands of user-submitted Flash games from the early 2000s onward and fostering community feedback loops that refined mechanics and art styles. By the late 2000s, Flash underpinned a surge in social gaming; for instance, Zynga's , launched in June 2009, relied on Flash for its core mechanics and achieved over 80 million monthly active users by mid-2010, exemplifying how Flash's ubiquity drove the casual game boom on platforms like . Developers could export Flash games to mobile via , which packaged content into native apps for and Android starting in 2010. However, adoption was hampered by performance bottlenecks—such as inconsistent GPU acceleration and higher latency compared to native code—and restrictive policies, including Apple's initial scrutiny of Flash-derived apps leading to rejections until AIR's native wrappers proved compliant. These constraints often necessitated optimizations like caching and reduced asset , limiting for complex titles.

Platform Availability

Desktop Browser Support

Adobe Flash Player was integrated into major desktop web browsers primarily through plugins, providing consistent multimedia and interactive capabilities across operating systems including Windows, macOS, and Linux. Internet Explorer utilized an ActiveX control variant, while Firefox, Safari, and early versions of Chrome relied on the Netscape Portable Application Interface (NPAPI) plugin architecture. Google Chrome transitioned from NPAPI to the Pepper API (PPAPI) for Flash starting in version 25 (2013), embedding the plugin directly into the browser for improved sandboxing and security isolation. This cross-browser and cross-OS uniformity contrasted with JavaScript implementations of the era, which often suffered from engine-specific inconsistencies and incomplete feature parity. At its peak around 2009, Adobe reported Flash Player installed on approximately 99% of internet-connected desktop PCs, enabling near-universal compatibility for web-based animations, videos, and applications without requiring browser-specific adaptations. The plugin model ensured reliable rendering of Shockwave Flash (SWF) content regardless of the underlying OS or browser vendor, fostering a standardized ecosystem for developers until the rise of native alternatives. Browser support concluded in a coordinated manner following Adobe's announcement in July 2017 of Flash's end-of-life, with final updates ceasing on December 31, 2020, and content automatically blocked in the player from January 12, 2021. Google Chrome began disabling Flash by default in version 62 (2017) and fully removed support by December 2020. Mozilla Firefox disabled Flash prompting in version 69 (2019) and ended all support on January 26, 2021. Apple Safari ceased updates with macOS versions post-Flash EOL, aligning with system-wide plugin deprecation. Microsoft Internet Explorer 11 and Edge (pre-Chromium) issued user prompts for Flash activation until mid-2021, after which compatibility was limited to legacy Internet Explorer mode in the new Edge, without active updates. These enforcement measures reflected a consensus among vendors on Flash's security vulnerabilities, prioritizing native web standards over continued plugin maintenance.

Mobile and Embedded Devices

Adobe released the Packager for iPhone tool in September 2009, enabling developers to convert ActionScript-based applications into native iOS apps without direct use of Objective-C, though Apple later revised its developer guidelines in April 2010 to restrict apps not originally coded in approved languages like C, effectively limiting such tools. Apple's internal attempts to port Flash to iOS resulted in "abysmal and embarrassing" performance, leading to no official Flash Player support on iPhone or iPad browsers. In contrast, Adobe provided Flash Player plugins for Android devices starting in 2010 with version 10.1, achieving initial viability on compatible hardware, but discontinued browser support entirely by mid-2012 amid persistent optimization challenges on ARM processors. For embedded systems, Adobe extended Flash capabilities through specialized runtimes like Flash Lite and Adobe Integrated Runtime (AIR) for ARM-based platforms, including televisions and set-top boxes, with a dedicated player version announced in April 2009 to enable rich media playback on consumer electronics. AIR facilitated app deployment on these devices, supporting features like video streaming, but adoption remained constrained by hardware limitations and the shift toward native alternatives. Empirical evaluations highlighted Flash's inefficiencies on battery-powered mobile hardware, with independent tests on devices like the Nexus One showing substantial drain—up to a "pretty big battery hit" after just 8 minutes of video playback—contrasting Adobe's claims of negligible impact under controlled Wi-Fi conditions. Native applications outperformed Flash plugins on touch-enabled devices due to direct hardware optimization, better gesture handling without intermediary layers, and lower resource demands, as Flash's desktop-oriented architecture struggled with ARM efficiency and input paradigms. This causal mismatch contributed to Adobe's pivot away from mobile browser plugins toward packaged AIR apps, though even those faced rejection and scalability issues on constrained platforms.

China-Specific Variant and Restrictions

In mainland China, Adobe authorized Zhong Cheng Network to exclusively distribute and maintain a variant of Flash Player via the flash.cn website following the global end-of-life on December 31, 2020. This distribution was geofenced to users, with confirming ongoing support for regional compliance and availability beyond the international discontinuation date. Security analyses in February 2021 revealed that downloads from flash.cn bundled , which automatically launched browser windows to display advertisements without user , distinguishing it from Adobe's globally unsupported versions. This variant, while officially licensed for , lacked Adobe's direct oversight outside the region and introduced risks from third-party bundling practices. Despite these hazards, Flash Player variants persisted in Chinese enterprise environments, exemplified by the Dalian segment of Shenyang Group, which delayed migration and experienced a 20-hour operational halt on January 12, 2021, when global deactivation codes rendered their dispatch systems inoperable until reverting to a pre-deactivation build. Such incidents highlighted the challenges of phased transitions in legacy-dependent infrastructure, where localized availability prolonged reliance on vulnerable software.

Open Source Initiatives

Release of SWF Specification

In May 2008, Systems released the () file format specification to the public without prior licensing restrictions, as part of its initiative aimed at expanding Flash content across devices and platforms. This move eliminated fees for distributing compatible players and runtimes, intending to foster and counter criticisms of by enabling third-party developers to build tools that could read, write, and render files. The specification detailed the binary structure for , animations, audio, and scripting elements up to contemporary versions, with updates continuing into later years, such as version 10 documentation covering 2006–2008 enhancements. The release facilitated limited third-party efforts, such as the GNU Gnash project, which leveraged the documented format to implement playback for files up to version 9, including partial 2.0 support and some version 3 features via opcode interpretation. Gnash, initiated prior to the specification's full openness, achieved compatibility for many version 7 features but struggled with advanced scripting, as the format's core structure did not fully disclose the Virtual Machine's proprietary bytecode execution (ABC format introduced in 9). Other attempts, like extensions to open-source renderers, similarly relied on the spec for file parsing but required extensive reverse-engineering for runtime behaviors. Empirically, the specification's impact on remained constrained, with no viable competitive players emerging to challenge Adobe's dominance; adoption stalled due to ActionScript's complexity, encompassing thousands of classes, , and dynamic features not exhaustively covered in the binary format docs alone. This enabled partial file handling for archival or extraction tools but failed to yield full-fledged alternatives, as evidenced by Gnash's incomplete coverage even years post-release and the absence of mainstream third-party runtimes by Flash's end-of-life in 2020. Consequently, the effort supported niche preservation of legacy content structures without disrupting Adobe's ecosystem control.

Post-EOL Emulation and Preservation Efforts

Following Adobe's end-of-life for Flash Player on January 12, 2021, community-led emulation projects emerged to enable playback of files without the original proprietary runtime. Mozilla's Shumway, an and JavaScript-based interpreter for content initiated in 2012, sought to render Flash natively in browsers but encountered substantial compatibility hurdles with complex features, leading to its discontinuation in 2016. Ruffle, an open-source emulator developed in since 2019, provides broader ongoing support for playback across modern browsers via and offers native desktop applications for enhanced performance. As of October 2025, Ruffle achieves compatibility with most pre-2010 Flash content, including basic 3.0 features, though advanced effects like certain Stage3D graphics or late-version optimizations remain partial or unsupported. Preservation initiatives leverage these emulators to archive interactive web media. Flashpoint Archive, a volunteer-driven project launched in 2017, curates over 150,000 Flash-based games and animations in a self-contained launcher, using embedded emulation to bypass browser dependencies and ensure offline access. The Internet Archive integrated Ruffle into its Emularity system in November 2020, enabling in-browser playback of thousands of preserved Flash items from its software library, with expansions by 2023 to handle larger collections of animations and toys. For enterprise environments maintaining legacy Flash-dependent systems, solutions like CheerpX convert SWF to runtimes, supporting seamless browser execution without original binaries, though full fidelity varies by application complexity. These efforts prioritize compatibility testing against known corpora, but gaps persist for proprietary or obfuscated content, underscoring emulation's role in cultural salvage rather than wholesale replacement.

Criticisms and Security Realities

Vulnerability Exploitation Patterns

Adobe Flash Player's extensive codebase for handling multimedia formats and scripting exposed a large , contributing to its profile beyond any inherent design flaws. Between 2015 and 2020, the software was associated with 533 (CVEs), of which approximately 85% involved potential remote code execution, often stemming from memory corruption issues during content parsing. Common exploitation patterns included buffer overflows, use-after-free errors, type confusion, and integer overflows in components processing formats like (FLV), Adobe Texture Format (ATF), and (PNG). For instance, stack-based buffer overflows in Flash Player versions prior to 15.0.0.246 allowed attackers to execute arbitrary code via malformed inputs. The plugin's ubiquity amplified these risks, as its peak install base exceeded 900 million devices by 2009, making it a for attackers seeking broad impact. (APT) groups frequently leveraged Flash vulnerabilities in targeted campaigns; examples include APT28 (also known as ) exploiting a zero-day in 2017 for , and APT3 using another Flash zero-day in phishing operations around 2015. Exploit kits in the mid-2010s often prioritized Flash flaws, with the platform accounting for eight of the top 10 vulnerabilities used in such tools during 2015. This pattern reflected causal realism: the combination of complex parsing logic and universal deployment incentivized attackers to invest in Flash-specific exploits, rather than isolated software defects. Adobe's response involved regular patching, which curbed the prevalence of actively exploited zero-days over time; while Flash ranked second only to Windows in zero-day discoveries historically, post-2015 updates addressed dozens of critical flaws annually, reducing the window for unmitigated attacks. Despite this, the plugin's decline correlated with fewer incidents, underscoring how reduced diminished its appeal as an .

Privacy Tracking Mechanisms

Adobe Flash Player employed Local Shared Objects (LSOs), commonly termed "Flash cookies," as a mechanism for storing persistent data on users' devices, enabling websites to track user behavior across sessions and sites independently of standard HTTP cookies. These LSOs, implemented via ActionScript in Flash applications, could hold identifiers, preferences, and analytics data up to 100 KB per object by default, with capabilities for cross-domain access when configured by developers. Unlike browser-managed cookies, LSOs resided in Flash Player's isolated storage directories—typically under user profiles on Windows or application support folders on macOS—rendering them unaffected by routine browser privacy tools that clear HTTP cookies or cache. This separation allowed LSOs to "respawn" deleted browser cookies by reinstating unique identifiers, a technique observed in over 50% of sampled popular websites during empirical audits conducted in 2009, where Flash data was used to restore tracking after HTTP cookie removal. LSOs facilitated cross-site tracking akin to third-party , with networks leveraging them for user profiling and ad targeting; for instance, firms like Quantcast and Specific Media integrated Flash-based identifiers to maintain continuity in user sessions disrupted by deletion. A 2009 study of high-traffic sites found that more than half employed LSOs for such purposes, often without explicit disclosure in policies, contributing to early concerns over opaque persistence pre-dating regulations like the EU's GDPR in 2018. However, Flash Player included user-accessible controls via the Settings Manager, accessible at adobe.com, where individuals could globally deny storage, revoke permissions for specific domains, or delete all LSOs—mechanisms Adobe enhanced in 2011 to improve transparency, such as integrating deletion prompts within browsers like Chrome. These opt-outs, while verifiable and effective when applied, required proactive user intervention outside browser defaults, contrasting with modern APIs like localStorage, which integrate more seamlessly with browser modes. In the , LSOs fueled debates on tracking resilience, exemplifying how plugin-based technologies enabled evasion of user gestures, yet their prevalence waned post-Flash's end-of-life as web development shifted to and equivalents—such as IndexedDB or —which, while more pervasive due to native browser support, face heightened and controls under frameworks like GDPR and browser do-not-track signals. Empirically, Flash tracking's causal role in persistent identification diminished relative to methods, as evidenced by reduced LSO deployments in audits after 2012, when adoption accelerated and browsers began enforcing plugin data clears. This transition highlighted LSOs' historical utility for analytics but underscored their limitations in an ecosystem increasingly favoring standardized, auditable web APIs over proprietary plugins.

Accessibility and Usability Limitations

Adobe Flash Player's accessibility implementation depended on the Active Accessibility (MSAA) protocol, integrated starting with version 6 in March 2002, which facilitated communication with screen readers like JAWS by allowing developers to expose UI elements and text via code. This approach required manual configuration of accessibility trees, often resulting in incomplete or inconsistent support for dynamic content, as screen readers could only access statically defined elements without additional scripting. Native support for roles and attributes, standardized in 2008, was absent, compelling reliance on proprietary MSAA bridges that failed to adapt to evolving web standards and led to gaps in semantic conveyance for assistive technologies. Keyboard navigation in Flash applications supported basic tab ordering and key event capture through , enabling traversal of defined focusable elements, but bypassed standard browser controls for embedded interactions, creating barriers for users dependent on keyboards alone. Complex animations and timelines frequently lacked predictable focus management, exacerbating navigation challenges without custom developer interventions to mimic native behaviors. Usability on mobile and touch-enabled devices was hampered by Flash's foundational mouse-centric model, with hover states and precise click targets proving ineffective for finger-based input and lacking robust multi-touch gesture recognition. Performance overhead from rendering vector graphics further degraded responsiveness on resource-constrained hardware, prompting Adobe to halt mobile Flash Player development on November 9, 2011, in favor of HTML5 alternatives better suited to touch paradigms. While Flash permitted interactive simulations and tutorials inaccessible via static HTML, its proprietary ecosystem often yielded WCAG non-conformance in practice, as developers overlooked MSAA exposure for non-essential elements.

Debates on Vendor Lock-In

Critics of argued that its proprietary runtime and development ecosystem fostered , rendering developers dependent on Adobe's tools, plugins, and updates for deployment and functionality, with high switching costs due to the platform's closed . This dependency was seen as inhibiting innovation tied to open web standards, as Flash content required Adobe's player for execution, unlike native , CSS, and alternatives that operated across vendor-agnostic browsers. Counterarguments emphasized that lock-in was overstated, as Adobe mitigated proprietary barriers by open-sourcing the Flex framework in , enabling community extensions and reducing reliance on closed tools for rich internet applications. Empirical evidence from post-2010 migrations supports feasibility over insurmountable lock-in: tools for converting Flash-based code to emerged widely, with enterprises rebuilding legacy systems despite initial inertia from extensive codebases—often millions of lines per project—driven more by sunk development costs than technical impossibility. Causal analysis of market dynamics reveals Flash's dominance stemmed from web standards' slow maturation rather than Adobe's monopoly; early and lacked robust support for , video, and , prompting Flash's for capabilities standards bodies like the W3C took years to standardize in HTML5. This inertia favored proprietary solutions temporarily, but browser vendors' phased deprecation by 2020 forced broad transitions, underscoring that developer choice persisted amid evolving alternatives, not absolute entrapment.

Apple Platform Exclusion Controversy

In April 2010, Apple CEO published an open letter entitled "," outlining the rationale for excluding Adobe Flash Player from devices including the , , and . contended that Flash was fundamentally proprietary, controlled solely by despite its broad distribution, and incompatible with the open standards ethos of the web. He highlighted empirical performance issues, including excessive CPU usage for video decoding that lacked on most platforms, leading to significant battery drain—exacerbated on mobile devices where Flash content required constant processor activity rather than efficient GPU utilization. Security vulnerabilities were another core concern, with Flash serving as a frequent entry point for and viruses due to its plugin-based execution model, which circumvented platform-level protections. further argued that Flash's design, rooted in keyboard-and-mouse interactions, failed to adapt to interfaces, rendering it unsuitable for 's native paradigm. Adobe Systems rebutted Jobs' assertions, with CEO Shantanu Narayen labeling claims of Flash's closed nature "amusing" and emphasizing its status as an deployed across billions of devices. Adobe maintained that technical shortcomings cited by Jobs masked Apple's strategic intent to monopolize development tools and app distribution via the iOS ecosystem, portraying the exclusion as protectionist rather than principled. A flashpoint was Apple's rejection of Adobe's iPhone Packager—a tool under intended to compile Flash content into standalone iOS apps—following an April 8, 2010, update to iOS developer guidelines (Section 3.3.1) that barred third-party compilers and intermediate code interpreters. This move effectively blocked Adobe's "end-around" strategy to bypass native browser support, despite internal Apple tests revealing Flash's iOS performance as "abysmal" with rapid battery depletion. The dispute underscored divergent philosophies: Apple's enforcement of a sandboxed, reviewed app model prioritized device stability and user security over plugin flexibility, viewing Flash's as inherently risky for mobile environments lacking robust isolation. Adobe and allied developers decried this as anti-competitive gatekeeping, arguing it stifled cross-platform and locked creators into Apple's . From a causal standpoint, iOS's native-only approach avoided the unchecked execution plaguing desktop Flash deployments, aligning with first-principles of runtime containment over permissive plugins. Ultimately, Apple permitted Adobe to repackage Flash and AIR content as native iOS apps submitted via the App Store, resulting in over 12,000 such applications by mid-decade, though without in-browser playback. This workaround proved insufficient for Adobe's mobile ambitions, prompting abandonment of Flash Player development for iOS in November 2011 and a pivot to HTML5 tools. The controversy catalytically hastened the web's transition to open, standards-based alternatives like HTML5, Canvas, and WebGL, diminishing proprietary plugin dominance and enhancing cross-device consistency, even as it initially constrained Flash-dependent content creators.

Legacy and Societal Impact

Key Achievements in Enabling Rich Web Content

Adobe Flash Player enabled the seamless embedding of video content across browsers via the FLV format, introduced by (later ) to support progressive download and streaming with integrated audio. Released alongside Flash MX in 2002 and significantly enhanced in Flash Player 8 on September 13, 2005, with support for the VP6 codec, FLV compressed videos to under 1 Mbit/s while maintaining quality suitable for dial-up connections, addressing the era's lack of native browser video standards. This innovation powered early video-sharing platforms, including YouTube's launch in February 2005, where Flash delivered playable content to over 90% of users equipped with Player 7 or later, bypassing inconsistent implementations. YouTube's reliance on Flash for cross-browser compatibility facilitated its user-generated video ecosystem, driving daily uploads from thousands of videos and enabling a valuation of $1.65 billion upon Google's acquisition in November 2006. In , Flash pioneered interactive rich media formats, allowing dynamic elements like animations and user-triggered actions that increased engagement over static banners; early implementations, such as a viral campaign, achieved click-through rates exceeding 20%, far surpassing typical display ad benchmarks of under 1%. For casual gaming and e-learning, Flash standardized vector-based and integration, hosting titles that collectively garnered over 3 billion plays by 2007 across 200 million monthly users, when native browser APIs lacked comparable scripting and rendering consistency. This ubiquity—reaching 95-98% penetration on internet-connected devices by the mid-2000s—bootstrapped web economies dependent on rich content, providing a yet effective bridge until open standards matured.

Causal Role in HTML5 Transition

The widespread adoption of for multimedia and interactive web content in the exposed fundamental limitations in native browser capabilities, such as the absence of standardized support for video playback and dynamic graphics, which in turn incentivized the development of equivalent open standards. The HTML5 <video> element, aimed at enabling embedded video without plugins, was first outlined in the WHATWG's HTML5 draft specifications around , directly addressing the proprietary dependencies exemplified by Flash's dominance in streaming services like early . Similarly, the <canvas> element, introduced in the same timeframe to support imperative drawing and animations via , emerged as a native counterpoint to Flash's vector-based rendering, filling gaps that had previously required third-party runtimes. Flash's vulnerabilities and incompatibility with emerging mobile platforms, particularly after Apple's April 2010 announcement excluding Flash from devices, intensified pressure on standards bodies like the W3C to accelerate maturation, shifting focus from plugin reliance to cross-platform openness. This post-2010 momentum saw browser vendors prioritize implementation, with widespread <video> support achieved by 2011 across major engines, enabling a phased displacement of Flash without halting web interactivity advancements. from major adopters underscores this causal dynamic: YouTube's January 2015 default switch to reduced video startup times by 15-80% and bandwidth usage by 35%, yielding efficiency gains that validated the transition while highlighting how Flash's prior ubiquity had proven the market demand for such capabilities. From a causal perspective, Flash did not merely precede HTML5 obsolescence but actively propelled web evolution by demonstrating feasible rich-media paradigms, likely expediting standards refinement; absent Flash's interim bridging of browser shortcomings, the pace of native development might have lagged, as early web protocols prioritized textual hypermedia over multimedia integration. This interplay preserved Flash's niche for complex, timeline-driven animations until its 2020 end-of-life, even as assimilated core functionalities, reflecting a non-zero-sum progression where informed but did not stifle open alternatives.

Persistent Enterprise Risks and Adware Issues in Legacy Variants

Despite Adobe's official end-of-support for Flash Player on December 31, 2020, with no subsequent security patches issued, legacy installations persisted in enterprise environments, particularly centers, heightening exposure to unremedied vulnerabilities. Reports from early 2021 highlighted that outdated Flash instances lingered in these settings due to compatibility dependencies in legacy applications, rendering systems susceptible to exploitation without vendor remediation. This persistence amplified risks, as known vulnerabilities—such as use-after-free flaws cataloged by CISA—remained unpatched and exploitable in disconnected or air-gapped setups. A notable variant emerged in , where a post-EOL Flash Player distribution via flash.cn bundled adware that autonomously launched browser windows to display advertisements, mimicking behavior despite its official sourcing. Security analyses in February 2021 confirmed this version's functionality, which evaded typical geofencing by being accessible through regional mirrors, potentially enabling smuggling or unauthorized global dissemination. Such bundling introduced causal vectors for unwanted payloads, distinct from core Flash exploits but compounding risks in holdout deployments. Enterprises attempting mitigation often resorted to virtualization techniques, such as isolating Flash in or third-party sandboxes, to contain potential breaches from unpatched code. However, these measures did not eliminate inherent dangers, as legacy Flash's exploitable flaws—unaddressed since 2020—could propagate beyond containment if sandbox escapes or misconfigurations occurred, underscoring ongoing causal vulnerabilities in non-updated variants through 2025. Fake update lures exploiting Flash's EOL notoriety continued facilitating delivery into 2024-2025, indirectly perpetuating risks tied to legacy recognition.

Release Milestones

Major Version Timeline

Adobe Flash Player's development began with version 1.0 in January 1996, offering rudimentary vector-based animations and limited interactivity for . Subsequent major releases progressively enhanced capabilities, scripting languages, and performance, enabling richer applications. Key milestones included the introduction of ActionScript 3.0 in version 9 for and Stage3D in version 11 for GPU-accelerated 3D rendering. Adoption was rapid, reaching approximately 98% penetration among web users by 2005 due to bundling with browsers and operating systems like . The following table outlines major versions, emphasizing feature additions that drove functionality expansions:
VersionRelease DateKey Features
1.0January 1996Basic vector graphics, simple animations, and primitive scripting (FutureSplash origins).
2.0June 1997Button controls, reusable libraries, stereo audio support, bitmap integration, and tweening for smoother motion.
3.01998Alpha transparency blending, MP3 audio compression for smaller file sizes.
4.0May 1999Streaming MP3 playback, motion tweening for automated animation paths.
5.0August 2000Introduction of ActionScript 1.0 for programmatic control beyond timeline-based animations.
6.0March 2002Native video import and playback via Sorenson Spark codec, shared libraries for asset reuse, accessibility features for screen readers.
7.0September 2003ActionScript 2.0 with improved object-oriented syntax, built-in charting components, advanced text rendering effects.
8.0August 2005Bitmap filter effects (e.g., blurs, glows), On2 VP6 video codec for better compression, device emulator for mobile testing.
9.0June 2006ActionScript 3.0 with AVM2 virtual machine for enhanced performance and ECMAScript compliance.
10.0October 2008Software-based 3D transformations (position, rotation, scaling), Speex audio codec, RTMFP protocol for peer-to-peer networking.
10.1June 2010Multi-touch gesture support, hardware-accelerated H.264 video decoding for efficiency.
11.0November 2011Stage3D API for low-level GPU-accelerated 3D graphics rendering, enabling complex games and visualizations.
Later versions, such as 32.0 released in , focused on compatibility maintenance rather than new features, preceding the end-of-life on December 31, , after which Adobe blocked content playback starting January 12, 2021. By the mid-2010s, version updates saw over 400 million desktops adopting new releases within six weeks, underscoring sustained enterprise and developer reliance despite emerging alternatives.

Security Patch Chronology

Adobe Flash Player's security patching regimen intensified after early vulnerabilities emerged around 2008, evolving into routine monthly Adobe Product Security Bulletins (APSB) augmented by emergency out-of-band releases for zero-day exploits. These updates typically addressed use-after-free errors, type confusion flaws, and other memory corruption issues mapped to (CVEs), with patches deployed across Windows, macOS, , and browser-integrated variants. Patch activity peaked in 2015 amid widespread exploitation, with Adobe issuing updates on 22 distinct days to counter a surge in critical vulnerabilities, including multiple zero-days actively used in attacks. For example, the May 12, 2015, release resolved at least 18 flaws in Flash Player and AIR, correlating to CVEs such as CVE-2015-3043, which enabled remote code execution via crafted SWF files. This rapid cadence reflected Adobe's prioritization of high-impact threats, often coordinating with vendors like Microsoft for synchronized browser updates. Post-2016, bulletins decreased in frequency as browser vendors phased out plugin support and HTML5 adoption accelerated, though critical fixes persisted for lingering deployments. Notable later examples include APSB19-30 on June 11, 2019, patching a critical alongside an important information disclosure issue (e.g., CVE-linked memory corruption), and APSB20-06 addressing a single critical flaw in early 2020. The chronology culminated in with final pre-end-of-life patches, such as APSB20-58, targeting a critical in Flash Player versions for Windows, macOS, , and Chrome OS. Adobe ceased all updates and support on December 31, , after which no further remedies were issued, leaving unpatched legacy instances exposed. Efficacy varied, with responses enabling quick CVE closures for zero-days but challenged by the plugin's broad and slow user adoption of patches.

References

Add your contribution
Related Hubs
User Avatar
No comments yet.