{{ partial "header.html" . }}

<h1>Apache Camel {{ .Params.version }} Release</h1>
<h2>New and Noteworthy</h2>
{{ .Content }}
<h2>API breaking</h2>
{{ .Params.apiBreaking }}
<h2>Known issues</h2>
{{ .Params.knownIssues }}
<h2>Getting the Binaries using Maven</h2>
<h3>Binary Distributions</h3>
<table class="tableblock frame-all grid-all stretch">
  <thead>
  <tr>
    <td>Description</td>
    <td>Download Link</td>
    <td>PGP Signature file of download</td>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>Windows Distribution</td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}.zip">apache-camel-{{ .Params.version }}.zip</a></td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}.zip.asc">apache-camel-{{ .Params.version }}.zip.asc</a></td>
  </tr>
  <tr>
    <td>Unix/Linux/Cygwin Distribution</td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}.tar.gz">apache-camel-{{ .Params.version }}.tar.gz</a></td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}.tar.gz.asc">apache-camel-{{ .Params.version }}.tar.gz.asc</a></td>
  </tr>
  </tbody>
</table>
<h4>Source Distributions</h4>
<table class="tableblock frame-all grid-all stretch">
  <thead>
  <tr>
    <td>Description</td>
    <td>Download Link</td>
    <td>PGP Signature file of download</td>
  </tr>
  </thead>
  <tbody>
  <tr>
    <td>Source (zip)</td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}-src.zip">apache-camel-{{ .Params.version }}-src.zip</a></td>
    <td><a href="http://www.apache.org/dyn/closer.cgi/camel/apache-camel/{{ .Params.version }}/apache-camel-{{ .Params.version }}-src.zip.asc">apache-camel-{{ .Params.version }}-src.zip.asc</a></td>
  </tr>
  </tbody>
</table>

<h3>Git tag checkout</h3>
<pre>
  git clone https://git-wip-us.apache.org/repos/asf/camel.git
  cd camel
  git checkout camel-{{ .Params.version }}
</pre>
<h5>Getting the Binaries using Maven</h5>
To use this release in your maven project, the proper dependency configuration that you should use in your Maven POM is:
<pre><code>
{{ htmlUnescape "<dependency>" }}
{{ htmlUnescape "  <groupId>org.apache.camel</groupId>" }}
{{ htmlUnescape "  <artifactId>camel-core</artifactId>" }}
{{ htmlUnescape "  <version>" }}{{ .Params.version }}{{ htmlUnescape "</version>" }}
{{ htmlUnescape "</dependency>" }}
</code></pre>

<h3>Changelog</h3>
For a more detailed view of new features and bug fixes, see the:<br/>
<a href="https://issues.apache.org/jira/secure/ReleaseNote.jspa?projectId=12311211&version={{ .Params.jiraVersionId }}">Release notes for {{ .Params.version }}</a>

{{ partial "footer.html" . }}
htmlEscape
