August 14, 2012. Welcome to Adobe® Flash Player® 11.3 and AIR® 3.3. This release includes bug fixes related to general stability, audio, video, and iOS application development.
This release consists of security enhancements as listed in Security Bulletin APSB12-18
To use the new Flash Player, you will need to target SWF version 16 by passing in an extra compiler argument to the Flex compiler: -swf-version=16. Directions are below.
If you are using the Adobe Flex SDK:
- Download the new playerglobal.swc for Flash Player 11.3
- Download Flex 4.5.1 SDK (4.5.1.21328) from the Flex 4.5 SDK table.
- In Flash Builder, create a new ActionScript project: File -> New -> ActionScript project.
- Open the project Properties panel (right-click and chose 'Properties'). Select ActionScript Compiler from the list on the left.
- Use the 'Configure Flex SDK's' option in the upper right hand corner to point the project to Flex build 21328. Click ok.
- Configure your project to target SWF version 16
- Add to the 'Additional compiler arguments' input: -swf-version=16. This ensures the outputted SWF targets SWF version 16. 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 11.3 build in your browser.
Update to the AIR 3.3 namespace
You must update your application descriptor file to the 3.3 namespace in order to access the new AIR 3.3 APIs and behavior. If your application does not require the new AIR 3.3 APIs and behavior, you are not required to update the namespace. However, we recommend all users start using the AIR 3.3 namespace even if you are not yet taking advantage of the new 3.3 capabilities. To update the namespace, change the xmlns attribute in your application descriptor to:
<application xmlns="http://ns.adobe.com/air/application/3.3">
Full Screen Keyboard Input
To enable full screen with keys mode, a new / tag parameter, allowFullScreenInteractive, must be added to the containing HTML. This parameter defaults to false, i.e. not allowing full screen with keys. To allow full screen with keys, set allowFullScreenInteractive to "true" in your and tag as follows:
<object classid=”"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,18,0" width="600" height="400" id="fullScreen" align="middle"> <param name=”allowFullScreenInteractive” value=”true” /> <param name=”movie” value=”fullScreenInteractive.swf” /> <embed src=”fullScreen.swf” allowFullScreen=”true” width=”600” height=”400” name=”fullScreen” align=”middle” type=”application/x-shockwave-flash” pluginspage=”http://get.adobe.com/flashplayer/” /> </object>
FullScreenInteractiveDisable=1
flash.display.Stage.getAllowsFullScreenInteractive(); flash.display.StageDisplayState flash.events.FullScreenEvent
Texture Streaming
Texture Streaming is a new feature for Stage3D where it provides an ability to load coarser, lower quality textures first and then to progressively improve them as more data becomes available.
function createCubeTexture( size:int, format:String, optimizeForRenderToTexture:Boolean, streamingLevels:int=0):CubeTexture function createTexture( width:int, height:int, format:String, optimizeForRenderToTexture:Boolean, streamingLevels:int=0 ):Texture;
Additional optional parameter, streamingLevels, have been added to createTexture and createCubeTexture functions. If this parameter is non 0, streaming will be enabled for this texture. The maximum value is log2(max(width, height)) for 2D textures and log2(size) for cube map textures. A larger value will fail texture creation with an ActionScript error exception. Textures that enable streaming cannot be used for render to texture, and their optimizeForRenderToTexture flag is ignored.
Textures enabled for streaming have a potential penalty in memory usage of up to 50% additional size and a potential upload speed penalty as well. Once a texture is fully loaded it cannot be streamed to again with different content. If a texture is marked as streaming it is considered complete and ready for rendering when all mip level above and including the streamingLevels value are uploaded. Texture upload is unchanged.
Example:
[Embed( source = "MipLevel9.jpg" )]
var MipLevel9:Class;
var context3D:Context3D;
var texture:Texture;
stage.stage3Ds[0].addEventListener(Event.CONTEXT3D_CREATE, createdHandler);
stage.stage3Ds[0].requestContext3D(Context3DRenderMode.AUTO);
function createdHandler(e:Event) {
context3D = stage.stage3Ds[0].context3D;
//set streaming levels to 9, a 1x1 mip level for a complete texture size of 512 (Mip level 0 =512, Mip level 9 = 1)
texture = context3D.createTexture(512,512,Context3DTextureFormat.BGRA,false, 9);
var mip9:Bitmap = new MipLevel9();
texture.uploadFromBitmapData(mip9.bitmapData,9);
}
BitmapData.drawWithQuality
In the past, the stage quality would have to be modified to change the quality of BitmapData.draw. BitmapData. drawWithQuality is an extension of BitmapData.draw that adds an optional parameter to specify the quality of vector rendering.
function drawWithQuality(source: IBitmapDrawable, matrix:Matrix=null, colorTransform: ColorTransform =null, blendMode:String=null, clipRect:Rectangle=null, smoothing:Boolean=false, quality:String=null): void
Following are the supported quality values:
- StageQuality.LOW
- StageQuality.MEDIUM
- StageQuality.BEST
- StageQuality.HIGH_8X8_LINEAR
- StageQuality.HIGH_16X16
- StageQuality.HIGH_16X16_LINEAR
BitmapData.encode
BitmapData.encode allows native compression of a BitmapData object into PNG, JPEG, and JPEG XR. This allows developers to reach native speed for runtime image compression, very valuable on mobile devices.
function encode(rect:Rectangle,EncoderOptions :Object, byteArray: ByteArray = null): ByteArray;
// compress bitmap data as a JPEG file var bitmapData:BitmapData = new BitmapData(640,480,false,0x00FF00); var byteArray:ByteArray = new ByteArray(); bitmapData.encode(new Rectangle(0,0,640,480), new JPEGCompressOptions(), byteArray); // Display the bitmap we just encoded var loader:Loader = new Loader(); loader.loadBytes(byteArray); addChild(loader);
HW failure string in Context3D.driverinfo
This feature provides information in Context3D.driverInfo when the Stage3D content cannot be hardware accelerated. Context3D.driverInfo will include one of the following strings why the Stage3D is falling back to software.
- Software Hw_disabled=userDisabled
HW acceleration setting checkbox in Settings UI is disabled and Stage3D is rendered using software.
- Software Hw_disabled=oldDriver
HW graphics driver is blacklisted due to known issue and Stage3D is rendered using softare. It will be fixed by updating driver.
- Software Hw_disabled=unavailable
Unable to use hardware rendering due to driver's capability or blacklisted in general or any failure of HW graphics initialization and Stage3D is rendered using software.
- Software Hw_disabled=explicit
Content request a software rendering explicitly through requestContext3D and Stage3D is rendered using software
Aspect Ratio Enhancements
With AIR 3.3, the issue with the runtime ignoring the specified aspect ratio has been resolved. Orientation of stage will be restricted to only two orientations with device rotation, in case aspectRatio is set and autoOrients is true (depending upon the value of aspect-ratio, either landscape-left and landscape-right orientation or portrait and portrait-upside-down orientation should be supported).
A new StageAspectRatio constant named ANY has been added. StageAspectRatio.ANY can be used to achieve auto Stage orientation in all device orientations with autoOrients is set to true. This will be the default behavior when aspectRatio tag is absent in the application descriptor.
USB Debugging for AIR iOS
First, package the application with an extra -listen switch, which ensures that application listens for an fdb connection on launch.
adt -package -target (ipa-debug-interpreter | ipa-debug) -listen (port number optional) -provisioning-profile xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12 -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
By default, the application listens on port 7936. One can specify any port of their choice.
adt -package -target (ipa-debug-interpreter | ipa-debug) -listen 16000 xyz.mobileprovision -storetype pkcs12 -keystore Certificates.p12 -storepass pass123 OutputFile.ipa InputFile-app.xml InputFile.swf
2) Once the application is packaged as an ipa, install and launch it on the device.
3) Run the idb binary available @ SDK_LOCATION/lib/aot/idb with -devices as parameter. It will return the list of devices attached to the desktop along with their DEVICE_HANDLES.
idb -devices
4) Now, some port of the desktop needs to be forwarded to the port of the device which is listening for connection.
idb -forward LOCAL_PORT REMOTE_PORT DEVICE_HANDLE
This LOCAL_PORT refers to the port on your desktop. It can be any port number of your choice preferably greater than 8000.
The REMORT_PORT is the port number which you mentioned in the packaging command. If you didn’t mention any port number while packaging, by default your app would listen at port 7936.
The DEVICE_HANDLE for your device is the one that was obtained from Step 3.
5) Now, launch fdb using following command.
fdb -p LOCAL_PORT
6) It will start the fdb debugger. Type ’r’ in the command line to start the debugging session.
P.S. : idb offers another parameter called ’stopforward’, which can be used to stop the port forwarding. This however, works only till the fdb session hasn’t been established.
idb -stopforward LOCAL_PORT
Currently this feature is not supported on Flash Builder.
Enhanced Background Behavior for AIR iOS
Background support now more closely resembles native applications in iOS. In addition to some basic multitasking and background audio support that is already enabled with AIR for iOS, applications may now support location updates and networking in the background, as well as being notified when a background app is about to be suspended by the operating system.
For this, a couple of new Tags and an Event have been added. To support location updates in background, include the following in the iPhone tag in the AIR app descriptor:
<iPhone> <InfoAdditions> <![CDATA[ <key>UIBackgroundModes</key> <array> <string>location</string> </array> ]]> </InfoAdditions> </iPhone>
If your application specifies this tag and goes to background, the player will continue to run at 4fps. However all screen updates (rendering calls, OpenGL calls) will be disabled.
The UIBackgroundModes key supports both "location" and "audio" concurrently, should your application need to generate audio and track location at the same time (e.g. for a turn by turn nagivation app).
iOS provides a mechanism to run short background tasks. However, iOS does not guarantee that the task will be executed, but merely that it will keep working on the job on behalf of the user a little bit longer. There is a limit on the time up to which such background tasks may keep the app running.(approximately 10 mins)
If the application writer specifies the property executeInBackground to TRUE/FALSE then that value will be picked and application will behave accordingly. Currently when application goes to background the Deactivate Event is fired regardless of whether the app has suspended yet or not. To give the application more specific information, the Suspend event will be dispatched to the application when application is about to be suspended, enabling appropriate application behavior.
On iOS, in order to conserve battery life, player will be throttled down (to 4fps) whenever application chooses to execute in background.
Simulator Support
As the Simulator on iOS is x86 therefore two new targets have been added in ADT for it . Please note that Packaging for simulator is supported only in interpreter mode.
Targets are:
1.) ipa-test-interpreter-simulator
2.) ipa-debug-interpreter-simulator
To start testing your application on Simulator there is no need to obtain a developer certificate from Apple (which is a time consuming process) or create a provisioning profiles before starting to develop an AIR application. (A p12 certificate, which can be created by the user himself would be suffice)
To package application for simulator execute following commands.
Interpreter Target
adt -package -target ipa-test-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf
Debug Target
adt -package -target ipa-debug-interpreter-simulator -storetype pkcs12 -keystore Certificates.p12 -storepass password Sample_ipa_name sample_ipa-app.xml sample_ipa.swf
*To install application in simulator *
adt -installApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -package Sample_ipa_name.ipa
*To launch application in simulator *
adt -launchApp -platform ios -platformsdk (path to sdk like /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator5.0.sdk) -device ios-simulator -appid
Sample_ipa_name
To Test Native extension on Simulator a new platform name (iPhone-x86) support has been added in extension.xml
Please note that all the commands for packaging native extension will remain same but library.a file required from XCode should be the compiled for simulator only
extension.xml would look like
<extension xmlns="http://ns.adobe.com/air/extension/3.1"> <id>com.cnative.extensions</id> <versionNumber>1</versionNumber> <platforms> <platform name="iPhone-x86"> <applicationDeployment> <nativeLibrary>library.a</nativeLibrary> <initializer>TestNativeExtensionsInitializer </initializer> <finalizer>TestNativeExtensionsFinalizer </finalizer> </applicationDeployment> </platform> </platforms> </extension>
For current Flash Player system requirements, visit http://www.adobe.com/products/flashplayer/systemreqs/
For current AIR system requirements, visit http://www.adobe.com/products/air/systemreqs/
For Flash Access system requirements (client and server), visit http://www.adobe.com/products/flashaccess/systemreqs/
Flash Player 11.3 has the following minimum system requirements:
|
Windows® |
Macintosh |
Processor |
2.33 Ghz or faster x86-compatible processor, or Intel® Atom™ 1.6GHz or faster processor for netbook class devices |
Intel® Core™ Duo 1.83GHz or faster processor |
Operating System |
Microsoft® Windows® XP (32-bit), Windows Server® 2003 (32-bit), Windows Server® 2008 (32-bit), Windows Vista® (32-bit), Windows 7® (32-bit and 64-bit) |
Mac OS® X 10.6 and Mac OS X 10.7 |
Browser |
Internet Explorer 7.0 and above, Mozilla Firefox 4.0 and above, Google Chrome, Safari 5.0 and above, Opera 11 |
Safari 5.0 and above, Mozilla Firefox 4.0 and above, Google Chrome, Opera 11 |
Memory |
128MB of RAM (1GB RAM recommended for netbook class devices), 128MB of graphics memory |
256MB of RAM, 128MB of graphics memory |
|
Windows® |
Macintosh |
AndroidTM |
iOS |
Processor / Device Hardware |
2.33GHz or faster x86-compatible processor or Intel Atom™ 1.6GHz or faster processor for netbook class devices |
Intel® Core™ Duo 1.83GHz or faster processor |
ARMv7 processor with Vector FPU, Minimum 550MHz, OpenGL ES2.0, H.264 & AAC H/W Decoders |
iPod touch (3rd generation) 32 GB and 64 GB model, iPod touch 4, iPhone 3GS, iPhone 4, iPad, iPad 2 |
Operating System |
Microsoft® Windows® XP, Windows Server® 2003, Windows Server® 2008, Windows Vista® Home Premium, Business, Ultimate, or Enterprise (including 64-bit editions) with Service Pack 2, or Windows 7 |
Mac OS® X 10.6 and 10.7 |
AndroidTM 2.2, 2.3, 3.0, 3.1, 3.2 and 4.0 |
iOS 4.2 and higher |
RAM |
512MB of RAM (1GB recommended) |
512MB of RAM (1GB recommended) |
256MB RAM |
- |
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!
Release Date |
Runtime Version(s) |
New Features |
Security Enhancements |
Fixed Issues |
| June 21st,2012 |
Flash Player 11.3.300.262 Windows plugin only |
N/A | N/A | Users experience crashes while viewing Flash content in Firefox on Windows(3211153) |
June 8th,2012 |
Flash Player Desktop 11.3.300.257 |
Desktop: AIR Mobile: |
APSB-14 | [Stage 3D for Desktop] Starling content renders in wrong location(3153467) |

