See all our current and previous releases of the application
A small maintenance release this time to get new OS support and update application libraries with the latest security fixes
Full Changelog: https://github.com/KHIT93/mailguardian/compare/2.0.3…2.0.4
This release fixes a small issue where premailer
fails to prepare the email for sending to email clients due to use of quite modern CSS
features that are not yet supported in premailer
.
A minor bugfixes addressing an issue in the installation process where certain configuration files were not properly modified
Next release is up.
This time only a minor bugfix release to address some issues during installation
We are finally here. MailGuardian
2.0.0 is out.
A lot of work has gone into making this release the best one ever.
You can see the full changelog below, but here is the shorthand version, TL;DR
blacklist
and whitelist
are removed from our internal codebaseFull Changelog: https://github.com/KHIT93/mailguardian/compare/1.5.2…2.0.0
Pre release
RC3 is here.
Not much changed since RC2, but a few things were fixed in the installer for Debian-based systems
Pre release
RC2 is here. Not much has changed. Mostly fixes to the installer and some cleanup
2.0.0 stable is right around the corner
Pre release
We have done quite some changes and improvements since the last version.
Mainly we have changes in the UI, as we have now replaced @tailwindcss/ui
with the new TailwindCSS 2.x
We have many more plans for the UI and UX improvements in future releases, but we are eager to get 2.0.0 out
Aside from UI, we have also updated the Django framework to the latest Django 3.2.x LTS
Pre release
This is the second beta release for 2.0.0
and this time we have mostly been working on the logging features as well as the migration script for conversion from plain Postfix
to MailScanner Milter
Pre release
This is the first tagged pre-release of V2 and we will use this to allow users to pretest the V2 changes as well as having an easy way to refer to all the changes that have come when we tag the final 2.0.0
release.
While a new installation is possible from this release, and through examination of the new install scripts, it is possible to upgrade to this pre-release, some things might still change
@tailwindcss/ui
into the projectdjango-encrypted-model-fields
has been replaced with django-cryptography
for better stability and Django 3.x
support. This means that any 2FA
accounts need to be recreated. We plan to detect this during the upgrade to version 2.0.0
and disable it as well as output which users were impacted. If a possible migration path is found and if we can automate it, we will do soInternet Explorer
. We now show an error when we detect certain JavaScript features are not supported by the browserFor 2.0.0
, we really wanted to improve our installation procedure, since it has previously been a bit more manual than we wanted and it did therefore have introduction barrier for users not that experienced on the Linux platform.
The new scripts do therefore take care of almost everything. It detects your Linux distribution, checks if Python 3 is installed and if not, it installs it for you. It also installs and configures MailScanner and postfix for you.
We plan to also have the script let you choose the which version of MailGuardian
to install and even help you do the full multi-node configuration.
This release does not do much by itself. It does however fix a bug in the two reports See all messages
and Perform message operations
.
These two reports used some internal functions of the underlying API library to generate the listing data for the report and during this internal function, the dataset was reset and all filtering was removed, so that it gave the same results with and without filters applied
This release just fixes a few minor issues, so nothing hugely important to get installed
It has been a long time since the last release, but finally I think that it is time for a new version to come out
This time, we have changed things up a bit with a completely new configuration structure.
Instead of a custom internal JSON-file, we wanted to make something that came a lot closer to what was there in Django by default.
This allows us to get access to every single configuration in standard django settings module and therefore also override any of them.
A simple thing made possible by this would be to send the quarantine reports from different servers than your mailguardian setup.
We might experiment with detaching the frontend web UI completely from MailScanner
and postfix
, so that the web UI could technically run on any webserver as long as it can connect to the same postgresql database as your mailguardian cluster nodes.
With the new configuration structure also comes an upgrade script, which is responsible for migrating your existing JSON configuration to the new configuration structure.
Aside from the new configuration system, we have also made the following changes/bugfixes:
upgrade.py
does not equal
and then an email address or domain you have access to, would case the opposite filtering to go away and display records belonging to everyone else on the systemTo upgrade to this version, you would need to get the latest version of the sourcecode from the releases page or by pulling directly from GitHub.
Then update python libraries in your virtualenv
using pip install -r requirements.txt --upgrade
and npm update
Then run the upgrade script python upgrade.py
Next run database migrations with python src/manage.py migrate
Next rebuild the frontend using npm run prod
Without running the upgrade script, nothing will work as the new configuration structure has made some breaking changes to the core of the settings module
Finally restart the ´MailScannerand
mailguardian` services to reload both applications
This release is mainly to fix two bugs. One minor UI bug and one a little more problematic.
After we upgraded tailwindcss
to version 1.x.x, there was a bug in our CSS code which caused to icons on the form select
elements to show over the text/label. This has now been fixed
The more serious bug fixed in this release is a little more serious. When upgrading to a release where cache keys were appended to static assets, in order to force clearing the browsers assets cache, we did unfortunately make every installation depend on the existence of the mix-manifest.json
file.
If the file does not exist, nginx would give a 502 gateway error. Running manage.py runserver
would indicate a 500 internal server error and from the output it would be possible to see that it was caused by this file.
The primary victims of this bug would be the nodes of a multi server setup, where the web UI was not running and therefore no assets had to be compiled with npm
In this release, it has been fixed by simply returning the requested with no cache key in the case where mix-manifest.json
does not exist.
Download the latest source code and upgrade libraries inside your virtualenv
using pip install -r requirements.txt --upgrade
and update node packages with npm install
and recompile with npm run production
Not much on this release.
We have unfortunately not had much time lately to close some of the feature request listed under our open issues.
So this release is just to upgrade the libraries and packages used to build MailGuardian
and therefore no breaking changes or other issues this time.
Download the latest source code and upgrade libraries inside your virtualenv
using pip install -r requirements.txt --upgrade
and update node packages with npm install
and recompile with npm run production
Bugfix release to revert psycopg2 to before version 2.8, as version 2.8.x has had some internal changes and therefore there weere issues with the upgrade on some linux systems.
We have reverted to 2.7.5 to ensure compatiblity until the issues with psycopg2 2.8 have been resolved
Just a short one this time
Basically this release has a focus on getting to Django 2.2 LTS, as well as upgrade and apply security patches to the libraries used by the application. Also the UI part has been updated the the most recent versions as well.
I did not really have to call this release 1.4.0, but it made sense as a lot has changed around the UI since 1.3.4
Upgrade scripts are still being developed, so for the time being, you have to run pip install -r requirements.txt --upgrade
and npm install && npm run prod
to upgrade packages.
Time for a new release. Mostly some bugfixes and UI changes this time.
Since libraries and assets have changed in this release, you need to update both.
Run npm install && npm run prod
inside your MailGuardian
installation
Run source bin/activate && pip install -r requirements.txt --upgrade
inside your MailGuardian
installation
It is time for yet another release. This time we have mostly bugfixes as well as version upgrades for some the libraries we have used.
This means that you have to run pip install -r requirements.txt --upgrade
, npm install
, npm run prod
and python /home/mailguardian/mailguardian/src/manage.py migrate
You will also need to restart MailScanner
/messages
page, as 5 seconds was too quick. New limit is 30 secondsInternet Explorer
with a polyfillIt is time for a new version. This time mostly a bugfix release
Also we have made a change to the certbot certificate generation, so that we generate a 4096-bit key instead of the default 2048-bit key
Today we have tagged release 1.3.0
Some exiting new things in this release
As part of adding the 2FA support, we have added a library that requires an encryption key to be defined.
Although we have been working on building an upgrade script, we have not yet finished with it, so in this release you have to manually generate and add the key
Since we have added some things and updated some things, you have to run the following commands after pulling the changes and entering your virtualenv
:
pip install -r requirements.txt --upgrade
python /home/mailguardian/mailguardian/src/manage.py migrate
python /home/mailguardian/mailguardian/src/manage.py compilemessages
If you run the code from a git pull
or the sourcecode zip-file/tarball, then you also have to do this:
npm install
npm run prod
For this to work, you have to generate a key like the one shown in the mailguardian-env.example.json
file.
"encryption_key": "OX3ZuHZIAi2WJtbQIbvOziP4Ux1y2CrUn5jeeOIWYp0=",
Also, you have to add a config_version key to mailguardian-env.json
:
"config_version": "1.3.0",
This has to be done before you restart mailguardian.service
It is once again time for a new release.
MailGuardian 1.2.0 comes with a lot of bugfixes and improvements.
This new release has also added support for using the new MailScanner 5.1.x Milter together with Postfix.
The MailScanner Milter is still in an experimental state, so we have only implemented support for using it with incoming email.
We have also updated the underlying Django framework to the latest 2.1.2 version, which means that you need to run pip install -r requirements.txt --upgrade
from within your virtual environment.
As always, feel free to report any issues to us on Github.
You can also contribute to the development of the application by looking at the open issues and help solve them. You can also send us a direct pull request with something you would like to add or something you want to improve
In this release we address some minor og still critical bugs:
multi node
configurationmailguardian-env.json
fileIn this release we have made changes to the database structure, which means that you have to populate these changes on to the database with python src/manage.py migrate
from inside your virtualenv
.
This release comes with changed assets, which means that you will need to run npm install
and npm run prod
to recompile these if you are running on the raw sourcecode or directly from pulling the changes from GitHub.
If you are using the prebuilt bundle, you simple have to download and replace the files.
SpamAssassin
Attached you will find a prebuilt bundle where you do not need to have NodeJS installed to get it working.
If you are running/getting the application with Git
, then you do need NodeJS to recompile the sourcecode javascript and styles (CSS).
Change the Max SpamAssassin Size
and Max Spam Check Size
of /etc/MailScanner/MailScanner.conf
and restart MailScanner
. Be careful not to set this to high, as bigger messages will increase the processing time for SpamAssassin
when evaluating a large message.
If you find any issues during the usage of the application, please fill in an issue with as much information as possible and we will gladly assists you in the task of fixing the issue.
If you would like to contribute a fix or some updated code to the project, please feel free to create a pull request.
Pre release
setup_cron
commandAs with previous releases, we will release a prebuilt bundle where you do not need to have NodeJS installed to get it working.
If you are running the application with Git
, then you do need NodeJS to recompile the sourcecode javascript and styles to code that actually works in the browser.
A few more bugfixes might come during the coming weeks, and hopefully we will launch stable 1.0.0 around the beginning of August 2018.
In this release we found a bug, where the setup_cron
command would generate incorrect crontab
entries, resulting in cronjobs not running. We have fixed the issue, so you simply have to clear the crontab
for your application user and then re-run the setup_cron
command.
If you find any issues during the usage of the application, please fill in an issue with as much information as possible and we will gladly assists you in the task of fixing the issue.
If you would like to contribute a fix or some updated code to the project, please feel free to create a pull request.
Pre release
postfix
As with previous releases, we will release a prebuilt bundle where you do not need to have NodeJS installed to get it working.
If you are running the application with Git
, then you do need NodeJS to recompile the sourcecode javascript and styles to code that actually works in the browser.
A few more bugfixes might come during the coming weeks, and hopefully we will launch stable 1.0.0 around the beginning of August 2018.
I cannot wait until the day.
If you find any issues during the usage of the application, please fill in an issue with as much information as possible and we will gladly assists you in the task of fixing the issue.
If you would like to contribute a fix or some updated code to the project, please feel free to create a pull request.
Pre release
It has been a long journey since I started developing this application back in December of 2017. Now we are 8 months later and over 350 commits and I can finally tag the first release candidate of version 1.0.0
The only thing remaining is to get the application tested in production. I have already deployed some servers to handle spam filtering for some of my own projects and will start to see how that runs.
As a lot of might have noticed, there is currently no test suite for the application and I will be working on that in the coming months. If anyone is up for the challenge to contribute a set of unit tests and feature tests, please submit a Pull Request.
This software is still in the development stages and we might still introduce breaking changes, without an automatic migration path.
Please note that while the README.md
contains some instructions for MailScanner configuration using postfix, we do still not provide full installation details for the entire installation and therefore you might need to look at the MailScanner website as well.
At the moment we do only support postfix
with pgsql
support built in. Support for sendmail
and exim
will be added along the way. Please also note that the software was developed and tested on Debian 9 Stretch
using Python 3.5
, Python 3.6
and Python 3.7
.
In this release, we have provided an experimental bundle, which contains precompiled assets, so that you will only need to download and extract the file. After that you need to configure your webserver and create the virtualenv
.
Until the software reaches a stable 1.0.0, we will not provide an officially precompiled set of frontend assets, which means that you might need to have NodeJS installed on the system where you will be running the application, so that you can compile the assets yourself, if you are facing issues.
Pre release
The light at the end of the tunnel is near, as we release 1.0.0-beta.2
today.
This new release brings some really great features and polishes the installation procedure.
NodeJS
pip install -r requirements.txt
and python src/manage.py migrate
This software is still in the development stages and we might still introduce breaking changes, without an automatic migration path.
Please note that while the README.md
contains some instructions for MailScanner configuration using postfix, we do still not provide full installation details for the entire installation and therefore you might need to look at the MailScanner website as well.
At the moment we do only support postfix
with pgsql
support built in. Support for sendmail
and exim
will be added along the way. Please also note that the software was developed and tested on Debian 9 Stretch
using Python 3.5
, Python 3.6
and Python 3.7
.
In this release, we have provided an experimental bundle, which contains precompiled assets, so that you will only need to download and extract the file. After that you need to configure your webserver and create the virtualenv
.
Until the software reaches a stable 1.0.0, we will not provide an officially precompiled set of frontend assets, which means that you might need to have NodeJS installed on the system where you will be running the application, so that you can compile the assets yourself, if you are facing issues.