KEMBAR78
Releases · decidim/decidim · GitHub
Skip to content

Releases: decidim/decidim

v0.31.0.rc1

25 Sep 12:38
c3bc514

Choose a tag to compare

v0.31.0.rc1 Pre-release
Pre-release

Release Notes

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your ruby version and node versions

If you're using rbenv, this is done with the following commands:

rbenv install 3.3.4
rbenv local 3.3.4

You 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.3.4.

For node, if you're using nvm, this is done with the following commands:

nvm install 22.14.0
nvm use 22.14.0

1.2. Update your application configuration

In this version, we are changing Decidim’s underlying configuration engine. To update your application, make sure to review the changes related to environment variables. (See section 3.4: "Deprecation of Rails.application.secrets" for details.)

Your code and configuration must be updated to remove all references to the Rails.application.secrets object.

Important: If you have customized any of the following files:

  • config/secrets.yml
  • config/initializers/decidim.rb
  • config/storage.yml

You will need to adjust your environment to provide the necessary configurations through environment variables.

git rm config/secrets.yml
git rm config/initializers/decidim.rb
wget https://raw.githubusercontent.com/decidim/decidim/refs/heads/develop/decidim-generators/lib/decidim/generators/app_templates/storage.yml -O config/storage.yml

1.3. Update your Gemfile

gem "decidim", github: "decidim/decidim"
gem "decidim-dev", github: "decidim/decidim"

1.4. Rails upgrade

This particular release is deploying a new Rails version 7.2. As a result you need to update your application configuration. Before that, you need to run the following commands:

bundle update decidim
bin/rails decidim:upgrade

After that, you will have to patch your config/environments/production.rb, and change the logger with:

if ENV["RAILS_LOG_TO_STDOUT"].present?
  config.logger = ActiveSupport::Logger.new(STDOUT)
    .tap  { |logger| logger.formatter = ::Logger::Formatter.new }
    .then { |logger| ActiveSupport::TaggedLogging.new(logger) }
end

As of this version, we are changing Rails's settings from 6.1 to 7.1. In order to upgrade your app, you will need to patch your config/application.rb to load the 7.1 defaults.

module DevelopDevelopmentApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
-    config.load_defaults 6.1
+    config.load_defaults 7.1
    # ....
  end
end

After you have validated that your application still works as expected, you will need to do the next change, to fully finalize the upgrade. You need to change again the config/application.rb to load the 7.2 defaults.

module DevelopDevelopmentApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
-    config.load_defaults 7.1
+    config.load_defaults 7.2
    # ....
  end
end

We are recommending to follow the proposed steps, as you may have installed other decidim modules that are not yet ready to be used with 7.2

Important: Local environment variable introduced

Besides of what is already mentioned, you may encounter some encryption-related issues while developing locally, and this is caused by a Rails internal change that it is outside the control of Decidim's Maintainers team.

In the previous Rails versions the secret_key_base for local development was stored in a local file tmp/development_secret.txt, which has been remove starting Rails 7.1.
Depending on your environment setup, you will need to define an environment variable named SECRET_KEY_BASE, or you can rename the file tmp/development_secret.txt to tmp/local_secret.txt so that you can continue the same secret.

You can read more about the Rails upgrade process on the following PRs:

1.5. Run these commands

Shakapacker has been upgraded to the latest version. See section 3.10 for troubleshooting errors.

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:upgrade:user_groups:remove
bin/rails decidim:upgrade:fix_nickname_casing
bin/rails decidim:verifications:revoke:sms
bin/rails decidim_surveys:upgrade:fix_survey_permissions

bin/rails decidim:upgrade:decidim_update_valuators
bin/rails decidim:upgrade:decidim_action_log_valuation_assignment
bin/rails decidim:upgrade:decidim_paper_trail_valuation_assignment

1.6. Follow the steps and commands detailed in these notes

2. General notes

2.1. User Groups removal

As part of our efforts to simplify the experience for organizations, the "User Groups" feature has been deprecated. All previously existing User Groups has been converted into regular participants able to sign in providing the email and a password. The users with access to the email associated with the User Group will be able to set a password.

There are some tasks to notify users affected by the changes, transfer authorships and remove deprecated references to groups. All of them can be executed in a main task:

bin/rails decidim:upgrade:user_groups:remove

The tasks can also be executed one by one:

  • An email will be sent to the email address associated with the User Group, informing them of the deprecation of User Groups and instructing them to define a password for the newly converted profile. For this run:
bin/rails decidim:upgrade:user_groups:send_reset_password_instructions
  • To notify group members and admins associated with the User Group with an email explaining the changes and how to access the shared profile run:
bin/rails decidim:upgrade:user_groups:send_user_group_changes_notification_to_members
  • To migrate the authorships and coauthorships of the old groups and assign to the new regular users:
bin/rails decidim:upgrade:user_groups:transfer_user_groups_authorships
  • To avoid exceptions accessing to the activities log in the admin panel displaying activities associated with user groups:
bin/rails decidim:upgrade:user_groups:fix_user_groups_action_logs
  • To avoid exceptions trying to display notifications associated with deprecated groups events:
bin/rails decidim:upgrade:user_groups:remove_groups_notifications

You can read more about this change on PR #14130.

2.2. Automatic deletion of inactive accounts

To reduce database clutter and automatically manage inactive user accounts, we have introduced a scheduled task to delete accounts that have been inactive for a configurable period (default: 365 days).

Before deletion, the system will send two notification emails:

  • The first email is sent 30 days before the scheduled deletion.
  • The second email is sent 7 days before the deletion deadline.

Participants can prevent their account from being deleted by logging in before the deadline. A final email will be sent to inform the user once their account has been permanently deleted.

To enable automatic deletion, add the following scheduled task to your cron jobs:

0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:participants:delete_inactive_participants

By default, the inactivity period is set to 365 days, but it can be customized by passing a parameter to the task. For example:

0 0 * * * cd /home/user/decidim_application && RAILS_ENV=production bundle exec rake decidim:participants:delete_inactive_participants[500]

If you want to enable this, make sure your sidekiq.yml includes the delete_inactive_participants queue. If it is missing, patch your config/sidekiq.yml:

:concurrency: <%= ENV.fetch("SIDEKIQ_CONCURRENCY", 5) %>
:queues:
  - [default, 2]
  - [delete_inactive_participants, 2]
  - [mailers, 4]
  - [reminders, 2]
  - [newsletter, 2]

You can read more about this change on PR #13816.

2.3. Removal of Metrics

The Metrics feature has been completely removed

Use the Statistics feature instead.

If your application includes the metrics queue in config/sidekiq.yml or scheduled tasks in config/schedule.yml, make sure to remove them. Additionally make sure you remove the metrics crons from your crontab.

You can read more about this change on PR #14387

2.4. SMS authorization changes

As we have changed the authorization signature method for SMS, you will need to remove any authorizations that you may have. We are asking you to do this, in order to force your user base to reauthorize.

To remove it, you just need to run the below task.

bin/rails decidim:verifications:revoke:sms

You can read more about this change on PR #14426

2.5. Initiatives digital signature process change

The applicatio...

Read more

v0.30.2

23 Sep 10:47
3008ecc

Choose a tag to compare

Before updating to this release, make sure your installation is on v0.30.1 and that you have completed all the steps required for that update.

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your Gemfile

gem "decidim", "0.30.2"
gem "decidim-dev", "0.30.2"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:upgrade:clean:invalid_private_exports 

1.4. Follow the steps and commands detailed in these notes

Changelog

0.30.2

Added

Nothing.

Changed

Nothing.

Fixed

  • decidim-ai: Backport 'Fix reporting user for multi tenant in decidim AI' to v0.30 #14864
  • Backport 'Fix CORS instructions for cloud providers' to v0.30 #14842
  • decidim-proposals: Backport 'Prevent importing withdrawn or moderated proposals to another component' to v0.30 #14808
  • decidim-core: Backport 'Fix accessibility on filters label' to v0.30 #14815
  • decidim-core: Backport 'Fix background color of default avatar image for accessibility' to v0.30 #14819
  • decidim-comments: Backport 'Fix Accessibility Like/Dislike Buttons on Comments' to v0.30 #14878
  • decidim-core, decidim-proposals: Backport 'Fix get rid of preview alt' to v0.30 #14817
  • decidim-core, decidim-debates, decidim-proposals: Backport 'Fix view mode active icon in proposals for accessibility' to v0.30 #14824
  • decidim-core: Backport 'Fix report modals to improve accessibility' to v0.30 #14876
  • decidim-core: Backport 'Fix flaky spec in announcements' to v0.30 #14838
  • decidim-core: Backport 'Re enable the localized specs' to v0.30 #14845
  • decidim-core: Backport 'Fix accessibility on svg in card metadata cell' to v0.30 #14821
  • decidim-core: Fix specs for multiple_file_field_include_hidden #14875
  • decidim-comments: Backport 'Fix opinion buttons on comments for accessibility' to v0.30 #14834
  • decidim-core: Backport 'Hide empty announcement block when no text is present' to v0.30 #14826
  • decidim-core: Backport 'Fix missing for attribute on label and id on input' to v0.30 #14812
  • decidim-initiatives: Backport 'Fix flaky initiatives creation spec' to v0.30 #14835
  • decidim-conferences: Backport 'Fix grammar in conference admin registration count info' to v0.30 #14892
  • decidim-core: Backport 'Fix aria label in date pickers of meetings form' to v0.30 #14917
  • decidim-core: Backport 'Fix structure of search page's filters' to v0.30 #14923
  • decidim-core: Backport 'Fix hidden content in "More information"' to v0.30 #14928
  • decidim-comments: Backport 'Add aria labels for comment 'like' and 'dislike' buttons' to v0.30 #14925
  • decidim-core: Backport 'Fix truncated document name' to v0.30 #14929
  • decidim-core: Fix UX modal for the admin to a group #14026
  • decidim-core: Backport 'Fix search filter area for accessibility' to v0.30 #14953
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix importing attachments collections for processes and assemblies' to v0.30 #14955
  • decidim-core: Backport 'Fix main bar dropdown container fo accessibility' to v0.30 #14957
  • decidim-core: Backport 'Breadcrumb mobile responsiveness nitpicks' to v0.30 #14963
  • decidim-core: Backport 'Sticky footer 404 page' to v0.30 #15014
  • decidim-blogs, decidim-core, decidim-participatory processes: Backport 'Participatory process card & blog post author fix' to v0.30 #15003
  • decidim-proposals: Backport 'Fixed proposal creation in admin when "Participants can create proposals" to v0.30 #15049
  • Backport 'Upgrade Chrome and ChromeDriver to 139.0.7258.66' to v0.30 #15071
  • decidim-generators: Backport 'Define the generated app's sidekiq version based on the redis version' to v0.30 #15058
  • decidim-core: Backport 'Fix subscribe to newsletter when using omniauth' to v0.30 #15066
  • decidim-core: Backport 'Fix specs running on local development environments' to v0.30 #15068
  • decidim-core: Backport 'Change minimun_characters to minimum_characters' to v0.30 #15077
  • decidim-core, decidim-proposals: Backport 'Fix accessibility in footer' to v0.30 #15112
  • decidim-core: Backport 'Fix aria-current on active filter in search page' to v0.30 #15109
  • decidim-core: Backport 'Fix editor mention selection range when selecting item with mouse' to v0.30 #15094
  • decidim-core: Backport 'Fix callout/flash message announcement to the screen reader' to v0.30 #15097
  • decidim-forms: Backport 'Error saving survey with empty mandatory fields' to v0.30 #15100
  • decidim-core: Backport 'Fix accessibility in header ' to v0.30 #15101
  • decidim-surveys: Backport 'Previewing questionnaires as a process admin' to v0.30 #15104
  • decidim-admin, decidim-assemblies, decidim-conferences, decidim-initiatives, decidim-participatory processes: Backport 'Rename share_tokens to share_token in permissions' to v0.30 #15096
  • decidim-core: Backport 'Fix TranslatedEtiquetteValidator to use Decidim.enable_etiquette_validator' to v0.30 #15117
  • Backport 'Remove Platoniq/decidim-install references' to v0.30 #15136
  • decidim-core: Backport 'Fix flaky spec on comment example' to v0.30 #15140
  • Backport 'Fixed formatting error in documentation' to v0.30 #15152
  • decidim-ai: Backport 'Fix resource_hidden? within decidim-ai' to v0.30 #15155
  • Backport 'Update documentation instructions for Ubuntu 24.04 ' to v0.30 #15147
  • decidim-proposals: Backport 'Fix proposal cards render alt-text when PDF attached' to v0.30 #15149
  • decidim-core: Backport 'Fix accessibility in breadcrumb_menu by replacing div and span by p' to v0.30 #15160
  • decidim-core, decidim-newsletters: Backport 'Unsubscribed page redesign ' to v0.30 #15165
  • decidim-core, decidim-dev, decidim-proposals: Backport 'Refactor amendment permissions' to v0.30 #15168
  • decidim-core: Backport 'Remove the word "new" in front of GDPR from the newsletter opt-in mail' to v0.30 #15202
  • decidim-core: Backport 'Fix 'Skip to main content' button visualization' to v0.30 #15204
  • decidim-core: Backport 'Fix size of the search button and contrast of the search form' to v0.30 #15206

Removed

Nothing.

Developer improvements

  • Backport 'Fix specs running on local development environments' to v0.30 #15068
  • Backport 'Refactor amendment permissions' to v0.30 #15168

Internal

  • decidim-core: Backport 'Fix flaky spec in announcements' to v0.30 #14838
  • decidim-conferences: Backport 'Fix grammar in conference admin registratio...
Read more

v0.29.5

23 Sep 09:50
2b1635a

Choose a tag to compare

Before updating to this release, make sure your installation is on v0.29.4 and that you have completed all the steps required for that update.

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your Gemfile

gem "decidim", "0.29.5"
gem "decidim-dev", "0.29.5"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate 
 

Changelog

0.29.5

Added

Nothing.

Changed

Nothing.

Fixed

  • decidim-core: Backport 'Fix accessibility on filters label' to v0.29 #14816
  • decidim-core: Backport 'Fix background color of default avatar image for accessibility' to v0.29 #14820
  • decidim-core, decidim-proposals: Backport 'Fix get rid of preview alt' to v0.29 #14818
  • decidim-core: Backport 'Fix missing for attribute on label and id on input' to v0.29 #14813
  • decidim-core, decidim-debates, decidim-proposals: Backport 'Fix view mode active icon in proposals for accessibility' to v0.29 #14825
  • decidim-core: Backport 'Fix accessibility on svg in card metadata cell' to v0.29 #14822
  • decidim-core: Backport 'Hide empty announcement block when no text is present' to v0.29 #14827
  • Backport 'Fix CORS instructions for cloud providers' to v0.29 #14843
  • decidim-core: Backport 'Fix flaky spec in announcements' to v0.29 #14839
  • decidim-proposals: Backport 'Prevent importing withdrawn or moderated proposals to another component' to v0.29 #14840
  • decidim-comments: Backport 'Fix opinion buttons on comments for accessibility' to v0.29 #14841
  • Fix specs for multiple_file_field_include_hidden #14873
  • decidim-core: Backport 'Fix report modals to improve accessibility' to v0.29 #14877
  • decidim-comments: Backport 'Fix Accessibility Like/Dislike Buttons on Comments' to v0.29 #14879
  • decidim-conferences: Backport 'Fix grammar in conference admin registration count info' to v0.29 #14893
  • decidim-core: Backport 'Fix aria label in date pickers of meetings form' to v0.29 #14918
  • decidim-core: Backport 'Re enable the localized specs' to v0.29 #14922
  • decidim-core: Backport 'Fix structure of search page's filters' to v0.29 #14924
  • decidim-comments: Backport 'Add aria labels for comment 'like' and 'dislike' buttons' to v0.29 #14926
  • decidim-core: Backport 'Fix hidden content in "More information"' to v0.29 #14927
  • decidim-core: Backport 'Fix truncated document name' to v0.29 #14930
  • Backport 'Fix UX modal for the admin to a group' to v0.29 #14932
  • decidim-core: Backport 'Fix search filter area for accessibility' to v0.29 #14954
  • decidim-core: Backport 'Fix main bar dropdown container fo accessibility' to v0.29 #14958
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix importing attachments collections for processes and assemblies' to v0.29 #14956
  • decidim-core: Backport 'Breadcrumb mobile responsiveness nitpicks' to v0.29 #14964
  • decidim-blogs, decidim-core, decidim-participatory processes: Backport 'Participatory process card & blog post author fix' to v0.29 #15004
  • decidim-core: Backport 'Sticky footer 404 page' to v0.29 #15015
  • decidim-proposals: Backport 'Fixed proposal creation in admin when "Participants can create proposals" to v0.29 #15050
  • Backport 'Upgrade Chrome and ChromeDriver to 139.0.7258.66' to v0.29 #15072
  • decidim-core: Backport 'Fix specs running on local development environments' to v0.29 #15069
  • decidim-core: Backport 'Change minimun_characters to minimum_characters' to v0.29 #15078
  • decidim-core: Backport 'Fix aria-current on active filter in search page' to v0.29 #15110
  • decidim-core: Backport 'Fix editor mention selection range when selecting item with mouse' to v0.29 #15095
  • decidim-forms: Backport 'Error saving survey with empty mandatory fields' to v0.29 #15099
  • decidim-core: Backport 'Fix callout/flash message announcement to the screen reader' to v0.29 #15098
  • decidim-surveys: Backport 'Previewing questionnaires as a process admin' to v0.29 #15103
  • decidim-core: Backport 'Fix accessibility in header ' to v0.29 #15102
  • decidim-core, decidim-proposals: Backport 'Fix accessibility in footer' to v0.29 #15113
  • Backport 'Remove Platoniq/decidim-install references' to v0.29 #15137
  • decidim-generators: Backport 'Define the generated app's sidekiq version based on the redis version' to v0.29 #15139
  • Backport 'Fixed formatting error in documentation' to v0.29 #15153
  • decidim-proposals: Backport 'Fix proposal cards render alt-text when PDF attached' to v0.29 #15150
  • decidim-core: Backport 'Fix accessibility in breadcrumb_menu by replacing div and span by p' to v0.29 #15161
  • decidim-core, decidim-newsletters: Backport 'Unsubscribed page redesign ' to v0.29 #15166
  • decidim-core, decidim-dev, decidim-proposals: Backport 'Refactor amendment permissions' to v0.29 #15169
  • decidim-core: Backport 'Remove the word "new" in front of GDPR from the newsletter opt-in mail' to v0.29 #15203
  • decidim-core: Backport 'Fix 'Skip to main content' button visualization' to v0.29 #15205
  • decidim-core: Backport 'Fix size of the search button and contrast of the search form' to v0.29 #15207

Removed

Nothing.

Developer improvements

  • Backport 'Fix specs running on local development environments' to v0.29 #15069
  • Backport 'Refactor amendment permissions' to v0.29 #15169

Internal

  • decidim-core: Backport 'Fix flaky spec in announcements' to v0.29 #14839
  • decidim-conferences: Backport 'Fix grammar in conference admin registration count info' to v0.29 #14893
  • Update Releases Notes after v0.29.4 #14946
  • Backport 'Upgrade Chrome and ChromeDriver to 139.0.7258.66' to v0.29 #15072
  • decidim-core: Backport 'Fix specs running on local development environments' to v0.29 #15069
  • decidim-core: Backport 'Remove the word "new" in front of GDPR from the newsletter opt-in mail' to v0.29 #15203
  • Bump charlock_holmes to v0.7.9 #15208

v0.30.1

08 Jul 11:55
8a31444

Choose a tag to compare

Before updating to this release, make sure your installation is on v0.30.0 and that you have completed all the steps required for that update.

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your Gemfile

gem "decidim", "0.30.1"
gem "decidim-dev", "0.30.1"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:upgrade:clean:invalid_private_exports # see "3.1. Removal of invalid user exports"

1.4. Follow the steps and commands detailed in these notes

2. General notes

Nothing

3. One time actions

3.1. Removal of invalid user exports

We have noticed an edge case when using private export functionality, in which the page becomes inaccessible if the user in question is using export single survey answer functionality.

You can run the following rake task to ensure your system is not corrupted.

./bin/rails decidim:upgrade:clean:invalid_private_exports

For ease of in operations, we also added the above command to the main decidim:upgrade:clean:invalid_records rake task.

You can read more about this change on PR #14638.

4. Scheduled tasks

Nothing.

5. Changes in APIs

5.1. Require organization in nicknamize method

In order to avoid potential performance issues, we have changed the nicknamize method by requiring the organization as a parameter.

If you have used code as such:

# We were including the organization in an optional scope
Decidim::UserBaseEntity.nicknamize(nickname, decidim_organization_id: user.decidim_organization_id)

You need to change it, to something like:

# Now the organization is the required second parameter of the method
Decidim::UserBaseEntity.nicknamize(nickname, user.decidim_organization_id)

You can read more about this change on PR #14669.

Changelog

0.30.1

Added

  • decidim-core, decidim-proposals: Backport 'Fix bug on history when resource's title is too long' to v0.30 #14633

Changed

Nothing.

Fixed

  • decidim-core: Backport 'Fix digest emails to use organization timezone' to v0.30 #14616
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix copy blocks when duplicating assemblies or spaces' to v0.30 #14617
  • decidim-core: Backport 'The message textarea on Conversations page is missing an appropriate label' to v0.30 #14627
  • decidim-proposals: Backport 'Show disabled button in proposals page when 'votes disabled'' to v0.30 #14613
  • decidim-core, decidim-dev, decidim-meetings: Backport 'Fix meeting registration mail digest and user export' to v0.30 #14630
  • decidim-core, decidim-proposals: Backport 'Fix bug on history when resource's title is too long' to v0.30 #14633
  • decidim-budgets: Backport 'Fix crash when phase end_date is NULL when sending order reminders' to v0.30 #14635
  • decidim-core: Backport 'Hidden resource report translation' to v0.30 #14652
  • decidim-core, decidim-meetings: Backport 'Fix text in meeting show page' to v0.30 #14656
  • decidim-core, decidim-meetings: Backport 'Fix text in calendar share modal' to v0.30 #14658
  • decidim-core: Backport 'Fix pagination visibility issue' to v0.30 #14673
  • decidim-comments: Backport 'Fix comment refresh bug when replying' to v0.30 #14675
  • decidim-core: Backport 'Separate manual and automatic moderation mails' to v0.30 #14678
  • decidim-admin, decidim-conferences, decidim-core, decidim-dev, decidim-meetings: Backport 'Require organization in nicknamize method' to v0.30 #14682
  • Backport 'Fix warnings for documentation project' to v0.30 #14684
  • decidim-core, decidim-initiatives: Backport 'Fix home menu layout' to v0.30 #14686
  • decidim-core: Backport 'Generate a random nickname to ephemeral users' to v0.30 #14692
  • decidim-admin, decidim-assemblies, decidim-conferences, decidim-core, decidim-meetings, decidim-participatory processes: Backport 'Preview unpublished meetings as a process admin' to v0.30 #14694
  • decidim-admin, decidim-proposals: Backport 'Add attachments button in proposals' to v0.30 #14689
  • decidim-core: Backport 'Fix script that synchronize migrations' to v0.30 #14717
  • decidim-core, decidim-forms, decidim-surveys: Backport 'Fix export of a single survey answer' to v0.30 #14718
  • decidim-budgets, decidim-core, decidim-dev, decidim-meetings, decidim-proposals: Backport 'Improve the map specs in order to avoid random failures' to v0.30 #14720
  • decidim-admin, decidim-assemblies, decidim-conferences, decidim-participatory processes: Backport 'Collaborator view of deleted processes' to v0.30 #14726
  • decidim-core: Backport 'Fix accessibility in extra_data content_block cell in process show page' to v0.30 #14747
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix order of participatory processes and assemblies' to v0.30 #14748
  • decidim-budgets, decidim-core: Backport 'Fix WCAG logo link description' to v0.30 #14744
  • decidim-meetings: Backport 'Fix list of meetings' participants in mobile' to v0.30 #14751
  • decidim-core: Backport 'Withdrawn proposals/meetings displayed in the last activity feed' to v0.30 #14753
  • decidim-core: Backport 'Fix author's name display in posts in participatory process show page' to v0.30 #14758
  • decidim-admin: Backport 'Fix javascript exception "countElement is null"' to v0.30 #14763

Removed

Nothing.

Developer improvements

Nothing.

Internal

  • Clean-up Releases Notes file for v0.30 #14649
  • decidim-budgets, decidim-core, decidim-dev, decidim-meetings, decidim-proposals: Backport 'Improve the map specs in order to avoid random failures' to v0.30 #14720

Full Changelog: v0.30.0...v0.30.1

v0.29.4

08 Jul 11:34
e0a6e15

Choose a tag to compare

Before updating to this release, make sure your installation is on v0.29.3 and that you have completed all the steps required for that update.

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your Gemfile

gem "decidim", "0.29.4"
gem "decidim-dev", "0.29.4"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate 
 

1.4. Follow the steps and commands detailed in these notes

2. General notes

Nothing

3. One time actions

Nothing

4. Scheduled tasks

Nothing.

5. Changes in APIs

5.1. Require organization in nicknamize method

In order to avoid potential performance issues, we have changed the nicknamize method by requiring the organization as a parameter.

If you have used code as such:

# We were including the organization in an optional scope
Decidim::UserBaseEntity.nicknamize(nickname, decidim_organization_id: user.decidim_organization_id)

You need to change it, to something like:

# Now the organization is the required second parameter of the method
Decidim::UserBaseEntity.nicknamize(nickname, user.decidim_organization_id)

You can read more about this change on PR #14669.

Changelog

0.29.4

Added

Nothing.

Changed

Nothing.

Fixed

  • decidim-core: Backport 'Fix digest emails to use organization timezone' to v0.29 #14615
  • decidim-core: Backport 'The message textarea on Conversations page is missing an appropriate label' to v0.29 #14626
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix copy blocks when duplicating assemblies or spaces' to v0.29 #14618
  • decidim-core, decidim-dev, decidim-meetings: Backport 'Fix meeting registration mail digest and user export' to v0.29 #14629
  • decidim-budgets: Backport 'Fix crash when phase end_date is NULL when sending order reminders' to v0.29 #14634
  • decidim-core: Backport 'Hidden resource report translation' to v0.29 #14653
  • Fix typo in release notes #14650
  • decidim-core, decidim-meetings: Backport 'Fix text in meeting show page' to v0.29 #14655
  • decidim-core, decidim-meetings: Backport 'Fix text in calendar share modal' to v0.29 #14657
  • Use defined token if present in generate_token method #14667
  • decidim-core: Backport 'Fix pagination visibility issue' to v0.29 #14672
  • decidim-core: Backport 'Separate manual and automatic moderation mails' to v0.29 #14681
  • decidim-comments: Backport 'Fix comment refresh bug when replying' to v0.29 #14677
  • decidim-admin, decidim-conferences, decidim-core, decidim-dev, decidim-meetings: Backport 'Require organization in nicknamize method' to v0.29 #14683
  • Backport 'Fix warnings for documentation project' to v0.29 #14685
  • decidim-core, decidim-initiatives: Backport 'Fix home menu layout' to v0.29 #14688
  • decidim-admin, decidim-assemblies, decidim-conferences, decidim-core, decidim-meetings, decidim-participatory processes: Backport 'Preview unpublished meetings as a process admin' to v0.29 #14695
  • decidim-core: Backport 'Fix accessibility in extra_data content_block cell in process show page' to v0.29 #14746
  • decidim-budgets, decidim-core: Backport 'Fix WCAG logo link description' to v0.29 #14745
  • decidim-assemblies, decidim-participatory processes: Backport 'Fix order of participatory processes and assemblies' to v0.29 #14749
  • decidim-meetings: Backport 'Fix list of meetings' participants in mobile' to v0.29 #14750
  • decidim-core: Backport 'Withdrawn proposals/meetings displayed in the last activity feed' to v0.29 #14752
  • decidim-core: Backport 'Fix author's name display in posts in participatory process show page' to v0.29 #14757

Removed

Nothing.

Developer improvements

Nothing.

Internal

  • Clean-up Releases Notes file for v0.29 #14623

Full Changelog: v0.29.3...v0.29.4

v0.30.0

29 Apr 11:20
14e8bd5

Choose a tag to compare

Before updating to this release, make sure your installation is on any version of the v0.29 and that you have completed all the steps required for that update.

See our blog post about the highlights for admins in this release.

Deprecation notice for 0.27

⚠️ Heads up! Support for Decidim 0.27 will end in October 2025.

This marks 18 months since the release of 0.28, giving ample time for organizations to upgrade to newer versions that include the latest design and features. As always, we actively maintain only the two most recent versions of Decidim, so we encourage everyone to plan their updates accordingly.

Release Notes

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your ruby version

If you're using rbenv, this is done with the following commands:

rbenv install 3.3.4
rbenv local 3.3.4

You may need to change your .ruby-version file too.

If not, you need to adapt it to your environment. See "2.1. Ruby update to 3.3"

1.2. Update your Gemfile

gem "decidim", "0.30.0"
gem "decidim-dev", "0.30.0"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:taxonomies:make_plan # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:import_all_plans # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:update_all_metrics # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:metrics:rebuild[meetings,2019-01-01] # see "3.2. Add Meetings' attendees metric"
bin/rails decidim:upgrade:attachments_cleanup # see "3.3. Clean up orphaned attachment blobs"
bin/rails decidim_proposals:upgrade:set_categories # see "3.5. Amendments category fix" 
bin/rails decidim:upgrade:clean:clean_deleted_users # see "3.6. Clean deleted user records `decidim:upgrade:clean:clean_deleted_users` task"
bin/rails decidim:upgrade:fix_nickname_casing # see "3.8. Convert nicknames to lowercase"

Change your social login icons in config/secrets.yml. Read more about it at "3.4. Social login changes"
Change your HERE.com static map configuration. Read more about it at "3.7 Changes in Static maps configuration when using HERE.com"

In cases where you have done some developments, please check out these particular sections:

  • If you have implemented filtering in your models or you are doing overrides, please check "2.5. Ransack upgrade"
  • If you have implemented any of the categorization models (mainly Categories, Scopes, Areas) or have implemented types in Participatory Processes or Assemblies, please check "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
  • If you have implemented custom routes, please check "5.2. Changes in the routing"

1.4. Follow the steps and commands detailed in these notes

2. General notes

2.1. Ruby update to 3.3

We have updated the Ruby version to 3.3.4. Upgrading to this version will require either to install this Ruby version on your host, or change the decidim docker image to use ruby:3.3.4.

You can read more about this change on PR #13171.

2.2. Fixes on migration files

Since we have introduced the "Soft delete for spaces and components" #13297, we have noticed there are some migrations that are failing as a result of defaults scopes we added.

To address the issue, we created a script that will update the migration files in your project so that we can fix any migrations that are potentially broken by the code evolution.

We added as part of the upgrade script, so you do not need to do anything about it. You will notice that some of your old migrations will change related to this change.

You can read more about this change on PR #13690.

2.3. Refactor of decidim:upgrade:fix_orphan_categorizations task

As of #13380, the task named decidim:upgrade:fix_orphan_categorizations has been renamed to decidim:upgrade:clean:categories and has been included in the main decidim:upgrade:clean:invalid_records task.

You can read more about this change on PR #13380.

2.4. Cells expiration time

Now the cache expiration time is configurable via initializers/ENV variables.

Decidim uses cache in some HTML views (usually under the cells/ folder). In the past the cache had no expiration time, now it is configurable using the ENV var DECIDIM_CACHE_EXPIRATION_TIME (this var expects an integer specifying the number of minutes for which the cache is valid).

Also note, that now it comes with a default value of 24 hours (1440 minutes).

You can read more about this change on PR #13402.

2.5. Ransack upgrade

As part of Rails upgrade to version 7.1, we upgraded Ransack gem to version 4.2. Ransack has introduced a new security policy that requires mandatory allowlisting for the attributes and associations needed by search engine. If you have a regular Decidim installation, you can skip this step.

If you are a plugin developer, you may need to add the following methods to your searchable models.

If your plugins are extending the filters or search, you may need to override the following methods.

def self.ransackable_attributes(_auth_object = nil)
  []
end

def self.ransackable_associations(_auth_object = nil)
  []
end

You can read more about this change on PR #13196.

3. One time actions

These are one time actions that need to be done after the code is updated in the production database.

3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies

All those models have been deprecated, now a unique entity called "Taxonomies" is used for classifying all the content in Decidim (see https://docs.decidim.org/en/develop/develop/taxonomies.html for reference).

A rake task is available for converting the old classification to the new system composed of taxonomies and taxonomy filters.

In a nutshell, you can run this two-step process with the commands:

First, create the plan for the import:

bin/rails decidim:taxonomies:make_plan

Second, review the created files under the folder tmp/taxonomies/*.json (optional).

Finally, import the taxonomies with:

bin/rails decidim:taxonomies:import_all_plans

Once the import has finished, update the metrics:

bin/rails decidim:taxonomies:update_all_metrics

For more information about this process, please refer to the documentation at https://docs.decidim.org/en/develop/develop/taxonomies.html#_importing_taxonomies_from_old_models_categories_scopes_etc

You can see more details about this change on PR #13669

3.2. Add Meetings' attendees metric

We have added a new metric that indicates how many users have attended your meetings.

If you want to calculate this metric you could run the following command, where 2019-01-01 is the Y-m-d format for the starting date since you want the metric to take effect.

bin/rails decidim:metrics:rebuild[meetings,2019-01-01]

You can see more details about this change on PR #13442

3.3. Clean up orphaned attachment blobs

We have added a new task that helps you clean the orphaned attachment blobs. This task will remove all the attachment blobs that have been created for more than 1 hour and are not yet referenced by any attachment record. This helps cleaning your filesystem of unused files.

You can run the task with the following command:

bin/rails decidim:upgrade:attachments_cleanup

You can see more details about this change on PR #11851

3.4. Social login changes

We have changed the icons for the social logins so they align better with the social networks guidelines (Twitter/X, Facebook, and Google). If you do not use any of these social logins you can skip this step.

If on the other hand you have set up this social logins, you can change it by replacing them in: config/secrets.yml.

For example, where it says:

      icon: google-fill
      icon: facebook-fill
      icon: twitter-x-fill

It now needs to say for the correct path name and updated SVG. Keep in mind the name of the path has changed from icon to icon_path:

      icon_path: "media/images/google.svg"
      icon_path: "media/images/facebook.svg"
      icon_path: "media/images/twitter-x.svg"

The CSS of each omniauth button can be found within decidim-core/app/packs/stylesheets/decidim/_login.scss, variables are used for specific omniauth button background color according to their pack guidelines.

You can read more about this change on PR #13481.

3.5. Amendments category fix

We have identified a bug in the filtering system, as the amendments created did not share the category with the proposal it amended. This fix aims to fix hist...

Read more

v0.29.3

29 Apr 10:59
98bb073

Choose a tag to compare

Before updating to this release, make sure your installation is on v0.29.2 and that you have completed all the steps required for that update.

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your Gemfile

gem "decidim", "0.29.3"
gem "decidim-dev", "0.29.3"

1.3. Run these commands

sudo apt install wkhtmltopdf # or the alternative installation process for your operating system. See "2.1. wkhtmltopdf binary change"
bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate 
bin/rails decidim:upgrade:fix_nickname_casing # see "3.2. Convert nicknames to lowercase"
bin/rails decidim:upgrade:clean:clean_deleted_users # see "2.2. Clean deleted user records `decidim:upgrade:clean:clean_deleted_users` task"
bin/rails decidim:upgrade:clean:hidden_resources # see "2.3. Hiding comments of moderated resources"

1.4. Follow the steps and commands detailed in these notes

2. General notes

2.1. Hiding comments of moderated resources

We have noticed that when a resource (ex: Proposal, Meeting) is being moderated, the associated comments are left visible in the search. We have added a task that would allow you to automatically remove from search any comment belonging to moderated content:

bin/rails decidim:upgrade:clean:hidden_resources

You can read more about this change on PR #13554.

3. One time actions

These are one time actions that need to be done after the code is updated in the production database.

3.1. Changes in Static maps configuration when using HERE.com

As of #14180 we are migrating to here.com api V3, as V1 does not work anymore. In case your application uses Here.com as static map tile provider, you will need to change your config/initializers/decidim.rb to use the new url https://image.maps.hereapi.com/mia/v3/base/mc/overlay:

  static_url = "https://image.maps.ls.hereapi.com/mia/1.6/mapview" if static_provider == "here" && static_url.blank?

to

  static_url = "https://image.maps.hereapi.com/mia/v3/base/mc/overlay" if static_provider == "here" && static_url.blank?

You can read more about this change on PR #14180.

3.2. Convert nicknames to lowercase

As of #14272 we are migrating all the nicknames to lowercase fix performance issues which affects large databases having many participants.

To apply the fix on your application, you need to run the below command.

bin/rails decidim:upgrade:fix_nickname_casing

You can read more about this change on PR #14272.

4. Scheduled tasks

Nothing.

5. Changes in APIs

Nothing.

Changelog

0.29.3

Added

Nothing.

Changed

  • decidim-blogs, decidim-core: Backport 'Migrate to proper publish behavior in blogs' to v0.29 #14420
  • decidim-participatory processes: Backport 'Related processes to process group help text' to v0.29 #14444

Fixed

  • decidim-core: Backport 'Fix UX link mobile login' to v0.29 #14076
  • decidim-blogs, decidim-budgets, decidim-core, decidim-debates, decidim-meetings, decidim-proposals, decidim-sortitions, decidim-surveys: Backport 'Fix WCAG add pagination to title' to v0.29 #14078
  • decidim-budgets, decidim-core: Backport 'Fix UX mobile budget page adjustements' to v0.29 #14111
  • decidim-core, decidim-proposals: Backport 'Suggested hashtags in Proposals' to v0.29 #14112
  • decidim-core: Backport 'Hide help buttons if no help content is given in admin-side' to v0.29 #14141
  • decidim-admin, decidim-ai, decidim-comments, decidim-core, decidim-meetings, decidim-proposals: Backport 'Hide comments when parent resource is hidden' to v0.29 #14153
  • decidim-core, decidim-proposals: Backport 'Avoid server error when accepting a proposal without giving it a cost' to v0.29 #14146
  • decidim-blogs, decidim-budgets, decidim-core, decidim-debates, decidim-meetings, decidim-proposals, decidim-sortitions: Backport 'Fix share modal on budget projects page' to v0.29 #14147
  • decidim-proposals: Backport 'Fix proposal state label in admin' to v0.29 #14159
  • decidim-budgets: Backport 'Fix an UI error in budgeting in the progress bar' to v0.29 #14194
  • decidim-proposals: Backport 'Fix error handling when proposal answer form has errors' to v0.29 #14189
  • decidim-budgets: Backport 'Fix budget index card width' to v0.29 #14197
  • decidim-core: Backport 'Use leaflet-tilelayer-here v2.0.3' to v0.29 #14178
  • Fix ruby version specified in documentation for manual installation #14199
  • decidim-admin, decidim-core: Backport 'Fix modal for reported participants' to v0.29 #14223
  • decidim-proposals: Backport 'Import proposals from one component to another in the background' to v0.29 #14208
  • decidim-proposals: Backport 'Fix proposal state when importing from another component' to v0.29 #14226
  • decidim-core: Backport 'Fix user activity filter' to v0.29 #14231
  • decidim-debates, decidim-meetings, decidim-proposals, decidim-sortitions: Backport 'Fix WCAG status messages when update filter' to v0.29 #14236
  • Backport 'Update oauth.adoc, fix typo' to v0.29 #14259
  • decidim-core, decidim-generators: Backport 'Fix static map image fetching with Here maps service' to v0.29 #14252
  • decidim-core: Backport 'Register user without avatar on omniauth registration' to v0.29 #14294
  • decidim-core: Backport 'Fix invalid chars in name when using OAuth login' to v0.29 #14296
  • decidim-admin, decidim-core: Backport 'Fix lower casing for user's nickname' to v0.29 #14306
  • decidim-core: Backport 'Fix hide comment from interface' to v0.29 #14345
  • decidim-comments: Backport 'Fix editing comment with max length setting' to v0.29 #14344
  • decidim-core: Backport 'Fix WCAG search filters navigation' to v0.29 #14350
  • decidim-blogs, decidim-debates, decidim-meetings, decidim-proposals: Backport 'Add title tag on pages for blogs, debates and meetings' to v0.29 #14341
  • decidim-verifications: Backport 'Fix title on spec for the 'Create new proposal' page' to v0.29 #14353
  • decidim-core: Backport 'Fix searches filtering results when not are commentable' to v0.29 #14373
  • decidim-budgets: Backport 'Fix alignment of sorting options on projects' to v0.29 #14380
  • decidim-core: Backport 'Fix profile user display on some resolutions' to v0.29 #14382
  • decidim-core, decidim-proposals: Backport 'Prevent the error generating the diff for non-translatable fields in old version' to v0.29 #14377
  • decidim-comments: Backport 'Fix edit comment modal cell displaying old cached values' to v0.29 #14383
  • decidim-meetings: Backport 'Fix meeting overriding customized frame-src security policy' to v0.29 #14394
  • decidim-core: Backport 'Use a better fallback for the datepicker date format' to v0.29 #14398
  • decidim-blogs, decidim-core: Backport 'Migrate to proper publish behavior in blogs' to v0.29 #14420
  • decidim-core: Backport 'Fix wcag keyboard modal cookie settings' to v0.29 #14429
  • decidim-comments: Backport 'Fix comment cell to not show reply button when passing MAX_DEPTH' to v0.29 #14422
  • decidim-admin, decidim-proposals: Backport 'Remove costs requirement on proposal...
Read more

v0.28.6

29 Apr 10:44
1ce60cd

Choose a tag to compare

Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

1.1. Update your Gemfile

gem "decidim", "0.28.6"
gem "decidim-dev", "0.28.6"

1.2. Run commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:upgrade:fix_nickname_casing # see "3.2. Convert nicknames to lowercase"

2. General notes

Nothing.

3. One time actions

3.1. Changes in Static maps configuration when using HERE.com

As of #14180 we are migrating to here.com api V3, as V1 does not work anymore. In case your application uses Here.com as static map tile provider, you will need to change your config/initializers/decidim.rb to use the new url https://image.maps.hereapi.com/mia/v3/base/mc/overlay:

  static_url = "https://image.maps.ls.hereapi.com/mia/1.6/mapview" if static_provider == "here" && static_url.blank?

to

  static_url = "https://image.maps.hereapi.com/mia/v3/base/mc/overlay" if static_provider == "here" && static_url.blank?

You can read more about this change on PR #14180.

3.2. Convert nicknames to lowercase

As of #14272 we are migrating all the nicknames to lowercase fix performance issues which affects large databases having many participants.

To apply the fix on your application, you need to run the below command.

bin/rails decidim:upgrade:fix_nickname_casing

You can read more about this change on PR #14272.

4. Scheduled tasks

Nothing.

5. Changes in APIs

Nothing.

Changelog

0.28.6

Added

Nothing.

Changed

Nothing.

Fixed

  • decidim-core: Backport 'Fix UX link mobile login' to v0.28 #14077
  • decidim-blogs, decidim-budgets, decidim-core, decidim-debates, decidim-meetings, decidim-proposals, decidim-sortitions, decidim-surveys: Backport 'Fix WCAG add pagination to title' to v0.28 #14079
  • decidim-budgets, decidim-core: Backport 'Fix UX mobile budget page adjustements' to v0.28 #14113
  • decidim-core, decidim-proposals: Backport 'Suggested hashtags in Proposals' to v0.28 #14114
  • decidim-core: Backport 'Hide help buttons if no help content is given in admin-side' to v0.28 #14140
  • decidim-budgets: Backport 'Fix an UI error in budgeting in the progress bar' to v0.28 #14195
  • decidim-proposals: Backport 'Fix error handling when proposal answer form has errors' to v0.28 #14190
  • decidim-budgets: Backport 'Fix budget index card width' to v0.28 #14196
  • decidim-core: Backport 'Use leaflet-tilelayer-here v2.0.3' to v0.28 #14177
  • decidim-core: Backport 'Fix user activity filter' to v0.28 #14230
  • decidim-debates, decidim-meetings, decidim-proposals, decidim-sortitions: Backport 'Fix WCAG status messages when update filter' to v0.28 #14237
  • Backport 'Update oauth.adoc, fix typo' to v0.28 #14258
  • decidim-core, decidim-generators: Backport 'Fix static map image fetching with Here maps service' to v0.28 #14253
  • decidim-core: Backport 'Register user without avatar on omniauth registration' to v0.28 #14295
  • decidim-core: Backport 'Fix invalid chars in name when using OAuth login' to v0.28 #14297
  • decidim-admin, decidim-core: Backport 'Fix lower casing for user's nickname' to v0.28 #14308
  • decidim-core: Backport 'Fix WCAG search filters navigation' to v0.28 #14351
  • decidim-blogs, decidim-debates, decidim-meetings, decidim-proposals: Backport 'Add title tag on pages for blogs, debates and meetings' to v0.28 #14342
  • decidim-verifications: Backport 'Fix title on spec for the 'Create new proposal' page' to v0.28 #14354
  • decidim-core: Backport 'Fix searches filtering results when not are commentable' to v0.28 #14372
  • decidim-budgets: Backport 'Fix alignment of sorting options on projects' to v0.28 #14379
  • decidim-core, decidim-proposals: Backport 'Prevent the error generating the diff for non-translatable fields in old version' to v0.28 #14376
  • decidim-meetings: Backport 'Fix meeting overriding customized frame-src security policy' to v0.28 #14393
  • decidim-dev: Backport 'Fix admin pipeline with welcome_notification_body spec error' to v0.28 #14487
  • decidim-core: Backport 'Fix nickname casing task and add validation in account edit form' to v0.28 #14478
  • decidim-core: Backport 'Error displayed when accessing admin dashboard after a user deletes its account' to v0.28 #14481
  • decidim-core: Backport 'Fix WCAG add nav tag to proposals dropdown menu' to v0.28 #14483
  • decidim-admin, decidim-assemblies, decidim-blogs, decidim-conferences, decidim-core, decidim-initiatives, decidim-participatory processes, decidim-proposals: Backport 'Fix image editor permissions for spaces' admins' to v0.28 #14506
  • decidim-core: Backport 'Fix broken breadcrumb menu width on spaces' to v0.28 #14525
  • decidim-core, decidim-proposals: Backport 'Disable tooltips due to poor performance' to v0.28 #14516
  • decidim-core: Backport 'Use better URI regexp to detect host part of blobs and prevent errors' to v0.28 #14535
  • decidim-core: Backport 'Fix error in announcement field when has a link with an attachment' to v0.28 #14538
  • decidim-core, decidim-surveys: Backport 'Fix datetime format used to parse TimeWithZone attribute' to v0.28 #14544
  • decidim-core, decidim-debates, decidim-meetings, decidim-proposals: Backport 'Fix version visibility in resources' to v0.28 #14561
  • decidim-core: Backport 'Fix missing image label in attachment' to v0.28 #14573
  • decidim-proposals: Backport 'Fix label on proposals landing page block' to v0.28 #14581
  • decidim-admin, decidim-blogs, decidim-comments, decidim-core, decidim-debates, decidim-dev, decidim-initiatives, decidim-meetings, decidim-proposals: Backport 'Fix resource redirect after resource has been hidden' to v0.28 #14598

Removed

Nothing.

Developer improvements

  • Backport 'Fix alignment of sorting options on projects' to v0.28 #14379

Internal

  • decidim-dev: Backport 'Fix admin pipeline with welcome_notification_body spec error' to v0.28 #14487
  • decidim-admin, decidim-conferences, decidim-core, decidim-dev, decidim-meetings, decidim-participatory processes, decidim-proposals, decidim-verifications: Backport 'Add missing translations' to v0.28 #14594

Full Changelog: v0.28.5...v0.28.6

v0.30.0.rc3

27 Mar 12:10
ceb204c

Choose a tag to compare

v0.30.0.rc3 Pre-release
Pre-release

Release Notes

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your ruby version

If you're using rbenv, this is done with the following commands:

rbenv install 3.3.4
rbenv local 3.3.4

You may need to change your .ruby-version file too.

If not, you need to adapt it to your environment. See "2.1. Ruby update to 3.3"

1.2. Update your Gemfile

gem "decidim", "0.30.0.rc1"
gem "decidim-dev", "0.30.0.rc1"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:taxonomies:make_plan # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:import_all_plans # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:update_all_metrics # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:metrics:rebuild[meetings,2019-01-01] # see "3.2. Add Meetings' attendees metric"
bin/rails decidim:upgrade:attachments_cleanup # see "3.3. Clean up orphaned attachment blobs"
bin/rails decidim_proposals:upgrade:set_categories # see "3.5. Amendments category fix" 
bin/rails decidim:upgrade:clean:clean_deleted_users # see "3.6. Clean deleted user records `decidim:upgrade:clean:clean_deleted_users` task"
bin/rails decidim:upgrade:clean:hidden_resources # see "3.7. Hiding comments of moderated resources"
bin/rails decidim:upgrade:fix_nickname_casing # see "3.9. Convert nicknames to lowercase"

Change your social login icons in config/secrets.yml. Read more about it at "3.4. Social login changes"
Change your HERE.com static map configuration. Read more about it at "3.8 Changes in Static maps configuration when using HERE.com"

In cases where you have done some developments, please check out these particular sections:

  • If you have implemented filtering in your models or you are doing overrides, please check "2.5. Ransack upgrade"
  • If you have implemented any of the categorization models (mainly Categories, Scopes, Areas) or have implemented types in Participatory Processes or Assemblies, please check "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
  • If you have implemented custom routes, please check "5.2. Changes in the routing"

1.4. Follow the steps and commands detailed in these notes

2. General notes

2.1. Ruby update to 3.3

We have updated the Ruby version to 3.3.4. Upgrading to this version will require either to install this Ruby version on your host, or change the decidim docker image to use ruby:3.3.4.

You can read more about this change on PR #13171.

2.2. Fixes on migration files

Since we have introduced the "Soft delete for spaces and components" #13297, we have noticed there are some migrations that are failing as a result of defaults scopes we added.

To address the issue, we created a script that will update the migration files in your project so that we can fix any migrations that are potentially broken by the code evolution.

We added as part of the upgrade script, so you do not need to do anything about it. You will notice that some of your old migrations will change related to this change.

You can read more about this change on PR #13690.

2.3. Refactor of decidim:upgrade:fix_orphan_categorizations task

As of #13380, the task named decidim:upgrade:fix_orphan_categorizations has been renamed to decidim:upgrade:clean:categories and has been included in the main decidim:upgrade:clean:invalid_records task.

You can read more about this change on PR #13380.

2.4. Cells expiration time

Now the cache expiration time is configurable via initializers/ENV variables.

Decidim uses cache in some HTML views (usually under the cells/ folder). In the past the cache had no expiration time, now it is configurable using the ENV var DECIDIM_CACHE_EXPIRATION_TIME (this var expects an integer specifying the number of minutes for which the cache is valid).

Also note, that now it comes with a default value of 24 hours (1440 minutes).

You can read more about this change on PR #13402.

2.5. Ransack upgrade

As part of Rails upgrade to version 7.1, we upgraded Ransack gem to version 4.2. Ransack has introduced a new security policy that requires mandatory allowlisting for the attributes and associations needed by search engine. If you have a regular Decidim installation, you can skip this step.

If you are a plugin developer, you may need to add the following methods to your searchable models.

If your plugins are extending the filters or search, you may need to override the following methods.

def self.ransackable_attributes(_auth_object = nil)
  []
end

def self.ransackable_associations(_auth_object = nil)
  []
end

You can read more about this change on PR #13196.

3. One time actions

These are one time actions that need to be done after the code is updated in the production database.

3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies

All those models have been deprecated, now a unique entity called "Taxonomies" is used for classifying all the content in Decidim (see https://docs.decidim.org/en/develop/develop/taxonomies.html for reference).

A rake task is available for converting the old classification to the new system composed of taxonomies and taxonomy filters.

In a nutshell, you can run this two-step process with the commands:

First, create the plan for the import:

bin/rails decidim:taxonomies:make_plan

Second, review the created files under the folder tmp/taxonomies/*.json (optional).

Finally, import the taxonomies with:

bin/rails decidim:taxonomies:import_all_plans

Once the import has finished, update the metrics:

bin/rails decidim:taxonomies:update_all_metrics

For more information about this process, please refer to the documentation at https://docs.decidim.org/en/develop/develop/taxonomies.html#_importing_taxonomies_from_old_models_categories_scopes_etc

You can see more details about this change on PR #13669

3.2. Add Meetings' attendees metric

We have added a new metric that indicates how many users have attended your meetings.

If you want to calculate this metric you could run the following command, where 2019-01-01 is the Y-m-d format for the starting date since you want the metric to take effect.

bin/rails decidim:metrics:rebuild[meetings,2019-01-01]

You can see more details about this change on PR #13442

3.3. Clean up orphaned attachment blobs

We have added a new task that helps you clean the orphaned attachment blobs. This task will remove all the attachment blobs that have been created for more than 1 hour and are not yet referenced by any attachment record. This helps cleaning your filesystem of unused files.

You can run the task with the following command:

bin/rails decidim:upgrade:attachments_cleanup

You can see more details about this change on PR #11851

3.4. Social login changes

We have changed the icons for the social logins so they align better with the social networks guidelines (Twitter/X, Facebook, and Google). If you do not use any of these social logins you can skip this step.

If on the other hand you have set up this social logins, you can change it by replacing them in: config/secrets.yml.

For example, where it says:

      icon: google-fill
      icon: facebook-fill
      icon: twitter-x-fill

It now needs to say for the correct path name and updated SVG. Keep in mind the name of the path has changed from icon to icon_path:

      icon_path: "media/images/google.svg"
      icon_path: "media/images/facebook.svg"
      icon_path: "media/images/twitter-x.svg"

The CSS of each omniauth button can be found within decidim-core/app/packs/stylesheets/decidim/_login.scss, variables are used for specific omniauth button background color according to their pack guidelines.

You can read more about this change on PR #13481.

3.5. Amendments category fix

We have identified a bug in the filtering system, as the amendments created did not share the category with the proposal it amended. This fix aims to fix historic data. To fix it, you need to run:

bin/rails decidim_proposals:upgrade:set_categories

You can read more about this change on PR #13395.

3.6. Clean deleted user records decidim:upgrade:clean:clean_deleted_users task

When a user deleted their account, we mistakenly retained some metadata, such as the personal_url and about fields. Going forward, these fields will be automatically cleared upon deletion. To fix this issue for previously deleted accounts, we've added a new rake task that should ...

Read more

v0.30.0.rc1

19 Feb 07:33
492194b

Choose a tag to compare

v0.30.0.rc1 Pre-release
Pre-release

Release Notes

1. Upgrade notes

As usual, we recommend that you have a full backup, of the database, application code and static files.

To update, follow these steps:

1.1. Update your ruby version

If you're using rbenv, this is done with the following commands:

rbenv install 3.3.4
rbenv local 3.3.4

You may need to change your .ruby-version file too.

If not, you need to adapt it to your environment. See "2.1. Ruby update to 3.3"

1.2. Update your Gemfile

gem "decidim", "0.30.0.rc1"
gem "decidim-dev", "0.30.0.rc1"

1.3. Run these commands

bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
bin/rails decidim:taxonomies:make_plan # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:import_all_plans # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:taxonomies:update_all_metrics # see "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
bin/rails decidim:metrics:rebuild[meetings,2019-01-01] # see "3.2. Add Meetings' attendees metric"
bin/rails decidim:upgrade:attachments_cleanup # see "3.3. Clean up orphaned attachment blobs"
bin/rails decidim_proposals:upgrade:set_categories # see "3.5. Amendments category fix" 
bin/rails decidim:upgrade:clean:clean_deleted_users # see "3.6. Clean deleted user records `decidim:upgrade:clean:clean_deleted_users` task"

Change your social login icons in config/secrets.yml. Read more about it at "3.4. Social login changes"

In cases where you have done some developments, please check out these particular sections:

  • If you have implemented filtering in your models or you are doing overrides, please check "2.5. Ransack upgrade"
  • If you have implemented any of the categorization models (mainly Categories, Scopes, Areas) or have implemented types in Participatory Processes or Assemblies, please check "3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies"
  • If you have implemented custom routes, please check "5.2. Changes in the routing"

1.4. Follow the steps and commands detailed in these notes

2. General notes

2.1. Ruby update to 3.3

We have updated the Ruby version to 3.3.4. Upgrading to this version will require either to install this Ruby version on your host, or change the decidim docker image to use ruby:3.3.4.

You can read more about this change on PR #13171.

2.2. Fixes on migration files

Since we have introduced the "Soft delete for spaces and components" #13297, we have noticed there are some migrations that are failing as a result of defaults scopes we added.

To address the issue, we created a script that will update the migration files in your project so that we can fix any migrations that are potentially broken by the code evolution.

We added as part of the upgrade script, so you do not need to do anything about it. You will notice that some of your old migrations will change related to this change.

You can read more about this change on PR #13690.

2.3. Refactor of decidim:upgrade:fix_orphan_categorizations task

As of #13380, the task named decidim:upgrade:fix_orphan_categorizations has been renamed to decidim:upgrade:clean:categories and has been included in the main decidim:upgrade:clean:invalid_records task.

You can read more about this change on PR #13380.

2.4. Cells expiration time

Now the cache expiration time is configurable via initializers/ENV variables.

Decidim uses cache in some HTML views (usually under the cells/ folder). In the past the cache had no expiration time, now it is configurable using the ENV var DECIDIM_CACHE_EXPIRATION_TIME (this var expects an integer specifying the number of minutes for which the cache is valid).

Also note, that now it comes with a default value of 24 hours (1440 minutes).

You can read more about this change on PR #13402.

2.5. Ransack upgrade

As part of Rails upgrade to version 7.1, we upgraded Ransack gem to version 4.2. Ransack has introduced a new security policy that requires mandatory allowlisting for the attributes and associations needed by search engine. If you have a regular Decidim installation, you can skip this step.

If you are a plugin developer, you may need to add the following methods to your searchable models.

If your plugins are extending the filters or search, you may need to override the following methods.

def self.ransackable_attributes(_auth_object = nil)
  []
end

def self.ransackable_associations(_auth_object = nil)
  []
end

You can read more about this change on PR #13196.

3. One time actions

These are one time actions that need to be done after the code is updated in the production database.

3.1. Convert old categorization models (Categories, Scopes, Areas, Participatory Process and Assembly types) into taxonomies

All those models have been deprecated, now a unique entity called "Taxonomies" is used for classifying all the content in Decidim (see https://docs.decidim.org/en/develop/develop/taxonomies.html for reference).

A rake task is available for converting the old classification to the new system composed of taxonomies and taxonomy filters.

In a nutshell, you can run this two-step process with the commands:

First, create the plan for the import:

bin/rails decidim:taxonomies:make_plan

Second, review the created files under the folder tmp/taxonomies/*.json (optional).

Finally, import the taxonomies with:

bin/rails decidim:taxonomies:import_all_plans

Once the import has finished, update the metrics:

bin/rails decidim:taxonomies:update_all_metrics

For more information about this process, please refer to the documentation at https://docs.decidim.org/en/develop/develop/taxonomies.html#_importing_taxonomies_from_old_models_categories_scopes_etc

You can see more details about this change on PR #13669

3.2. Add Meetings' attendees metric

We have added a new metric that indicates how many users have attended your meetings.

If you want to calculate this metric you could run the following command, where 2019-01-01 is the Y-m-d format for the starting date since you want the metric to take effect.

bin/rails decidim:metrics:rebuild[meetings,2019-01-01]

You can see more details about this change on PR #13442

3.3. Clean up orphaned attachment blobs

We have added a new task that helps you clean the orphaned attachment blobs. This task will remove all the attachment blobs that have been created for more than 1 hour and are not yet referenced by any attachment record. This helps cleaning your filesystem of unused files.

You can run the task with the following command:

bin/rails decidim:upgrade:attachments_cleanup

You can see more details about this change on PR #11851

3.4. Social login changes

We have changed the icons for the social logins so they align better with the social networks guidelines (Twitter/X, Facebook, and Google). If you do not use any of these social logins you can skip this step.

If on the other hand you have set up this social logins, you can change it by replacing them in: config/secrets.yml.

For example, where it says:

      icon: google-fill
      icon: facebook-fill
      icon: twitter-x-fill

It now needs to say for the correct path name and updated SVG. Keep in mind the name of the path has changed from icon to icon_path:

      icon_path: "media/images/google.svg"
      icon_path: "media/images/facebook.svg"
      icon_path: "media/images/twitter-x.svg"

The CSS of each omniauth button can be found within decidim-core/app/packs/stylesheets/decidim/_login.scss, variables are used for specific omniauth button background color according to their pack guidelines.

You can read more about this change on PR #13481.

3.5. Amendments category fix

We have identified a bug in the filtering system, as the amendments created did not share the category with the proposal it amended. This fix aims to fix historic data. To fix it, you need to run:

bin/rails decidim_proposals:upgrade:set_categories

You can read more about this change on PR #13395.

3.6. Clean deleted user records decidim:upgrade:clean:clean_deleted_users task

When a user deleted their account, we mistakenly retained some metadata, such as the personal_url and about fields. Going forward, these fields will be automatically cleared upon deletion. To fix this issue for previously deleted accounts, we've added a new rake task that should be run on your production database.

bin/rails decidim:upgrade:clean:clean_deleted_users

You can read more about this change on PR #13624.

4. Scheduled tasks

Nothing.

5. Changes in APIs

5.1. Decidim version number no longer disclosed t...

Read more