In today's scheduled release, we've updated Flash Player and AIR with important bug fixes and security updates.

Current Flash Player customers who have enrolled in the "Allow Adobe to install updates (recommended)" update mechanism will be automatically updated to the latest version of Flash Player over the next 24 hours.

Users who have selected "Notify me to install updates" will receive an update notification dialog within 7 days from today.

Please note that Windows users will need to restart their system or log out and in to activate the update notification dialog.

The latest version of Flash Player can always be downloaded and installed by simply visiting https://get.adobe.com/flashplayer

Customers using Google Chrome or Windows 8.x/10 Internet Explorer or Microsoft Edge will receive updates through the Google and Microsoft update mechanisms.

In today's release, we've updated Flash Player ActiveX for Windows XP, Windows Vista and Windows 7. This release addresses a problem with Flash Player improperly loading in applicaitons that have it embedded. We are working with Microsoft to provide this update to Windows 8 and Windows 10 users as soon as possible.

December 28, 2015

In today's scheduled release, we've updated Flash Player and AIR with important bug fixes and security updates.

December 8, 2015

In today's scheduled release, we've updated Flash Player and AIR with new and improved functionality, important bug fixes and security updates.

We hope you enjoy this release. If you encounter any problems please us know by posting issues to our public bug database. For installation or usage help, please visit our community forums for assistance.

New Features

iOS SDK Upgrade

The AIR Runtime is now built with the iOS 9 SDK which enables AIR developers to use ANEs built with iOS 9 APIs without using the –platformSDK switch when packaging with ADT. In iOS9, Apple has introduced App Transport Security (ATS) which blocks unsecure connections between App and Web services. Due to this change, all connections made to unsecure web sites via Loader and URLLoader are now blocked by default and will not work due to App Transport Security. Please specify exceptions to the default behavior by adding keys to the InfoAdditions tag of your app's application descriptor.

<iPhone>

<InfoAdditions>

<![CDATA[

<key>NSAppTransportSecurity</key>

<dict>

<key>NSExceptionDomains</key>

<dict>

<key>yourserver.com</key>

<dict>

<!--Include to allow subdomains-->

<key>NSIncludesSubdomains</key>

<true/>

<!--Include to allow HTTP requests-->

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>

<true/>

<!--Include to specify minimum TLS version-->

<key>NSTemporaryExceptionMinimumTLSVersion</key>

<string>TLSv1.1</string>

</dict>

</dict>

</dict>

]]>

</InfoAdditions>

</iPhone>

Android SDK Upgrade

With AIR 20, Android SDK (API Level 21) has been upgraded in the AIR Runtime, we're now using the latest Android SDK version 24.3.4. Going forward, applications built using the latest AIR SDK will only support Android OS 4.0 or greater. For devices below Android OS 4.0, the AIR 19 shared runtime will continue to be made available on the Google Play store. If a developer wants their application to support OS versions less than 4.0 they will need to maintain multiple APKs live on Google Play store. Please read this article to know how to upload multiple APKs on Google Play store. It should be noted that when
multiple APKs are live on Play store, any device receives the latest version with which it is compatible.

For Example, in the case below, devices below Andorid 4.0 will receive version 1.5 and Android 4.0 and above will receive version 1.6 of the application.

Version for 4.0+ app is 1.6

And in the following case, since the latest version of the application is 1.7 and is compatible with all devices, here all devices will receive the 1.7 version of the application.

Version for 4.0+ app is 1.6

SecureSocket API Support for iOS

In this release we've introduced Secure socket support for AIR iOS applications. Using this feature, developers will be able to make socket connections using the Secure Sockets Layer (SSL) and Transport Layer Security (TLS) protocols.

The supported encryption protocols are those higher than SSL 3.0, and TLS 1.0 and higher. SSL version 3.0 and lower are not supported.

For more information about secure socket APIs, please refer to our API documentation. No new APIs are introduced with this feature.

APIs not supported for iOS

1. SecureSocket::addBinaryChainBuildingCertificate - This function is not available for iOS. If used, it will throw an exception “Argument Error: Error #2004 One of the parameters is invalid"

AIR 64 bit on Mac OS X

AIR 64 bit provides a major change for the AIR desktop developer. Prior to AIR version 20, AIR only supported a 32 bit Runtime dynamic Library for Mac and Windows. With the release of AIR 20, we will only be providing a 64 bit Runtime dynamic Library on Mac OS X. This means that all new applications created by AIR developers will be running on this 64 bit Runtime on Mac OS X, and all the existing shared, captive, and native applications will continue to work on this 64 bit Runtime on Mac OS X. Please find the relevant changes specific to existing applications:

1. Shared, Captive, and Native: All the apps will continue to run on AIR 64bit.

2. Native Extension: All native applications using a 32bit ANE will need to add a 64bit ANE to continue to work with AIR 20 and beyond on Mac OS X. To create a 64bit ANE you will need to provide the platform value as "MacOS-x86-64” in the extension.xml file as well as in the command used to create the ANE.

Provide Video Rotation Information to Action Script as Meta Data

According ISO/IEC 14996-12:2008 standard, videos must provide information matrices like Track Header Box and Movie Header Box. But the Flash runtime doesn’t process the matrix field values in Track Header Box and Movie Head Box correctly. This results in incorrect positioning or sizing of videos.

This problem is now resolved with Flash Player version 20 by providing video matrix information to ActionScript as a part of meta data object of the onMetaData event (which is a property of NetStream.Client). ActionScript developers can use these matrices to render the videos as needed.

This feature can be used to apply matrix information to a video object. See below for an example:

matrix.concat(info.trackHeaderBoxMatrix[0]); // Apply the matrix of the Track Header Box of Video Track provided by this feature to the video object.

// trackHeaderBoxMatrix is an array of MatrixObject because there can be one or more video tracks.

if (info.hasOwnProperty("movieHeaderBoxMatrix"))

matrix.concat(info.movieHeaderBoxMatrix); // Apply the matrix of the Movie Header Box provided by this feature to video object.

matrix.translate((newSize.x / 2), (newSize.y / 2));

video.transform.matrix = matrix; // Set new matrix to transform matrix of Video object.

}

function ns_onCuePoint(item:Object):void

{

trace("cuePoint");

}

Matrix information provided by this feature can only be applied to an instance of Video class . It can not be applied to StageVideo Class.

Matrices’ information will only be available for videos which in accordance with the ISO/IEC 14996-12:2008 standard.

PPAPI Vector Printing

As of Flash Player version 19, Vector Printing has only been available for NPAPI while PPAPI supported only bitmap printing. Hence there was an
observable difference in printing quality between NPAPI and PPAPI (with NPAPI being better). Now in Flash Player version 20, we have introduced vector printing for PPAPI on Windows, thus giving a better printing experience from PPAPI supported browsers and applications. Bitmap printing is still supported for content that requests it. We anticipate bringing support for Mac PPAPI vector printing in a future update.

Flash Player "Enable Hardware acceleration" setting for Edge and IE on Windows 8/10

The “Enable Hardware acceleration” option has been introduced to support the manual switching between software and hardware accelerated operations for the following features:

Video playback

Stage3D rendering.

The option is intended to allow users to force a software fallback to resolve display problems caused by faulty GPU drivers.

Instanced drawing

Stage3D APIs has provided developers a great way to render graphics efficiently using a devices' GPU. Developers can render beautiful graphics
using these APIs, but a particular scenario may occur, where a developer wants to render a particular graphical entity, multiple time. For example, what should a developer do if they want to create a forest, having thousands of trees. They might have a few models of trees and from these, they want to create a vast forest consisting of thousands of individual trees. One way to do it is to dispatch as many draw calls as there are trees while changing relevant variables in between. For example, each tree is located in a different spot, each tree can be larger or smaller than the average, etc. Doing this with dispatching separate draw calls can be very inefficient and time consuming.

The new Instanced drawing feature can help if this situation arises. Using instanced drawing, a developer can use a particular
model of graphical object and render it more than one time in single frame. This will reduce draw calls and hence rendering and overall
performance will be much smoother.

For solving instanced drawing problem we have basically introduced two new APIs one additional (iid) register in AGAL. A device should support Standard Extended Profile to have this feature.

Use the VertexBuffer3D object to upload a set of instance data to the rendering context. The vertex buffer contains the data needed to render each instance in the scene geometry. Vertex Buffers with instance data provide attributes that are common to all the vertices of an instance and serve as the input to the vertex shader program.

Open the project Properties panel (right-click and chose 'Properties').

Select ActionScriptCompiler from the list on the left.

Add "-swf-version=31" to the 'Additional compiler arguments' field.

This ensures the outputted SWF targets SWF version 31. If you compile on the command-line and not in Flash Builder, you need to add the same compiler argument.

Ensure you have installed the new Flash Player 20 build in your browser.

Authoring for AIR 20Update to the AIR 20 namespace

You must update your application descriptor file to the 20 namespace in order to access the new AIR 20 APIs and behavior. If your application does not require the new AIR 20 APIs and behavior, you are not required to update the namespace. However, we recommend all users start using the AIR 20 namespace even if you are not yet taking advantage of the new 20 capabilities. To update the namespace, change the xmlns attribute in your application descriptor to: <application xmlns="http://ns.adobe.com/air/application/20.0">

Reporting a Bug

Found a bug? Please submit a bug to the Flash Player and Adobe AIR bug database.

Flash Player and AIR may leverage your graphics hardware to decode and play H.264 video. There may be video issues that can only be reproduced with your particular graphics hardware and driver. When reporting an issue involving video, it is essential to note your graphics hardware and driver, along with your operating system and browser (when using Flash Player), so that we can reproduce and investigate issues. Please be sure to include this information as described in Instructions for Reporting Video Playback Issues. Note: Due to the high volume of email we receive, we are unable to respond to every request.

Thank you for using Adobe® Flash Player® and AIR® and for taking the time to send us your feedback!

System Requirements

For the latest Flash Player system requirements please review the document here

For the latest AIR system requirements please review the document here