blob: 33b5f049f87a7a0367d8d6ea41486584e455b28b [file]
<!DOCTYPE html>
<html lang="en">
<head>
<title>Documentation | Grails Framework</title>
<meta name="keywords" content="grails,jvm,framework,groovy,gradle,spring-boot,gorm"/>
<meta name="description" content="A powerful Groovy-based web application framework for the JVM built on top of Spring Boot"/>
<meta name="date" content="February 19, 2026"/>
<meta name="robots" content="all"/>
<link rel="alternate" type="application/rss+xml" title="RSS" href="https://grails.apache.org/rss.xml"/>
<meta charset='UTF-8'/>
<link rel='icon' href='https://grails.apache.org/images/favicon.ico'/>
<meta name='twitter:card' content='summary_large_image'/>
<meta name='twitter:site' content='@grailsframework'/>
<meta name='twitter:description' content='A powerful Groovy-based web application framework for the JVM built on top of Spring Boot'/>
<meta name='twitter:creator' content='@grailsframework'/>
<meta property='og:image' content='https://grails.apache.org/images/grails.png'/>
<meta property='og:image:width' content='300'/>
<meta property='og:image:height' content='300'/>
<meta property='og:url' content='https://grails.apache.org'/>
<meta property='og:title' content='Documentation | Grails Framework'/>
<meta property='og:description' content='A powerful Groovy-based web application framework for the JVM built on top of Spring Boot'/>
<meta property='og:type' content='website'/>
<meta name='viewport' content='width=device-width, initial-scale=1'/>
<link rel='mask-icon' href='https://grails.apache.org/images/grails-pinned-icon.svg' color='feb672'/>
<link rel='stylesheet' href='https://grails.apache.org/stylesheets/screen.css'/>
<link rel='stylesheet' href='https://grails.apache.org/stylesheets/plugin.css'/>
<link rel='stylesheet' href='https://grails.apache.org/stylesheets/paginate.css'/>
<script src='https://grails.apache.org/javascripts/navigation.js'></script>
<script src='https://grails.apache.org/javascripts/paginate.js'></script>
<script src='https://grails.apache.org/javascripts/plugins.js'></script>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
_paq.push(['setDoNotTrack', true]);
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u = 'https://analytics.apache.org/';
_paq.push(['setTrackerUrl', u + 'matomo.php']);
_paq.push(['setSiteId', '79']);
var d = document, g = d.createElement('script'), s = d.getElementsByTagName('script')[0];
g.async = true; g.src = u + 'matomo.js'; s.parentNode.insertBefore(g, s);
})();
</script>
<!-- End Matomo Code -->
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="d804a9f2-51a2-414c-97f7-12f2a1ba4609"
data-project-name="Apache Grails"
data-project-color="#3F4346"
data-font-family="system-ui,-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,Segoe UI,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;"
data-project-logo="https://grails.apache.org/images/grails.png"
data-modal-override-open-id="ask-ai-input"
data-modal-override-open-class="search-input"
data-user-analytics-fingerprint-enabled="true"
data-modal-title="Apache Grails AI Assistant"
data-modal-example-questions-title="Try asking me..."
data-modal-disclaimer="This is a custom LLM for Apache Grails using [documentation](https://docs.grails.org/latest/), [groovy documentation](https://docs.groovy-lang.org/docs/groovy-4.0.28/html/documentation/) [github issues](https://github.com/apache/grails-core/issues) and more.
Companies deploy assistants like this [](https://kapa.ai) on docs via [website widget](https://docs.kapa.ai/integrations/website-widget) (Docker, Reddit), in [support forms](https://docs.kapa.ai/integrations/support-form-deflector) for ticket deflection (Monday.com, Mapbox), or as [an internal assistant](https://docs.kapa.ai/integrations/internal-assistant) with access to private sources."
data-modal-example-questions="How does database migration work?,How does Spring Security work?"
data-button-text-color="#FBB576"
data-modal-header-bg-color="#FFFFFF"
data-modal-title-color="#FBB576"
data-consent-required="true"
data-consent-screen-disclaimer="By clicking &quot;I agree, let&#39;s chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai&#39;s [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google&#39;s [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai&#39;s and Google&#39;s privacy policies.">
</script>
</head>
<body>
<header class='main-header'>
<div class='content'>
<a href='https://grails.apache.org/index.html'><img class='grails-logo' src='https://grails.apache.org/images/grails_logo.svg' alt='Grails Logo'/></a>
<a href='javascript:show("top-menus", "show-navigation-link")' id='show-navigation-link'
class='mobile align-center'>Show Navigation</a>
<div id='top-menus'>
<nav class='secondary-menu' id='secondary-menu'>
<ul>
<li><a href='https://grails.apache.org/casestudies/index.html'>Case Studies</a></li>
<li><a href='https://grails.apache.org/blog/index.html'>Blog</a></li>
<li><a href='https://grails.apache.org/learning.html'>Learning</a></li>
<li><a href='https://grails.apache.org/community.html'>Community</a></li>
<li><a href='https://grails.apache.org/search.html'>Search</a></li>
</ul>
</nav>
<nav class='main-menu' id='main-menu'>
<ul>
<li class='active'><a href='https://grails.apache.org/documentation.html'>Documentation</a></li>
<li><a href='https://grails.apache.org/download.html'>Download</a></li>
<li><a href='https://grails.apache.org/plugins.html'>Plugins</a></li>
<li><a href='https://guides.grails.org/index.html'>Guides</a></li>
<li><a href='https://grails.apache.org/faq.html'>FAQ</a></li>
<li><a href='https://grails.apache.org/support.html'>Support</a></li>
<li><a href='https://start.grails.org'>Forge App</a></li>
</ul>
</nav>
</div>
</div>
</header>
<article><div class='header-bar chalices-bg'><div class='content'><h1>Documentation</h1></div></div><div class='content'><div class='two-columns'><div class='odd column'><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/documentation.svg' alt='Grails Version (snapshot)' /><h2>Snapshot Version (snapshot) Documentation</h2></div><ul><li><a href='https://grails.apache.org/docs/snapshot/'>User Guide</a></li><li><a href='https://grails.apache.org/docs/snapshot/api/'>API Reference</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/gorm.svg' alt='GORM - Data Access Toolkit' /><h2>GORM - Data Access Toolkit</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/'>GORM Hibernate</a></li><li><a href='https://grails.apache.org/docs/latest/grails-data/mongodb/manual/'>GORM MongoDb</a></li><li><a href='https://gorm.grails.org/latest/neo4j/manual/index.html'>GORM Neo4j</a></li><li><a href='https://grails.github.io/grails-data-graphql/latest/hibernate/guide/index.html'>Graphql</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/security.svg' alt='Security' /><h2>Security</h2></div><ul><li><a href='https://apache.github.io/grails-spring-security/latest/core-plugin/guide/'>Spring Security Core</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/rest-plugin/guide/'>Spring Security REST</a></li><li><a href='https://grails-plugins.github.io/grails-spring-security-appinfo/'>Spring Security - AppInfo</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/ui-plugin/guide/'>Spring Security - UI</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/acl-plugin/guide/'>Spring Security - ACL</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/ldap-plugin/guide/'>Spring Security - LDAP</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/cas-plugin/guide/'>Spring Security - CAS</a></li><li><a href='https://apache.github.io/grails-spring-security/latest/oauth2-plugin/guide/'>Spring Security - Oauth2</a></li><li><a href='https://grails-plugins.github.io/grails-spring-security-kerberos/'>Spring Security - Kerberos</a></li></ul></div></div><div class='column'><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/documentation.svg' alt='Grails Version (7.0.7)' /><h2>Latest Version (7.0.7) Documentation</h2></div><ul><li><a href='https://grails.apache.org/docs/7.0.7/'>User Guide</a></li><li><a href='https://grails.apache.org/docs/7.0.7/api/'>API Reference</a></li></ul></div><div class='older-versions'><h3 class='column-header' style='margin-bottom: 10px'>Older Version</h3><p>Browse previous versions' documentation since Grails 1.2.0</p><script type='text/javascript'>
function redirectToDocs(selectEl, urlTemplate) {
if (selectEl.selectedIndex === 0) {
return; // No version selected
}
window.location.href = urlTemplate.replace('{v}', selectEl.value);
}
</script><div class='version-selector'><h4>Single Page - User Guide</h4><select onchange='redirectToDocs(this, &apos;https://grails.apache.org/docs/{v}/guide/single.html&apos;)'><option>Select a version</option>[<option>7.0.6</option>, <option>7.0.5</option>, <option>7.0.4</option>, <option>7.0.3</option>, <option>7.0.2</option>, <option>7.0.1</option>, <option>7.0.0</option>, <option>6.2.3</option>, <option>6.2.2</option>, <option>6.2.1</option>, <option>6.2.0</option>, <option>6.1.2</option>, <option>6.1.1</option>, <option>6.1.0</option>, <option>6.0.0</option>, <option>5.3.6</option>, <option>5.3.5</option>, <option>5.3.4</option>, <option>5.3.3</option>, <option>5.3.2</option>, <option>5.3.1</option>, <option>5.3.0</option>, <option>5.2.6</option>, <option>5.2.5</option>, <option>5.2.4</option>, <option>5.2.3</option>, <option>5.2.2</option>, <option>5.2.1</option>, <option>5.2.0</option>, <option>5.1.10</option>, <option>5.1.9</option>, <option>5.1.8</option>, <option>5.1.7</option>, <option>5.1.6</option>, <option>5.1.5</option>, <option>5.1.4</option>, <option>5.1.3</option>, <option>5.1.2</option>, <option>5.1.1</option>, <option>5.1.0</option>, <option>5.0.3</option>, <option>5.0.2</option>, <option>5.0.1</option>, <option>5.0.0</option>, <option>4.1.4</option>, <option>4.1.3</option>, <option>4.1.2</option>, <option>4.1.1</option>, <option>4.1.0</option>, <option>4.0.13</option>, <option>4.0.12</option>, <option>4.0.11</option>, <option>4.0.10</option>, <option>4.0.9</option>, <option>4.0.8</option>, <option>4.0.7</option>, <option>4.0.6</option>, <option>4.0.5</option>, <option>4.0.4</option>, <option>4.0.3</option>, <option>4.0.2</option>, <option>4.0.1</option>, <option>4.0.0</option>, <option>3.3.18</option>, <option>3.3.17</option>, <option>3.3.16</option>, <option>3.3.15</option>, <option>3.3.14</option>, <option>3.3.13</option>, <option>3.3.12</option>, <option>3.3.11</option>, <option>3.3.11</option>, <option>3.3.10</option>, <option>3.3.10</option>, <option>3.3.9</option>, <option>3.3.8</option>, <option>3.3.7</option>, <option>3.3.6</option>, <option>3.3.5</option>, <option>3.3.4</option>, <option>3.3.3</option>, <option>3.3.2</option>, <option>3.3.1</option>, <option>3.3.0</option>, <option>3.2.13</option>, <option>3.2.12</option>, <option>3.2.11</option>, <option>3.2.10</option>, <option>3.2.9</option>, <option>3.2.8</option>, <option>3.2.7</option>, <option>3.2.6</option>, <option>3.2.5</option>, <option>3.2.4</option>, <option>3.2.3</option>, <option>3.2.2</option>, <option>3.2.1</option>, <option>3.2.0</option>, <option>3.1.15</option>, <option>3.1.14</option>, <option>3.1.13</option>, <option>3.1.12</option>, <option>3.1.11</option>, <option>3.1.10</option>, <option>3.1.9</option>, <option>3.1.8</option>, <option>3.1.7</option>, <option>3.1.6</option>, <option>3.1.5</option>, <option>3.1.4</option>, <option>3.1.3</option>, <option>3.1.2</option>, <option>3.1.1</option>, <option>3.1.0</option>, <option>3.0.17</option>, <option>3.0.16</option>, <option>3.0.15</option>, <option>3.0.14</option>, <option>3.0.13</option>, <option>3.0.12</option>, <option>3.0.11</option>, <option>3.0.10</option>, <option>3.0.9</option>, <option>3.0.8</option>, <option>3.0.7</option>, <option>3.0.6</option>, <option>3.0.5</option>, <option>3.0.4</option>, <option>3.0.3</option>, <option>3.0.2</option>, <option>3.0.1</option>, <option>3.0.0</option>, <option>2.5.6</option>, <option>2.5.5</option>, <option>2.5.4</option>, <option>2.5.3</option>, <option>2.5.2</option>, <option>2.5.1</option>, <option>2.5.0</option>, <option>2.4.5</option>, <option>2.4.4</option>, <option>2.4.3</option>, <option>2.4.2</option>, <option>2.4.1</option>, <option>2.4.0</option>, <option>2.3.11</option>, <option>2.3.10</option>, <option>2.3.9</option>, <option>2.3.8</option>, <option>2.3.7</option>, <option>2.3.6</option>, <option>2.3.5</option>, <option>2.3.4</option>, <option>2.3.3</option>, <option>2.3.2</option>, <option>2.3.1</option>, <option>2.3.0</option>, <option>2.2.5</option>, <option>2.2.4</option>, <option>2.2.3</option>, <option>2.2.2</option>, <option>2.2.1</option>, <option>2.2.0</option>, <option>2.1.5</option>, <option>2.1.4</option>, <option>2.1.3</option>, <option>2.1.2</option>, <option>2.1.1</option>, <option>2.1.0</option>, <option>2.0.4</option>, <option>2.0.3</option>, <option>2.0.2</option>, <option>2.0.1</option>, <option>2.0.0</option>, <option>1.3.9</option>, <option>1.3.8</option>, <option>1.3.7</option>, <option>1.3.6</option>, <option>1.3.5</option>, <option>1.3.4</option>, <option>1.3.3</option>, <option>1.3.2</option>, <option>1.3.1</option>, <option>1.3.0</option>, <option>1.2.5</option>, <option>1.2.4</option>, <option>1.2.3</option>, <option>1.2.2</option>, <option>1.2.1</option>, <option>1.2.0</option>]</select></div><div class='version-selector'><h4>User Guide</h4><select onchange='redirectToDocs(this, &apos;https://grails.apache.org/docs/{v}&apos;)'><option>Select a version</option>[<option>7.0.6</option>, <option>7.0.5</option>, <option>7.0.4</option>, <option>7.0.3</option>, <option>7.0.2</option>, <option>7.0.1</option>, <option>7.0.0</option>, <option>6.2.3</option>, <option>6.2.2</option>, <option>6.2.1</option>, <option>6.2.0</option>, <option>6.1.2</option>, <option>6.1.1</option>, <option>6.1.0</option>, <option>6.0.0</option>, <option>5.3.6</option>, <option>5.3.5</option>, <option>5.3.4</option>, <option>5.3.3</option>, <option>5.3.2</option>, <option>5.3.1</option>, <option>5.3.0</option>, <option>5.2.6</option>, <option>5.2.5</option>, <option>5.2.4</option>, <option>5.2.3</option>, <option>5.2.2</option>, <option>5.2.1</option>, <option>5.2.0</option>, <option>5.1.10</option>, <option>5.1.9</option>, <option>5.1.8</option>, <option>5.1.7</option>, <option>5.1.6</option>, <option>5.1.5</option>, <option>5.1.4</option>, <option>5.1.3</option>, <option>5.1.2</option>, <option>5.1.1</option>, <option>5.1.0</option>, <option>5.0.3</option>, <option>5.0.2</option>, <option>5.0.1</option>, <option>5.0.0</option>, <option>4.1.4</option>, <option>4.1.3</option>, <option>4.1.2</option>, <option>4.1.1</option>, <option>4.1.0</option>, <option>4.0.13</option>, <option>4.0.12</option>, <option>4.0.11</option>, <option>4.0.10</option>, <option>4.0.9</option>, <option>4.0.8</option>, <option>4.0.7</option>, <option>4.0.6</option>, <option>4.0.5</option>, <option>4.0.4</option>, <option>4.0.3</option>, <option>4.0.2</option>, <option>4.0.1</option>, <option>4.0.0</option>, <option>3.3.18</option>, <option>3.3.17</option>, <option>3.3.16</option>, <option>3.3.15</option>, <option>3.3.14</option>, <option>3.3.13</option>, <option>3.3.12</option>, <option>3.3.11</option>, <option>3.3.11</option>, <option>3.3.10</option>, <option>3.3.10</option>, <option>3.3.9</option>, <option>3.3.8</option>, <option>3.3.7</option>, <option>3.3.6</option>, <option>3.3.5</option>, <option>3.3.4</option>, <option>3.3.3</option>, <option>3.3.2</option>, <option>3.3.1</option>, <option>3.3.0</option>, <option>3.2.13</option>, <option>3.2.12</option>, <option>3.2.11</option>, <option>3.2.10</option>, <option>3.2.9</option>, <option>3.2.8</option>, <option>3.2.7</option>, <option>3.2.6</option>, <option>3.2.5</option>, <option>3.2.4</option>, <option>3.2.3</option>, <option>3.2.2</option>, <option>3.2.1</option>, <option>3.2.0</option>, <option>3.1.15</option>, <option>3.1.14</option>, <option>3.1.13</option>, <option>3.1.12</option>, <option>3.1.11</option>, <option>3.1.10</option>, <option>3.1.9</option>, <option>3.1.8</option>, <option>3.1.7</option>, <option>3.1.6</option>, <option>3.1.5</option>, <option>3.1.4</option>, <option>3.1.3</option>, <option>3.1.2</option>, <option>3.1.1</option>, <option>3.1.0</option>, <option>3.0.17</option>, <option>3.0.16</option>, <option>3.0.15</option>, <option>3.0.14</option>, <option>3.0.13</option>, <option>3.0.12</option>, <option>3.0.11</option>, <option>3.0.10</option>, <option>3.0.9</option>, <option>3.0.8</option>, <option>3.0.7</option>, <option>3.0.6</option>, <option>3.0.5</option>, <option>3.0.4</option>, <option>3.0.3</option>, <option>3.0.2</option>, <option>3.0.1</option>, <option>3.0.0</option>, <option>2.5.6</option>, <option>2.5.5</option>, <option>2.5.4</option>, <option>2.5.3</option>, <option>2.5.2</option>, <option>2.5.1</option>, <option>2.5.0</option>, <option>2.4.5</option>, <option>2.4.4</option>, <option>2.4.3</option>, <option>2.4.2</option>, <option>2.4.1</option>, <option>2.4.0</option>, <option>2.3.11</option>, <option>2.3.10</option>, <option>2.3.9</option>, <option>2.3.8</option>, <option>2.3.7</option>, <option>2.3.6</option>, <option>2.3.5</option>, <option>2.3.4</option>, <option>2.3.3</option>, <option>2.3.2</option>, <option>2.3.1</option>, <option>2.3.0</option>, <option>2.2.5</option>, <option>2.2.4</option>, <option>2.2.3</option>, <option>2.2.2</option>, <option>2.2.1</option>, <option>2.2.0</option>, <option>2.1.5</option>, <option>2.1.4</option>, <option>2.1.3</option>, <option>2.1.2</option>, <option>2.1.1</option>, <option>2.1.0</option>, <option>2.0.4</option>, <option>2.0.3</option>, <option>2.0.2</option>, <option>2.0.1</option>, <option>2.0.0</option>, <option>1.3.9</option>, <option>1.3.8</option>, <option>1.3.7</option>, <option>1.3.6</option>, <option>1.3.5</option>, <option>1.3.4</option>, <option>1.3.3</option>, <option>1.3.2</option>, <option>1.3.1</option>, <option>1.3.0</option>, <option>1.2.5</option>, <option>1.2.4</option>, <option>1.2.3</option>, <option>1.2.2</option>, <option>1.2.1</option>, <option>1.2.0</option>]</select></div><div class='version-selector'><h4>API Reference</h4><select onchange='redirectToDocs(this, &apos;https://grails.apache.org/docs/{v}/api&apos;)'><option>Select a version</option>[<option>7.0.6</option>, <option>7.0.5</option>, <option>7.0.4</option>, <option>7.0.3</option>, <option>7.0.2</option>, <option>7.0.1</option>, <option>7.0.0</option>, <option>6.2.3</option>, <option>6.2.2</option>, <option>6.2.1</option>, <option>6.2.0</option>, <option>6.1.2</option>, <option>6.1.1</option>, <option>6.1.0</option>, <option>6.0.0</option>, <option>5.3.6</option>, <option>5.3.5</option>, <option>5.3.4</option>, <option>5.3.3</option>, <option>5.3.2</option>, <option>5.3.1</option>, <option>5.3.0</option>, <option>5.2.6</option>, <option>5.2.5</option>, <option>5.2.4</option>, <option>5.2.3</option>, <option>5.2.2</option>, <option>5.2.1</option>, <option>5.2.0</option>, <option>5.1.10</option>, <option>5.1.9</option>, <option>5.1.8</option>, <option>5.1.7</option>, <option>5.1.6</option>, <option>5.1.5</option>, <option>5.1.4</option>, <option>5.1.3</option>, <option>5.1.2</option>, <option>5.1.1</option>, <option>5.1.0</option>, <option>5.0.3</option>, <option>5.0.2</option>, <option>5.0.1</option>, <option>5.0.0</option>, <option>4.1.4</option>, <option>4.1.3</option>, <option>4.1.2</option>, <option>4.1.1</option>, <option>4.1.0</option>, <option>4.0.13</option>, <option>4.0.12</option>, <option>4.0.11</option>, <option>4.0.10</option>, <option>4.0.9</option>, <option>4.0.8</option>, <option>4.0.7</option>, <option>4.0.6</option>, <option>4.0.5</option>, <option>4.0.4</option>, <option>4.0.3</option>, <option>4.0.2</option>, <option>4.0.1</option>, <option>4.0.0</option>, <option>3.3.18</option>, <option>3.3.17</option>, <option>3.3.16</option>, <option>3.3.15</option>, <option>3.3.14</option>, <option>3.3.13</option>, <option>3.3.12</option>, <option>3.3.11</option>, <option>3.3.11</option>, <option>3.3.10</option>, <option>3.3.10</option>, <option>3.3.9</option>, <option>3.3.8</option>, <option>3.3.7</option>, <option>3.3.6</option>, <option>3.3.5</option>, <option>3.3.4</option>, <option>3.3.3</option>, <option>3.3.2</option>, <option>3.3.1</option>, <option>3.3.0</option>, <option>3.2.13</option>, <option>3.2.12</option>, <option>3.2.11</option>, <option>3.2.10</option>, <option>3.2.9</option>, <option>3.2.8</option>, <option>3.2.7</option>, <option>3.2.6</option>, <option>3.2.5</option>, <option>3.2.4</option>, <option>3.2.3</option>, <option>3.2.2</option>, <option>3.2.1</option>, <option>3.2.0</option>, <option>3.1.15</option>, <option>3.1.14</option>, <option>3.1.13</option>, <option>3.1.12</option>, <option>3.1.11</option>, <option>3.1.10</option>, <option>3.1.9</option>, <option>3.1.8</option>, <option>3.1.7</option>, <option>3.1.6</option>, <option>3.1.5</option>, <option>3.1.4</option>, <option>3.1.3</option>, <option>3.1.2</option>, <option>3.1.1</option>, <option>3.1.0</option>, <option>3.0.17</option>, <option>3.0.16</option>, <option>3.0.15</option>, <option>3.0.14</option>, <option>3.0.13</option>, <option>3.0.12</option>, <option>3.0.11</option>, <option>3.0.10</option>, <option>3.0.9</option>, <option>3.0.8</option>, <option>3.0.7</option>, <option>3.0.6</option>, <option>3.0.5</option>, <option>3.0.4</option>, <option>3.0.3</option>, <option>3.0.2</option>, <option>3.0.1</option>, <option>3.0.0</option>, <option>2.5.6</option>, <option>2.5.5</option>, <option>2.5.4</option>, <option>2.5.3</option>, <option>2.5.2</option>, <option>2.5.1</option>, <option>2.5.0</option>, <option>2.4.5</option>, <option>2.4.4</option>, <option>2.4.3</option>, <option>2.4.2</option>, <option>2.4.1</option>, <option>2.4.0</option>, <option>2.3.11</option>, <option>2.3.10</option>, <option>2.3.9</option>, <option>2.3.8</option>, <option>2.3.7</option>, <option>2.3.6</option>, <option>2.3.5</option>, <option>2.3.4</option>, <option>2.3.3</option>, <option>2.3.2</option>, <option>2.3.1</option>, <option>2.3.0</option>, <option>2.2.5</option>, <option>2.2.4</option>, <option>2.2.3</option>, <option>2.2.2</option>, <option>2.2.1</option>, <option>2.2.0</option>, <option>2.1.5</option>, <option>2.1.4</option>, <option>2.1.3</option>, <option>2.1.2</option>, <option>2.1.1</option>, <option>2.1.0</option>, <option>2.0.4</option>, <option>2.0.3</option>, <option>2.0.2</option>, <option>2.0.1</option>, <option>2.0.0</option>, <option>1.3.9</option>, <option>1.3.8</option>, <option>1.3.7</option>, <option>1.3.6</option>, <option>1.3.5</option>, <option>1.3.4</option>, <option>1.3.3</option>, <option>1.3.2</option>, <option>1.3.1</option>, <option>1.3.0</option>, <option>1.2.5</option>, <option>1.2.4</option>, <option>1.2.3</option>, <option>1.2.2</option>, <option>1.2.1</option>, <option>1.2.0</option>]</select></div></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/upgrade.svg' alt='Upgrade' /><h2>Upgrade</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/guide/upgrading.html'>Upgrade Documentation</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/testing.svg' alt='Testing' /><h2>Testing</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/guide/testing.html'>Testing Framework</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/views.svg' alt='Views' /><h2>Views</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#gsp'>GSP</a></li><li><a href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#gson'>JSON Views</a></li><li><a href='https://grails.apache.org/docs/latest/guide/theWebLayer.html#markup'>Markup Views</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/async.svg' alt='Async' /><h2>Async</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/guide/async.html'>Async Grails</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/relationaldb.svg' alt='Database' /><h2>Database</h2></div><ul><li><a href='https://grails.apache.org/docs/latest/grails-data/hibernate5/manual/index.html#databaseMigration'>Database Migration Plugin</a></li></ul></div><div class='guide-group'><div class='guide-group-header'><img src='https://grails.apache.org/images/documentation.svg' alt='Redis' /><h2>Redis</h2></div><ul><li><a href='https://github.com/apache/grails-redis?tab=readme-ov-file#grails-7'>Redis</a></li></ul></div></div></div></div>&nbsp;</article>
<footer>
<div class='content'>
<div class='apache-grails'>
<p>Apache Grails is supported by the Apache Software Foundation and the Grails community.</p>
<a href='https://apache.org'><img src='https://www.apache.org/img/asf_logo.png' width='200px' alt='Apache Software Foundation'/></a>
<p>Apache, Apache Grails, Grails, Groovy, and the ASF logo are either registered trademarks or trademarks of The Apache Software Foundation.</p>
</div>
<nav class='social-media-nav'>
<ul>
<li>
<a href='mailto:dev@grails.apache.org'><img src='https://grails.apache.org/images/email.svg' alt='Email Icon'/></a>
</li>
<li>
<a href='https://slack.grails.org'><img src='https://grails.apache.org/images/slack.svg' alt='Slack Icon'/></a>
</li>
<li>
<a href='https://www.youtube.com/@GrailsFramework'><img src='https://grails.apache.org/images/youtube.svg' alt='Youtube Icon'/></a>
</li>
<li>
<a href='https://www.linkedin.com/showcase/official-grails/'><img src='https://grails.apache.org/images/linkedin.svg' alt='LinkedIn Icon'/></a>
</li>
<li>
<a href='https://github.com/apache/grails-core'><img src='https://grails.apache.org/images/github.svg' alt='Github Icon'/></a>
</li>
<li>
<a href='https://twitter.com/grailsframework'><img src='https://grails.apache.org/images/x-twitter.svg' alt='Twitter Icon'/></a>
</li>
</ul>
</nav>
</div>
<div class='footer-bottom'>
<p>© 2005-2026 the Apache Grails project</p>
<p>Grails is Open Source:
<a href='https://www.apache.org/licenses/'>License</a>,
<a href='https://privacy.apache.org/policies/privacy-policy-public.html'>Privacy Policy</a>,
<a href='https://www.apache.org/foundation/sponsorship'>Sponsor Apache</a>,
<a href='https://www.apache.org/events/current-event'>Events</a>,
<a href='https://www.apache.org/security'>Security</a>,
<a href='https://www.apache.org/foundation/thanks.html'>Thanks</a>,
<a href='https://grails.apache.org/support-schedule.html'>Support Schedule</a>
</p>
</div>
</footer>
</body>
</html>