---
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-2023#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 6.3.0 GA</h2>
        <p>
          Apache Struts 6.3.0 GA has been released<br/>on 4 September 2023.
        </p>
        Read more in <a href="announce-2023#a20230904">Announcement</a> or in
        <a href="{{ site.wiki_url }}/Version+Notes+6.3.0">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>
