<?xml version="1.0" encoding="utf-8"?>
<!--

  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

-->
<s:Module xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx">

	<s:Panel title="Apache Flex 4.8 (incubating)" width="100%" height="100%">
		<s:layout>
			<s:VerticalLayout paddingLeft="10" paddingRight="10" paddingTop="10" paddingBottom="10"/>
		</s:layout>
		<s:HGroup>
			<s:Image source="@Embed('/assets/ApacheFlexLogo.png')" width="50" height="50" />
			<s:VGroup height="100%" verticalAlign="middle">
				<s:Label text="Apache Flex 4.8 (incubating)" fontSize="20" fontWeight="bold" />
				<s:Label text="Released Jul 25, 2012" />
			</s:VGroup>	
		</s:HGroup>
		<s:RichText width="100%">
			<s:p />
			<s:p>Apache Flex community releases Flex 4.8.0 incubating and it as a parity release with Adobe Flex 4.6.0. This is the first release under the incubator of the Apache Software Foundation and represents the initial donation of Adobe Flex 4.6 by Adobe System Inc.</s:p>
			<s:p />
			<s:p>Differences and highlights include:</s:p>
			<s:list>
				<s:li>Flex trademark issues are largely cleared up</s:li>
				<s:li>Bug-tracking / issue-tracking system (JIRA) transferred from the Adobe bug tracker to Apache bug tracker</s:li>
				<s:li>Mustela test suite is donated to Apache</s:li>
			</s:list>
			<s:p />
			<s:p>For a full list of changes please see the README.</s:p>
			<s:p />
		</s:RichText>
		<s:Label text="Content from Wikipedia licenced under a Creative Commons Attribution-ShareAlike 3.0 Unported License" fontSize="9" />	
	</s:Panel>
</s:Module>
