## Upgrading Gitblit Express

1. Make a  backup copy of */deployments/ROOT.war/WEB-INF/web.xml*
2. Delete your */deployments/ROOT.war* and then copy the new */deployments/ROOT.war* from the archive.
3. Diff your backup copy of web.xml with the pristine one you copied as part of */deployments/ROOT.war* and apply any necessary changes.

These steps are necessary to ensure that you end up using the specified libraries and resources for the new version.  Otherwise you could end up with a hybrid filesystem that would make it difficult to troubleshoot.  It is important to note that the web.xml file contains both your default settings AND application configuration.  Not updating the web.xml is just a likely to create problems as making a hybrid filesystem.

### 1.3.0 web.xml

- Added LogoServlet
- Added SparkleShareInviteServlet
- Added EnforceAuthenticationFilter
- Moved GitServlet