With Python 3.8 reaching its end-of-life (see https://devguide.python.org/versions/#supported-versions), we have to update our Certbot snaps to a newer Python version. We will switch over early October and giving plugin developers until October 1st, 2024 to work on any updates to ensure their plugins don't break with Certbot 3.0.
If your plugin is released before Certbot 3.0.0, your users will continue to use your last version until Certbot 3.0.0 is released. Aim to release your plugin before Certbot 3.0.0 is released. If your plugin is released after Certbot 3.0.0, it will likely break.
We have outlined steps below, so you can take to smoothly update and test against the new changes:
Third Party Plugins Update Checklist:
[ ] 1. Ensure snapcraft --version is at least 8.3
[ ] 2. In your setup.py, change version to be 3.0.0 (though 2.12.0 and higher should work, assuming Certbot makes no interim releases).
[ ] 3. Follow one of these instructions for updating snapcraft.yaml:
If you are using generate_dnsplugins_snapcraft.sh, grab the latest from github and run it again.
If you are manually editing your snapcraft.yaml file, make the changes to tools/snap/generate_dnsplugins_snapcraft.sh shown in this commit, or similar. Migration guides can be found for core20 to core22, and core22 to core24.
[ ] 4. Follow one of these instructions for building the snap:
If you are running snapcraft remote-build, note that the --build-id flag is not used, and that the command must be run from the main directory of a git repo.
If you are running certbot's build_remote.py script, you should be able to use it as before.
If you are manually building the snap, remove sudo /snap/bin/lxd.migrate -yes from your lxd setup instructions. You may need to be on ubuntu 24 to build it properly.
To test against Certbot with these changes implemented, use the edge channel: sudo snap install certbot --edge --classic. The version in that channel is 2.12.0.dev0, so setting your version to 2.12.0.dev0 temporarily (or lower) will allow it be installed for testing. After testing, be sure to bump your released version as mentioned in step 2.
Although no other changes should be necessary, see this PR for all changes made to migrate Certbot to core24/python3.12.
Greetings from the Certbot Team,
With Python 3.8 reaching its end-of-life (see https://devguide.python.org/versions/#supported-versions), we have to update our Certbot snaps to a newer Python version. We will switch over early October and giving plugin developers until October 1st, 2024 to work on any updates to ensure their plugins don't break with Certbot 3.0.
If your plugin is released before Certbot 3.0.0, your users will continue to use your last version until Certbot 3.0.0 is released. Aim to release your plugin before Certbot 3.0.0 is released. If your plugin is released after Certbot 3.0.0, it will likely break.
We have outlined steps below, so you can take to smoothly update and test against the new changes:
Third Party Plugins Update Checklist:
[ ] 1. Ensure
snapcraft --version
is at least 8.3[ ] 2. In your
setup.py
, change version to be 3.0.0 (though 2.12.0 and higher should work, assuming Certbot makes no interim releases).[ ] 3. Follow one of these instructions for updating
snapcraft.yaml
:generate_dnsplugins_snapcraft.sh
, grab the latest from github and run it again.snapcraft.yaml
file, make the changes totools/snap/generate_dnsplugins_snapcraft.sh
shown in this commit, or similar. Migration guides can be found for core20 to core22, and core22 to core24.[ ] 4. Follow one of these instructions for building the snap:
snapcraft remote-build
, note that the--build-id
flag is not used, and that the command must be run from the main directory of a git repo.build_remote.py
script, you should be able to use it as before.sudo /snap/bin/lxd.migrate -yes
from yourlxd
setup instructions. You may need to be on ubuntu 24 to build it properly.To test against Certbot with these changes implemented, use the edge channel:
sudo snap install certbot --edge --classic
. The version in that channel is2.12.0.dev0
, so setting your version to2.12.0.dev0
temporarily (or lower) will allow it be installed for testing. After testing, be sure to bump your released version as mentioned in step 2.Although no other changes should be necessary, see this PR for all changes made to migrate Certbot to
core24/python3.12
.Contact us on our Mattermost in our Certbot channel or certbot-team@eff.org if you have any questions.