<?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.
-->
<document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">

	<properties>
		<title>Releases</title>
	</properties>

	<body>
		<section name="Release Change Logs">

				<p><a href="jira-report.html#a1.0-alpha1">JIRA change log</a></p>
        <p><a href="changes-report.html#a1.0-alpha1">Manual change log</a></p>

				<p>Apache Log4j 2 is not compatible with the previous versions. Please have the following in mind
				when upgrading to Log4j 2 in your project:</p>

				<ul>
					<li>Java 6 is required</li>
          <li>The XML configuration has been simplified and is not compatible with Log4j 1.x</li>
          <li>Configuration via property files is not supported.</li>
          <li>Configuration via JSON is supported.</li>
          <li>Although Log4j 2 is not directly compatible with Log4j 1.x and compatibility bridge
            has been provided to reduce the need to make coding changes.</li>
				</ul>

		</section>
	</body>
</document>
