Navigating the Decidim v0.27 to v0.28 Upgrade

Open Source

Rails Gem and Schema Upgrade Path: Decidim v0.27 to v0.28

As a team dedicated to maintaining a robust participatory democracy platform, we recently undertook the significant task of upgrading Decidim from version 0.27 to 0.28. This upgrade, which took approximately six months to complete, involved major breaking changes and required meticulous planning and execution. This case study provides a firsthand account of the challenges we encountered and the solutions we implemented to ensure a successful transition.

Project Overview

PearlThoughts undertook the upgrade of Decidim, an open source participatory democracy platform, from version 0.27 to 0.28 over a six-month period involving major breaking changes. By systematically resolving dependency conflicts, migrating configuration settings, executing database schema changes with rollback planning, and running comprehensive testing across unit, integration, and user acceptance levels, the team delivered a successful upgrade with zero data loss, full feature parity, and access to the latest security patches and platform improvements.

Why This Upgrade Was Complex

Decidim v0.28 introduced breaking changes across multiple layers simultaneously, gem dependencies, Rails configuration initializers, database schema structure, and asset compilation. Each layer required its own investigation, validation strategy, and rollback plan before touching the next. A misstep at any stage risked corrupting participatory data belonging to thousands of civic users.

Dependency Resolution & Configuration Migration

The upgrade began with a full audit of all gem dependencies against Decidim v0.28's requirements. Conflicts were resolved in isolated environments to avoid cascading failures. Configuration changes in config/initializers/decidim.rb were reviewed setting by setting, with backup configurations maintained and each change validated in staging before being applied to production.

Database Migration with Rollback Planning

Database schema migrations were planned, scripted, and tested independently against a copy of the production database before any changes were made to the live system. Rollback scripts were prepared for every migration step. Post-migration data integrity checks confirmed that all participatory content (proposals, votes, comments, and user records) was preserved without corruption.

Asset Compilation & Comprehensive Testing

Updated JavaScript and CSS assets were compiled with full cache clearing to prevent conflicts with precompiled legacy assets. Cross-browser validation confirmed consistent rendering across all supported environments. Unit tests, integration tests, and full user acceptance testing validated platform stability before the production deployment was approved, resulting in zero reported regressions post-launch.

Client Objectives

The engagement was guided by clear objectives that defined success for business leadership and delivery teams.

Upgrade to Latest Version

Migrate the participatory democracy platform from Decidim v0.27 to v0.28, gaining access to the latest features, security patches, and improvements.

Preserve Data Integrity

Execute database migrations without data loss or corruption, maintaining backward compatibility with existing data structures and user content.

Ensure Platform Stability

Validate all user workflows, module performance, and UI changes through comprehensive testing before production deployment.

The challenge

Complex constraints hindering growth

Dependency Conflicts

Updating Decidim to v0.28 required careful management of gem dependencies, resolving conflicts with other gems, and ensuring compatibility with specific Ruby and Rails versions.

Configuration Breaking Changes

Decidim introduced several configuration changes between versions, requiring thorough review and migration of existing settings in config/initializers/decidim.rb.

Database Schema Migration

Updating the database schema with custom deployment-specific adjustments required careful validation and rollback planning to ensure data integrity.

Asset Compilation Issues

Compiling and deploying updated JavaScript and CSS assets required validation that precompiled assets did not conflict with existing ones across different browsers.

Navigating the Decidim v0.27 to v0.28 Upgrade

The solution

Structured Upgrade Strategy

A methodical approach to navigating major breaking changes in an open source platform

  1. Dependency Resolution

    Reviewed and adjusted all gem dependencies to align with Decidim v0.28 requirements, testing compatibility in isolated environments and resolving conflicts systematically.

    • Ruby Gems
    • Bundler
    • Compatibility Testing
  2. Configuration Migration

    Conducted a comprehensive review of configuration changes, created backup configurations, and validated each setting in staging environments before applying to production.

    • Config Migration
    • Staging Validation
    • Backup Strategy
  3. Database Migration & Validation

    Planned and executed database schema migrations with backup databases, tested migration scripts in isolation, and validated data integrity post-migration.

    • Rails Migrations
    • Data Integrity
    • Rollback Planning
  4. Asset Compilation & Deployment

    Implemented a rigorous asset compilation process with cache clearing, cross-browser testing, and staged deployment to ensure seamless user experience.

    • Asset Pipeline
    • Cross-Browser Testing
    • Staged Rollout
  5. Comprehensive Testing

    Executed unit tests, integration tests, and user acceptance testing to validate platform stability, addressing performance regressions and unexpected UI changes.

    • Unit Testing
    • Integration Testing
    • UAT

Technologies Implemented

  • Ruby on Rails
  • Decidim
  • PostgreSQL
  • Rails Asset Pipeline
6 mo
Upgrade Duration
0
Data Loss Incidents
5
Major Challenge Areas Resolved
100%
Feature Parity Maintained

Business impact

Upgrade Impact

Successfully navigating a major open source platform upgrade with zero data loss

Cost Management

Incremental rollout
Minimized risk and rework costs
Community resources
Leveraged open source support channels

Platform Improvements

Latest security patches
v0.28 security updates applied
New platform features
Access to latest Decidim capabilities

Community Outcomes

Zero data loss
All participatory data preserved
Full feature parity
All existing workflows maintained

How we drive results

Turning Strategy into Measurable Business Impact

Our case studies reflect a consistent delivery model focused on outcomes, helping organizations modernize technology, reduce risk, and accelerate growth through practical, scalable solutions.

Outcome-Driven Strategy

Every engagement starts with clear business objectives, success metrics, and a roadmap aligned to real operational and financial outcomes.

Proven Execution Model

We apply proven frameworks, agile delivery, and industry best practices to execute complex initiatives with speed, quality, and predictability.

Secure & Scalable Delivery

Our solutions are built with security, compliance, and scalability at the core, ensuring long-term resilience and sustainable growth.

Ready to Transform Your Platform Upgrade?

Navigate complex open source platform upgrades with a structured strategy that preserves data integrity and minimizes risk.

Plan Your Upgrade