NOTE: This is the draft for the releases notes. If you are an implementer or someone that is upgrading a Decidim installation, we recommend checking out the last version of this document in the GitHub page for the releases of this branch.
As usual, we recommend that you have a full backup, of the database, application code and static files.
To update, follow these steps:
If you're using rbenv, this is done with the following commands:
rbenv install 3.x.x
rbenv local 3.x.xYou may need to change your .ruby-version file too.
If not, you need to adapt it to your environment, for instance by changing the decidim docker image to use ruby:3.x.x.
gem "decidim", github: "decidim/decidim"
gem "decidim-dev", github: "decidim/decidim"bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails data:migrate2.1. Unconfirmed and managed participants are now hidden by default
Participants that have not confirmed their account or accepted the terms of service of the website and managed participants are now hidden by default. This means that these profiles do not appear publicly on the website before the participant has accepted the terms of service. It is assumed that the consent to publish the participant's personal details on the website is mandated by the terms of service.
The profiles will be considered hidden by default and visible after the participant has accepted the terms of service or after a managed participant account is elevated to a regular participant account. The details of the hidden profiles are not displayed on the website and the API.
This change is based on the GDPR regulation:
[...] In particular, such measures shall ensure that by default personal data are not made accessible without the individual’s intervention to an indefinite number of natural persons.
GDPR Art. 25 (2)
You can read more about this change on PR #11036.
As we are doing changes in the default sidekiq.yml configuration and we want to do them automatically, this file will be overwritten during the upgrade process (on the bin/rails decidim:upgrade command).
If you have queues or any configuration particular to your environment that you do not want to get overwritten, you can do so by calling another configuration file on the sidekiq daemon call. For instance:
sidekiq -C config/sidekiq.yml -C config/sidekiq.local.ymlYou can read more about this change on PR #17596.
You can read more about this change on PR #XXXX.
These are one time actions that need to be done after the code is updated in the production database.
Active Storage jobs now run in the dedicated Sidekiq queue active_storage to avoid blocking the default queue.
Please add this queue to your config/sidekiq.yml and ensure at least one Sidekiq process is consuming it.
You can read more about this change on PR #17520.
You can read more about this change on PR #XXXX.
Implementers need to configure these changes it in your scheduler task system in the production server. We give the examples
with crontab, although alternatively you could use whenever gem or the scheduled jobs of your hosting provider.
4 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rails decidim:TASKYou can read more about this change on PR #XXXX.
In order to fully remove Foundation CSS, we need to remove any dependency to Foundation-Sites. In the latest releases we started to rely more on Stimulus controllers and plain Javascript.
If you are a developer or implementer, and you are upgrading your module or application, make sure that you do not have foundation-sites related code.
You can read more about this change on PR #16889.
In order to [[REASONING (e.g. improve the maintenance of the code base)]] we have changed...
If you have used code as such:
# Explain the usage of the API as it was in the previous version
result = 1 + 1 if beforeYou need to change it to:
# Explain the usage of the API as it is in the new version
result = 1 + 1 if after