Skip to content

Conversation

@peterxjang-stripe
Copy link

The recently added breaking change message currently looks like this:

BEFORE

/Users/peterxjang/.local/share/mise/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/stripe-18.0.1/lib/stripe/stripe_object.rb:450:in `rescue in method_missing': The 'payment_intent' attribute is no longer available on Invoice objects. See the docs for more details: https://docs.stripe.com/changelog/basil/2025-03-31/add-support-for-multiple-partial-payments-on-invoices#why-is-this-a-breaking-change (NoMethodError)

          raise NoMethodError,
          ^^^^^
        from /Users/peterxjang/.local/share/mise/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/stripe-18.0.1/lib/stripe/stripe_object.rb:444:in `method_missing'
        from server.rb:29:in `<main>'
/Users/peterxjang/.local/share/mise/installs/ruby/3.3.0/lib/ruby/gems/3.3.0/gems/stripe-18.0.1/lib/stripe/stripe_object.rb:445:in `method_missing': undefined method `payment_intent' for #<Stripe::Invoice:0x000000011ee7ded8> (NoMethodError)
Did you mean?  payment_settings
        from server.rb:29:in `<main>'

It is easy to miss the breaking change message, as it is in the middle and not the last error on the screen. (Note that the GitHub markdown code block doesn't word wrap, the breaking change message is on the first line). This PR changes the message to look like this:

AFTER

/Users/peterxjang/stripe/sample-integrations/temp-ruby-sdk/stripe-ruby/lib/stripe/stripe_object.rb:450:in `rescue in method_missing':  (NoMethodError)

-----------------
 BREAKING CHANGE 
-----------------
The 'payment_intent' attribute is no longer available on Invoice objects.

See the docs for more details:
https://docs.stripe.com/changelog/basil/2025-03-31/add-support-for-multiple-partial-payments-on-invoices#why-is-this-a-breaking-change
-----------------
 BREAKING CHANGE 
-----------------


          raise NoMethodError,
          ^^^^^
        from /Users/peterxjang/stripe/sample-integrations/temp-ruby-sdk/stripe-ruby/lib/stripe/stripe_object.rb:444:in `method_missing'
        from test.rb:16:in `<main>'
/Users/peterxjang/stripe/sample-integrations/temp-ruby-sdk/stripe-ruby/lib/stripe/stripe_object.rb:445:in `method_missing': undefined method `payment_intent' for #<Stripe::Invoice:0x00000001241b62d0> (NoMethodError)
Did you mean?  payment_settings
        from test.rb:16:in `<main>'

This makes the message much easier to notice, which ideally results in an increase in developers able to self serve their issue.

@peterxjang-stripe peterxjang-stripe requested a review from a team as a code owner December 4, 2025 20:03
@peterxjang-stripe peterxjang-stripe requested review from xavdid-stripe and removed request for a team December 4, 2025 20:03
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.

1 participant