From 2cd1b7390abc418daab8132ec2aad39ca0f33f54 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 09:50:02 +0000 Subject: [PATCH 01/16] Changes generated by 0447966dbc7deb4a368eb115ca363fe1cfcfbd16 This commit was automatically created from gocardless/client-library-templates@0447966dbc7deb4a368eb115ca363fe1cfcfbd16 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/29819672579 --- lib/gocardless_pro/resources/institution.rb | 2 ++ spec/resources/institution_spec.rb | 7 +++++++ spec/services/institutions_service_spec.rb | 11 +++++++++++ 3 files changed, 20 insertions(+) diff --git a/lib/gocardless_pro/resources/institution.rb b/lib/gocardless_pro/resources/institution.rb index 3d89ad32..4fab5671 100644 --- a/lib/gocardless_pro/resources/institution.rb +++ b/lib/gocardless_pro/resources/institution.rb @@ -24,6 +24,7 @@ class Institution attr_reader :limits attr_reader :logo_url attr_reader :name + attr_reader :roles attr_reader :status # Initialize a institution resource instance @@ -38,6 +39,7 @@ def initialize(object, response = nil) @limits = object['limits'] @logo_url = object['logo_url'] @name = object['name'] + @roles = object['roles'] @status = object['status'] @response = response end diff --git a/spec/resources/institution_spec.rb b/spec/resources/institution_spec.rb index bb926067..29eb6218 100644 --- a/spec/resources/institution_spec.rb +++ b/spec/resources/institution_spec.rb @@ -25,6 +25,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -55,6 +56,8 @@ expect(get_list_response.records.first.name).to eq('name-input') + expect(get_list_response.records.first.roles).to eq('roles-input') + expect(get_list_response.records.first.status).to eq('status-input') end @@ -80,6 +83,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -103,6 +107,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -140,6 +145,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -190,6 +196,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }, }.to_json, diff --git a/spec/services/institutions_service_spec.rb b/spec/services/institutions_service_spec.rb index a2ce6840..191a682e 100644 --- a/spec/services/institutions_service_spec.rb +++ b/spec/services/institutions_service_spec.rb @@ -24,6 +24,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -59,6 +60,8 @@ expect(get_list_response.records.first.name).to eq('name-input') + expect(get_list_response.records.first.roles).to eq('roles-input') + expect(get_list_response.records.first.status).to eq('status-input') end @@ -107,6 +110,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -130,6 +134,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -162,6 +167,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -185,6 +191,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -213,6 +220,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -239,6 +247,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -276,6 +285,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }], meta: { @@ -337,6 +347,7 @@ 'limits' => 'limits-input', 'logo_url' => 'logo_url-input', 'name' => 'name-input', + 'roles' => 'roles-input', 'status' => 'status-input', }, }.to_json, From ac362190146115c0d425595e86a20809b04398c6 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Tue, 21 Jul 2026 10:27:49 +0000 Subject: [PATCH 02/16] Changes generated by 9d9ff143689ee009c9124b148c0c3d597e5060c2 This commit was automatically created from gocardless/client-library-templates@9d9ff143689ee009c9124b148c0c3d597e5060c2 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/29822142078 --- spec/code_samples/customer_notifications_code_samples_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/code_samples/customer_notifications_code_samples_spec.rb b/spec/code_samples/customer_notifications_code_samples_spec.rb index 4a8bf2d0..f72753b2 100644 --- a/spec/code_samples/customer_notifications_code_samples_spec.rb +++ b/spec/code_samples/customer_notifications_code_samples_spec.rb @@ -29,7 +29,7 @@ it 'executes without error' do @client = client - @client.customer_notifications.handle('PCN123') + @client.customer_notifications.handle('EV1D18JEXAMPLE') end end end From 6353aaf49ff104da3491a424a42ef300d3b78b2b Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 11:52:37 +0000 Subject: [PATCH 03/16] Changes generated by cab4c6d4f4714865da64e55cc2cfce31ce27171a This commit was automatically created from gocardless/client-library-templates@cab4c6d4f4714865da64e55cc2cfce31ce27171a by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30004608005 --- lib/gocardless_pro/resources/outbound_payment.rb | 2 +- lib/gocardless_pro/resources/payer_authorisation.rb | 10 +++++----- lib/gocardless_pro/resources/redirect_flow.rb | 4 ++-- .../services/billing_requests_service.rb | 4 ++-- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/lib/gocardless_pro/resources/outbound_payment.rb b/lib/gocardless_pro/resources/outbound_payment.rb index fe95aa68..2558c946 100644 --- a/lib/gocardless_pro/resources/outbound_payment.rb +++ b/lib/gocardless_pro/resources/outbound_payment.rb @@ -18,7 +18,7 @@ module Resources # the status of the outbound payment changes # (https://developer.gocardless.com/api-reference/#event-types-outbound-payment). # - # ####Rate limiting + # Rate limiting # # Two rate limits apply to the Outbound Payments APIs: # diff --git a/lib/gocardless_pro/resources/payer_authorisation.rb b/lib/gocardless_pro/resources/payer_authorisation.rb index e96ccd68..4e4a9d0a 100644 --- a/lib/gocardless_pro/resources/payer_authorisation.rb +++ b/lib/gocardless_pro/resources/payer_authorisation.rb @@ -51,14 +51,14 @@ module Resources # https://api.gocardless.com/events?payer_authorisation={id}&action=completed # # - # Note that the `create` and `update` endpoints behave differently than - # other existing `create` and `update` endpoints. The Payer Authorisation is + # Note that the create and update endpoints behave differently than + # other existing create and update endpoints. The Payer Authorisation is # still saved if incomplete data is provided. - # We return the list of incomplete data in the `incomplete_fields` along - # with the resources in the body of the response. + # We return the list of incomplete data in the incomplete_fields along with + # the resources in the body of the response. # The bank account details(account_number, bank_code & branch_code) must be # sent together rather than splitting across different request for both - # `create` and `update` endpoints. + # create and update endpoints. # # # The API is designed to be flexible and allows you to collect information diff --git a/lib/gocardless_pro/resources/redirect_flow.rb b/lib/gocardless_pro/resources/redirect_flow.rb index b0068106..f1de0cde 100644 --- a/lib/gocardless_pro/resources/redirect_flow.rb +++ b/lib/gocardless_pro/resources/redirect_flow.rb @@ -13,8 +13,8 @@ module Resources # Deprecated: Redirect Flows are legacy APIs and cannot be used by new # integrators. # The Billing Request flow - # (https://developer.gocardless.com/api-reference/#billing-requests) API - # should be used for your payment flows. + # (https://developer.gocardless.com/api-reference/#billing-requests-billing-requests) + # API should be used for your payment flows. # # Redirect flows enable you to use GoCardless' hosted payment pages # (https://pay-sandbox.gocardless.com/AL000000AKFPFF) to set up mandates diff --git a/lib/gocardless_pro/services/billing_requests_service.rb b/lib/gocardless_pro/services/billing_requests_service.rb index d68eab79..d33e567f 100644 --- a/lib/gocardless_pro/services/billing_requests_service.rb +++ b/lib/gocardless_pro/services/billing_requests_service.rb @@ -10,8 +10,8 @@ module GoCardlessPro module Services # Service for making requests to the BillingRequest endpoints class BillingRequestsService < BaseService - # Important: All properties associated with `subscription_request` and - # `instalment_schedule_request` are only supported for ACH and PAD schemes. + # Important: All properties associated with subscription_request and + # instalment_schedule_request are only supported for ACH and PAD schemes. # Example URL: /billing_requests # @param options [Hash] parameters as a hash, under a params key. def create(options = {}) From 81355cb2ffdd1a1b2bee2822f77503785bbe64e5 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 16:30:53 +0000 Subject: [PATCH 04/16] Changes generated by 21e2aafcb42b73c259b569f768ba4f8a77517aba This commit was automatically created from gocardless/client-library-templates@21e2aafcb42b73c259b569f768ba4f8a77517aba by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30025229229 --- gocardless_pro.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gocardless_pro.gemspec b/gocardless_pro.gemspec index 8c875905..13ff6c85 100644 --- a/gocardless_pro.gemspec +++ b/gocardless_pro.gemspec @@ -21,7 +21,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'faraday', ['>= 2', '< 3'] spec.add_dependency 'base64' - spec.add_development_dependency 'rspec', '~> 3.13.0' + spec.add_development_dependency 'rspec', '~> 3.13.2' spec.add_development_dependency 'webmock', '~> 3.24.0' spec.add_development_dependency 'rubocop', '~> 1.85.0' spec.add_development_dependency 'yard', '~> 0.9.37' From f55381f3434ea2f35db21bfe1a9cb04486ae1dfc Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 16:45:02 +0000 Subject: [PATCH 05/16] Changes generated by 37ace3cbc00f4c37c4fe018f3d733be1d01a28f8 This commit was automatically created from gocardless/client-library-templates@37ace3cbc00f4c37c4fe018f3d733be1d01a28f8 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30026254600 --- gocardless_pro.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gocardless_pro.gemspec b/gocardless_pro.gemspec index 13ff6c85..b172599f 100644 --- a/gocardless_pro.gemspec +++ b/gocardless_pro.gemspec @@ -22,7 +22,7 @@ Gem::Specification.new do |spec| spec.add_dependency 'base64' spec.add_development_dependency 'rspec', '~> 3.13.2' - spec.add_development_dependency 'webmock', '~> 3.24.0' + spec.add_development_dependency 'webmock', '~> 3.26.2' spec.add_development_dependency 'rubocop', '~> 1.85.0' spec.add_development_dependency 'yard', '~> 0.9.37' end From e25a7b688c145d721063bf646e86f37f0d2ec76f Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 16:53:49 +0000 Subject: [PATCH 06/16] Changes generated by 717b3b1301189aad15c3bb4c0dc9001ecf2dafaf This commit was automatically created from gocardless/client-library-templates@717b3b1301189aad15c3bb4c0dc9001ecf2dafaf by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30026881763 --- gocardless_pro.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gocardless_pro.gemspec b/gocardless_pro.gemspec index b172599f..6fb9c1aa 100644 --- a/gocardless_pro.gemspec +++ b/gocardless_pro.gemspec @@ -24,5 +24,5 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rspec', '~> 3.13.2' spec.add_development_dependency 'webmock', '~> 3.26.2' spec.add_development_dependency 'rubocop', '~> 1.85.0' - spec.add_development_dependency 'yard', '~> 0.9.37' + spec.add_development_dependency 'yard', '~> 0.9.45' end From a6471e382623caceba781fdacf7c4ddfd9ee5fc3 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 23 Jul 2026 17:32:48 +0000 Subject: [PATCH 07/16] Changes generated by 03c5a92dee86a779113125877d81f061ea5399b2 This commit was automatically created from gocardless/client-library-templates@03c5a92dee86a779113125877d81f061ea5399b2 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30029700340 --- gocardless_pro.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gocardless_pro.gemspec b/gocardless_pro.gemspec index 6fb9c1aa..7474b7e9 100644 --- a/gocardless_pro.gemspec +++ b/gocardless_pro.gemspec @@ -23,6 +23,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rspec', '~> 3.13.2' spec.add_development_dependency 'webmock', '~> 3.26.2' - spec.add_development_dependency 'rubocop', '~> 1.85.0' + spec.add_development_dependency 'rubocop', '~> 1.88.2' spec.add_development_dependency 'yard', '~> 0.9.45' end From 951d198be7c05bf64dab46d5d2b1ee91ad531007 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Fri, 24 Jul 2026 12:14:20 +0000 Subject: [PATCH 08/16] Changes generated by 823ec60ec0c7bb5c3d6415b3471025c8b91fbbf9 This commit was automatically created from gocardless/client-library-templates@823ec60ec0c7bb5c3d6415b3471025c8b91fbbf9 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30092215154 --- spec/client_spec.rb | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/spec/client_spec.rb b/spec/client_spec.rb index 67d98136..f557d9e4 100644 --- a/spec/client_spec.rb +++ b/spec/client_spec.rb @@ -1,7 +1,7 @@ require 'spec_helper' describe GoCardlessPro::Client do - subject { -> { described_class.new(options) } } + subject(:client) { described_class.new(options) } let(:options) do { @@ -14,6 +14,8 @@ let(:environment) { :live } let(:token) { nil } - it { is_expected.to raise_error('No Access Token given to GoCardless Client') } + it 'raises an error' do + expect { client }.to raise_error('No Access Token given to GoCardless Client') + end end end From a38cf04cb9fbb9d2c160ecabe71c8737683b8f2e Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Thu, 30 Jul 2026 11:43:21 +0000 Subject: [PATCH 09/16] Changes generated by 618a2dfa62a5f87135b0d0bcd9b10f3af790fe85 This commit was automatically created from gocardless/client-library-templates@618a2dfa62a5f87135b0d0bcd9b10f3af790fe85 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30539514547 --- .../services/bank_account_holder_verifications_service.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/gocardless_pro/services/bank_account_holder_verifications_service.rb b/lib/gocardless_pro/services/bank_account_holder_verifications_service.rb index 7fc3ac3d..23058475 100644 --- a/lib/gocardless_pro/services/bank_account_holder_verifications_service.rb +++ b/lib/gocardless_pro/services/bank_account_holder_verifications_service.rb @@ -11,9 +11,9 @@ module Services # Service for making requests to the BankAccountHolderVerification endpoints class BankAccountHolderVerificationsService < BaseService # Verify the account holder of the bank account. A complete verification can be - # attached when creating an outbound payment. This endpoint allows partner - # merchants to create Confirmation of Payee checks on customer bank accounts - # before sending outbound payments. + # attached when creating an outbound payment. + # This endpoint allows partner merchants to create Confirmation of Payee checks + # on customer bank accounts before sending outbound payments. # Example URL: /bank_account_holder_verifications # @param options [Hash] parameters as a hash, under a params key. def create(options = {}) From d788277f8f04e83f370d249b2a9d489d984f60a9 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Mon, 3 Aug 2026 10:10:25 +0000 Subject: [PATCH 10/16] Changes generated by bef4cfda31eb49ec9a126fcc3ca077acfdd5e355 This commit was automatically created from gocardless/client-library-templates@bef4cfda31eb49ec9a126fcc3ca077acfdd5e355 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/30804284649 --- .../services/bank_details_lookups_service.rb | 14 +++++++++----- .../services/billing_requests_service.rb | 12 ++++++++---- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/lib/gocardless_pro/services/bank_details_lookups_service.rb b/lib/gocardless_pro/services/bank_details_lookups_service.rb index 4d7f2729..2d6d29cc 100644 --- a/lib/gocardless_pro/services/bank_details_lookups_service.rb +++ b/lib/gocardless_pro/services/bank_details_lookups_service.rb @@ -13,11 +13,15 @@ class BankDetailsLookupsService < BaseService # Performs a bank details lookup. As part of the lookup, a modulus check and # reachability check are performed. # - # For UK-based bank accounts, where an account holder name is provided (and an - # account number, a sort code or an iban - # are already present), we verify that the account holder name and bank account - # number match the details held by - # the relevant bank. + # For UK or Eurozone-based bank accounts, where an account holder name is + # provided + # (and an account number, a sort code or an IBAN are already present), we verify + # that + # the account holder name and bank account number match the details held by the + # relevant bank. + # If there is no match, the endpoint will return a 422 - validation error on + # account_holder_name: + # "Account holder name does not match bank account details provided". # # If your request returns an error # (https://developer.gocardless.com/api-reference/#api-usage-errors) or the diff --git a/lib/gocardless_pro/services/billing_requests_service.rb b/lib/gocardless_pro/services/billing_requests_service.rb index d33e567f..c6bf3e0e 100644 --- a/lib/gocardless_pro/services/billing_requests_service.rb +++ b/lib/gocardless_pro/services/billing_requests_service.rb @@ -112,11 +112,15 @@ def collect_customer_details(identity, options = {}) # customer is requested to adjust the account number/routing number and # succeed in this check to continue with the flow. # - # BACS scheme Payer Name Verification + # BACS and SEPA schemes Payer Name Verification # (https://hub.gocardless.com/s/article/Introduction-to-Payer-Name-Verification?language=en_GB) - # is enabled by default for UK based bank accounts, meaning we verify the - # account holder name and bank account - # number match the details held by the relevant bank. + # is enabled by default for UK and Eurozone based bank accounts, meaning we + # verify the account holder name and bank account number/IBAN match + # the details held by the relevant bank. If there is no match, the endpoint will + # return a 422 - validation error on account_holder_name: + # "Account holder name does not match bank account details provided". Testing + # instructions are here + # (https://developer.gocardless.com/developer-tools/scenario-simulators/#payer_name_verification) # Example URL: /billing_requests/:identity/actions/collect_bank_account # # @param identity # Unique identifier, beginning with "BRQ". From f6f54418683c83a095e48aa5a0b9326e19799447 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Fri, 7 Aug 2026 13:30:03 +0000 Subject: [PATCH 11/16] Changes generated by db06bc8cfaf13a7c18e14a90ff2d221b58752c9a This commit was automatically created from gocardless/client-library-templates@db06bc8cfaf13a7c18e14a90ff2d221b58752c9a by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/31182730669 --- gocardless_pro.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gocardless_pro.gemspec b/gocardless_pro.gemspec index 7474b7e9..1d6c8884 100644 --- a/gocardless_pro.gemspec +++ b/gocardless_pro.gemspec @@ -23,6 +23,6 @@ Gem::Specification.new do |spec| spec.add_development_dependency 'rspec', '~> 3.13.2' spec.add_development_dependency 'webmock', '~> 3.26.2' - spec.add_development_dependency 'rubocop', '~> 1.88.2' + spec.add_development_dependency 'rubocop', '~> 1.89.0' spec.add_development_dependency 'yard', '~> 0.9.45' end From db80d23c4716baf03b725f3e78fa2a12789ccb52 Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 09:28:40 +0000 Subject: [PATCH 12/16] Changes generated by e81b5c7c52e45163e379a646c5480589373e0d94 This commit was automatically created from gocardless/client-library-templates@e81b5c7c52e45163e379a646c5480589373e0d94 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/31374575688 --- CHANGELOG.md | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 00000000..6c69aa29 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,8 @@ + +# Changelog + +This is where the changes in each release are documented. + +## 4.4.1 + +Start of changelog tracking with Knope. See [GitHub releases](https://github.com/gocardless/gocardless-pro-ruby/releases) for the history of earlier versions. From bc32f5c3a6347f62584664f28f34a8677d0e334a Mon Sep 17 00:00:00 2001 From: "gocardless-ci-robot[bot]" <123969075+gocardless-ci-robot[bot]@users.noreply.github.com> Date: Mon, 10 Aug 2026 13:57:22 +0000 Subject: [PATCH 13/16] Changes generated by b7521727bf01a05673c8dc808021b7cfc375dfd5 This commit was automatically created from gocardless/client-library-templates@b7521727bf01a05673c8dc808021b7cfc375dfd5 by the `push-files` action. Workflow run: https://github.com/gocardless/client-library-templates/actions/runs/31395321177 --- CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6c69aa29..5bef0578 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,6 @@ # Changelog -This is where the changes in each release are documented. - ## 4.4.1 Start of changelog tracking with Knope. See [GitHub releases](https://github.com/gocardless/gocardless-pro-ruby/releases) for the history of earlier versions. From ac45ac23868f70eaaa02feb98301fdc3859ba465 Mon Sep 17 00:00:00 2001 From: jamiecobbett Date: Tue, 11 Aug 2026 16:14:01 +0100 Subject: [PATCH 14/16] Automatically merge template-changes PRs --- .../auto-merge-client-library-changes.yml | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/auto-merge-client-library-changes.yml diff --git a/.github/workflows/auto-merge-client-library-changes.yml b/.github/workflows/auto-merge-client-library-changes.yml new file mode 100644 index 00000000..004a0b84 --- /dev/null +++ b/.github/workflows/auto-merge-client-library-changes.yml @@ -0,0 +1,22 @@ +name: Auto-merge client-library changes + +on: pull_request_target + +permissions: + pull-requests: write + +jobs: + merge: + runs-on: ubuntu-latest + if: ${{ github.actor == 'gocardless-ci-robot[bot]' && github.event.pull_request.head.ref == 'template-changes' }} + steps: + - name: Approve PR + run: gh pr review --approve "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - name: Enable auto-merge + run: gh pr merge --auto --merge "$PR_URL" + env: + PR_URL: ${{ github.event.pull_request.html_url }} + GITHUB_TOKEN: ${{ secrets.GOCARDLESS_CI_ROBOT_TOKEN }} From 665270a9ec219f691d3e0e76de2cb72d64f3394c Mon Sep 17 00:00:00 2001 From: jamiecobbett Date: Tue, 11 Aug 2026 16:14:52 +0100 Subject: [PATCH 15/16] Fix all-tests-passed to match required check --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ddce198b..dc4ad513 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -31,7 +31,7 @@ jobs: - run: bundle install && bundle exec rspec all-tests-passed: - name: All tests passed + name: all-tests-passed runs-on: ubuntu-latest needs: [test] if: always() From ec7478a3c27d613dff10cb84158f5fbaed7844fa Mon Sep 17 00:00:00 2001 From: jamiecobbett Date: Tue, 11 Aug 2026 16:17:00 +0100 Subject: [PATCH 16/16] Automatically generate release notes from changelog --- .github/workflows/ci.yml | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc4ad513..c7707799 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -75,12 +75,35 @@ jobs: printf -- "---\n:rubygems_api_key: $RUBYGEM_PUBLISH_API_KEY\n" > $HOME/.gem/credentials gem build *.gemspec gem push *.gem + + + - name: Extract changelog notes for this version + id: notes + if: steps.version_check.outputs.already_published == 'false' + run: | + VERSION="${{ steps.version_check.outputs.version }}" + NOTES="" + if [ -f CHANGELOG.md ]; then + NOTES=$(awk -v ver="$VERSION" ' + $0 ~ "^## " ver {p=1; next} + p && /^## / {exit} + p {print} + ' CHANGELOG.md) + fi + { + echo "notes<> "$GITHUB_OUTPUT" + - name: Create GitHub Release if: steps.version_check.outputs.already_published == 'false' env: GH_TOKEN: ${{ github.token }} run: | - VERSION=${{ steps.version_check.outputs.version }} - gh release create "v$VERSION" \ - --title "v$VERSION" \ - --generate-notes + NOTES="${{ steps.notes.outputs.notes }}" + if [ -n "$(echo "$NOTES" | tr -d '[:space:]')" ]; then + gh release create v${{ steps.version_check.outputs.version }} --notes "$NOTES" + else + gh release create v${{ steps.version_check.outputs.version }} --generate-notes + fi