Releases: decidim/decidim
v0.15.0
Upgrade notes:
-
Metrics: See metrics docs
-
Newsletter OptIn migration: Only for upgrades from 0.13 version With the 0.13 version, User's field
newsletter_notifications_at
could had not been correctly filled for subscribed users withChangeNewsletterNotificationTypeValue
migration. To solve it, and in case you have an updated list of old subscribed users, you could execute the following command in Rails console.
Decidim::User.where(**search for old subscribed users**).update(newsletter_notifications_at: Time.zone.parse("2018-05-24 00:00 +02:00"))
Added:
- decidim-conferences: Add the new design of Uploaded Attachments to a Conference, and add the MediaLinks entity. #4285
- decidim-proposals: When Participatory Texts are published, the admin has the chance to update the contents of each Proposal. #4326
- decidim-conferences: Add the relationship with other spaces. Each Conference-page should potentially be related to participatory processes, consultations and assemblies. #4339
- decidim-conferences: Apply new design for Conference Program #4271
- decidim-proposals: Administration panel related implementation of Participatory Texts. #4229
- decidim-conferences: Add Partners to Conference. #4251
- decidim-conferences: Apply new design for Conferences #4194
- decidim-conferences: Added Conferences as a Participatory Space. This module is a configurator and generator of Conference pages, understood as a collection of Meeting. #3781
- decidim-meetings: Apply hashtags to meetings #4080
- decidim-assemblies: Add organizational chart to assemblies home. #4045
- decidim-core: Adds the followers badge. #4089
- decidim-debates: Adds the commented debates badge. #4089
- decidim-meetings: Add upcoming events content block and page. #3987
- decidim-generators: Enable one more bootsnap optimization in test apps when coverage tracking is not enabled #4098
- decidim-assemblies: Set max number of results in highlighted assemblies content block (4, 8 or 12) #4125
- decidim-initiatives: Initiative printable form now includes the initiative type. #3938
- decidim-initiatives: Set max number of results in highlighted initiatives content block (4, 8 or 12) #4127
- decidim-participatory_processes: Set max number of results in highlighted processes content block (4, 8 or 12) #4124
- decidim-core: Add an HTML content block #4134
- decidim-consultations: Add a "Highlighted consultations" content block #4137
- decidim-admin: Adds a link to the admin navigation so users can easily access the public page. #4126
- decidim-dev: Configuration tweaks to make spec support files directly requirable from end applications and components. #4151
- decidim-generators: Allow final applications to configure DB port through an env variable. #4154
- decidim-proposals: Let admins edit official proposals from the admin. They have the same restrictions as normal users form the public area #4150
- decidim-meetings: Add the "Attended meetings" badge #4160
- decidim-core: Added metrics visualization for Users and Proposals (all, accepted and votes) #3603
- decidim-participatory_processes: Add a Call to Action button to process steps#4184
- decidim-core: Show user groups profiles #4196
- decidim-core: Show user groups on users profiles #4236
- decidim-core: Add roles to user group memberships #4260
- decidim-core: Add a badge info page listing all the badges and how to get them. #4245
- decidim-core: Show members on user groups profiles #4252
- decidim-core: Badges can now be disabled per organization. #4249
- decidim-core: Adds a "Continuity" badge. #4257
- decidim-core: Add activity feed content block and page. #4130
- decidim-core: Allow user to sign-in without confirming their email. #4269
- decidim-core: Fix proposal mentioned notification. #4281
- decidim-core: Added metrics visualization for Assemblies, ParticipatoryProcesses, Results (Accountability), Comments, and Meetings #36042283
- decidim-core: Let admins and creators edit the user group profile #4283
- decidim-core: User groups can also have badges. #4310
- decidim-proposals: Merge and split proposals #4360
Changed:
- decidim-assemblies: Change the not_ceased scope for AssemblyMembers to show them publicly if they have a ceased_date bigger than today #4370
- decidim-assemblies: For consistency with DB,
ceased_date
anddesignation_date
columns now use date attributes in forms, instead of datetime ones. #3724 - decidim-assemblies: Don't show child assemblies in assemblies general homepage. #4239
- decidim-core: Allow users to enter datetime fields manually. #3724
- decidim-core: Allow users to enter date fields manually. #3724
- decidim-core: Merge Users and UserGroups DB tables #4196
- decidim-core: Move user group creation to user profile #4256
- decidim-core: Make authors polymorphic #4282
- decidim-core: Don't allow weird characters in names and nicknames #4317
- decidim-proposals: Admins can edit official proposals from the admin as long as they don't have any support #4364
Fixed:
- decidim-assemblies: Add parent when duplicating child assembly. #4371
- decidim-assemblies: Add paginate on admin site assembly members. #4369
- decidim-admin: Adds traceability when creating and deleting Participatory Space private user #4332
- decidim-proposals: Rework URL_REGEX regular expression so that it is more restrictive for general URIs causing problems with Scandinavian locales. \4290
- decidim-accountability: Fix inclusion of ApplicationHelper in results controller. #4272
- decidim-admin: Add email validation to ManagedUserPromotionForm. #4225
- decidim-surveys: Fix issue when copying. #4274
- decidim-proposals: Fix uncatched exception when trying to retrieve a Proposal from an invalid url match. \4157
- decidim-core: Fix data portability proposal images, modify command to create directory if not exists, and fix surveys ansewers whem exporting data portability. #4223
- decidim-debates: When a Searchable accesses its indexed resources it must scope by resource_type and organization_id. \4079
- decidim-debates: Fix create debates as a normal user in a private space \4108
- decidim-admin: English locale now uses a consistent date format (UK style everywhere). #3724
- decidim: Fix crashes when sending incorrectly formatted dates to forms with date fields. #3724
- decidim-proposals: Fix hashtags on title when showing proposals related. \4081
- decidim-core: Fix hero...
v0.14.2
Upgrade notes:
Update your Gemfile:
gem "decidim", "0.14.2"
gem "decidim-dev", "0.14.2"
Run these commands to upgrade and make sure you get all the latest migrations:
bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
Fixed:
- decidim-core: Fix default content block creation migration #4084
- decidim-generators: Bootsnap warnings when generating test applications #4098
- decidim-admin: Don't list deleted users at officialized list. #4203
- decidim-participayory_processes: Copy categories and subcategories to the new process. #4203
- decidim-core: Fix newsletter opt-in migration #4198
v0.14.1
Upgrade notes:
Update your Gemfile:
gem "decidim", "0.14.1"
gem "decidim-dev", "0.14.1"
Run these commands to upgrade and make sure you get all the latest migrations:
bundle update decidim
bin/rails decidim:upgrade
bin/rails db:migrate
Fixed:
v0.14.0
Upgrade notes:
-
In order for the currently existing Users to be indexed, you'll have to manually trigger a reindex. You can do that executing:
Decidim::User.find_each(&:add_to_index_as_search_resource)
-
If you have an external module that defines rake tasks and more than one engine, you probably want to add
paths["lib/tasks"] = nil
to all engines but the main one, otherwise the tasks you define are probably running multiple times unintentionally. Check #3892 for more details. -
Image compression settings : The quality settings can be set in Decidim initializer with
Decidim.config.image_uploader_quality = 60
. The quality setting is set to 80 by default because change is imperceptible. My own test show that a quality between 60 and 80 is optimal. You can use this feature with already uploaded images, it only affect newly uploaded file. If you want to apply new settings to previously uploaded images :- open
rails console
- Type the following :
YourModel.find_each { |x| x.image.recreate_versions! if x.image? }
- open
Where YourModel is the name of your model (eg. Decidim::User) and image is the name of your uploader (eg. avatar). As Decidim doesn't keep original file on upload, a file cannot be restored to original quality without re-uploading. Be careful when playing with this feature on production. Check #3984 for more details.
-
Badges: Badges are introduced in the
0.14
as a way to add gamification and increase the amount of user interaction. In order to generate the scores of all the badges, please run an IRB session viarails console
and execute:Decidim::Gamification.reset_badges
Added:
- decidim-proposals: Apply hashtags to Proposals. #3959
- decidim-core: Add the functionality of hashtags. #3959
- decidim-assemblies: Add the posibility to select the parent assembly when the assembly is created or edited #4022
- decidim-admin:Add link to user profile and link to conversation from admin space. #3995
- decidim-core:Add compression settings to image uploader #3984
- decidim-budgets: Import accepted proposals to projects. #3873
- decidim-proposals: Results from searches should show the participatory space where they belong to if any. #3897
- decidim-docs: Add proposal lifecycle diagram to docs. #3811
- decidim-budgets: Added vote project authorization action #3804
- decidim-meetings: Added join meeting authorization action #3804
- decidim-proposals: Added vote and endorse proposal authorization actions #3804
- decidim-core: Support for actions authorizations at resource level #3804
- decidim-meetings: Allow users to accept or reject invitations to meetings, and allow admins to see their status. #3632
- decidim-meetings: Allow admins to invite existing users to meetings. #3831
- decidim-meetings: Generate a registration code and give it to users when they join to the meeting. #3805
- decidim-meetings: Allow admins to validate meeting registration codes and notify the user. #3833
- decidim-core: Make Users Searchable. #3796
- decidim-participatory_processes: Highlight the correct menu item when visiting a process group page #3737
- decidim-proposals: Add Collaborative drafts: #3109
- Admin can en/disable this feature from the component configuration
- Filtrable list of Collaborative drafts in public views
- Collaborative drafts are: traceable, commentable, coauthorable, reportable
- Publish collaborative draft as Proposal
- decidim-participatory_processes: Display a big card when there's just one process at the homepage #3970
- decidim-core: Adds support for earning badges. #3975
- decidim-proposals: Adds the proposal badge. #3975
- decidim-proposals: Adds the proposal supports badge. #4033
- decidim-proposals: Adds the accepted proposals badge. #4033
- decidim-core: Adds the invitations badge. #4033
- decidim-initiatives: Adds the published initiatives badge. #4033
- decidim-core: Add link to admin edit from public pages. #3978
Changed:
- decidim-docs: Update the image that shows the proposed life-cycle of a Proposal.#3933
- decidim-initiatives: For consistency with DB, use Ruby Dates instead of DateTimes, rename
signature_start_time
andsignature_end_time
fields tosignature_start_date
andsignature_end_date
. #3932 - decidim-participatory_processes: For consistency with DB, use Ruby Dates instead of DateTimes for
start_date
andend_date
. #3932 - decidim-participatory_processes: Improve usability of filters on processes index page #3728
- decidim-meetings: The invite attendee form has been moved to the top of the new invites list. #3826
- decidim-core: Load authorization modals content with AJAX requests. #3753
- decidim-core: Updated the
CollapsibleList
cell to be able to show any number of elements from 1 to 12 #3810 - decidim-core: Move the homepage sections from view hooks to content blocks #3839
- decidim-core: Move conversations to a profile tab. #3960
- decidim-consultations: Removed the secondary navbar in the admin sections where it's redundant #4015
Fixed:
- decidim-participatory_processes: Fix hastag display on participatory processes. #4024
- decidim-core: Fix day date translation on profile notifications. #3994
- decidim-accountability: Fix accountability progress to be between 0 and 100 if provided. #3952
- decidim-initiatives: Fix initiative edition when state is not published. #3930
- decidim-proposals: Fix Endorse button broken if endorse action is authorized. #3875
- decidim-proposals: Refactor searchable proposal test to avoid flakes. #3825
- decidim-proposals: Proposal seeds iterate over a sample of users to add coauthorships. #3796
- decidim-core: Make proposal m-card render its authorship again. #3727
- decidim-generators: Generated application not including bootsnap.
- decidim-generators: Generated application not including optional gems.
- decidim-core: Fix follow within search results. #3745
- decidim-proposals: An author should always follow their proposal. #3791
- decidim-core: Fix notifications sending when there's no component. #3792
- decidim-proposals: Use the same proposals collection for the map. #3793
- decidim-core: Fix followable type for Decidim::Accountability::Result. #3798
- decidim-accountability: Fix accountability diff renderer when a locale is missing. #3797
- decidim-core: Don't crash when a nickname has a dot. #3793
- decidim-core: Don't crash when a page doesn't exist. #3799
- decidim-consultations: Remove unused indexes from consultations questions. #3840
- decidim-admin: Paginate private users. #3871
- decidim-surveys: Order survey answer options by date and time. #3867
- decidim-surveys: Allow deleting surveys components when there are no answers #4013
- **decidim-propos...
v0.13.1
v0.13.0
Upgrade notes: avatars:
As per #3716, you'll need to
re-create the existing avatars versions. Connect to your server and run this on
your terminal:
bin/rails c
And then copy and paste this piece of code:
Decidim::User.find_each do |user|
user.avatar.recreate_versions! if user.avatar?
end
Added:
- decidim-core: GDPR: Add Right of data portability. #3489
- decidim-core: GDPR: Opt-in for all the users with newsletters #3492
- decidim-initiatives: Notify the followers when an initiative's signatures end date has been extended #3621
- decidim-core: Add a new avatar size so that it is displayed properly on the profile page #3716
Changed:
- decidim-verifications: Added a current component reference to the action authorizer. Custom ActionAuthorizer classes should receive it in a third argument of the initializer method, as
DefaultActionAuthorizer
does. #3708 - decidim-core: Introduce coauthorable concern and coauthorship model. #3310
- decidim-core: New user profile design #3415
- decidim-core: Force user_group.name uniqueness in user_group test factory. #3290
- decidim-admin: Admins no longer need to introduce raw json to define options for an authorization workflow. #3300
- decidim-proposals: Extract partials in Proposals into helper methors so that they can be reused in collaborative draft. #3238
- decidim-admin: Moved the following reusable javascript components from
decidim-surveys
component #3194- Nested resources (auto_buttons_by_position.component.js.es6, auto_label_by_position.component.js.es6, dynamic_fields.component.js.es6)
- Dependent inputs (field_dependent_inputs.component.js.es6)
- decidim-surveys: Moved the following reusable javascript components to
decidim-admin
component #3194- Nested resources (auto_buttons_by_position.component.js.es6, auto_label_by_position.component.js.es6, dynamic_fields.component.js.es6)
- Dependent inputs (field_dependent_inputs.component.js.es6)
- decidim-participatory_processes: Render documents in first place (before view hooks). #2977
- decidim-verifications: If you're using a custom authorization handler template, make sure it does not include the button. Decidim takes care of that for you so including it will from no now cause duplicated buttons in the form. #3211
- decidim-accountability: Include children information in main column #3217
- decidim-core: Open attachments in new tab #3245
- decidim-core: Open space hashtags in new tab #3246
- decidim-proposals: Drop support for abilities in favor of the new Permissions system #3029
- decidim-accountability: Drop support for abilities in favor of the new Permissions system #3029
- decidim-budgets: Drop support for abilities in favor of the new Permissions system #3029
- decidim-pages: Drop support for abilities in favor of the new Permissions system #3029
- decidim-debates: Drop support for abilities in favor of the new Permissions system #3029
- decidim-comments: Drop support for abilities in favor of the new Permissions system #3029
- decidim-surveys: Drop support for abilities in favor of the new Permissions system #3029
- decidim-meetings: Drop support for abilities in favor of the new Permissions system #3029
- decidim-sortitions: Drop support for abilities in favor of the new Permissions system #3029
- decidim-meetings: Update card layout #3338
- decidim-proposals: Update card layout #3338
- decidim-debates: Update card layout #3371
- decidim-participatory_processes: Update card layout for processes #3382
- decidim-participatory_processes: Update card layout for process groups #3395
- decidim-assemblies: Update card layout for assemblies and assembly members #3405
- decidim-sortitions: Update card layout #3405
- decidim: Changes on how to register resources. Resources from a component now they need a specific reference to the component manifest, and all resources need a name. #3416
- decidim-consultations: Improve overall navigation #3524
- decidim-comments: Let comments have paragraphs to increase readability #3538
- decidim-core: Sessions expire in one week by default. #3586
- decidim-participatory_processes: Make process moderators receive notifications about flagged content #3605
- decidim-meetings: Do not let users join a meeting from the Search page, as the button fails #3612
- decidim-core: Scope nicknames in organizations, so they don't have to be unique in a multi-tenant setup #3671
Fixed:
- decidim-core: Search results should be paginated so that server does not hang when search term is too wide. #3605
- decidim-assemblies: Fix private assemblies showing more than once for private users. #3638
- decidim-proposals: Do not index non published Proposals. #3618
- decidim-proposals: Fix link to endorsements behaviour, now it does not link when there are no endorsements. #3531
- decidim-meetings: Fix meetings M card cell so that it works outside the component #3612
- decidim-proposals: Fix proposals M card cell so that it works outside the component #3612
- decidim-core: Adds a missing migration to properly rename features to components #3657
- decidim-blogs: Use custom sanitizer in views instead of the default one #3655
- decidim-core: Use custom sanitizer in views instead of the default one #3655
- decidim-initiatives: Use custom sanitizer in views instead of the default one #3655
- decidim-sortitions: Use custom sanitizer in views instead of the default one #3655
- decidim-assemblies: Let space users access the admin area from the public one #3666
- decidim-participatory_processes: Let space users access the admin area from the public one #3666
- decidim-core: Fix comments count failing in AuthorCell #3668
- decidim-proposals: Fix proposal date to published_at in: card_m, details, admin and exporter #3649
- decidim-assemblies: Let assembly admins access all content #3706
- decidim-admin: Let user managers access the public space #3720
- decidim-generators: Generated application not including bootsnap.
- decidim-generators: Generated application not including optional gems.
- decidim-core: Fix invitations form newsletter optin #3789
v0.12.2
v0.12.1
Fixed:
- decidim-core: Add readonly attribute to date_fields so that the user is forced to use the datepicker. #3705
- decidim-assemblies: Let space users access the admin area from the public one #3683
- decidim-participatory_processes: Let space users access the admin area from the public one #3683
- decidim-assemblies: Let assembly admins access all content #3706
- decidim-admin: Let user managers access the public space #3723
v0.12.0
Upgrade notes (authorizations):
Authorizations workflows now use a settings manifest to define their options.
That means site admins will no longer need to introduce raw json to define
authorization options. If you were previously using an authorization workflow
with options, you'll need to update the workflow manifest to define them. As an
example, if you were filtering an authorization only to users in the 08001
postal code via an authorization option (by introducing { "postal_code" : "08001" }
in the options field of a participatory space action permissions),
you'll need to define it in the workflow manifest as:
Decidim::Verifications.register_workflow(:my_handler) do |workflow|
# ... stuff ...
workflow.options do |options|
options.attribute :postal_code, type: :string, required: false
end
end
If you have some custom modules from which you are registering a resource, you
will need to tweak how those resources are being registered as per #3416. You
must now set a resource name:
# inside decidim-my-module/lib/decidim/my-module/component.rb
component.register_resource(:my_resource) do |resource|
resource.model_class_name = "Decidim::MyComponent::MyResource"
end
Upgrade notes (search):
In order for the currently existing resources to be indexed, you'll have to
manually trigger a reindex. Since only proposals
and meetings
are currently
indexed, you can do that executing:
Decidim::Meetings::Meeting.find_each(&:add_to_index_as_search_resource)
Decidim::Proposals::Proposal.find_each(&:add_to_index_as_search_resource)
Upgrade notes (TOS):
Due to a bug that got fixed on this release, some organizations might not
have a TOS page, which some migrations rely on. Please execute this code on
production before upgrading so the pages get created correctly and the migrations
don't fail.
Decidim::Organization.find_each { |organization| Decidim::System::CreateDefaultPages.call(organization) }
Added:
- decidim-core: Added a global search engine for Proposals and Meetings. #3559
- decidim-meetings: Add Agenda and Agenda Item entities to manage meeting agenda. #3305
- decidim-docs: Add documentation for developers getting started. #3297
- decidim-assemblies: Add members to assemblies. #3008
- decidim-assemblies: An assembly member can be related to an existing user. #3302
- decidim-assemblies: Show the assemblies that a user belongs in their profile. #3410
- decidim-core: Added the user_profile_bottom view hook to the public profiel page. #3410
- decidim-meetings: Add organizer to meeting and meeting types #3136
- decidim-meetings: Add Minutes entity to manage Minutes. #3213
- decidim-initiatives: Notify initiatives milestones #3341
- decidim-admin: Links to participatory space index & show pages from the admin dashboard. #3325
- decidim-admin: Add autocomplete field with customizable url to fetch results. #3301
- decidim-admin: Add endpoint to query organization users in json format. #3381
- decidim-core: Adds fingerprinting capabilities to resources. #3351
- decidim-core: Add user profile card #3444
- decidim-budgets: Add project card #3454
- decidim-core: GDPR: Unbundled consent on user registration #3483
- decidim-core: GDPR: Right to be Forgotten #3315
- decidim-core: GDPR: Newsletter checkbox unchecked by default \3316
- decidim-consultations: Add consultation card #3487
- decidim-blogs: Add blog post card #3487
- decidim-core: GDPR: Track TOS page version in Organization #3491
- decidim-core: GDPR: User must review TOS when updated #3494
- decidim-core: Requests are throttled to prevent DoS attacks #3588
Changed:
- decidim-core: New user profile design #3415
- decidim-core: Force user_group.name uniqueness in user_group test factory. #3290
- decidim-admin: Admins no longer need to introduce raw json to define options for an authorization workflow. #3300
- decidim-proposals: Extract partials in Proposals into helper methors so that they can be reused in collaborative draft. #3238
- decidim-admin: Moved the following reusable javascript components from
decidim-surveys
component #3194- Nested resources (auto_buttons_by_position.component.js.es6, auto_label_by_position.component.js.es6, dynamic_fields.component.js.es6)
- Dependent inputs (field_dependent_inputs.component.js.es6)
- decidim-surveys: Moved the following reusable javascript components to
decidim-admin
component #3194- Nested resources (auto_buttons_by_position.component.js.es6, auto_label_by_position.component.js.es6, dynamic_fields.component.js.es6)
- Dependent inputs (field_dependent_inputs.component.js.es6)
- decidim-participatory_processes: Render documents in first place (before view hooks). #2977
- decidim-verifications: If you're using a custom authorization handler template, make sure it does not include the button. Decidim takes care of that for you so including it will from no now cause duplicated buttons in the form. #3211
- decidim-accountability: Include children information in main column #3217
- decidim-core: Open attachments in new tab #3245
- decidim-core: Open space hashtags in new tab #3246
- decidim-proposals: Drop support for abilities in favor of the new Permissions system #3029
- decidim-accountability: Drop support for abilities in favor of the new Permissions system #3029
- decidim-budgets: Drop support for abilities in favor of the new Permissions system #3029
- decidim-pages: Drop support for abilities in favor of the new Permissions system #3029
- decidim-debates: Drop support for abilities in favor of the new Permissions system #3029
- decidim-comments: Drop support for abilities in favor of the new Permissions system #3029
- decidim-surveys: Drop support for abilities in favor of the new Permissions system #3029
- decidim-meetings: Drop support for abilities in favor of the new Permissions system #3029
- decidim-sortitions: Drop support for abilities in favor of the new Permissions system #3029
- decidim-meetings: Update card layout #3338
- decidim-proposals: Update card layout #3338
- decidim-debates: Update card layout #3371
- decidim-participatory_processes: Update card layout for processes #3382
- decidim-participatory_processes: Update card layout for process groups #3395
- decidim-assemblies: Update card layout for assemblies and assembly members #3405
- decidim-sortitions: Update card layout #3405
- decidim: Changes on how to register resources. Resources from a component now they need a specific reference to the component manifest, and all resources need a name. #3416
- decidim-consultations: Improve overall navigation #3524
- decidim-comments: Let comments have paragraphs to increase readability #3538
- decidim-core: Sessions expire in one week by default. #3586
Fixed:
- decidim-meetings: Enforce permissions when managing meeting minutes. #3560
- **decidim-assem...
v0.11.2
Fixed:
- decidim-generators: Dummy applications not being correctly generated for external plugins. #3470
- decidim-generators: Dummy applications not being correctly generated for final applications. #3527
- decidim-core: Data picker form inputs having no bottom margin. #3463
- decidim-core: Adds a missing migration to properly rename features to components #3656