Skip to content

CON-805: Upgrade Ruby to 3.4.7#193

Merged
ehimen-io merged 7 commits intomf-cs-documentationfrom
owens/805/ruby-4-upgrade
Feb 27, 2026
Merged

CON-805: Upgrade Ruby to 3.4.7#193
ehimen-io merged 7 commits intomf-cs-documentationfrom
owens/805/ruby-4-upgrade

Conversation

@ehimen-io
Copy link

@ehimen-io ehimen-io commented Feb 26, 2026

Addresses CON 805

The upgrade to Ruby 4.0.1 is blocked because Middleman has not yet released official Ruby 4.0 support (it exists only on their main branch in PR #2911 but hasn't been published to RubyGems), and multiple gems in the dependency tree (rouge, borrower, standard library extractions like cgi, logger, ostruct) break under Ruby 4.0.

Upgrading Middleman beyond 4.4.x is separately blocked by an incompatibility between middleman-sprockets 4.1.1 and Sprockets 4.x, causing Sprockets to return raw uncompiled SCSS that then crashes Autoprefixer.

Pinning Sprockets to 3.7.x works around this by falling back to Ruby Sass, but that limits us to the current Middleman 4.4.3 until middleman-sprockets is updated to work correctly with Sprockets 4's asset resolution API.

@ehimen-io ehimen-io added merge-candidate This PR is ready to be merged, once it is reviewed and tested dependencies Pull requests that update a dependency file labels Feb 26, 2026
Copy link

@anero anero left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 looks good, middleman is set up to test against ruby 4.0 on their main branch (https://github.com/middleman/middleman/blob/main/.github/workflows/ci.yml#L16), so it's reasonable to assume they'll add support for v4 on their next release

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These new Github actions don't need any changes for upgrading, right?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I dont think so. I believe I've done this for other repos successfully

@ehimen-io ehimen-io changed the title CON-805: Upgrade Ruby to 3.4.7 CON-805: Upgrade Ruby to 4.0.1 Feb 27, 2026
@ehimen-io
Copy link
Author

@anero middleman 4.6.3 supports ruby 4.0 already, so I added it in this PR.

@ehimen-io
Copy link
Author

@anero sorry for the confusion on this PR. I was "attempting" to get to Middleman 4.6.3

Middleman 4.6.3 switches from "ruby sass" to "SassC" for Sprockets CSS rendering, and the SassC processor fails to actually compile the SCSS (raw @import directives and // comments pass through unprocessed to autoprefixer). This seems like it would take more investment to fix than its worth, so lets just keep it at 3.4.7

@ehimen-io ehimen-io changed the title CON-805: Upgrade Ruby to 4.0.1 CON-805: Upgrade Ruby to 3.4.7 Feb 27, 2026
@ehimen-io ehimen-io merged commit 528644b into mf-cs-documentation Feb 27, 2026
1 check passed
ehimen-io added a commit that referenced this pull request Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file merge-candidate This PR is ready to be merged, once it is reviewed and tested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants