Accept terrapin 1.x - #683
Merged
Merged
Conversation
The gemspec pinned `terrapin ~> 0.6.0`, a version from 2018. terrapin has
been at `1.x` since 2023, and its only breaking change in `1.0` was the
removal of `Terrapin::CommandLine::PosixRunner`.
Nothing here uses a runner. `Command` builds command lines with
`Terrapin::CommandLine#command` and hands the string to `Runner` or
`Kernel.spawn` to execute, so that removal cannot reach this gem. Against
terrapin `1.1.1` the strings come out as they did, shell quoting included:
/path/to/vite build --mode 'production' --outDir '/tmp/out dir' --emptyOutDir
The pin also reached past this gem. terrapin `0.6.0` requires
`climate_control >= 0.0.3, < 1.0`, so every application depending on
ember-cli-rails was held below `climate_control 1.0` — terrapin `1.x`
requires only `climate_control >= 0`.
Widen the constraint to `>= 0.6.0, < 2.0`, which keeps `0.6` working for
applications that have it locked and lets everything else resolve forward.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
tricknotes
force-pushed
the
widen-terrapin-constraint
branch
from
September 12, 2026 02:36
6a29c23 to
6791e79
Compare
tricknotes
marked this pull request as ready for review
September 12, 2026 02:40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The gemspec pinned
terrapin ~> 0.6.0— a version from February 2018. terrapin has been at1.xsince November 2023.Why
1.0is safe hereIts only breaking change was the removal of one class:
Nothing here uses a runner. Every use of terrapin in this gem builds a command line and stops there —
CommandcallsTerrapin::CommandLine#commandand hands the resulting string toRunner(Open3) orKernel.spawn:Against terrapin
1.1.1those strings come out as they did under0.6.0, shell quoting of interpolated values included:The pin reached past this gem
terrapin
0.6.0requiresclimate_control >= 0.0.3, < 1.0. Since this gem pinned terrapin to0.6, every application depending on ember-cli-rails was held belowclimate_control 1.0, with no way out short of dropping the gem. terrapin1.xrequires onlyclimate_control >= 0; installing1.1.1here pulledclimate_controlfrom0.2.0to1.2.0.Tests
With terrapin
1.1.1andclimate_control 1.2.0resolved locally:bin/rspec spec/lib— 174 examples, 2 failures, both (app_spec.rb:192,app_spec.rb:200) failing identically onmain; they neednode_modulesinstalled to find theemberbinarybin/rspec spec/lib/ember_cli/command_spec.rb— 15 examples, 0 failuresOne thing to note
Gemfile.lockis not committed here, so once this lands CI resolves terrapin to the newest allowed version and0.6stops being exercised. The constraint still permits it for applications that have it locked. If keeping0.6under test matters, a matrix axis pinning it would be the way, and I can add one.