Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

GitHub REST API version 2026-03-10, released on March 10, 2026, removes merge_commit_sha from pull-request payloads. The request can still return HTTP 200, so integrations that read the property without checking for its presence may continue with an empty, stale, or fallback value instead of failing.

Pin the API version explicitly, audit every pull-request and webhook consumer, add missing-field contract tests, and decide what “landed commit” means for your workflow. Depending on that meaning, the replacement may be head.sha, base.sha, or a deliberate follow-up query using the pull request’s commit resources.

What changed in GitHub’s REST API

GitHub versions its REST API by date. GitHub documents version 2026-03-10 as released on March 10, 2026, and classifies removal of a response property as a breaking change. The specific change says that merge_commit_sha is removed from pull-request payloads across every endpoint that returns pull-request objects.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

GitHub says the previous REST API version remains supported for at least 24 months after a new version is released. For the March 10, 2026 release, that means the prior version is supported for at least March 10, 2028, subject to GitHub’s versioning policy. That window is migration time, not a reason to leave an integration on an implicit default.

#1 Best Overall
Elebase USB to USB C Adapter for iPhone 18 Pro Max,USBC Car Charger Adapter | 4Pack Type C Female to A Male Cable Converter for Apple Duo 17 16 15 14 Plus,iWatch Watch 12 11 10,iPad 9 8 Air,Airpods 5 4
  • Read Before You Buy — No Video Output: These adapters support charging and USB 2.0 data transfer, but cannot transmit video signals. Except for standard USB webcams (which use USB data only), they are not compatible with HDMI/DisplayPort cables, video-capable USB-C hubs, or docking stations with video output.
  • Convert USB-A Ports to USB-C: Designed to connect USB-C earphones, cables, flash drives, card readers, and other USB-C accessories to standard USB-A ports. Plug-and-play with no drivers or software required.
  • Aluminum Alloy Housing: Built with a sturdy aluminum alloy shell that aids in heat dissipation and protects against daily wear and scratches. Designed to maintain a stable and secure connection.
  • Compact & Travel-Friendly: The ultra-compact design allows the adapter to stay plugged into your device without blocking adjacent ports or adding bulk, reducing wear and tear on your original USB ports.
  • 12-Month Warranty: Backed by a 12-month manufacturer warranty for peace of mind. Designed to meet strict quality control standards for reliable everyday performance.

Endpoints in the affected surface

Surface What to review
Pull-request listing GET /repos/{owner}/{repo}/pulls
Pull-request detail GET /repos/{owner}/{repo}/pulls/{pull_number}
Events Every events endpoint that returns pull-request objects, including handlers for pull-request activity and closure
Create and update Pull-request creation and update responses, even when your request is not a read operation
Reviewers Reviewer-related endpoints whose response includes a pull-request object
Projects v2 The Projects v2 endpoints listed in GitHub’s breaking-change entry that embed pull-request objects
Webhooks Pull-request webhook payloads and generated schemas used to deserialize them

The important scope is the response object, not just one URL. A client may obtain a pull request from a list call, an update response, an event, or a project query; each path needs the same review.

Why a 200 response can still break your automation

HTTP status describes whether GitHub accepted and served the request. It does not promise that a response has the JSON shape your old code assumed. A permissive client can deserialize a missing property as null, an empty string, a language default, or an absent optional member.

// Older payload shape (illustrative)
{
  "number": 481,
  "merge_commit_sha": "abc123...",
  "head": { "sha": "def456..." },
  "base": { "sha": "789abc..." }
}

// Newer payload shape
{
  "number": 481,
  "head": { "sha": "def456..." },
  "base": { "sha": "789abc..." }
}

If code performs a direct lookup such as pullRequest.merge_commit_sha and never validates the result, the next operation may receive an empty value. A deployment step might select the wrong revision, a release bot might generate a changelog from the wrong commit, or a report might silently omit the merge identifier. Those are engineering failure modes implied by the field removal; they are not a published GitHub incident count.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Anker USB-C Hub, 5-in-1 USB Hub for Laptops, 4K HDMI Multiport Adapter | USB C Dongle with 90W Max Power Delivery, 3×5Gbps USB A Data Ports, for MacBook, Dell, and More (Charger Not Included)
  • 5-in-1 USB-C Hub: Experience comprehensive connectivity featuring a Power Delivery input, two USB-A 2.0 ports, a USB-A 3.0 port, and an HDMI port. (Note: The USB-C power delivery input port is only for connecting an external wall charger to power your laptop and cannot power peripheral devices.)
  • 90W Pass-Through Charging: Achieve optimal charging with 90W pass-through power to your laptop, supported by a total input of 100W, with the hub reserving 10W for operational efficiency. (Note: Wall charger not included.)
  • Quick Data Transfers: Accelerate your productivity with rapid data transfers using a high-speed 5Gbps USB 3.0 port and two 480Mbps USB 2.0 ports.
  • 4K HDMI Display: Enhance your visual experience with a hub capable of delivering 4K resolution at 30Hz in both mirror and extend modes. Please note that this hub is compatible with MacBook (macOS 12 and newer), Windows 10 and 11, ChromeOS, and laptops equipped with DP Alt Mode and Power Delivery. Note: This device is not compatible with Linux.
  • What You Get: Anker USB-C Hub (5-in-1, 4K HDMI), welcome guide, 18-month warranty, and our friendly customer service.

Common silent paths

  • A null-coalescing expression substitutes a previous run’s SHA.
  • A template renders an empty value but still marks the job successful.
  • A database upsert keeps an old SHA because the new write contains no value.
  • A loosely typed webhook model drops the unknown-or-missing member without an exception.
  • A retry repeats the same successful response, so transport monitoring sees no failure.

Monitoring only status codes, latency, and request errors will miss these cases. Your validation must check the fields and meanings your business logic requires.

Did GitHub publish a reason for removing the field?

The breaking-change documentation establishes that the property was removed and that the removal is breaking. It does not provide a further rationale that would let maintainers assume a particular replacement or behavior. Treat the change as a contract change, not as a temporary outage.

There is also a transition complication. GitHub’s rest-api-description issue #6344 reported that the 2026-03-10 OpenAPI files removed merge_commit_sha from pull-request webhook schemas while live webhook payloads still contained the field at the time of the report. The issue also noted that webhook documentation still marked the field as required and that consumers of pull_request:closed used it to identify the commit on the target branch where a merged pull request landed.

Rank #3
Sale
Anker USB C Hub, 7in1 Multi-Port USB Adapter, 4K@60Hz USBC to HDMI Splitter | 85W Max PD, 2 USB 3.0 & 1 USBC Data Ports, SD/TF Card Reader, for Laptops/Mac and Other Type C Devices (Charger Not Included)
  • Sleek 7-in-1 USB-C Hub: Features an HDMI port, two USB-A 3.0 ports, and a USB-C data port, each providing 5Gbps transfer speeds. It also includes a USB-C PD input port for charging up to 100W and dual SD and TF card slots, all in a compact design.
  • Flawless 4K@60Hz Video with HDMI: Delivers exceptional clarity and smoothness with its 4K@60Hz HDMI port, making it ideal for high-definition presentations and entertainment. (Note: Only the HDMI port supports video projection; the USB-C port is for data transfer only.)
  • Double Up on Efficiency: The two USB-A 3.0 ports and a USB-C port support a fast 5Gbps data rate, significantly boosting your transfer speeds and improving productivity.
  • Fast and Reliable 85W Charging: Offers high-capacity, speedy charging for laptops up to 85W, so you spend less time tethered to an outlet and more time being productive.
  • What You Get: Anker USB-C Hub (7-in-1), welcome guide, 18-month warranty, and our friendly customer service.

That report does not make the field safe to depend on. It demonstrates schema/runtime drift during a version transition: generated models can say “absent” while a live event still happens to include the member. Code must work when the member is missing, and tests should detect both shapes while the transition settles.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Audit your integration before changing behavior

Start with an inventory rather than changing one handler and hoping it covers every path.

  1. Search all source and configuration. Look for the exact key merge_commit_sha in application code, serializers, templates, workflow expressions, database mappings, dashboards, and documentation. A repository search such as rg -n "merge_commit_sha|merge commit|pull_request:closed" . catches text references; also inspect generated clients and compiled configuration that are not obvious from application code.
  2. Map each use to its semantic purpose. Record whether the consumer needs the pull-request head, the target branch tip, the resulting merge commit, or merely a stable identifier for reporting.
  3. List every input surface. Include list and detail REST calls, create/update responses, event endpoints, reviewer and Projects v2 calls, and each webhook event your service accepts.
  4. Classify the failure consequence. A missing SHA in a dashboard is different from a missing SHA used to deploy production. The latter should fail closed and alert immediately.
  5. Capture the API version currently used. Check request headers, SDK defaults, gateway configuration, and environment variables. An unpinned client can change behavior when GitHub changes its default.

Pin the version and stage the migration

GitHub’s migration guidance says to read the breaking-change section for the target version, update the integration, and test it against that version. Make the version choice visible in every REST request by sending the X-GitHub-Api-Version header.

Rank #4
Sale
UGREEN USB to USB C Adapter Combo 4-Pack, 10Gbps USB C Converter Space Gray | Data transfer & Fast charging for MacBook, iPhone 17/16/15, iPad, Samsung Galaxy, Apple Watch
  • Dual Converters, Infinite Potential:Includes 2× USB C male to USB A female adapters and 2× USB A male to USB C female adapters. Perfect for a wide range of uses—tablets with Bluetooth keyboards, expand USB ports on macbook, and more. Two different converters for all your daily needs
  • Next-Level 10Gbps & 3A Charging: No more slow 480Mbps, this usb to usb c adapter has a transfer speed of up to 10Gbps, allowing you to do more transferring in less time. This usb adapter fits both USB A and USB C charger, supporting up to 3A fast charging
  • Upgraded Exquisite Craftsmanship: With an aluminum alloy housing and metal connector, the usbc to usb adapter is extremely durable and sturdy. Rigorously tested to withstand more than 10,000 times of plugging and unplugging, ensuring long-lasting performance
  • Broad Compatible: The usb c to usb adapter widely supports all USB C/ USB A devices like laptops, tablets, cellphones, car chargers, and phone chargers. Such as compatible with MacBook Pro/Air 2023/2022, Thunderbolt 4/3 Devices,Apple MagSafe Watch 9/8/7/SE/Ultra, iPad Pro 2022/2021, Samsung Galaxy S23/S20/S10, and iPhone 17/16/15 Pro. Plug and play
  • Please Note: To reach 10Gbps speed, keep the cable under 3.3 ft. For USB A Male to USB C adapters, try flipping the USB C connector. USB C Male to USB A adapters support bidirectional 10Gbps transfer within 3.3 ft
GET /repos/acme/widget/pulls/481
Accept: application/vnd.github+json
X-GitHub-Api-Version: 2026-03-10
  1. Run a compatibility comparison. In a non-production environment, issue the same requests with the version your service currently uses and with 2026-03-10. Record field presence, nullability, and the values your downstream steps actually consume.
  2. Deploy validation before switching semantics. Add metrics for absent required fields and route those cases to an alert or a quarantine queue. Do not silently substitute a guessed SHA.
  3. Roll out by workflow. Migrate one deployment, release, or bot workflow at a time. Keep the old version available during the documented support window while the new path is observed.
  4. Remove implicit defaults. Store the chosen API version in configuration and test that requests fail the build if the header disappears.
  5. Re-test after SDK upgrades. An SDK may update its default version or regenerate models independently of your application release.

Choose a replacement by defining “landed commit”

There is no universal one-line replacement for merge_commit_sha. The pull-request API reference exposes head.sha, base.sha, and a commits_url link. Each represents a different question.

What the workflow means Candidate data What it tells you What it does not prove
“Which revision did the contributor submit?” head.sha The head commit of the pull-request branch represented by the response It is not necessarily the commit created on the target branch by merging
“What was the target branch at this response?” base.sha The base reference and SHA exposed by the pull-request object It is not automatically the post-merge tip, especially after later pushes
“Which commit contains the merged change on the target branch?” A deliberate follow-up using the pull request’s commit resources and the relevant branch or event state A workflow-specific reconstruction of the merge result It cannot be replaced safely by copying head.sha or base.sha without checking your merge strategy and timing

For a build that tests the code submitted by a pull request, head.sha may be the right input. For a branch-protection or synchronization check, the base reference may matter more. For release provenance, you may need to query commits after the close event and establish which target-branch commit contains the change. Document that semantic decision next to the code so a future maintainer does not rename a field and accidentally change its meaning.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Do not use a name-only fallback

A fallback such as “use head.sha whenever merge_commit_sha is absent” is safe only if the workflow explicitly wants the pull-request head. If the workflow publishes artifacts from the target branch, that substitution can produce a valid-looking but wrong artifact. Make the fallback conditional on a declared semantic target, and emit an alert whenever the expected source is unavailable.

Best Value
Sale
Anker USB C Hub, 5-in-1 USBC to HDMI Splitter with 4K Display | 85W Max PD, 1 Powered USB-C 5Gbps & 2 Powered USB-A 3.0 5Gbps Data Ports, for MacBook Pro, MacBook Air, Dell and More (Black)
  • 5-in-1 Connectivity: Equipped with a 4K HDMI port, a 5 Gbps USB-C data port, two 5 Gbps USB-A ports, and a USB C 100W PD-IN port. Note: The USB C 100W PD-IN port supports only charging and does not support data transfer devices such as headphones or speakers.
  • Powerful Pass-Through Charging: Supports up to 85W pass-through charging so you can power up your laptop while you use the hub. Note: Pass-through charging requires a charger (not included). Note: To achieve full power for iPad, we recommend using a 45W wall charger.
  • Transfer Files in Seconds: Move files to and from your laptop at speeds of up to 5 Gbps via the USB-C and USB-A data ports. Note: The USB C 5Gbps Data port does not support video output.
  • HD Display: Connect to the HDMI port to stream or mirror content to an external monitor in resolutions of up to 4K@30Hz. Note: The USB-C ports do not support video output.
  • What You Get: Anker 332 USB-C Hub (5-in-1), welcome guide, our worry-free 18-month warranty, and friendly customer service.

Build contract tests that fail loudly

A contract test should exercise the exact endpoints and webhook events your integration consumes. Assert required fields, types, and relationships rather than merely checking that the response is valid JSON.

def require_sha(pull_request, purpose):
    head = pull_request.get("head", {}).get("sha")
    base = pull_request.get("base", {}).get("sha")
    if purpose == "pr_head":
        if not head:
            raise ContractError("pull-request head.sha is missing")
        return head
    if purpose == "base_tip":
        if not base:
            raise ContractError("pull-request base.sha is missing")
        return base
    raise ContractError("merge-result lookup must use the workflow-specific query")
  • Run the test against the pinned 2026-03-10 version.
  • Run it against the prior version during the migration window.
  • Include fixtures with the old member present and absent so deserializers cannot hide the difference.
  • Test list, detail, mutation, event, and webhook paths separately; one passing fixture does not cover all response models.
  • Assert that a missing required value blocks deployment or release and produces an actionable alert.

For webhooks, validate the event schema at ingestion and retain the raw payload long enough to investigate a contract mismatch. Generated OpenAPI models are useful, but issue #6344 shows why they should be compared with observed runtime payloads during a breaking-change rollout.

Webhook-specific checks for merged pull requests

Many automations inspect pull_request:closed and then decide whether the pull request was merged. Separate that decision from locating a commit. The event’s action and merge status answer whether closure represented a merge; they do not guarantee that an old field remains available for identifying the resulting target-branch commit.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  1. Parse the event with a model that permits unknown members but does not make the removed member mandatory.
  2. Require the fields your handler truly needs, such as pull-request number, repository, base reference, and head SHA, and reject or quarantine events missing those requirements.
  3. If the business action needs the merge result, perform the documented follow-up lookup rather than treating an optional webhook member as authoritative.
  4. Record whether the value came from the event, a REST response, or a follow-up query so audits can distinguish sources.
  5. Alert on disagreement between generated schema expectations and live payload observations.

Symptoms, causes, and fixes

Symptom Likely cause Fix
Requests return 200 but a SHA variable is empty The response no longer contains merge_commit_sha Make absence an explicit validation error and select a semantic replacement
A deployment uses a previous run’s commit Database or template fallback preserved stale state Clear the value on each run, reject missing input, and alert before deployment
The generated webhook model rejects a payload OpenAPI schema and live payload differ during transition Regenerate against the intended version, permit the transitional shape, and test runtime samples
Replacing the field with head.sha changes release contents The workflow needed the target-branch result, not the contributor’s head Define the semantic target and perform a commit or branch follow-up query
Behavior changes without a code deployment The client used GitHub’s implicit API version Pin X-GitHub-Api-Version and include it in integration tests

A practical migration checklist

  • Identify every read and write endpoint that returns a pull-request object.
  • Search application code, workflow files, templates, schemas, and data mappings for merge_commit_sha.
  • Write down whether each consumer needs the PR head, base tip, or merge result.
  • Pin and log the REST API version, including 2026-03-10 in test cases.
  • Add hard validation for required fields and alert on absence.
  • Test webhook fixtures with and without the removed member.
  • Use head.sha, base.sha, or a follow-up commit query only after confirming the intended semantics.
  • Compare generated schemas with observed webhook payloads while the transition is active.
  • Roll out gradually, monitor downstream artifacts and reports, and remove stale fallbacks.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.