= Apache TomEE 7.0.0-M3 released, Mar 06th 2016
:jbake-type: page
:jbake-status: published

The Apache TomEE community is proud to announce the release of xref:tomee-7.0.0-M3.adoc[Apache TomEE 7.0.0-M3], which is based on http://tomcat.apache.org/tomcat-8.0-doc/index.html[Apache Tomcat 8.0.32] and is our first milestone release towards EE7.
Part of this release an important security fix is included if EJBd is active on your instance (true by default).
More on xref:security/tomee.adoc[CVE-2016-0779].

Please feel free to check out and xref:contribute.adoc[contribute to the developer branch] - We are always interested in any help from the community that we can get.

This version is not certified and is provided to the community as a milestone preview of the current development version.
It is however an extremly well tested version.
So please do test your applications and give us your feedback.

The Apache TomEE 7.0.0-M3 release files can be downloaded from here:

xref:download/tomee-7.0.0-M3.adoc[http://tomee.apache.org/download/tomee-7.0.0-M3.html]

== Update Maven POM Files - The OpenEJB version and groupId have been aligned

Simply update your existing Maven JavaEE-API, OpenEJB and or TomEE pom.xml entries to point to the latest versions:

[source,xml]
----
<dependency>
	<groupId>org.apache.tomee</groupId>
	<artifactId>javaee-api</artifactId>
	<version>7.0</version>
	<scope>provided</scope>
</dependency>

<dependency>
	<groupId>org.apache.tomee</groupId>
	<artifactId>openejb-core</artifactId>
	<version>7.0.0-M3</version>
</dependency>

<dependency>
	<groupId>org.apache.tomee</groupId>
	<artifactId>tomee</artifactId>
	<version>7.0.0-M3</version>
</dependency>
----

A complete xref:tomee-7.0.0-M3-release-notes.adoc[Changelog] can be viewed here:

xref:tomee-7.0.0-M3-release-notes.adoc[tomee-7.0.0-M3-release-notes.html]

Please feel free to jump in feet first and xref:docs.adoc[get started with TomEE].
You will nearly always find someone to help you on one of our xref:support.adoc[support channels].
