install_perl_libs.pl:
-added to @LINUX_PACKAGES
  -perl-Frontier-RPC
  -perl-Frontier-RPC-Client
  -perl-LWP-Protocol-https
  -perl-Mo
  -perl-Object-InsideOut
  -perl-Scalar-List-Utils
  -perl-Expect
-added to @PERL_MODULES
  -Crypt::CBC
  -IO::String
  -Text::CSV_XS
-removed from @PERL_MODULES
  -DBI
  -Mail::Mailer
  -RPC::XML
  -Term::ANSIColor
  -Time::HiRes
  -URI
  -YAML

INSTALLATION:
-updated 2.5 to 2.5.1
-small changes to initial paragraph
-removed Apache HTTP v1.3 as supported web server version
-added php-gettext as required php module
-added DBD::MySQL as required perl module
-added Net::Ping::External as required perl module

README:
-updated 2.5 to 2.5.1
-removed Apache HTTP v1.3 as supported web server version
-removed RHEL 6.8 as supported OS version
-updated supported CentOS version from 7.3 to 7.6.1810
-added DBD::MySQL and Net::Ping::External to required perl modules
-removed Windows XP and Windows Server 2003 from management node conditional system requirements
-removed Jabber notifications from management node conditional system requirements
-updated Dojo Toolkit version reference from 1.6.2 to 1.6.5

RELEASE_NOTES:
-updated 2.5 to 2.5.1
-updated list of notworthy changes
-added note about emailing security bugs rather than reporting via JIRA

UPGRADE:
-updated 2.4.2 to 2.5
-updated 2.5 to 2.5.1
-small changes to initial paragraph
-changed step 9 for web code to add SSLOFFLOAD to conf.php instead of removing MAXVMLIMIT
-removed step to update secrets.php
diff --git a/INSTALLATION b/INSTALLATION
index c5583e8..f6f4a62 100644
--- a/INSTALLATION
+++ b/INSTALLATION
@@ -1,10 +1,10 @@
-Installing VCL 2.5
+Installing VCL 2.5.1
 
-VCL 2.5 is the second release to include an installation script. All you need
-to install VCL is the script. It will download and validate the VCL software and
-then install it. The script can be used to install all three parts of VCL
-(database, web portal, and management node) on a single system or to install
-each part individually on separate systems.
+VCL 2.5.1 can be installed using an installation script. All you need to
+install VCL is the script. It will download and validate the VCL software
+and then install it. The script can be used to install all three parts of
+VCL (database, web portal, and management node) on a single system or to
+install each part individually on separate systems.
 
 Running the installation script with no arguments will step you through
 installing all three parts of VCL.
@@ -52,7 +52,7 @@
 
 
 
-MINUAL INSTALLATION INSTRUCTIONS
+MANUAL INSTALLATION INSTRUCTIONS
 
 The recommended method of installing VCL is to use the installation script. See
 above for additional information. If manual installation is required,
@@ -145,7 +145,7 @@
       Import the vcl.sql file into the database. The vcl.sql file is included in
       the mysql directory within the Apache VCL source code
 
-        mysql vcl < apache-VCL-2.5/mysql/vcl.sql
+        mysql vcl < apache-VCL-2.5.1/mysql/vcl.sql
 
 2. Install and Configure the Web Components
 
@@ -155,8 +155,8 @@
 
    Web Server:
 
-    Apache HTTP Server v1.3 or v2.x with SSL enabled
-    PHP 5.0 or later
+    Apache HTTP Server v2.x with SSL enabled
+    PHP 5.x or 7.x
 
    Required Linux Packages:
 
@@ -167,12 +167,13 @@
    Required PHP Modules:
 
     php
+    php-gettext
     php-json (required if your PHP version is 5.2 or later)
+    php-ldap (if you will be using LDAP authentication)
     php-mysql
     php-openssl
     php-xml
     php-xmlrpc
-    php-ldap (if you will be using LDAP authentication)
 
    A. Install the Required Linux Packages & PHP Modules
 
@@ -225,14 +226,14 @@
       Copy the web directory to a location under the web root of your web
       server and navigate to the destination .ht-inc subdirectory:
 
-        cp -ar apache-VCL-2.5/web/ /var/www/html/vcl-2.5
-        ln -s /var/www/html/vcl-2.5 /var/www/html/vcl
+        cp -ar apache-VCL-2.5.1/web/ /var/www/html/vcl-2.5.1
+        ln -s /var/www/html/vcl-2.5.1 /var/www/html/vcl
         cd /var/www/html/vcl/.ht-inc
 
       If SELinux is enabled, run the following command to set the context of the
       web code to httpd_sys_content_t
 
-        chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5
+        chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5.1
 
       Copy secrets-default.php to secrets.php:
 
@@ -353,8 +354,8 @@
    Prerequisites The following management node installation instructions assume
    the instructions in these previous sections have been completed:
 
-    VCL 2.5 Database Installation
-    VCL 2.5 Web Code Installation
+    VCL 2.5.1 Database Installation
+    VCL 2.5.1 Web Code Installation
 
    Supported Operating Systems:
 
@@ -392,11 +393,12 @@
 
    The VCL management node daemon (vcld) is written in Perl and has been tested
    on Perl 5.10 and 5.16. The following Perl modules available from CPAN are
-   also required (see step 2 below for installation instructions):
+   also required (see step B below for installation instructions):
 
     Crypt::CBC - implementation of the cryptographic cipher block chaining mode
     Crypt::OpenSSL::RSA - RSA encoding and decoding, using the openSSL libraries
     Crypt::Rijndael - Crypt::CBC compliant Rijndael encryption module
+    DBD::MySQL - MySQL driver for the Perl5 Database Interface (DBI)
     DBI - Generic Database Interface
     Digest::SHA1 - NIST SHA message digest algorithm
     Exception::Class::Base - base class for exception objects
@@ -408,6 +410,7 @@
     Mail::Mailer - Simple mail agent interface
     Net::Jabber - Jabber perl library
     Net::Netmask - parse, manipulate and lookup IP network blocks
+    Net::Ping::External - Cross-platform Perl interface to "ping" utilities
     Net::SSH::Expect - a wrapper to the ssh executable that is available in
                        system's PATH
     Object::InsideOut - Comprehensive inside-out object support
@@ -421,8 +424,8 @@
       Copy the managementnode directory to the location where you want it to
       reside (typically /usr/local):
 
-        cp -ar apache-VCL-2.5/managementnode /usr/local/vcl-2.5
-        ln -s /usr/local/vcl-2.5 /usr/local/vcl
+        cp -ar apache-VCL-2.5.1/managementnode /usr/local/vcl-2.5.1
+        ln -s /usr/local/vcl-2.5.1 /usr/local/vcl
 
    B. Install the Required Linux Packages & Perl Modules
 
diff --git a/README b/README
index 22dbd62..9a0062e 100644
--- a/README
+++ b/README
@@ -1,10 +1,10 @@
-Apache VCL 2.5
+Apache VCL 2.5.1
 
 ================================================================================
 INSTALLATION
 
 Please see the INSTALLATION file or the installation guide on the Apache VCL
-website. (http://vcl.apache.org/docs/VCL25InstallGuide.html)
+website. (http://vcl.apache.org/docs/VCL251InstallGuide.html)
 
 ================================================================================
 SYSTEM REQUIREMENTS
@@ -14,7 +14,7 @@
 ------------
 
 VCL web server Linux packages:
-* Apache HTTP Server v1.3 or v2.x with SSL enabled
+* Apache HTTP Server v2.x with SSL enabled
 * PHP 5.0 or later
 
 VCL web server PHP modules:
@@ -40,8 +40,7 @@
 
 VCL has been tested on the following operating systems:
 * CentOS release 6.9 (Final)
-* CentOS Linux release 7.3.1611 (Core)
-* Red Hat Enterprise Linux Server release 6.8 (Santiago)
+* CentOS Linux release 7.6.1810 (Core)
 * Red Hat Enterprise Linux Server release 7.3 (Maipo)
 
 Required Linux Packages:
@@ -72,6 +71,7 @@
 * Crypt::CBC
 * Crypt::OpenSSL::RSA
 * Crypt::Rijndael
+* DBD::MySQL
 * DBI
 * Digest::SHA1
 * Exception::Class::Base
@@ -83,6 +83,7 @@
 * Mail::Mailer
 * Net::Jabber
 * Net::Netmask
+* Net::Ping::External
 * Net::SSH::Expect
 * Object::InsideOut
 * RPC::XML::Client
@@ -119,21 +120,11 @@
   http://www.vmware.com/support/developer/viperltoolkit/
   This is not required if provisioning virtual machines on standalone VMware ESX
   or ESXi hosts.
-* Windows XP & Windows Server 2003 bare-metal provisioning
-  The Sysprep utility is required to provision Windows XP and Windows Server
-  2003 bare-metal images. The utility can be downloaded from Microsoft. It is
-  included in newer versions of Windows. Sysprep is not required to provision
-  virtual machine images.
-* Jabber notifications
-  VCL has the ability to send instant message notifications using Jabber. This
-  feature is optional and can be enabled or disabled by configuring the
-  "jabber=[yes|no]" property in the vcld.conf file. If the Jabber notification
-  feature is enabled, the Net::Jabber Perl module is required.
 
 ================================================================================
 BUNDLED 3RD PARTY SOFTWARE
 
-A copy of Dojo Toolkit version 1.6.2 is included in under web/dojo.
+A copy of Dojo Toolkit version 1.6.5 is included in under web/dojo.
 
 Portions of the phpseclib (http://phpseclib.sourceforge.net) project are
 included under web/.ht-inc/phpseclib.
@@ -178,4 +169,4 @@
 The backend management node code also uses the SSH protocol and public key
 authentication to connect to and control compute nodes provisioned by a VCL
 management node server as well as other hosts that comprise a VCL system such as
-hypervisors.
\ No newline at end of file
+hypervisors.
diff --git a/RELEASE_NOTES b/RELEASE_NOTES
index 8b0afa5..ed3c0a8 100644
--- a/RELEASE_NOTES
+++ b/RELEASE_NOTES
@@ -1,4 +1,4 @@
-VCL 2.5
+VCL 2.5.1
 
 I. Intro and Description
 
@@ -21,27 +21,12 @@
 
 II. Notable Changes
 
-The following are some notable changes from previous releases.
+This is primarily a bug fix release. However, the following are some 
+changes worth highlighting.
 
-Added:
-
-* Support for Windows 10 and Windows Server 2016 images
-* Responsive theme (dropdownmenus) to web site
-* Support for automatically joining Windows images to an Active Directory domain
-* Basic automatic mounting of NFS shares for all users
-* Customization of email messages sent to users on a per-affiliation basis
-* Support for the automatic configuration of ufw and firewalld-based firewalls
-  within Linux images
-* Support for NAT hosts which use ufw os firewalld-based firewalls including
-  Ubuntu and RedHat/CentOS 7 and later
-* Support for the execution of custom scripts on a management node at various
-  stages of the reservation
-* Display of reservation times in the user's own timezone
-
-Removed:
-
-* Server Profiles
-* Use of the Windows Administrator user account for imaging reservations
+* PHP code updated to work with PHP 7.x.
+* Rudimentary NFS file share mounting extended to work with Windows
+* Added method for using HTML in user emails through external script
 
 =================================
 
@@ -84,7 +69,9 @@
 
 If you find a bug, please submit a bug report to our JIRA bug tracking system at
 http://issues.apache.org/jira/browse/VCL (you will need to set up an account
-there if you haven't already done so - it's free to anyone).
+there if you haven't already done so - it's free to anyone). If it is a security
+bug, do not open a JIRA issue. Instead report it in an email to
+security@apache.org.
 
 If you would like to requrest a new feature, you can also submit that in the
 same way through JIRA (just select "New Feature" or "Improvement" as the Issue
diff --git a/UPGRADE b/UPGRADE
index 4256ad1..6b0d8d1 100644
--- a/UPGRADE
+++ b/UPGRADE
@@ -1,10 +1,10 @@
-Upgrading to VCL 2.5
+Upgrading to VCL 2.5.1
 
-VCL 2.5 is the second release to include an upgrade script. All you need to
-upgrade VCL is the script. It will download and validate the VCL software and
-then upgrade your system. The script can be used to upgrade all three parts of
-VCL (database, web portal, and management node) or to upgrade each part
-individually.
+VCL 2.5.1 can be upgraded using an upgrade script. All you need to upgrade
+VCL is the script. It will download and validate the VCL software and then
+upgrade your system. The script can be used to upgrade all three parts of
+VCL (database, web portal, and management node) on a single system or to
+upgrade each part individually on separate systems.
 
 Running the upgrade script with no arguments will step you through upgrading
 all three parts of VCL.
@@ -57,101 +57,93 @@
  2. Create a backup of the VCL database. This will provide a restore point if
     necessary.
 
-    mysqldump vcl > ~/vcl-pre2.5-upgrade.sql
+    mysqldump vcl > ~/vcl-pre2.5.1-upgrade.sql
 
  3. Updates the database schema.
 
-    mysql vcl < /root/apache-VCL-2.5/mysql/update-vcl.sql
+    mysql vcl < /root/apache-VCL-2.5.1/mysql/update-vcl.sql
 
  4. Possibly move old web code. If /var/www/html/vcl is a directory, rename it
-    to /var/www/html/vcl-2.4.2. These instructions assume that you installed the
+    to /var/www/html/vcl-2.5. These instructions assume that you installed the
     VCL web code at /var/www/html/vcl. If you installed it elsewhere, replace
     /var/www/html/vcl with your vcl web root.
 
-    mv /var/www/html/vcl /var/www/html/vcl-2.4.2
+    mv /var/www/html/vcl /var/www/html/vcl-2.5
 
  5. Disable access to the old web code
 
-    echo "Require all denied" > /var/www/html/vcl-2.4.2/.htaccess
+    echo "Require all denied" > /var/www/html/vcl-2.5/.htaccess
 
  6. Copy the new code in place
 
-    cp -ar /root/apache-VCL-2.5/web /var/www/html/vcl-2.5
-    ln -sfn /var/www/html/vcl-2.5 /var/www/html/vcl
+    cp -ar /root/apache-VCL-2.5.1/web /var/www/html/vcl-2.5.1
+    ln -sfn /var/www/html/vcl-2.5.1 /var/www/html/vcl
 
- 7. Copy your 2.4.2 config files
+ 7. Copy your 2.5 config files
 
-    cd /var/www/html/vcl-2.4.2/.ht-inc
+    cd /var/www/html/vcl-2.5/.ht-inc
     cp conf.php secrets.php pubkey.pem keys.pem /var/www/html/vcl/.ht-inc
+    cp cryptkey/cryptkeyid cryptkey/private.pem /var/www/html/vcl/.ht-inc/cryptkey/
 
  8. If you are using SELinux, set the correct context:
 
-    chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5
-    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5/.ht-inc/maintenance
-    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5/.ht-inc/cryptkey
+    chcon -R -t httpd_sys_content_t /var/www/html/vcl-2.5.1
+    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5.1/.ht-inc/maintenance
+    chcon -t httpd_sys_rw_content_t /var/www/html/vcl-2.5.1/.ht-inc/cryptkey
 
- 9. Update conf.php: the following item needs to be removed from the conf.php
+ 9. Update conf.php: the following item needs to be added to the conf.php
     file:
 
     (don't forget to edit conf.php in the *new* location)
     vim /var/www/html/vcl/.ht-inc/conf.php
 
-    define("MAXVMLIMIT", "100");
+    define("SSLOFFLOAD", 0);
 
-10. Update secrets.php: $cryptkey in secrets.php needs to be generated using
-    openssl. Generate the value and set it in secrets.php:
-
-    openssl rand 32 | base64
-    vim /var/www/html/vcl/.ht-inc/secrets.php
- 
-    $cryptkey = 'xxxxxxxxxxxxxxxxxxxxxxxxx'; # set this to output of
-                                             # "openssl rand 32 | base64"
-
-11. Make the maintenance and cryptkey directories writable by the web server
+10. Make the maintenance and cryptkey directories writable by the web server
     user. Normally this is the apache user, if using a different user change
     below command accordingly.
 
     chown apache /var/www/html/vcl/.ht-inc/maintenance
     chown apache /var/www/html/vcl/.ht-inc/cryptkey
 
-12. Start httpd service
+11. Start httpd service
 
     service httpd start
 
-13. Check testsetup.php: Check that everything is correct by viewing the
+12. Check testsetup.php: Check that everything is correct by viewing the
     testsetup.php script in your browser. This script is located in the same
     directory as the index.php script. I.e.
 
     https://your.site.url/vcl/testsetup.php
 
-14. Copy old management node code:
-    If /usr/local/vcl is a directory, copy it to /usr/local/vcl-2.4.2, rename
-    /usr/local/vcl to /usr/local/vcl-2.5, and create a symlink.
-    If /usr/local/vcl is a symlink to vcl-2.4.2, copy /usr/local/vcl-2.4.2 to
-    /usr/local/vcl-2.5 and update the symlink.
+13. Copy old management node code:
+    If /usr/local/vcl is a directory, copy it to /usr/local/vcl-2.5, rename
+    /usr/local/vcl to /usr/local/vcl-2.5.1, and create a symlink.
+    If /usr/local/vcl is a symlink to vcl-2.5, copy /usr/local/vcl-2.5 to
+    /usr/local/vcl-2.5.1 and update the symlink.
 
     (for directory)
-    cp -ar /usr/local/vcl /usr/local/vcl-2.4.2
-    mv /usr/local/vcl /usr/local/vcl-2.5
-    ln -s /usr/local/vcl-2.5 /usr/local/vcl
+    cp -ar /usr/local/vcl /usr/local/vcl-2.5
+    mv /usr/local/vcl /usr/local/vcl-2.5.1
+    ln -s /usr/local/vcl-2.5.1 /usr/local/vcl
 
     (for symlink)
-    cp -ar /usr/local/vcl-2.4.2 /usr/local/vcl-2.5
-    ln -sfn /usr/local/vcl-2.5 /usr/local/vcl
+    cp -ar /usr/local/vcl-2.5 /usr/local/vcl-2.5.1
+    ln -sfn /usr/local/vcl-2.5.1 /usr/local/vcl
 
-15. Copy the new management node code over the old code:
+14. Copy the new management node code over the old code:
 
-    /bin/cp -ar /root/apache-VCL-2.5/managementnode/* /usr/local/vcl-2.5
+    /bin/cp -ar /root/apache-VCL-2.5.1/managementnode/* /usr/local/vcl-2.5.1
 
-16. Run install_perl_libs.pl to add any new perl library requirements:
+15. Run install_perl_libs.pl to add any new perl library requirements:
 
     /usr/local/vcl/bin/install_perl_libs.pl
 
-17. Start vcld service
+16. Start vcld service
 
     service vcld start
 
-18. Make some test reservations and watch the vcld.log to verify everything is
+17. Make some test reservations and watch the vcld.log to verify everything is
     working correctly.
 
     tail -f /var/log/vcld.log
diff --git a/managementnode/bin/install_perl_libs.pl b/managementnode/bin/install_perl_libs.pl
index a61042d..e946948 100755
--- a/managementnode/bin/install_perl_libs.pl
+++ b/managementnode/bin/install_perl_libs.pl
@@ -63,13 +63,20 @@
 	'perl-DBD-MySQL',
 	'perl-DBI',
 	'perl-Digest-SHA1',
+	'perl-Expect',
+	'perl-Frontier-RPC',
+	'perl-Frontier-RPC-Client',
 	'perl-IO-String',
 	'perl-JSON',
+	'perl-LWP-Protocol-https',
 	'perl-MailTools',
+	'perl-Mo',
 	'perl-Net-Jabber',
 	'perl-Net-Netmask',
 	'perl-Net-SSH-Expect',
+	'perl-Object-InsideOut',
 	'perl-RPC-XML',
+	'perl-Scalar-List-Utils',
 	'perl-Text-CSV_XS',
 	'perl-Time-HiRes',
 	'perl-XML-Simple',
@@ -79,21 +86,17 @@
 
 my @PERL_MODULES = (
 	'CPAN',
-	'DBI',
+	'Crypt::CBC',
 	'Digest::SHA1',
 	'Frontier::Client',
+	'IO::String',
 	'LWP::Protocol::https',
-	'Mail::Mailer',
 	'Mo::builder',
 	'Net::Ping::External',
 	'Net::SSH::Expect',
 	'Object::InsideOut',
-	'RPC::XML',
 	'Scalar::Util',
-	'Term::ANSIColor',
-	'Time::HiRes',
-	'URI',
-	'YAML',
+	'Text::CSV_XS',
 );
 	
 # Store the command line options in hash