Files
avmplus/core/api-versions.xml
dmcallis 65a0592776 Initial source code drop
Source code drop for the Actionscript virtual machine in the Adobe
Flash Player for December 2013
2013-12-02 16:04:04 -08:00

92 lines
3.4 KiB
XML

<!-- This Source Code Form is subject to the terms of the Mozilla Public
- License, v. 2.0. If a copy of the MPL was not distributed with this
- file, You can obtain one at http://mozilla.org/MPL/2.0/. -->
<!--
This is a strawman for how we specify version compatibility for the player.
Player API versions are associated with the set of attributes that defines
incompatible changes to that API. At a minimum this set incudes the release
of the player. In Argo we will likely add two more attributes: product
(Player and AIR) and profile (Desktop and SmartPhone). This set of attributes
can change over time. Note however, even if attributes are dropped from
the specification, they must remain in the compatibility matrix forever.
The list of attributes within its parent defines the compatiblity relationship
between those attributes. Release 10.1.52 is compatible with 10.1.62, but not
vice-versa. A particular profile and release of Player is compatible with the
same profile and release of AIR, but not vice-versa.
The leaf elements are always version specifications. These must be unique
but do not have to be in any particular order.
From this xml we generate AS code that defines a compatibility matrix.
This code is embedded in the release of Flash runtime glue and used by
ASC and AVM to control the visibility of names in the API.
-->
<api>
<series name="AIR">
<version name="AIR_1_0"/>
<version name="AIR_1_5"/>
<version name="AIR_1_5_1"/>
<version name="AIR_1_5_2"/>
<version name="AIR_2_0"/>
<version name="AIR_2_5"/>
<version name="AIR_2_6"/>
<version name="AIR_2_7"/>
<version name="AIR_3_0"/>
<version name="AIR_3_1"/>
<version name="AIR_3_2"/>
<version name="AIR_3_3"/>
<version name="AIR_3_4"/>
<version name="AIR_3_5"/>
<version name="AIR_3_6"/>
<version name="AIR_3_7"/>
<version name="AIR_3_8"/>
<version name="AIR_3_9"/>
</series>
<series name="FP">
<version name="FP_10_0"/>
<!-- note that nothing has ever been tagged with FP_10_0_32, but it needs to
remain for acceptance tests to pass -->
<version name="FP_10_0_32"/>
<!-- note that FP_10_1 is essentially equivalent to FP_10_0_32 and FP_10_0 -->
<version name="FP_10_1"/>
<version name="FP_10_2"/>
<version name="SWF_12"/>
<version name="SWF_13"/>
<version name="SWF_14"/>
<version name="SWF_15"/>
<version name="SWF_16"/>
<version name="SWF_17"/>
<version name="SWF_18"/>
<version name="SWF_19"/>
<version name="SWF_20"/>
<version name="SWF_21"/>
<version name="SWF_22"/>
</series>
<!-- this means "every API in sub is also in super" -->
<ordering>
<set sub="FP_10_0" super="AIR_1_5"/>
<set sub="FP_10_0_32" super="AIR_1_5_2"/>
<set sub="FP_10_1" super="AIR_2_0"/>
<set sub="FP_10_2" super="AIR_2_6"/>
<set sub="SWF_12" super="AIR_2_7"/>
<set sub="SWF_13" super="AIR_3_0"/>
<set sub="SWF_14" super="AIR_3_1"/>
<set sub="SWF_15" super="AIR_3_2"/>
<set sub="SWF_16" super="AIR_3_3"/>
<set sub="SWF_17" super="AIR_3_4"/>
<set sub="SWF_18" super="AIR_3_5"/>
<set sub="SWF_19" super="AIR_3_6"/>
<set sub="SWF_20" super="AIR_3_7"/>
<set sub="SWF_21" super="AIR_3_8"/>
<set sub="SWF_22", super="AIR_3_9"/>
</ordering>
</api>