diff --git a/README.md b/README.md
index ce9477a..f5c2683 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
  
 The following example assumes you have commit permissions to the `apache/shiro-site` repository, typically because your are an Apache Shiro project committer:
     
-    # clone both repo branches `asf-site` and `master`
+    # clone both repo branches `asf-site` and `main`
     git clone https://github.com/apache/shiro-site -b asf-site shiro-site-publish
     git clone https://github.com/apache/shiro-site
     
diff --git a/assets/js/shiro-site.js b/assets/js/shiro-site.js
index 19584b2..bce11ce 100644
--- a/assets/js/shiro-site.js
+++ b/assets/js/shiro-site.js
@@ -2,7 +2,7 @@
 function addPageEditLink() {
 
     var ghRepo = "apache/shiro-site";
-    var ghRelHref = "https://github.com/" + ghRepo + "/edit/master/";
+    var ghRelHref = "https://github.com/" + ghRepo + "/edit/main/";
 
     var ghEditPageElement = $( "#ghEditPage" );
     var editThisPageElement = $(".editThisPage");
diff --git a/authentication.md.vtl b/authentication.md.vtl
index fcf352d..37991d7 100644
--- a/authentication.md.vtl
+++ b/authentication.md.vtl
@@ -303,7 +303,7 @@
 Realm Authentication
 --------------------
 
-This chapter covers Shiro's master workflow explaining how an authentication attempt occurs. The internal workflow of what happens in a single realm as it is consulted during authentication (i.e. 'Step 5' above) is covered in the [Realm](realm.html "Realm") chapter's [Realm Authentication](realm.html#[[#]]#Realm-authentication) section.
+This chapter covers Shiro's main workflow explaining how an authentication attempt occurs. The internal workflow of what happens in a single realm as it is consulted during authentication (i.e. 'Step 5' above) is covered in the [Realm](realm.html "Realm") chapter's [Realm Authentication](realm.html#[[#]]#Realm-authentication) section.
 
 #lendAHandDoc()
 
diff --git a/authorization.md.vtl b/authorization.md.vtl
index a0fb898..e201adc 100644
--- a/authorization.md.vtl
+++ b/authorization.md.vtl
@@ -346,7 +346,7 @@
 
 Before you can use Java annotations, you'll need to enable AOP support in your application. There are a number of different AOP frameworks so, unfortunately, there is no standard way to enable AOP in an application.
 
-For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/master/samples/aspectj).
+For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/main/samples/aspectj).
 
 For Spring applications, you can look into our [Spring Integration](spring.html "Spring") documentation.
 
diff --git a/developer-resources.md.vtl b/developer-resources.md.vtl
index 5c83c1f..b9e38ee 100644
--- a/developer-resources.md.vtl
+++ b/developer-resources.md.vtl
@@ -13,7 +13,7 @@
 
 We use a Git repository located at [git://git.apache.org/shiro.git](git://git.apache.org/shiro.git).
 
-Active development is done in the `master` branch, and maintenance typically on the `1.2.x` branch.
+Active development is done in the `main` branch, and maintenance typically on the `1.2.x` branch.
 
 <a name="DeveloperResources-BuildingfromGit"></a>
 #[[###Building from Git]]#
@@ -35,5 +35,5 @@
     
     The resulting artifacts will be in your local M2 Repo under the org.apache.shiro group.
 
-#danger('Cutting-edge development', 'When building from `master` or any branches, use the generated artifacts at your own risk!  Current and previous stable releases will always be available via the <a href="download.html" title="Download">Download</a> page.')
+#danger('Cutting-edge development', 'When building from `main` or any branches, use the generated artifacts at your own risk!  Current and previous stable releases will always be available via the <a href="download.html" title="Download">Download</a> page.')
 <input type="hidden" id="ghEditPage" value="developer-resources.md.vtl"></input>
diff --git a/how-to-contribute.md b/how-to-contribute.md
index 5db1ef4..3af9830 100644
--- a/how-to-contribute.md
+++ b/how-to-contribute.md
@@ -91,7 +91,7 @@
 
 Apache Shiro has a read-only mirror on GitHub that is kept in sync with the canonical Git repo maintained by the Apache Software Foundation. Submitting GitHub pull requests is the easiest way to get your contribution upstream. For detailed instructions see the link below:
 
-[GitHub Contribution Guidelines](https://github.com/apache/shiro/blob/master/CONTRIBUTING.md)
+[GitHub Contribution Guidelines](https://github.com/apache/shiro/blob/main/CONTRIBUTING.md)
 
 <a name="HowtoContribute-submitThroughJIRA"></a>
 ###Submitting a patch through JIRA
@@ -130,7 +130,7 @@
 
 ``` bash
 [user@localhost shiro]$ git branch
-master
+main
 * mybranch
 ```
 
@@ -143,7 +143,7 @@
 Finally, you can create a patch and attach it to the JIRA issue that you created for the bug you are fixing.
 
 ``` bash
-git format-patch master --stdout > ~/patch-name.patch
+git format-patch main --stdout > ~/patch-name.patch
 ```
 
 <a name="HowtoContribute-review"></a>
@@ -170,7 +170,7 @@
 *   Try to at least offer a partial solution and not just a problem statement.
 *   Take the time to clearly explain your issue and write a concise email message. Less confusion facilitates fast and complete resolution.
 *   Do not bother to send an email reply that simply says "thanks". When the issue is resolved, that is the finish - end of thread. Reduce clutter.
-*   You would usually do any development work against the master branch in Git.
+*   You would usually do any development work against the main branch in Git.
 *   When sending a patch, you usually do not need to worry about which Git branch it should be applied to. The maintainers of the repository will decide.
 *   Keep all project-related discussion on the mailing list. It is much better to utilise the wider audience, rather than to break off into private discussion groups. You never know who else will have the answer to your issues, and anyway other people are interested in the outcome.
 *   Become familiar with the mailing lists. As you browse and search, you will see the way other people do things. Follow the leading examples.
diff --git a/integration.md b/integration.md
index d144218..26f8a09 100644
--- a/integration.md
+++ b/integration.md
@@ -62,7 +62,7 @@
 * **[Krail](https://github.com/davidsowerby/krail)** from [@davidsowerby](https://github.com/davidsowerby)
 Krail provides a framework for rapid Java web development by combining Vaadin, Guice, Apache Shiro, Apache Commons Configuration and others.
 
-* **[Rewrite Servlet](https://github.com/ocpsoft/rewrite/tree/master/security-integration-shiro)** from [ocpsoft](http://www.ocpsoft.org/rewrite/)
+* **[Rewrite Servlet](https://github.com/ocpsoft/rewrite/tree/main/security-integration-shiro)** from [ocpsoft](http://www.ocpsoft.org/rewrite/)
 A highly configurable URL-rewriting tool for Java EE 6+ and Servlet 2.5+ applications
 
 * **[Freedomotic](http://freedomotic-developer-manual.readthedocs.io/en/latest/plugins/security.html)** from [freedomotic](http://www.freedomotic.com)
@@ -84,5 +84,5 @@
 * **[Angular](https://github.com/gnavarro77/angular-shiro)** - Angular
 
 ##Got An Integration?
-Have an integration you want listed? Send us a pull request of [this page](https://github.com/apache/shiro-site/blob/master/integration.md), and participate in Shiro development! [Learn more about contributing to Apache Shiro](how-to-contribute.html).
+Have an integration you want listed? Send us a pull request of [this page](https://github.com/apache/shiro-site/blob/main/integration.md), and participate in Shiro development! [Learn more about contributing to Apache Shiro](how-to-contribute.html).
 <input type="hidden" id="ghEditPage" value="integration.md"></input>
diff --git a/java-annotations.md b/java-annotations.md
index 27ef248..31603aa 100644
--- a/java-annotations.md
+++ b/java-annotations.md
@@ -3,7 +3,7 @@
 
 Before you can use Java annotations, you'll need to enable AOP support in your application. There are a number of different AOP frameworks so, unfortunately, there is no standard way to enable AOP in an application.
 
-For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/master/samples/aspectj).
+For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/main/samples/aspectj).
 
 For Spring, you can look into our [Spring Integration](spring.html "Spring") documentation.
 
diff --git a/java-authorization-guide.md.vtl b/java-authorization-guide.md.vtl
index 167e73b..039e31b 100644
--- a/java-authorization-guide.md.vtl
+++ b/java-authorization-guide.md.vtl
@@ -151,7 +151,7 @@
 
 Before you can use Java annotations, you'll need to enable AOP support in your application. There are a number of different AOP frameworks so, unfortunately, there is no standard way to enable AOP in an application.
 
-For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/master/samples/aspectj).
+For AspectJ, you can review our [AspectJ sample application](https://github.com/apache/shiro/tree/main/samples/aspectj).
 
 For Spring, you can look into our [Spring Integration](spring.html "Spring") documentation.
 
diff --git a/jaxrs.md.vtl b/jaxrs.md.vtl
index 9202f78..ee69684 100644
--- a/jaxrs.md.vtl
+++ b/jaxrs.md.vtl
@@ -101,6 +101,6 @@
 Want to see more?
 -----------------
 
-You can find portable JAX-RS application that runs with [Jersey](https://jersey.java.net/), [RestEasy](http://resteasy.jboss.org/) or [Apache CXF](https://cxf.apache.org) in the [samples](https://github.com/apache/shiro/tree/master/samples) directory on Github.
+You can find portable JAX-RS application that runs with [Jersey](https://jersey.java.net/), [RestEasy](http://resteasy.jboss.org/) or [Apache CXF](https://cxf.apache.org) in the [samples](https://github.com/apache/shiro/tree/main/samples) directory on Github.
 
 <input type="hidden" id="ghEditPage" value="jaxrs.md.vtl"></input>
\ No newline at end of file
diff --git a/realm.md.vtl b/realm.md.vtl
index a8d57e6..22a2664 100644
--- a/realm.md.vtl
+++ b/realm.md.vtl
@@ -80,7 +80,7 @@
 securityManager.realms = $blahRealm, $fooRealm, $barRealm
 ```
 
-However, realize that with implicit assignment, just the order that the realms are defined directly affects how they are consulted during authentication and authorization attempts. If you change their definition order, you will change how the master `Authenticator`'s [Authentication Sequence](authentication.html#[[#]]#Authentication-sequence) functions.
+However, realize that with implicit assignment, just the order that the realms are defined directly affects how they are consulted during authentication and authorization attempts. If you change their definition order, you will change how the main `Authenticator`'s [Authentication Sequence](authentication.html#[[#]]#Authentication-sequence) functions.
 
 For this reason, and to ensure deterministic behavior, we recommend using Explicit Assignment instead of Implicit Assignment.
 
@@ -89,7 +89,7 @@
 Realm Authentication
 --------------------
 
-Once you understand Shiro's master [Authentication workflow](authentication.html#[[#]]#Authentication-sequence), it is important to know exactly what happens when the `Authenticator` interacts with a `Realm` during an authentication attempt.
+Once you understand Shiro's main [Authentication workflow](authentication.html#[[#]]#Authentication-sequence), it is important to know exactly what happens when the `Authenticator` interacts with a `Realm` during an authentication attempt.
 
 <a name="Realm-Supporting%7B%7BAuthenticationTokens%7D%7D"></a>
 #[[###Supporting `AuthenticationTokens`]]#
diff --git a/session-management.md.vtl b/session-management.md.vtl
index 4ee40b8..fe0788d 100644
--- a/session-management.md.vtl
+++ b/session-management.md.vtl
@@ -240,11 +240,11 @@
 <a name="SessionManagement-EHCacheSessionCacheConfiguration"></a>
 #[[#####EHCache Session Cache Configuration]]#
 
-By default, the `EhCacheManager` uses a Shiro-specific [`ehcache.xml`](https://github.com/apache/shiro/blob/master/support/ehcache/src/main/resources/org/apache/shiro/cache/ehcache/ehcache.xml) file that sets up the Session cache region and the necessary settings to ensure Sessions are stored and retrieved properly.
+By default, the `EhCacheManager` uses a Shiro-specific [`ehcache.xml`](https://github.com/apache/shiro/blob/main/support/ehcache/src/main/resources/org/apache/shiro/cache/ehcache/ehcache.xml) file that sets up the Session cache region and the necessary settings to ensure Sessions are stored and retrieved properly.
 
 However, if you wish to change the cache settings, or configure your own `ehcache.xml` or EHCache `net.sf.ehcache.CacheManager` instance, you will need to configure the cache region to ensure that Sessions are handled correctly.
 
-If you look at the default [`ehcache.xml`](https://github.com/apache/shiro/blob/master/support/ehcache/src/main/resources/org/apache/shiro/cache/ehcache/ehcache.xml) file, you will see the following `shiro-activeSessionCache` cache configuration:
+If you look at the default [`ehcache.xml`](https://github.com/apache/shiro/blob/main/support/ehcache/src/main/resources/org/apache/shiro/cache/ehcache/ehcache.xml) file, you will see the following `shiro-activeSessionCache` cache configuration:
 
 ``` xml
 <cache name="shiro-activeSessionCache"
diff --git a/spring-boot.md.vtl b/spring-boot.md.vtl
index 4388217..64a124d 100644
--- a/spring-boot.md.vtl
+++ b/spring-boot.md.vtl
@@ -9,7 +9,7 @@
 Web Applications
 ---
 
-Shiro has first-class support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a master Shiro Filter. This filter itself is extremely powerful, allowing for ad-hoc custom filter chains to be executed based on any URL path expression.
+Shiro has first-class support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a main Shiro Filter. This filter itself is extremely powerful, allowing for ad-hoc custom filter chains to be executed based on any URL path expression.
 
 First include the Shiro Spring web starter dependency in you application classpath (we recomend using a tool such as Apache Maven or Gradle to manage this).
 
@@ -44,7 +44,7 @@
 
 If you are using Shiro's annotations see the [annotation](#Spring-annotations-web) section below.
 
-You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/master/samples/spring-boot-web).
+You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/main/samples/spring-boot-web).
 
 <a name="Spring-annotations"></a>
 Enabling Shiro Annotations
@@ -166,6 +166,6 @@
 SecurityUtils.getSubject();
 ```
 
-You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/master/samples/spring-boot).
+You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/main/samples/spring-boot).
 
 <input type="hidden" id="ghEditPage" value="spring-boot.md.vtl"></input>
diff --git a/spring-framework.md.vtl b/spring-framework.md.vtl
index 0c98c7a..23ea725 100644
--- a/spring-framework.md.vtl
+++ b/spring-framework.md.vtl
@@ -60,13 +60,13 @@
 SecurityUtils.getSubject();
 ```
 
-You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/master/samples/spring).
+You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/main/samples/spring).
 
 <a name="SpringFramework-WebApplications"></a>
 Web Applications
 ---
 
-Shiro has first-class support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a master Shiro Filter. This filter itself is extremely powerful, allowing for ad-hoc custom filter chains to be executed based on any URL path expression.
+Shiro has first-class support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a main Shiro Filter. This filter itself is extremely powerful, allowing for ad-hoc custom filter chains to be executed based on any URL path expression.
 
 Include the Shiro Spring web dependencies in you application classpath (we recomend using a tool such as Apache Maven or Gradle to manage this).
 
@@ -127,7 +127,7 @@
 
 If you are using Shiro's annotations see the [annotation](#Spring-annotations-web) section below.
 
-You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/master/samples/spring-mvc).
+You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/main/samples/spring-mvc).
 
 <a name="Spring-annotations"></a>
 Enabling Shiro Annotations
diff --git a/spring-xml.md b/spring-xml.md
index 9158d40..a4c5eb3 100644
--- a/spring-xml.md
+++ b/spring-xml.md
@@ -35,7 +35,7 @@
 <a name="SpringXml-WebApplications"></a>
 ## Web Applications
 
-Shiro has first-rate support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a master Shiro Filter. This filter itself is extremely powerful, allowing for
+Shiro has first-rate support for Spring web applications. In a web application, all Shiro-accessible web requests must go through a main Shiro Filter. This filter itself is extremely powerful, allowing for
 ad-hoc custom filter chains to be executed based on any URL path expression.
 
 Prior to Shiro 1.0, you had to use a hybrid approach in Spring web applications, defining the Shiro filter and
@@ -72,7 +72,7 @@
 </filter-mapping>
 ```
 
-You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/master/samples/spring-xml).
+You can see a full example in our [samples on Github](https://github.com/apache/shiro/tree/main/samples/spring-xml).
 
 <a name="SpringXml-applicationContext.xml"></a>
 ###applicationContext.xml
diff --git a/tags.html b/tags.html
index 5d5de0f..4c1c524 100644
--- a/tags.html
+++ b/tags.html
@@ -1,6 +1,6 @@
 <script type="text/javascript">
 <!--
-window.location = "https://github.com/apache/shiro/blob/master/web/src/main/resources/META-INF/shiro.tld"
+window.location = "https://github.com/apache/shiro/blob/main/web/src/main/resources/META-INF/shiro.tld"
 //-->
 </script>
 
diff --git a/tutorial.md.vtl b/tutorial.md.vtl
index c12e654..4049bbc 100644
--- a/tutorial.md.vtl
+++ b/tutorial.md.vtl
@@ -10,7 +10,7 @@
 
 If you don't want to actually edit files as you follow this tutorial, you can obtain a nearly identical sample application and reference it as you go. Choose a location:
 
-*   In Apache Shiro's Git repository: [https://github.com/apache/shiro/tree/master/samples/quickstart](https://github.com/apache/shiro/tree/master/samples/quickstart)
+*   In Apache Shiro's Git repository: [https://github.com/apache/shiro/tree/main/samples/quickstart](https://github.com/apache/shiro/tree/main/samples/quickstart)
 *   In Apache Shiro's source distribution's `samples/quickstart` directory. The source distribution is available from the [Download](download.html "Download") page.
 
 <a name="Tutorial-Setup"></a>
diff --git a/version-2-brainstorming.md b/version-2-brainstorming.md
index 374b263..6a24c41 100644
--- a/version-2-brainstorming.md
+++ b/version-2-brainstorming.md
@@ -113,7 +113,7 @@
 
 Convert this to be a sub-interface of Map with additional per-Realm utility methods.
 
-See the [PrincipalMap](https://github.com/apache/shiro/blob/master/core/src/main/java/org/apache/shiro/subject/PrincipalMap.java) concept for ideas (experimental, not referenced in Shiro 1.x at the moment).
+See the [PrincipalMap](https://github.com/apache/shiro/blob/main/core/src/main/java/org/apache/shiro/subject/PrincipalMap.java) concept for ideas (experimental, not referenced in Shiro 1.x at the moment).
 
 Maybe rename this to 'attributes'? i.e. `subject.getAttributes()`?
 
diff --git a/webapp-tutorial.md b/webapp-tutorial.md
index 138c6a8..72c73e5 100644
--- a/webapp-tutorial.md
+++ b/webapp-tutorial.md
@@ -3,8 +3,8 @@
 <div class="alert alert-warning">
     <span class="glyphicon glyphicon-warning-sign"></span> <strong>NOTE: This Page is Out of Date</strong>
     <hr class="message-inner-separator">
-    <p>See the full list of official Apache Shiro sample apps on <a href="https://github.com/apache/shiro/tree/master/samples">Github</a>.
-Help the project out by updating this page via a <a href="https://github.com/apache/shiro-site/edit/master/webapp-tutorial.md.vtl">Pull Request</a.></p>
+    <p>See the full list of official Apache Shiro sample apps on <a href="https://github.com/apache/shiro/tree/main/samples">Github</a>.
+Help the project out by updating this page via a <a href="https://github.com/apache/shiro-site/edit/main/webapp-tutorial.md.vtl">Pull Request</a.></p>
 </div>
 
 <!-- TODO: Stormpath has been shutdown, this tutorial needs to be updated to use a different Realm, possibly a JDBC Realm backed by an in memory DB. -->
@@ -46,7 +46,7 @@
 
 ### Tutorial Format
 
-This is a step-by-step tutorial.  The tutorial, and all of its steps, exist as a Git repository.  When you clone the git repository, the `master` branch is your starting point.  Each step in the tutorial is a separate branch.  You can follow along simply by checking out the git branch that reflects the tutorial step you are reviewing.
+This is a step-by-step tutorial.  The tutorial, and all of its steps, exist as a Git repository.  When you clone the git repository, the `main` branch is your starting point.  Each step in the tutorial is a separate branch.  You can follow along simply by checking out the git branch that reflects the tutorial step you are reviewing.
 
 ### The Application
 
@@ -83,7 +83,7 @@
 
 ### 3. Review project structure
 
-After cloning the repo, your current `master` branch will have the following structure:
+After cloning the repo, your current `main` branch will have the following structure:
 
 ``` nohighlight
     apache-shiro-tutorial-webapp/
@@ -132,7 +132,7 @@
 <a id="step1"></a>
 ## Step 1: Enable Shiro
 
-Our initial repository `master` branch is just a simple generic web application that could be used as a template for any application.  Let's add the bare minimum to enable Shiro in the web app next.
+Our initial repository `main` branch is just a simple generic web application that could be used as a template for any application.  Let's add the bare minimum to enable Shiro in the web app next.
 
 Perform the following git checkout command to load the `step1` branch:
 
@@ -198,7 +198,7 @@
 
 * The `<listener>` declaration defines a [`ServletContextListener`](http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContextListener.html) that starts up the Shiro environment (including the Shiro `SecurityManager`) upon web application startup.  By default, this listener automatically knows to look for our `WEB-INF/shiro.ini` file for Shiro configuration.
 
-* The `<filter>` declaration defines the master `ShiroFilter`.  This filter is expected to filter _all_ requests into the web application so Shiro can peform necessary identity and access control operations before allowing a request to reach the application.
+* The `<filter>` declaration defines the main `ShiroFilter`.  This filter is expected to filter _all_ requests into the web application so Shiro can peform necessary identity and access control operations before allowing a request to reach the application.
 
 * The `<filter-mapping>` declaration ensures that _all_ request types are filed by the `ShiroFilter`.  Often `filter-mapping` declarations don't specify `<dispatcher>` elements, but Shiro needs them all defined so it can filter all of the different request types that might execute for a web app.
     
