Hi,
I am pleased to announce several new releases for GNU Mailman project.
- Mailman Core 3.3.6 1
- Postorius 1.3.7 2
- Hyperkitty 1.3.6 [3]
- Mailmanclient 3.3.4 [4]
- Django-mailman3 1.3.8 [5]
All the releases are published to PyPI and you can find links to all the PyPI projects:
https://docs.mailman3.org/en/latest/
A full list of changelogs are available below:
-- Something weird is going on with the page missing the bullets. [3]: https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-6 [4]: https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient... [5]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
Finally, the minimum Python version required is 3.7 although, 3.9 is recommended if you are doing a new install for longest support. 3.10 is supported for Django apps, but Mailman Core is missing that due to one of the core dependencies not support 3.10 yet (aiosmtpd).
Thanks to all the contributors for making this release possible and apologies on my end for delayed releases.
If you find any issues, you can report them at the respective bug tracker for the projects. The links to issue trackers are available here: https://docs.mailman3.org/en/latest/
-- thanks, Abhilash Raj (maxking)
On Wed, Oct 26, 2022 at 8:44 AM Abhilash Raj <maxking@asynchronous.in> wrote:
Hi,
I am pleased to announce several new releases for GNU Mailman project.
- Mailman Core 3.3.6 [1]
- Postorius 1.3.7 [2]
- Hyperkitty 1.3.6 [3]
- Mailmanclient 3.3.4 [4]
- Django-mailman3 1.3.8 [5]
All the releases are published to PyPI and you can find links to all the PyPI projects:
https://docs.mailman3.org/en/latest/
A full list of changelogs are available below:
[1]:
https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.h... [2]: https://docs.mailman3.org/projects/postorius/en/latest/news.html#section-2 -- Something weird is going on with the page missing the bullets. [3]:
https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-6 [4]:
https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient... [5]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst
Finally, the minimum Python version required is 3.7 although, 3.9 is recommended if you are doing a new install for longest support. 3.10 is supported for Django apps, but Mailman Core is missing that due to one of the core dependencies not support 3.10 yet (aiosmtpd).
Hello @Abhilash Raj <maxking@asynchronous.in>
Thank you and the whole MM3 team for all the free work you do to make us have mailing lists :)
I have a question regarding the Python version. I have a very recent installation of MM3, via the Virtual Environment method, running smoothly - so far. The Python version that got installed is 3.10.6
wash@lists:~$ sudo su - mailman (venv) mailman@lists:~$ which python /opt/mailman/mm/venv/bin/python (venv) mailman@lists:~$ /opt/mailman/mm/venv/bin/python -V Python 3.10.6 (venv) mailman@lists:~$ mailma mailmail3 mailman (venv) mailman@lists:~$ mailman --version GNU Mailman 3.3.5 (Tom Sawyer) (venv) mailman@lists:~$
- What does the incompatibility with Python-3.10 portend for my setup and anyone else with Python-3.10?
- Is it possible to downgrade the Python in a Venv down to 3.9 without breaking the installation?
And finally, is there documentation/procedure to upgrade a VENV install in this case?
Thank you in advance.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
On 10/26/22 12:32, Odhiambo Washington wrote:
On Wed, Oct 26, 2022 at 8:44 AM Abhilash Raj <maxking@asynchronous.in <mailto:maxking@asynchronous.in>> wrote:
Hi, I am pleased to announce several new releases for GNU Mailman project. 1. Mailman Core 3.3.6 [1] 2. Postorius 1.3.7 [2] 3. Hyperkitty 1.3.6 [3] 4. Mailmanclient 3.3.4 [4] 5. Django-mailman3 1.3.8 [5] All the releases are published to PyPI and you can find links to all the PyPI projects: https://docs.mailman3.org/en/latest/ <https://docs.mailman3.org/en/latest/> A full list of changelogs are available below: [1]: https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-6 <https://docs.mailman3.org/projects/mailman/en/latest/src/mailman/docs/NEWS.html#news-3-3-6> [2]: https://docs.mailman3.org/projects/postorius/en/latest/news.html#section-2 <https://docs.mailman3.org/projects/postorius/en/latest/news.html#section-2> -- Something weird is going on with the page missing the bullets. [3]: https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-6 <https://docs.mailman3.org/projects/hyperkitty/en/latest/news.html#news-1-3-6> [4]: https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#news-3-3-4 <https://docs.mailman3.org/projects/mailmanclient/en/latest/src/mailmanclient/docs/NEWS.html#news-3-3-4> [5]: https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst <https://gitlab.com/mailman/django-mailman3/-/blob/master/README.rst> Finally, the minimum Python version required is 3.7 although, 3.9 is recommended if you are doing a new install for longest support. 3.10 is supported for Django apps, but Mailman Core is missing that due to one of the core dependencies not support 3.10 yet (aiosmtpd).
Hello @Abhilash Raj <mailto:maxking@asynchronous.in>
Thank you and the whole MM3 team for all the free work you do to make us have mailing lists :)
I have a question regarding the Python version. I have a very recent installation of MM3, via the Virtual Environment method, running smoothly - so far. The Python version that got installed is 3.10.6
wash@lists:~$ sudo su - mailman (venv) mailman@lists:~$ which python /opt/mailman/mm/venv/bin/python (venv) mailman@lists:~$ /opt/mailman/mm/venv/bin/python -V Python 3.10.6 (venv) mailman@lists:~$ mailma mailmail3 mailman (venv) mailman@lists:~$ mailman --version GNU Mailman 3.3.5 (Tom Sawyer) (venv) mailman@lists:~$
- What does the incompatibility with Python-3.10 portend for my setup and anyone else with Python-3.10?
The bug in aiosmtpd is a bit weird and has to do with how the test cases in aiosmtpd and Python 3.10 changes interact with SSL. For the intents and purposes of Mailman, we don't use SSL for the communication between MTA and aiosmtpd, so there _shouldn't_ be any issuer with your setup.
Ideally, pip
shouldn't have allowed you to install aiosmtpd in a
Python venv with 3.10, but that depends on which version of pip you are
using since the newer versions have better support for such management.
- Is it possible to downgrade the Python in a Venv down to 3.9 without breaking the installation?
You can keep the current installation running and create a 2nd
installation by simply creating a 2nd venv with 3.9. Something like,
/opt/mailman/mm/venv-3.9/
. You can install things into that venv and
when you are done and ready to switch, you can update all the paths in
various places to use update 'venv-3.9' instead of 'venv'.
In case you encounter any issues, you can always revert back to older 'venv' in the paths wherever the are needed and bring back the old install. Venvs are good for multiple installs so you can switch back and forth pretty easily.
And finally, is there documentation/procedure to upgrade a VENV install in this case?
You don't want to upgrade venv is what i've heard, you should always create a new one if you are bumping python versions.
If you are just upgrading packages in the existing venv, then you can follow:
https://docs.mailman3.org/en/latest/upgrade-3.2.html
-- thanks, Abhilash Raj (maxking)
On Wed, Oct 26, 2022 at 10:16 AM Abhilash Raj <maxking@asynchronous.in> wrote:
On 10/26/22 12:32, Odhiambo Washington wrote:
On Wed, Oct 26, 2022 at 8:44 AM Abhilash Raj <maxking@asynchronous.in <mailto:maxking@asynchronous.in>> wrote:
Hi, I am pleased to announce several new releases for GNU Mailman
project.
1. Mailman Core 3.3.6 [1] 2. Postorius 1.3.7 [2] 3. Hyperkitty 1.3.6 [3] 4. Mailmanclient 3.3.4 [4] 5. Django-mailman3 1.3.8 [5]
[snip]
Finally, the minimum Python version required is 3.7 although, 3.9 is recommended if you are doing a new install for longest support. 3.10
is
supported for Django apps, but Mailman Core is missing that due to
one
of the core dependencies not support 3.10 yet (aiosmtpd).
Hello @Abhilash Raj <mailto:maxking@asynchronous.in>
Thank you and the whole MM3 team for all the free work you do to make us have mailing lists :)
I have a question regarding the Python version. I have a very recent installation of MM3, via the Virtual Environment method, running smoothly - so far. The Python version that got installed is 3.10.6
wash@lists:~$ sudo su - mailman (venv) mailman@lists:~$ which python /opt/mailman/mm/venv/bin/python (venv) mailman@lists:~$ /opt/mailman/mm/venv/bin/python -V Python 3.10.6 (venv) mailman@lists:~$ mailma mailmail3 mailman (venv) mailman@lists:~$ mailman --version GNU Mailman 3.3.5 (Tom Sawyer) (venv) mailman@lists:~$
- What does the incompatibility with Python-3.10 portend for my setup and anyone else with Python-3.10?
The bug in aiosmtpd is a bit weird and has to do with how the test cases in aiosmtpd and Python 3.10 changes interact with SSL. For the intents and purposes of Mailman, we don't use SSL for the communication between MTA and aiosmtpd, so there _shouldn't_ be any issuer with your setup.
Relief!
Ideally,
pip
shouldn't have allowed you to install aiosmtpd in a Python venv with 3.10, but that depends on which version of pip you are using since the newer versions have better support for such management.
I followed the HOWTO by the late BC <https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10> for my installation. I did not have to choose any specific version of pip. I just used what was in the system at that time, which was based on the Python version on the system.
- Is it possible to downgrade the Python in a Venv down to 3.9 without breaking the installation?
You can keep the current installation running and create a 2nd installation by simply creating a 2nd venv with 3.9. Something like,
/opt/mailman/mm/venv-3.9/
. You can install things into that venv and when you are done and ready to switch, you can update all the paths in various places to use update 'venv-3.9' instead of 'venv'.
That procedure seems way too much work for someone not so well versed with the PATHs used in MM3. Since I don't remember ever having to install aiosmtpd (not even sure what it is!) I believe I should not worry.
'pip3 list | grep smtpd' yielded nothing in my install. Is that expected? Or aiosmtpd is part of the core?
In case you encounter any issues, you can always revert back to older
'venv' in the paths wherever the are needed and bring back the old install. Venvs are good for multiple installs so you can switch back and forth pretty easily.
Talking of moving between VENVs, you did not mention about migrating the lists/list data between then :-)
And finally, is there documentation/procedure to upgrade a VENV install in this case?
You don't want to upgrade venv is what i've heard, you should always create a new one if you are bumping python versions.
Noted. And only Python versions, right? Like 3.10 to 3.11?
If you are just upgrading packages in the existing venv, then you can follow:
https://docs.mailman3.org/en/latest/upgrade-3.2.html
Thank you for this.
I have a request: Is it possible for someone to update the HOWTO that was done by Brian to include the process of updating MM3? I can see that he created a heading that was supposed to have the procedure. I am assuming it should be a few simple additions - but I am not quite sure (see below):
(1) Pre-upgrade First, you need to stop the running Mailman services before the upgrade to make sure that you don’t end up in a bad state. You can stop the three systemd services:
$sudo systemctl stop mailman3 $sudo systemctl stop qcluster $sudo systemctl stop gunicorn
(2) Then you need to switch to mailman user, activate the virtualenv: $ sudo su mailman $ source /opt/mailman/mm/venv/bin/activate
(3) Upgrade package Finally, upgrade your packages:
Here, I am a little confused. The official MM3 documentation says the below: *(venv) $ pip install -U mailman postorius django-mailman3 hyperkitty mailman-web*
However, thee howto by BC, there was no installation for django-mailman3 and mailman-web. So I am unable to map 1:1 what needs to be done to upgrade to these 5 components of
- Mailman Core 3.3.6 [1]
- Postorius 1.3.7 [2]
- Hyperkitty 1.3.6 [3]
- Mailmanclient 3.3.4 [4]
- Django-mailman3 1.3.8 [5]
What should I add to the command line below so that everything is updated?
(venv) mailman@lists:~$ pip install -U mailman postorius hyperkitty mailman-hyperkitty
Sorry to bother you so much.
-- Best regards, Odhiambo WASHINGTON, Nairobi,KE +254 7 3200 0004/+254 7 2274 3223 "Oh, the cruft.", egrep -v '^$|^.*#' ¯\_(ツ)_/¯ :-)
On 10/26/22 13:48, Odhiambo Washington wrote:
Ideally, `pip` shouldn't have allowed you to install aiosmtpd in a Python venv with 3.10, but that depends on which version of pip you are using since the newer versions have better support for such management.
I followed the HOWTO by the late BC <https://wiki.list.org/DOC/Howto_Install_Mailman3_On_Debian10> for my installation. I did not have to choose any specific version of pip. I just used what was in the system at that time, which was based on the Python version on the system.
So, actually, it isn't the fault of pip or yours. I check aiosmtpd and it doesn't declare an upper bound on the supported python versions since when the last release came out, the max version was 3.9 and it supported that. There hasn't been a release since 3.10 came out.
> 2. Is it possible to downgrade the Python in a Venv down to 3.9 without > breaking the installation? You can keep the current installation running and create a 2nd installation by simply creating a 2nd venv with 3.9. Something like, `/opt/mailman/mm/venv-3.9/`. You can install things into that venv and when you are done and ready to switch, you can update all the paths in various places to use update 'venv-3.9' instead of 'venv'.
That procedure seems way too much work for someone not so well versed with the PATHs used in MM3. Since I don't remember ever having to install aiosmtpd (not even sure what it is!) I believe I should not worry.
You basically just need to follow the install instructions again, skipping any parts about creating configs, data mta etc. with the new path to venv.
'pip3 list | grep smtpd' yielded nothing in my install. Is that expected? Or aiosmtpd is part of the core?
Yes, it is a dependency of Core and you _should_ find it in the venv. Not sure if you have that activated, but it should result in an installed package if you are inside venv.
In case you encounter any issues, you can always revert back to older 'venv' in the paths wherever the are needed and bring back the old install. Venvs are good for multiple installs so you can switch back and forth pretty easily.
Talking of moving between VENVs, you did not mention about migrating the lists/list data between then :-)
You don't need to migrate lists, as long as you keep the same configs & database, the 2nd install will just pickup the old data. Make sure you aren't downgrading the version of Mailman though when switching between VMs (which typically won't happen if you just use "pip install", unless you specify version constraints like mailman==3.3.0 for old versions).
> > And finally, is there documentation/procedure to upgrade a VENV install > in this case? You don't want to upgrade venv is what i've heard, you should always create a new one if you are bumping python versions.
Noted. And only Python versions, right? Like 3.10 to 3.11?
Yes, only Python versions! Packages inside can be upgraded.
(3) Upgrade package Finally, upgrade your packages:
Here, I am a little confused. The official MM3 documentation says the below: *(venv) $ pip install -U mailman postorius django-mailman3 hyperkitty mailman-web*
However, thee howto by BC, there was no installation for django-mailman3 and mailman-web. So I am unable to map 1:1 what needs to be done to upgrade to these 5 components of 1. Mailman Core 3.3.6 [1] 2. Postorius 1.3.7 [2] 3. Hyperkitty 1.3.6 [3] 4. Mailmanclient 3.3.4 [4] 5. Django-mailman3 1.3.8 [5]
What should I add to the command line below so that everything is updated?
(venv) mailman@lists:~$ pip install -U mailman postorius hyperkitty mailman-hyperkitty
This will work!
Yeah, basically upgrade only the packages you installed previously. The official documentation asks you to explicitly specify all Mailman packages (even the downstream libraries like django-mailman3 and mailmanclient, which will already be upgraded when you install new version of Postorius or Hyperkitty) and mailman-web. You probably don't need "mailman-web".
I'd recommend just specifying all the released packages, except mailman-web since you aren't using that.
Sorry to bother you so much.
No worries :-)
-- thanks, Abhilash Raj (maxking)
participants (2)
-
Abhilash Raj
-
Odhiambo Washington