Releases: consuldemocracy/consuldemocracy
2.1.1
Here's release 2.1.1. This is a maintenance release with:
- Several updates in our gems and Continuous Integration dependencies, including the latest security fixes
- Fixes for a few tests that fail sometimes with Rails classic autoloader
- A few small bugfixes
Check the Changelog to see all the changes.
Updating your fork
Check how to keep your fork updated; if you're upgrading from release 2.1.0 or release 2.0.1, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 2.1.1
git merge 2.1.1
git checkout master
git merge release
git branch -d release
git push
If you're upgrading from version 2.0.1, make sure to check version 2.1.0 release notes too.
2.1.0
Here's release 2.1.0 with:
- The possibility to undo "like/unlike" votes in debates, legislation processes and comments
- A new content block to add links to the footer
- The option to enable map markers clustering
- Systemd integration for Puma, which means Consul Democray will automatically restart if it crashes
- JavaScript dependencies management with NPM
- Ubuntu 22.04 and Debian Bookworm support in the installer
- Maintenance updates like upgrading to Rails 6.1 and Ruby 3.1
- Better compatibility with security standards like the Spanish National Security Schema (ENS)
- Many bug fixes and small improvements
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
Updating your fork
Check how to keep your fork updated; if you're updating from release 2.0.1, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 2.1.0
git merge 2.1.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production
policykit-1
installed so the Puma systemd unit works as expected. Due to these changes, your website will be down for a few seconds when upgrading to this version. See also issue #5392 for a possible side effect.
npm install
in order to get these dependencies (just like you run bundle install
to get Ruby dependencies). On production, this is done automatically during deployment if you use Capistrano; if you don't use Capistrano to deploy, you might need to take this into account. Note that, with our current configuration, you'll have to run npm install
in development when you switch to a branch that contains different packages; otherwise you'll still use the packages from the last time you executed npm install
, and you'll get no warning telling you so.
/admin/settings
page, so you'll have to add your custom settings by customizing a component under app/components/custom/admin/settings
. For examples regarding how to do so, check the components customization documentation.
ℹ️ We've enabled Dependabot in order to make it easier to maintain the project dependencies. Your Consul Democracy fork shouldn't be affected by this change, but if you've enabled Dependabot on your fork in the past, there's a chance Dependabot might be opening dozens of pull requests on your fork. If that's the case, you can disable Dependabot in the "Settings" section of your GitHub's fork, under "Code security and analysis".
ℹ️ Existing installations using a timezone other than Madrid can now add the time_zone
entry to the secrets.yml
file before upgrading, so, if you have some custom code to set the application timezone, you can remove it and use the secrets.yml
file instead. Check pull request #5318 for more information. This step is optional.
2.0.1
Here's release 2.0.1. This is a maintenance release with:
- Make it possible to run the tests if you're using the latest version of Chrome on your machine or your CI
- Update translations to the latest and update the former website and repository URL references
- Fix custom translations in components
Check the Changelog to see all the changes.
Updating your fork
Check how to keep your fork updated; if you're upgrading from release 2.0.0 or release 1.5.0, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 2.0.1
git merge 2.0.1
git checkout master
git merge release
git branch -d release
git push
⚙️ It you're upgrading from version 1.5.0, after deploying you have to run additional tasks on your server with bin/rake consul:execute_release_tasks RAILS_ENV=production
. Remember to check and apply the release notes from version 2.0.0. You can safely omit this step if you're upgrading form version 2.0.0.
2.0.0
Here's release 2.0.0 with:
- A new name 😄; we're now Consul Democracy!
- Multitenancy, which allows managing multiple institutions using just one Consul Democracy installation
- An option to allow multiple answers per question in a poll
- Polygon areas in geozones that can be displayed on a budget's map
- A full translation to the Nepali language
- Maintenance updates like upgrading to Rails 6.0 and Ruby 3.0
- Automatic monitoring of Delayed Job processes
- Many bug fixes and small improvements
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
This release is dedicated to the memory of Pablo García (@pablovg2). We'll always be thankful for his contributions to this project and we send our deepest condolences and best wishes to his family and his coworkers at @enredacoop.
Updating your fork
Check how to keep your fork updated; if you're updating from release 1.5.0, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 2.0.0
git merge 2.0.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production
Thanks to a collaboration with the Cabildo de Tenerife, we've added support for multitenancy, that is, managing different institutions using just one Consul Democracy installation. Although we've done several tests in order to experience a smooth upgrade from previous version of Consul Democracy so this feature doesn't affect existing installations, as usual we still recommend backing up your database before upgrading.
If you'd like to enable multitenancy, check the multitenancy documentation.
If you enable this feature, it's also strongly recommended that you include a task in your CI to ensure the integrity of your schema.rb
file. An example workflow for GitHub Actions is included in this release (see pull request 5009).
config/database.yml
file and add the line schema_search_path: "public,shared_extensions"
(you can copy it from the config/database.yml.example
file). This is done automatically on production environments when running the consul:execute_release_tasks
rake task.
url
configuration option in the administration settings. If you're using Setting["url"]
in your custom code, replace it with either root_url
(if the code is executed during a request) or with root_url(ActionMailer::Base.default_url_options)
(if the code is executed during a rake task or a delayed job).
-n
option: RAILS_ENV=production bin/delayed_job -n 2 stop
.
config/environments/preproduction.rb
is not identical to your config/environments/staging.rb
, you'll have to change the former in order to include the differences (or you can also choose to base it on your production environment instead). If you're using the staging environment but not the preproduction one (or you aren't using either of them), ignore this warning.
1.5.0
Here's release 1.5.0 with:
- A new GraphQL API that will allow write operations
- Easier customization of valid zipcodes
- Improvements in notifications and newsletters
- New options to simplify code customization
- Debian Buster and Debian Bullseye support in the installer
- Many bug fixes and small improvements
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
Updating your fork
Check how to keep your fork updated; if you're updating from release 1.4.1 you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.5.0
git merge 1.5.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production
Even if we've removed Paperclip, there might be references to paperclip attachments in any existing content (for example, custom pages) and so old attachment files generated by Paperclip should be removed with care or even kept indefinitely.
Gemfile_custom
in order to uncomment it and restore the config/newrelic.yml
file (which we deleted in pull request #4645). In a similar way, if you're using the services provided by rollbar, make sure you edit the Gemfile_custom
in order to uncomment it and restore the config/initializers/rollbar.rb
file (which we deleted in the mentioned pull request #4645)
app/models/custom/verification/residence.rb
. Now CONSUL administrators can define postal codes in the settings section of the administration.
If you had already defined custom postal codes in app/models/custom/verification/residence.rb
, when you get a conflict when merging these changes, keep your changes; they'll most probably still work but, depending on your implementation, the postal codes defined by administrators might be ignored. In this case, you might want to double-check your custom changes still work as expected and consider removing this custom code and use the setting instead. In order to ease the transition, the setting allows regular expressions. When using regular expressions, omit the ^
and $
characters (or the Ruby equivalents, \A
and \Z
); we're already adding them in the code. For example, if your code was postal_code =~ /^280[0-9]{2}$/
, use 280[0-9]{2}
in the setting.
app/assets/javascripts/custom/
folder are now automatically required. If you've added files to that folder that aren't present in CONSUL, like homepage_enhancements.js
, and are requiring them with //= require homepage_enhancements
, you need to delete the line saying //= require homepage_enhancements
. You don't have to delete this line if the files already exists in CONSUL (for example, you wouldn't have to delete //= require globalize
if you had a file in app/assets/javascripts/custom/globalize.js
because the file app/assets/javascripts/globalize.js
already exists in CONSUL).
app/assets/images/
folder by adding an image with the same name to the app/assets/images/custom/
folder, you might run into a Sprockets::DoubleLinkError
(see issue #4882). As a workaround, you can rename the image under app/assets/images/
which has the conflicting name, for example adding a _consul
or _original
suffix (or prefix).
1.4.1
Here's release 1.4.1. This is a maintenance release with:
- Fix translations for German, Turkish, Italian, Romanian and Swedish
- Change the way we handle source strings updates in Crowdin
Check the Changelog to see all the changes.
Updating your fork
Check how to keep your fork updated; if you're upgrading from release 1.4.0 or release 1.3.1, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.4.1
git merge 1.4.1
git checkout master
git merge release
git branch -d release
git push
⚙️ It you're upgrading from version 1.3.1, after deploying you have to run additional tasks on your server with bin/rake consul:execute_release_tasks RAILS_ENV=production
. You can safely omit this step if you're upgrading form version 1.4.0.
1.4.0
Here's release 1.4.0 with:
- Better support for languages written from right to left
- An improved interface to manage budgets
- Easier configuration for budgets with one heading
- Experimental support for machine learning
- Maintenance updates like upgrading to Ruby 2.7.4
- Many bug fixes and small improvements
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
Updating your fork
Check how to keep your fork updated; if you're updating from release 1.3.1 you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.4.0
git merge 1.4.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production
has_attachment
instead of has_attached_file
. Otherwise you might run into missing files when upgrading to version 1.5.0.
In version 1.5.0 we'll change the way we store attachments from Paperclip to Active Storage. In order to make the migration painless, version 1.4.0 stores new files using both systems. After copying the existing files to Active Storage, keep both the Active Storage files and the Paperclip files. The Paperclip files are needed in version 1.4.0, and the Active Storage files will be needed in version 1.5.0.
If you've changed anything related to the way attachments are handled, there's a chance you might run into some issues when executing consul:execute_release_tasks
(which includes a task to copy existing files to Active Storage). In version 1.5.0 we'll drop Paperclip and use just Active Storage, so if you run into problems when running this task, make sure you fix them or report them (otherwise you might run into missing files when upgrading to version 1.5.0); after fixing the problems, run the task again (you can run it as many times as you want; files which were already migrated won't be affected).
If you're storing files using an external service (such as S3), before executing the release tasks edit the config/storage.yml
file and configure the service. Sample configurations are provided for S3, GCS and Azure; uncomment them where appropriate and then edit your config/secrets.yml
file with your credentials. Then edit your config/environments/production.rb
file and add config.active_storage.service = :s3
(or :gcs
or :azure
, depending on the service you're using).
.fa-icon_name
) will now have to add extra @import
clauses in ther custom.scss
file to import files like font-awesome/icons
. Another option for these installations would be to remove these classes/selectors and use our has-fa-icon
mixin.
ℹ️ In new installations, we've enabled sending compressed CSS and JavaScript files to users by default, resulting in faster page loads. If you haven't already done so, you can enable them in your current CONSUL installation by editing your server's Nginx configuration file (which is probably in a place like /etc/nginx/sites-enabled/default
) and adding these lines right after the line starting with root
:
location ^~ /assets/ {
gzip_static on;
expires max;
add_header Cache-Control public;
}
Then, restart Nginx (on Ubuntu, run sudo service nginx restart
).
1.3.1
Here's release 1.3.1. This is a maintenance release with:
- Several bugfixes, particularly one where the help page crashed in certain languages
- Updated translations for German, Swedish and Turkish
- A more accessible menu button on small screens
- Security updates in dependencies like Ruby, Rails or Puma
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand the changes.
Updating your fork
Check how to keep your fork updated; if you're upgrading from release 1.3.0 or release 1.2.0, you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.3.1
git merge 1.3.1
git checkout master
git merge release
git branch -d release
git push
⚙️ It you're upgrading from version 1.2.0, after deploying you have to run additional tasks on your server with bin/rake consul:execute_release_1.3.0_tasks RAILS_ENV=production
. You can safely omit this step if you're upgrading form version 1.3.0.
1.3.0
Here's release 1.3.0 with:
- United Nations 2030 Agenda Sustainable Development Goals support, including:
- New SDG information section, with active processes related to a certain goal
- Possibility to associate goals/targets when creating debates, proposals, investments, polls and legislations processes and proposals
- Filters by SDG or target
- Stats by SDG
- SDG icons on related debates/proposals/polls/processes
- New "SDG manager" role to manage goals, targets and local targets.
- Design improvements in participatory budgets.
- Ubuntu 20.04 support in the installer.
- GitHub Actions and (experimental) Gitlab CI integration.
- Maintenance updates like upgrading to Rails 5.2 and Ruby 2.6.6.
- Many bug fixes, small improvements and accessibility improvements.
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
Updating your fork
❗
Check how to keep your fork updated; if you're updating from release 1.2.0 you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.3.0
git merge 1.3.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production
config.i18n.fallbacks = true
(which we did until we changed it in CONSUL 1.1.0), you must replace it with config.i18n.fallbacks = [I18n.default_locale]
.
pg_upgrade
in your Docker image. In your development environment, alternatively you can remove the volume used to store the database with docker volume rm <volume_name>
.
ℹ️ Due to the upgrade to Rails 5.2, when starting Puma you might get a warning which you can safely ignore:
#<Thread:0x00000000067ea620@/home/deploy/consul/shared/bundle/ruby/2.5.0/gems/activerecord-5.2.4.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:299 sleep> - /home/deploy/consul/shared/bundle/ruby/2.5.0/gems/activerecord-5.2.4.4/lib/active_record/connection_adapters/abstract/connection_pool.rb:301:in 'sleep'`.
ℹ️ We've started to use components, which are a way to group helpers and views together. Existing helpers and views will still work properly. If you'd like to customize a component, check the components customization documentation.
1.2.0
Here's release 1.2.0 with:
- Approval voting for budgets
- Legislation process summary
- Ubuntu 18.04 support in the installer
- Support for Errbit and Airbrake exception managers
- Maintenance updates like upgrading to Rails 5.1, Ruby 2.5 and jQuery 3.5
- Many bug fixes and small improvements
Check the Changelog to see all the changes. Please take your time reading all referenced pull requests to understand new features and changes.
Updating your fork
Check how to keep your fork updated; if you're updating from release 1.1.0 you can just:
git checkout master
git pull
git checkout -b release
git fetch upstream tag 1.2.0
git merge 1.2.0
git checkout master
git merge release
git branch -d release
git push
⚙️ After deploying the new version, execute the release tasks:
bin/rake consul:execute_release_tasks RAILS_ENV=production