---- Changes since 1.81 ----
A Sendmail genericstable or Postfix canonical mapping file can be automatically updated with login name to email address mappings. This is useful for programs like Usermin, which can read such a file to work out From: addresses.
The directory for Webalizer statistics can be set on the Apache Website Template page.
Domain owners can be granted access to the Read User Mail module, for reading mailboxe's mail.
The port to use for normal and SSL virtual websites can now be set on the Apache Website Template page.
Virtual servers can now be backed up to one or many tar.gz files, either locally or on a remote FTP server.
Backups can also be restored from these tar.gz files, again locally or from an FTP server.
The MySQL feature now properly supports usernames longer that 16 characters.
A new configuration option has been added for sites that use multiple IP addresses, but always use name-based Apache virtual hosts.
Username length and other restrictions are now checked by the create-domain.pl script.
Virtualmin now participates in Webmin action logging, so you can see what actions were taken and which files they changed.
IP address clash checking for new servers now actually works.
Webalizer configuration files and schedule can now be included in backups.
---- Changes since 1.91 ----
Catchall mail aliases can now forward mail for any mailbox at their domain to the same mailbox at another domain.
Added module configuration options to prevent domain owners from being given access to feature-related modules like Apache Webserver, BIND DNS Server and so on.
Added checks to prevent an alias or mailbox being created which clashes with an existing Sendmail or Postfix alias.
Added a Module Config option to set the subdirectory used for mailbox user home directories, instead of always using ~/homes.
Added Module Config option to specify an different IP address to use in the DNS domain, versus the one used for the webserver.
Added the ability to backup and restore to via SSH, as well as FTP.
Added a new feature for Virtualmin domains - virtual FTP hosting with ProFTPd. Like Apache virtual hosts, these will be created when the feature is enabled for domain, using directives taken from an editable template. Due to limitations in the FTP protocol, a domain can only have a virtual FTP server if it has its own private IP.
---- Changes since 2.00 ----
Added an option to the BIND DNS Template page for selecting a view to add new zones to.
Added automatic IP address allocation for virtual servers, out of ranges defined on the Module Config page.
A Virtualmin server owner can now create and own multiple domains, if allowed by the master administrator. All such servers are owned by the same Unix user and share the same quota, and any sub-servers are stored in the domains subdirectory of the parent server's home directory. Each server can have its own independent set of features. When a limit on the number of mailboxes has been set, it will apply to the master server and all sub-servers.
Added an option to the Apache Website Template page for entering an Apache user to be added to the group for all new servers. This can be useful for getting suexec to work.
Added Module Config options to have features disabled by default for new servers.
Added Manage SSL Certificate page for creating a CSR and installing a signed SSL certificate using simple forms.
Added Change Domain Name page for modifying the name of an existing virtual server. This can also update the server's Unix login and home directory at the same time, if needed. All sub-servers of the modified server are also updated, where appropriate.
When restoring a virtual server, if it no longer exists it will be automatically re-created with all the original features before the restore is done.
---- Changes since 2.10 ----
Aliases for an existing virtual server can now be created. An alias is a server that simply forwards all web, mail and DNS requests to another server. Alias websites can be created as a virtual server that simply redirects requests or by adding additional ServerAlias directives to the target website.
Added a new Bandwidth Monitoring page for setting up regular checking of virtual server web bandwidth usage, and inputs on the server creation and editing forms to specify the amount of bandwidth each can use. When the limit is exceeded, a configurable email is sent to the domain owner and other optional addresses. The monitoring page also displays usage and limits by all servers as a bar graph.
Added a new feature - the ability to setup Logrotate to automatically truncate and compress a virtual server's log files, so that they don't consume too much disk space.
The subject lines for emails sent when a new virtual server, sub-server and mailbox are created can now be edited, and can include template variables.
Email messages send when a virtual server or mailbox is created can now be also Cc'd to additional configurable addresses.
Added the ability to use new functions in the BIND module to speed up the process of creating slave zones on a remote DNS server.
Added a new format for mailbox usernames - mailbox@domain, the same as the email address. This only works when using Sendmail as the mail server though.
The Qmail mail server is now fully supported, with all the same capabilities as Postfix and Sendmail. Only a stock install of Qmail is required by Virtualmin - vpopmail or other similar patches are not needed.
When a mailbox is created, its empty mail file or directory is automatically created, in a location determined by the configuration of the mail server in use.
A virtual server can now be created without a Unix user, as long as it only has a DNS domain or MySQL or PostgreSQL databases. For other features, the Unix user is required.
Added an additional way to proxy a virtual server to another URL - frame forwarding.
Added the ability to easily edit the forwarding destination for proxy-only or frame forwarding websites, along with the forwarding frame page title or HTML.
Moved all template-related settings into the 'Server Templates' section, including directives for Apache websites, FTP virtual servers and DNS domains. Multiple templates can now be defined, and a template can be selected when creating a virtual server.
The home directory for a virtual server can now be enabled separate from its Unix user.
On systems like FreeBSD in which the username length is limited, the prefix for mailbox usernames is now selectable when creating a server.
Added an option to automatically disable a server when it reaches its bandwidth limit.
Added an option to send an email message when a server is approaching (within some percentage) its bandwidth limit.
Added support for third-party plugin feature modules.
Added support for mailbox user plugins, which can add additional inputs and capabilities to a mail user.
Added a restore.pl script to restore domains and features from the command line.
Fixed a bug when attempting to rename a PostgreSQL user on older versions that don't allow it.
Added a Module Config option for a jailed FTP shell.
---- Changes since 2.30 ----
Fixed several bugs related to creating and restoring backups.
Moved bandwidth graphs to separate page, and added mode to show sub-domain usage.
Added the command-line backup-domain.pl script.
Added button to domain editing page for viewing latest Webalizer report.
Implemented support for using LDAP to store domain and mailbox users and groups, by calling functions in Webmin's LDAP user management module. Requires that the system be set up to use LDAP for NSS and PAM.
Clash checking is now done when enabling new features for an existing server.
When creating a server, if a feature fails for some reason the rest will still be processed. This avoids the problem of a server being partially created and unknown to Virtualmin.
Similarly, when deleting a server any failure will be ignored, to avoid the problem of features being left around when the server has been removed from Virtualmin.
A database name can be specified when creating a server, rather than the default which is computed from the domain name.
Added form on plugins page for editing the configuration of plugins that have a config.info file.
Added the enable-feature.pl and disable-feature.pl script, for activating and turning off features for a virtual server from the command line.
Added the enable-limit.pl and disable-limit.pl scripts, for updating server owner limits from the command line.
Created the Custom Fields page, for defining your own fields that can be edited for each virtual server.
Added a button to the Edit Server page for displaying just the usage for that server. This is available to server owners as well as the master administrator.
Added a new limit for domain owners to prevent them from choosing the name for new domain databases.
---- Changes since 2.40 ----
Fixed bug related to multiple IF- blocks for the same variable in templates.
Added support for Qmail+LDAP as a new mail system. If selected, all mail users and aliases will be stored in LDAP automatically. Thanks to Omar Amas for sponsoring this feature.
Added extra domain owner limits to force sub-domains to be under parent domains, and to prevent renaming.
Added support for Qmail+VPOPMail as a new mail system. When enabled, all mailboxes and aliases are created in VPOPMail instead of using Unix users. Thanks to Linulex for sponsoring this one.
When editing the forwarding destinations for email to a user, the user's mailbox can be explicitly selected as a destination.
On the server template page, default aliases for new users in domains using that template can be specified.
Added an option to exclude the logs directory from backups.
The default MySQL database name, wildcard and allowed hosts can now be set on the server templates page.
A virtual server can now have more than one MySQL or PostgreSQL database, which can be managed using the Edit Databases button on the Edit Server page. 
The create-domain.pl script can now create sub-servers and alias servers too.
Added a Module Config option to have domain and mailbox users created in other modules.
Added options on the restore page to fix up the DNS and Apache IP addresses when restoring. Useful when transferring a domain from another server.
