Skip to content

Bump to 3.2.3.0: relax mini_portile2 to ~> 2.5#13

Open
guilhermemsnogueira wants to merge 2 commits into
masterfrom
bump_mini_portile2_and_version
Open

Bump to 3.2.3.0: relax mini_portile2 to ~> 2.5#13
guilhermemsnogueira wants to merge 2 commits into
masterfrom
bump_mini_portile2_and_version

Conversation

@guilhermemsnogueira

Copy link
Copy Markdown

Problem

The published salsify_libxml_ruby (3.2.2.0) pins mini_portile2 ~> 2.5.0. This hard-blocks any consumer that also needs a modern Kafka client: salsify_kafka >= 8.2 depends on rdkafka >= 0.13.1, which requires mini_portile2 ~> 2.6. The two constraints are mutually exclusive, so apps like puddle cannot upgrade to salsify_kafka 8.x (needed for the SimpleConsumer feature) while this gem stays at 3.2.2.0.

Solution

Two commits:

  1. aa6aff3 (already on master, previously unreleased): relax the mini_portile2 constraint from ~> 2.5.0 to ~> 2.5 in both the gemspec and ext/libxml/extconf.rb. ~> 2.5 admits 2.6 through 2.x, satisfying the rdkafka floor.
  2. eb32398: bump the gem version 3.2.2.0 -> 3.2.3.0 (lib/libxml/version.rb + ext/libxml/ruby_xml_version.h, which the gemspec reads) so the relaxed constraint can actually be published.

Verified downstream: pointing puddle's Gemfile at this source resolves cleanly to salsify_kafka 8.3.1, salsify_organizations 0.14.2, rdkafka 0.19.0, mini_portile2 2.8.9.

Caveats/Notes

The constraint change only affects the build-time native-extension toolchain (mini_portile2 downloads/compiles vendored libxml2). No runtime XML behavior changes. Once merged and released to gems.salsify.com as 3.2.3.0, the puddle kafka-bump branch can consume it.

Releases the mini_portile2 ~> 2.5 relaxation (aa6aff3) so consumers can
resolve mini_portile2 2.6+. This unblocks salsify_kafka >= 8.2 / rdkafka
>= 0.13.1 (which require mini_portile2 ~> 2.6) in downstream apps such as
puddle.
@guilhermemsnogueira guilhermemsnogueira requested a review from a team July 1, 2026 10:06
Comment thread ext/libxml/extconf.rb
require 'mkmf'
require 'rubygems'
gem 'mini_portile2', '~> 2.5.0' # Keep this version in sync with the one in the gemspec!
gem 'mini_portile2', '~> 2.5' # Keep this version in sync with the one in the gemspec!

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Should we change it to ~> 2.6.0? This way, we keep the current behavior of disallowing minor updates (only patches).

Note: I'm assuming 2.6 is the version we need.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants