<?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:Application 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.9" 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.9" fontSize="20" fontWeight="bold" />
				<s:Label text="Released Jan 11, 2013" />
			</s:VGroup>	
		</s:HGroup>
		<s:RichText width="100%">
			<s:p />
			<s:p>Apache Flex community releases Flex 4.9.0. This is the first release since Apache Flex became a top level project of the Apache Software Foundation.</s:p>
			<s:p />
			<s:p>Differences and highlights include:</s:p>
			<s:list>
				<s:li>New locales for Apache Flex including Australian, British, Canadian, Greek, Switzerland (German) and Portuguese</s:li>
				<s:li>Apache Flex SDK can be compiled for any version of the Flash Player from 10.2 to 11.5</s:li>
				<s:li>New PostCodeFormatter and PostCodeValidator classes for international postcode formatting and validation</s:li>
				<s:li>New VectorList and VectorCollection classes for lists and collections of vectors</s:li>
				<s:li>New version of the TLF (Text Layout Framework), the TLF 3.0.33 source code is now included as it is now part of the Apache Flex donation</s:li>
				<s:li>Can use Java 7 to compile SDK (see README for instructions)</s:li>
				<s:li>Many improvements and updates to Mustella tests</s:li>
				<s:li>An SDK installer has also been created and is the recommended way of installing the Apache Flex SDK in an IDE</s:li>
				<s:li>Various important bug fixes</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:Application>
