91³Ô¹ÏÍø

Watch CBS News

Yankees top Giants 7-0 in MLB's Opening Night as robot umpire debuts

Aaron Judge went hitless on opening day for the first time and struck out four times for the first time since September 2024, but the New York Yankees still produced plenty of offense and beat San Francisco 7-0 Wednesday night in the debut of Giants manager Tony Vitello as the major league season began.

José Caballero drove in the go-ahead run with an RBI single in a five-run second and also lost the first challenge taken to Major League Baseball's so-called robot umpire, unsuccessfully appealing a strike by Logan Webb in the fourth.

Max Fried (1-0) allowed two hits in 6 1/3 innings to became just the fifth Yankees pitcher since 1969 with at least 6 1/3 shutout innings on opening day, joining Catfish Hunter (1977), Ron Guidry (1980), Rick Rhoden (1988) and David Cone (1996). New York won an opener with a shutout on the road for the first time since 1967.

Webb (0-1) started the fourth inning with a 90.7 mph sinker on the upper, inner corner that was called a strike by Bill Miller, a major league umpire since 1997. Caballero tapped his helmet, and the 12 Hawk-Eye cameras of the Automated Ball-Strike System upheld Miller's decision in a graphic shown on the Oracle Park scoreboard.

Caballero singled in the second and Ryan McMahon followed with a two-run single before Austin Wells' single prompted a mound visit for Webb. Trent Grisham hit a two-run triple and was checked by medical staff after a hard slide into third.

Judge was booed before the game and during each at-bat as he began his 11th big league season. The California native had been pursued by the Giants during free agency in 2022 but he ultimately chose the Yankees' $360 million, nine-year contract offer.

Webb, a 15-game winner last season making his fifth start on opening day, was tagged for six earned runs — seven in all — and nine hits over five innings.

The 47-year-old Vitello made the big jump from coaching the University of Tennessee.

The teams resum3 the series Friday afternoon, with RHP Cam Schlittler starting for New York opposite lefty Robbie Ray.

___

AP MLB: https://apnews.com/mlb

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=50747257b890e014813016b79ece0fb2'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });