Skip to content

Commit 8e399f2

Browse files
author
Kristan Kenney
committed
Version 1.2.0
2 parents a73ff16 + 1d66853 commit 8e399f2

File tree

489 files changed

+21319
-16371
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

489 files changed

+21319
-16371
lines changed

.gitignore

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010

1111
.env
1212
composer.phar
13-
composer.lock
1413
test/vendor/
1514
test/node_modules/
1615
npm-debug.log

.gitmodules

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
[submodule "test/test_helper/bats-core"]
2+
path = test/test_helper/bats-core
3+
url = https://github.com/bats-core/bats-core
4+
[submodule "test/test_helper/bats-assert"]
5+
path = test/test_helper/bats-assert
6+
url = https://github.com/bats-core/bats-assert
7+
[submodule "test/test_helper/bats-support"]
8+
path = test/test_helper/bats-support
9+
url = https://github.com/bats-core/bats-support
10+
[submodule "test/test_helper/bats-file"]
11+
path = test/test_helper/bats-file
12+
url = https://github.com/bats-core/bats-file

CHANGELOG.md

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,83 @@
22
All notable changes to this project will be documented in this file.
33

44
## [CURRENT] - Development
5+
6+
## [1.2.0] - Major Release (Feature / Quality Update)
57
### Features
8+
- **NOTE:** Debian 8 is no longer supported as it has reached EOL (end-of-life) status.
9+
- Added support for Ubuntu Server 20.04 LTS.
10+
- Added File Manager functionality (with File Gator backend) with the ability to add or remove at any time (`v-add-sys-filemanager` and `v-delete-sys-filemanager`)
11+
- Extended built-in firewall to support allowing or blocking traffic using IP lists.
12+
- Improved Apache2 performance by switching to mpm_event instead mod_prefork by default for new installations.
13+
- Added support for configuring individual TTL per DNS record. Thanks to **@jaapmarcus**!
14+
- Updated translations for Polish (thanks to @RejectPL!), Dutch, French, German, and Italian (WIP).
15+
- Added the ability to set the default PHP command line version per-user.
16+
- Added geolocation support to awstats to improve traffic reports.
17+
- Enabled Roundcube plugins newmail_notifier and zipdownload by default.
18+
- Added HELO support for multiple domains and IPs.
19+
- Added the ability to manage SSH keys from CLI and web interface.
20+
- Added a manual migration script for apache2 mpm_event for existing installations/upgrades (`$HESTIA/install/upgrade/manual/migrate_mpm_event.sh`).
21+
- Added BATS system for testing the functionality of Bash scripts (WIP).
22+
- Added **v-change-sys-db-alias** to change phpMyAdmin and phpPgAdmin access points (`v-change-sys-db-alias pma/pga myCustomURL`).
23+
624

725
### Bugfixes
26+
- Prevent ability to change the password of a non-Hestia user account. Thanks to **Alexandre Zanni**!
27+
- Adjust Let's Encrypt validation check for IDN domains, thanks to **@zanami**!
28+
- Set backup download location on FTP/SFTP restore, thanks to **@Daniyal-Javani**!
29+
- Stop trying to renew Let's Encrypt certificates after multiple consecutive failed attempts. Thanks to **@dpeca**!
30+
- Fixed an issue with auto-logout when used behind Cloudflare proxy and reworked 2FA authentication part. Thanks to **@rmj-s**!
31+
- Fixed an issue where changing an email account password would fail if similar account names were present.
32+
- Fixed an issue where e-mail quota was not preserved when (un)suspending or rebuilding a mail account.
33+
- Fixed an issue where SSH configuration was not saved currently when edited from the Web interface.
34+
- Fixed an issue where DNS IP did not use NAT/Public IP when available after changing web domain IP.
35+
- Fixed an issue that would occur when a user would attempt to recover their account when two-factor authentication is enabled.
36+
- Fixed permission issues that were presented when restoring a user backup.
37+
- Improved page load performance of Control Panel web interface.
38+
- Use Sury.org repository for Apache2 packages.
39+
- Improved compatibility with Roundcube and PHP 7.4.
40+
- Restrict the ability to edit crontab service via Control Panel web interface.
41+
- Check whether Nginx, Apache2 and MariaDB are selected for installation prior to adding third party repositories.
42+
- Restrict public access to Apache2 server-status page.
43+
- Remove duplicated set-cookie line in default fpm config.
44+
- Ignore empty lines when listing firewall rules.
45+
- Improved top-level navigation in the Control Panel web interface (Server tab has been moved next to the Notification icon).
46+
- Corrected various minor user interface and theme issues.
47+
- Cleanup temporary files when uploading custom SSL certificate from Web interface.
48+
- Cleanup temporary files when adding/renewing Let's Encrypt SSL certificate.
49+
- Cleanup temporary files after running v-list-sys-services.
50+
- Removed some legacy code and unused assets.
51+
- Don't calculate /home folder size in v-list-sys-info.
52+
- Adjust v-list-sys-services to honor the changed fail2ban service name.
53+
- Rework busy port validation in v-change-sys-port.
54+
- Implement a validation function to verify the correct version in hestia.conf prior to installation.
55+
- Introduced a delay when an incorrect username, password, or 2FA code has been entered repeatedly.
56+
- Improved "Forgot password" function prevent brute force attacks.
57+
- Fixed an issue where the backup update counter was not updated properly when v-delete-user-backup was executed.
58+
- Fixed an issue with public_(s)html file ownership.
59+
- Fixed an issue with phpPgAdmin access.
60+
- Fixed an issue where the wrong port was set for www.conf on certain configurations.
61+
- Fixed an issue where Composer would fail to install.
62+
- Fixed an issue where the selected theme was not immediately applied.
63+
- Fixed an issue where HTTP-to-HTTPS redirection and HTTP Strict Transport Security (HSTS) events were not shown in the user history log.
64+
- Fixed an issue where the web domain access log page was incorrectly formatted.
65+
- Fixed an issue where awstats would show a HostAliases error if a web domain did not have any aliases.
66+
- Fixed an issue where awstats configuration was not updated if web domain aliases were added or removed.
67+
- Fixed an issue where user interface elements would overlap or display in the wrong place when using non-English locales.
68+
- Fixed an issue where phpMyAdmin and phpPgAdmin were inaccessible from the Web UI if custom URLs had been set.
69+
- Fixed an issue where mail SSL certificates were not restored properly from a backup archive.
70+
- Fixed an issue where mail domain configuration files were not removed when the domain was deleted.
71+
- Improved the functionality of `v-change-domain-owner` to correctly move mail domains and provide status output and logging/notifications.
72+
- Improved the functionality of `v-update-sys-hestia-git` to allow user to specify GitHub repository and whether to build only core package or core and dependencies.
73+
- Corrected the behavior of phpMyAdmin and phpPgAdmin so that alias dialogs accept custom word only and not full URL, aligns with webmail alias behavior.
74+
- Corrected the behavior of the installer so that APT repositories are not added if installation is aborted due to version mismatch.
75+
- Fixed an issue where upgrade procedures were not executed correctly when skipping between versions (e.g. 1.0.6 > 1.2.0).
76+
77+
### Known issues and notes
78+
- **NOTE:** Custom phpMyAdmin and phpPgAdmin URL's will be reset once during this upgrade to correct a legacy code issue.
79+
- Let's Encrypt renewal fails when removing alias from web domain (#856)
80+
- Some translation strings need to be updated for accuracy (#746)
81+
- v-restore-user only works with backup archives stored in /backup mount point (#641)
882

983
## [1.1.1] - 2020-03-24 - Hotfix
1084
### Features

CONTRIBUTING.md

Lines changed: 29 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,44 @@
1-
How to Contribute
2-
==================================================
3-
4-
Do you want to contribute to the Hestia Control Panel project? The easiest way to get started is to [submit an issue report](https://github.com/hestiacp/hestia/issues) if you come across a bug or issue. If you are a developer, please feel free to submit your code via pull request for review.
5-
6-
**We appreciate and welcome all contributions to our project; it is with the help of the open-source community that we are able to build a product that meets our users needs.**
7-
81
Code Contributions & Pull Requests - Guidelines
92
-----------------------
103

11-
**All pull requests must include:**
12-
1. A brief but descriptive title, such as **Fixed syntax error in php.ini** or **Updated rebuild_mail_conf function in rebuild.sh**.
13-
2. A detailed description of the changes that you've made.
14-
1. Example: "Apache subdomain configuration was incorrect, modified variables in templates to point to the correct files."
15-
3. Only commits which are related to the pull request or issue itself.
4+
All pull requests must include a brief but descriptive title, and a description of the changes that you've made with as much detail as possible. **Only include commits that are related to your feature, bug fix, or patch in your pull request.**
165

17-
### Code formatting and comments:
18-
We ask that you please try to follow existing naming schemes and coding conventions as much as possible, and that you add brief but descriptive comments in your source code to aid other developers in debugging and understanding your code in the future.
6+
## Code formatting and comments:
7+
We ask that you follow existing naming schemes and coding conventions where possible, and that you add comments in your source code where appropriate to aid other developers in debugging and understanding your code in the future.
198

20-
### Squashing commits for smaller changes:
21-
When submitting a pull request with multiple smaller commits which are related to the same issue (or file), we ask that you please **squash your commits** in order to keep the project's commit history clean and easy to follow for other developers. For example, if you are submitting a fix for two files which contain the same code change, merge those changes into one commit before submitting your request.
9+
## Squashing commits for smaller changes:
10+
When submitting a pull request with multiple smaller commits which are related to the same issue (or file), we ask that you please **squash your commits** in order to keep the project's commit history clean and easy to follow for other developers.
2211

23-
### Working with branches:
12+
## Working with branches:
2413
Development for this project takes place in branches to effectively develop, manage, and test new features and code changes, helping to ensure that each release meets high quality standards. Our primary branches are as follows:
2514

26-
* **master**: Active development code for the the next version of Hestia Control Panel.
27-
* **release**: The latest stable release code - installation packages generally align with this branch.
15+
### Primary branches:
16+
17+
* `develop`: Active development code for the the next version of Hestia Control Panel, considered to be unstable.
18+
* `beta`: Feature locked code for the next release, which receives fixes only and goes through feedback and testing.
19+
* `release`: Code in this branch aligns with the latest packages available on our APT repositories.
20+
21+
### I want to contribute some code to Hestia Control Panel, where do I start?
22+
23+
First, create a new branch for your work based on the `develop` branch to ensure that you have the latest commits in your local repository, which will help make sure that your pull requests only contain the commits that are necessary.
24+
25+
When creating your branches, **please adhere to the following naming conventions:**
26+
27+
- **Prefix:** `bugfix/` or `feature/` based on the type of submission.
28+
- **ID**: `888` (GitHub Issue ID if an issue exists) -or- `2020-07` (Year-Month if an issue does not already exist)
29+
- **Separator:** `_` (underscore)
30+
- **Title:** `my-awesome-patch`
2831

29-
We ask that you create a new branch for your work based on **master**, this will allow you to submit only the necessary commits/changes that you've made. We generally adhere to the below naming convention for internal branches; you're welcome to use your own naming conventions so long as your commits follow the guidelines mentioned above.
32+
Branch name examples:
33+
* `feature/777_my-awesome-new-feature` or `feature/2020-07_my-other-new-feature`
34+
* `bugfix/000_some-bug-fix` or `bugfix/2020-07_this-feature-is-broken`
3035

31-
* **feature-name**: New features
32-
* **bugfix-000**: Bug fixes
36+
Once your code is complete and you have reviewed it for errors, submit a pull request to the correct integration branch:
3337

34-
**Note**: Replace **000** with the GitHub Issue ID if available, or use a short but descriptive name.
38+
* `staging/fixes`: bugfix/ branches will merge to this branch when they have been tested/verified.
39+
* `staging/features`: feature/ branches will merge to this branch when they have been tested/verified.
3540

36-
### Feature freeze:
37-
Once development has reached a point where all planned new features have been incorporated, the **master** branch will then enter a "feature freeze" period where only fixes to the existing functionality will be added or merged for inclusion. Once any known issues have been resolved and the build has passed internal validation and testing procedures, it will then be pushed to **release** and tagged with it's respective version number and made available through our APT repositories.
41+
All `staging` branches will integrate to `develop` to form the next release of Hestia Control Panel. Once all features and fixes planned for the release are merged, the code will then be pushed to the `beta` branch where it is feature locked, assigned a version number, and will receive thorough testing before being pushed to the `release` branch with new packages being pushed to APT.
3842

3943
**Please ensure that all pull requests meet the guidelines listed above; those that do not will be rejected and sent back for review.**
4044

ISSUE_TEMPLATE.md

Lines changed: 9 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,25 @@
1-
### Please fill in the relevant sections below and remove those which do not apply.
1+
**Please include as much information as possible in your issue report, such as the configuration of your server and any troubleshooting steps that you've already performed.**
22

3-
**To help aid our developers in debugging your issue we ask that you include as much information as possible, including the configuration of your server and troubleshooting steps already performed.**
4-
5-
**Please DO NOT include any personal or sensitive information in your issue reports, including usernames or passwords!**
3+
**NOTE: Do not include any personal or sensitive information, such as email addresses or passwords.**
64

75
===
86

97
### In a few words, please describe the issue that you're experiencing:
108
Please enter your answer here (e.g. When I try adding a web domain, an error message appeared stating that the php-fpm pool did not exist).
119

1210
### What steps did you take when the issue occured?
13-
1. Ex.: Log into the Hestia Control Panel using Firefox
14-
2. Ex.: Click on the Web tab
15-
3. Ex.: Click on Add Web Domain
16-
4. Ex.: Attempted to add a domain and received an error.
11+
1. Ex.: Click on the Web tab
12+
2. Ex.: Click on Add Web Domain
13+
3. Ex.: Attempted to add a domain and received an Internal Server Error.
1714

1815
### Expected behavior:
1916
Please enter your answer here (e.g. the web domain should have been added successfully).
2017

21-
### Does this issue always occur, or is it intermittent?
22-
Please enter your answer here (e.g. it happens every time I try to perform the steps above).
23-
24-
### Operating system distribution and release:
25-
Please enter your answer here (e.g. Ubuntu 18.04.3 LTS)
26-
27-
### Which version of Hestia Control Panel is currently installed?
28-
You can find this information in $HESTIA/conf/hestia.conf by running the following command:
29-
`grep VERSION $HESTIA/conf/hestia.conf`
30-
31-
Please enter your answer here (e.g. 1.1.0)
32-
33-
### Which branch are you using?
34-
Please enter your answer here (e.g release, master, etc.)
35-
36-
### When did this issue occur? After a clean installation, or after an upgrade?
37-
Please enter your answer here (e.g the feature stopped working after upgrading to the latest release)
38-
39-
**Note:** If you have upgraded from an older release on an existing server, please let us know which version was previously installed if at all possible.
40-
41-
### Which of the following web server configurations are you using?
42-
- Apache + Nginx (default)
43-
- Nginx + PHP-FPM
44-
- Multi-PHP
45-
- PHP-FPM + Multi-PHP
46-
- Other (please specify)
47-
48-
### In order to better assist, please post any relevant log information below:
49-
Tip: Most log files can be found under ***/var/log/***.
18+
### Operating system:
19+
Please enter your answer here (e.g. Ubuntu 20.04 LTS)
5020

51-
### Related issues or forum threads:
52-
Find something that might be related to this? Please let us know by adding any relevate issue numbers or URLs here (e.g. issue #000 or https://forum.hestiacp.com/...)
21+
### Hestia Control Panel version:
22+
Please enter your answer here (e.g. 1.2.0).
5323

5424
### Additional notes:
5525
If there is anything else that you'd like us to know about this issue, feel free to share here.

0 commit comments

Comments
 (0)