---
layout: main-page
title: Welcome to the Apache Struts project
---

<div class="container hero">
  <div class="jumbotron col-md-12">
    <h1>Apache Struts</h1>
    <p>Apache Struts is a free, open-source, MVC framework for creating elegant,
      modern Java web applications. It favors convention over configuration, is
      extensible using a plugin architecture, and ships with plugins to support
      REST, AJAX and JSON.
    </p>
    <a href="download.cgi#struts{{ site.current_version_short }}" class="btn btn-primary btn-large">
      <img src="img/download-icon.svg" alt="Download"> Download
    </a>
    <a href="primer.html" class="btn btn-info btn-large">
      <img src="img/primer-icon.svg" alt="Technology Primer"> Technology Primer
    </a>
  </div>
</div>
<div class="container important-notes">
  <div class="col-md-12">
    <div class="row">
      <div class="column col-md-4">
        <h2>Apache Struts {{ site.current_version }} GA</h2>
        <p>
          Apache Struts {{ site.current_version }} GA has been released<br/>on {{ site.release_date }}.
        </p>
        Read more in <a href="announce-2024#a{{ site.release_date_short }}">Announcement</a> or in
        <a href="{{ site.wiki_url }}/Version+Notes+{{ site.current_version }}">Version notes</a>
      </div>
      <div class="column col-md-4">
        <h2>Apache Struts {{ site.prev_version }} GA</h2>
        <p>
          Apache Struts {{ site.prev_version }} GA has been released<br/>on {{ site.prev_release_date }}.
        </p>
        Read more in <a href="announce-2023#a{{ site.prev_release_date_short }}">Announcement</a> or in
        <a href="{{ site.wiki_url }}/Version+Notes+{{ site.prev_version }}">Version notes</a>
      </div>
      <div class="column col-md-4">
        <h2>Apache Struts {{ site.prev_25_version }} GA</h2>
        <p>
          Apache Struts {{ site.prev_25_version }} GA has been released<br/>on {{ site.prev_25_release_date }}.
        </p>
        Read more in <a href="announce-2023#a{{ site.prev_25_release_date_short }}">Announcement</a> or in
        <a href="{{ site.wiki_url }}/Version+Notes+{{ site.prev_25_version }}">Version notes</a>
      </div>
    </div>
    <div class="row">
      <div class="column col-md-4">
        <h2>Apache Struts 7.0.0-M6</h2>
        <p>
          Apache Struts 7.0.0-M6 test build is available as from 20 April 2024.
        </p>
        Read more in <a href="announce-2024#a20240420">Announcement</a> or in
        <a href="{{ site.wiki_url }}/Version+Notes+7.0.0-M6">Version notes</a>
      </div>
      <div class="column col-md-4">
        <h2>Google's Patch Reward program</h2>
        <p>During <a href="http://www.meetup.com/sfhtml5/">SFHTML5</a> Google announced that
          they extend their program to cover the Apache Struts project as well. Now you can earn
          money preparing patches for us!
          <a href="submitting-patches.html#googles-patch-reward-program">read more</a>
        </p>
      </div>
      <div class="column col-md-4">
        <h2>Apache Struts 2.5.x EOL</h2>
        <p>
          The Apache Struts Team informs about discontinuing support for Struts 2.5.x branch, we recommend migration
          to the latest version of Struts, read more in
          <a href="announce-2023#a20231030">Announcement</a>
        </p>
      </div>
    </div>
  </div>
</div>
<div class="container contact-channels">
  <div class="col-md-12">
    <h5>Keep in touch: </h5>
    <div class="channels">
      <div class="facebook-btn">
        <div data-href="https://www.facebook.com/apachestruts" data-width="250" data-layout="button_count" data-action="like" data-show-faces="false" data-share="true" class="fb-like"></div>
      </div>
      <div class="github-btn">
        <a class="github-button" href="https://github.com/apache/struts" data-color-scheme="no-preference: light; light: light; dark: light;" data-show-count="true" aria-label="Star apache/struts on GitHub">Star</a>
      </div>
      <div class="twitter-btn">
        <a href="https://twitter.com/TheApacheStruts" data-show-count="false" data-lang="en" data-width="240px" data-align="left" class="twitter-follow-button">Follow @TheApacheStruts</a>
      </div>
    </div>
  </div>
</div>
