Rockets offseason outlook: Will Houston make any moves this summer?

The Houston Rockets entered last offseason with a star player in their sights, and decided to pull the trigger on a Kevin Durant deal with the Phoenix Suns. 

Durant, aging but still spectacular, immediately proved his worth. But the Rockets had to overcome the loss of Fred VanVleet to a torn ACL. In fact, the loss of VanVleet moved almost everyone up a notch on the offensive totem pole, a tough ask for a roster that was — and remains — both young and inexperienced. 

While second-year man Reed Sheppard found his footing, at least somewhat, he wasn’t close enough in his development to fill VanVleet’s shoes. Amen Thompson, Jabari Smith Jr., Tari Eason, and Alperen Şengün all had to carry enormous loads on both sides of the floor, and the results were predictably inconsistent. Ultimately, they fell short in the playoffs, losing to the Los Angeles Lakers in the first round in six games (with Durant missing five of them due to knee and ankle injuries).

As the Rockets enter another offseason sooner than expected, they have some decisions to make, especially in regards to fourth-year forward Eason. 

Record: 52-30, fifth in Western Conference. Lost to the Los Angeles Lakers in the first round in six games.

Are changes ahead for Kevin Durant and the Rockets? (Photo by Ronald Martinez/Getty Images)
Ronald Martinez via Getty Images

The Rockets rolled off eight straight wins down the stretch of the regular season. While the competition wasn’t tremendous, the team found itself in a rhythm that suggested some level of playoff success. 

Kevin Durant 

Alperen Şengün

Jabari Smith Jr.

Dorian Finney-Smith

Steven Adams

Amen Thompson 

Reed Sheppard 

Clint Capela

Tari Eason (RFA) 

Fred VanVleet (player option) 

$159,925541

Nos. 39 and 53

Draft focus: These are late picks in a draft that’s grown significantly less deep, with prospects returning to college due to NIL money. At this stage, it’s all about upside. If the players with the most upside, however, are guards, all the better. 

Presumably, VanVleet will trigger his player option. If the Rockets also retain Eason, it’ll be at a higher salary point than his current compensation level. That would turn the Rockets into one of the more expensive teams in the league, increasing the likelihood of very little financial flexibility moving forward. In other words, if they’re over the second apron, the tax midlevel exception wouldn’t be available to them. So they should be motivated to stay under. 

The Rockets need to slightly reshuffle the deck if they wish to compete for a title, which they do. Otherwise, they wouldn’t have gone out of their way to acquire Durant. Does this mean pivoting away from some of the young players? It can’t be ruled out. 

Fantasy Baseball Drop Candidates: Players rostered in too many leagues despite minimal production

Holding onto unproductive players ruins fantasy seasons much more often than many managers realize. The reasons are two-fold — managers get little production from a precious lineup spot while also missing out on exciting waiver-wire options because they refuse to clear the necessary roster space.

The cut line varies wildly from one league to the next, as a player who may have significant value in a 12-team league could be a fringe player in 8-team formats. Here are some notable players who should see their roster rate come down in the coming days. Please note that injured players were not included, as their viability to most managers will depend on their volume of injuries.

Roman Anthony, OF, Red Sox (94%): Anthony hasn’t made much of a fantasy impact (9 HR, 37 RBI, 6 SB) in 101 major league games. The 21-year-old has a bright future, but right now his best ability is scoring runs after collecting walks. Anthony left Monday’s game with a wrist injury, but even if that ailment turns out to be minor, managers in shallow leagues can chase someone with more category juice.

Rafael Devers, 1B, Giants (93%): Sure, Devers didn’t like playing for the Red Sox, but at least he hit well in their uniform. Since joining the Giants last June, the slugger has hit .218 with a .572 OPS. He has been a mess at the plate this season, recording a diminished 6.3% walk rate. In 10-team formats, managers can at least consider their options.

Tyler Soderstrom, 1B/OF, Athletics (93%): Since May 5 of last season, Soderstrom has hit .263 with 20 home runs. Those are acceptable numbers, but they aren’t good enough to warrant a roster rate over 90% at a deep offensive position. A 10% drop is in order.

Spencer Strider, SP, Braves, 90%: Admittedly, the Braves didn’t roll out the red carpet for Strider when they scheduled his return from the IL to take place at Coors Field. But regardless of the location of that start (3.1 IP, 3 ER), it was his velocity that most of us were watching. And unfortunately, it was down. Strider struggled last season and during spring training. There are more exciting options with lower roster rates.

Tanner Bibee, SP, Guardians, 81%: At this point, I’m not sure what Bibee does well. His strikeout rate is mediocre (20.9%), he gives up his share of homers (1.4 HR/9 rate) and this year he walks more batters than most pitchers (9.3%). The right-hander is an innings eater who is a streamer in 12-team leagues.

Michael Busch, 1B, Cubs (78%): The degree to which Busch’s quality of contact stats have declined is astonishing. Normally a powerful slugger, the first baseman is logging the type of average exit velocity (86.4 mph) that we normally see from a slap hitter. In shallow leagues, there is no reason to wait around for him to heat up.

Jeff Hoffman, RP, Blue Jays, 69%: I am firmly of the opinion that Hoffman will not regain the closer’s role in Toronto at any point soon. The right-hander’s inconsistency is much less of a problem when he pitches in earlier innings, as manager John Schneider can pull him during his poor outings before he gives the game away. Louis Varland has looked good in the ninth inning, and the Blue Jays need every win they can get. If it ain’t broke …

Aaron Nola, SP, Phillies (66%): Awful ratios this year (5.06 ERA, 1.45 WHIP) after awful ratios last year (6.01 ERA, 1.35 WHIP). Even if the 32-year-old improves, it may not happen to a degree that makes him a mixed-league asset.

Ryan Walker, RP, Giants (60%): San Francisco’s ninth-inning picture is clear as mud, and Walker hasn’t pitched well (4.64 ERA, 1.54 WHIP). There are better closer speculations with a lower roster rate.

Ernie Clement, 1B/2B/3B/SS, Blue Jays (59%): I like Clement as a player, but as a fantasy asset he offers little category juice. Early in the season, managers should aim higher than someone who will have single-digit totals in homers and steals.

Zac Gallen, SP, Diamondbacks (58%): Similar to Nola, with a bad start to 2026 (4.45 ERA, 1.52 WHIP) after a rough 2025 season (4.83 ERA, 1.26 WHIP). For the second straight year, his strikeout rate is in decline, which is robbing the right-hander of any upside.

Agustín Ramírez, C, Marlins (57%): Ramírez has produced a .645 OPS since the 2025 All-Star break and was sent to the minors on Monday. Sure, he steals more bases than other catchers, but that may not make up for mediocre plate skills. He isn’t worth waiting for.

Jack Flaherty, SP, Tigers (57%): His control skills have been abysmal this year (7.7 BB/9 rate). Until that changes, I would rather give other starters a chance on my roster.

Yainer Diaz, C, Astros (55%): Diaz rarely draws a walk and has unimpressive power skills, which makes him a mediocre option even when things are going well. So far this year, he has not been at his best (.621 OPS), and there are some exciting catchers on waivers, such as Dillon Dingler, Carter Jensen and Moisés Ballesteros.

Andrew Abbott, SP, Reds (55%): His strikeout and walk rates have trended sharply in the wrong direction, which is bad news for someone who had outperformed his ERA estimators in 2024 and 2025. There are many pitchers on waivers who are showing better skills.

Jac Caglianone, 1B/OF, Royals (54%): We have reached the point where fantasy managers should ignore Caglianone’s past prospect status and allow him to spend time on the waiver wire. The slugger isn’t slugging, having gone deep just four times this year and a total of 11 times in 93 career MLB games. And the career .190 hitter has needed a .355 BABIP to post a mediocre .257 average this season.

Marcus Semien, 2B, Mets (50%): Semien has had an excellent career, but at this point, each season seems more disappointing than the last. His time as anything more than an occasional streamer in mixed leagues seems to be over.

Ryan Pepiot, SP, Rays (49%): Without much fanfare, the Rays recently ruled Pepiot out the season. He can be dropped everywhere.

Ryne Nelson, SP/RP, Diamondbacks (47%): Nelson bounced back with a decent start last time out, but he had allowed 14 earned runs over 5.1 innings in his previous two outings. He has low upside, which means that he can stay on waivers until he gets back on track.

White Sox rookie Munetaka Murakami finally hit something other than a home run after record-setting start

Chicago White Sox rookie Munetaka Murakami came over to MLB this offseason with muted expectations. Murakami displayed prodigious power and plate discipline in Nippon Professional Baseball, but worries about his contact skills severely depressed his contract, leading to him signing with the White Sox … as opposed to a team like the Los Angeles Dodgers.

But through 35 games, it looks as though 29 MLB teams made a huge mistake. Murakami clearly made some adjustments, and — entering Tuesday — is tied for the MLB lead with 14 home runs and tied for the American League lead with 28 RBI.

Those 14 home runs are even more notable than they appear. Entering Monday’s game against the Los Angeles Angels, every single one of Murakami’s extra-base hits were home runs.

He added to that streak in the fourth inning, smacking a high fastball from Angels starter Jose Soriano out to deep center for another home run.

That hit gave Murakami 14 extra-base hits on the season, all of which were home runs. That’s the longest streak to start a player’s career since at least 1900, per MLB researcher Sarah Langs.

That streak, however, ended in the sixth inning, as Murakami doubled off reliever Mitch Farris. It was the first extra-base hit of Murakami’s career that wasn’t a home run.

Just to highlight the absurdity of his numbers, here’s how Murakami’s hit distribution looks over his first 35 MLB games.

• Total hits: 30
• Singles: 15
• Doubles: 1
• Home runs: 14

To go along with those numbers, Murakami has walked 28 times. His excellent plate discipline has given the rookie a .240/.377/.584 slash line so far, making him a younger version of Kyle Schwarber.

That was thought to be the best case scenario for Murakami when he hit the free-agent market. Despite the excellent power and batting eye he displayed in Japan, there were significant concerns about Murakami’s ability to make enough contact — and hit hard fastballs — once he came over to MLB. Those concerns very likely led to Murakami signing a much smaller contract — two years and $34 million — than expected.

While Murakami’s contact rate and strikeout rate are high, hitting high velocity hasn’t been an issue. With his home run off Soriano on Monday, Murakami became the only player in MLB this season to homer off multiple pitches over 98.1 mph, per Sarah Langs. Overall, he’s hitting .270 with a .714 slugging percentage against fastballs.

Thanks to Murakami’s contributions, the White Sox are performing much better than expected to open the season. Following Monday’s 6-0 win, the White Sox are 17-18 on the season, and sit just a half game back of the AL Central division lead.

Whether the White Sox can keep up that momentum likely depends on how well Murakami can adjust once pitchers have a better scouting report on him. While a slump might be inevitable given the nature of baseball, Murakami has already shown the ability to make big adjustments, offering some hope that his hot start is an accurate representation of the player he’ll be moving forward.

My Three Favorite Garmin Features to Use on Race Day

We may earn a commission from links on this page.

This past weekend I ran a 10K while wearing both the Garmin Forerunner 970 and the Forerunner 165 Music, and while I’ll be doing a full comparison soon, the experience made one thing immediately clear: Sometimes it’s worth it to have a premium running watch. While both watches have excellent running features, the 970 has a few that the 165 lacks—and after putting them to use on race day, I can say that two of them in particular made a real difference.

Master your “race pace” with Garmin’s PacePro feature

I’d never tested Garmin’s PacePro in real race-day conditions before this weekend. The selling point of this feature is that it analyzes the elevation profile of your course and generates “dynamic pace guidance” based on both the terrain and your personal preferences. Before the race, you set a goal time or pace in Garmin Connect, then tell the watch how you want to handle hills—your options are to push harder on the uphills, use the downhills to recover, or aim for a negative split in the second half. On race day, a data field on your watch shows your target pace for the current split and how you’re tracking against it in real time.

I love PacePro because it takes the mental math out of racing. Instead of constantly doing pace calculations in your head, you can glance at your wrist and instantly know whether you’re ahead, behind, or right on target. It’s like running alongside a coach who already knows the course.

To set up PacePro, head to Garmin Connect > Training & Planning > PacePro, select or create your course, enter your goal time, and sync it to your watch before race day. The Forerunner 165 Music also supports PacePro, so this one isn’t exclusive to the 970—but it’s still an undersung feature, and worth calling out.

Stay accurate with a suggested finish line reminder

This feature, which is on the 970 but not the 165 Music, is beloved by many Garmin runners—and for good reason: When you cross the finish line, you’re more focused on grabbing a banana than hitting the “stop” button on your watch. When, 20 minutes later, you realize your watch is still recording, you’ve screwed your stats. Congratulations, your 10K now says 10.8 miles, and your pace is completely borked.

If you have a course loaded on your compatible Garmin watch, the watch can detect when you’ve crossed the finish line and prompt you to trim your data to that point, even if you forgot to hit stop. It’s one of those features that seems small until the moment you need it, and then it feels like a lifesaver for your post-race data.

Luckily, this feature works automatically once a course is active. To make sure it works, you’ll need to go to Garmin Connect app, select “Races & Events,” and double-check that your race is loaded onto your watch and ready to go before race day.

Ease your mind with “Auto Lap by Timing Gates”


Credit: Meredith Dietz

This is the feature I’m most excited to talk about, and it’s likewise exclusive to the Forerunner 970 (the 165 doesn’t have it). Here’s the problem it solves: In any big city race, you end up weaving through crowds, cutting tangents imperfectly, and generally accumulating a little extra distance that GPS dutifully records. By mile three or four, your watch’s splits probably won’t line up perfectly with the mile markers on the course. You might feel like you’re running a 9:00 pace, but the marker says something different, and now you’re doing mental gymnastics mid-race to figure out what’s real.

“Auto Lap by Timing Gates” solves this by triggering laps based on the actual course mile or kilometer markers rather than GPS-measured distance. So when you cross mile one on the course, your watch logs a lap, regardless of how much GPS drift has accumulated. Your splits reflect the race as it’s actually measured, not the slightly off version your GPS recorded.

To enable this feature, you’ll need to go to the Garmin Connect app and find your specific race under the “Races & Events” menu. You can either select an existing race by searching for the name or location, or you can create your own event. Toggle on the “Timing Gate” option, then specify whether you want to use miles or kilometers. On race day, you’ll start the official race as an activity on your watch, and your watch will automatically trigger laps as you pass the predefined official course marker, in addition to showing the actual distance run. This past race wasn’t too crowded, so I’m excited to put this feature to the test during a popular Brooklyn half-marathon next weekend.

Anthony Edwards will play in Timberwolves-Spurs Game 1

Anthony Edwards will play in Game 1 Monday night between the Minnesota Timberwolves and San Antonio Spurs.

Head coach Chris Finch confirmed in his pregame news conference that Edwards is in the lineup.

“He’s in,” Finch told reporters.

The news confirmed an earlier report from ESPN’s Shams Charania that Edwards would play barring a pregame setback.

Finch told reporters that Edwards would be on a minutes restriction but didn’t offer further details. The Timberwolves later announced their starting lineup with Terrence Shannon Jr. in place of Edwards, meaning that Edwards will come off the bench.

Edwards had been sidelined with a bone bruise in his left knee that he hyperextended in Game 4 against the Denver Nuggets on April 25. The injury was initially expected to sideline him through at least the start of the second-round series against the Spurs.

But Edwards received medical clearance to play nine days after sustaining the injury. And he got final clearance after going through on-court drills Monday afternoon.

On Sunday afternoon, the Timberwolves upgraded Edwards’ injury status for Monday’s opening game against the Spurs to questionable, a surprise announcement on the heels of a report from Charania that Edwards was targeting a return in Game 3 or Game 4 of the series.

Charania previously reported on “NBA Tip-Off” Sunday that Edwards wasn’t expected to play in Monday’s opener or Game 2, which is Wednesday. Charania reported Edwards was “hopeful that he could push to be back in the lineup potentially for Game 3 or Game 4 at the earliest.” Game 3 is scheduled for Friday in Minnesota. Game 4 will take place on Sunday.

Charania also noted in that report that “Minnesota is going to be conservative” in bringing Edwards back, in part due to inflammation in his right knee that sidelined him for the stretch run of the regular season. But that the equation changed swiftly ahead of Monday’s Game 1 tip.

The bone bruise sidelined Edwards for Games 5 and 6 as the Timberwolves closed out their first-round series against the Nuggets, but he avoided more serious ligament damage. And now, with a spot in the Western Conference finals at stake, Edwards is on track to play in Game 1.

Per The Athletic’s Jon Krawczynski, Edwards was not on the Minnesota sideline for Game 6 against Denver because he was working on his rehab and receiving treatment in hopes of playing against the Spurs if the Timberwolves advanced. Per the report, his knee responded well enough over the weekend to make playing in Game 1 a possibility.

Edwards is key to Minnesota’s hopes of competing against a Spurs team featuring MVP finalist Victor Wembanyama that finished the regular season with the NBA’s second-best record.

Edwards made his fourth straight All-Star team this season and averaged a career-high 28.8 points, alongside 5 rebounds, 3.7 assists and 1.4 steals per game. He also posted career highs while shooting 48.9% from the field and 39.9% on 8.4 3-point attempts per game.

The Timberwolves will be without Ayo Dosunmu Monday night. Minnesota downgraded him to out Monday afternoon with a calf injury that sidelined him for Game 6 against Denver.

Dosunmu was key in Edwards’ absence against the Nuggets. He scored a career-high 43 points to lead Minnesota to a Game 4 victory after Edwards left the game with his injury. He started in Game 5 in Edwards’ place and scored 18 points.

NBA Finals 2026: schedule, matchups, playoff bracket

The 2026 NBA Finals are quickly approaching as the playoffs enter May. The NBA’s defending champions, the Oklahoma City Thunder, again look like contenders. Can they advance out a rugged Western Conference playoff bracket? Who will represent the East?

While we don’t know just yet who will be playing in the NBA Finals, we can at least you when they’ll be played.

  • Game 1: Wednesday, June 3 | 8:30 p.m. ET (ABC) 

  • Game 2: Friday, June 5 | 8:30 p.m. ET (ABC) 

  • Game 3: Monday, June 8 | 8:30 p.m. ET (ABC) 

  • Game 4: Wednesday, June 10 | 8:30 p.m. ET (ABC) 

  • *Game 5: Saturday, June 13 | 8:30 p.m. ET (ABC) 

  • *Game 6: Tuesday, June 16 | 8:30 p.m. ET (ABC) 

  • *Game 7: Friday, June 19 | 8:30 p.m. ET (ABC) 

    * if necessary

Schedule will be released at the conclusion of the second round.

Game 1: Cleveland at Detroit (Tuesday May 5, 7 ET, Peacock/NBCSN)
Game 2: Cleveland at Detroit (Thursday May 7, 7 ET, Prime Video)
Game 3: Detroit at Cleveland (Saturday May 9, 3 ET, NBC/Peacock)
Game 4: Detroit at Cleveland (Monday May 11, 8 ET, NBC/Peacock)
Game 5: Cleveland at Detroit (Wednesday May 13)*
Game 6: Detroit at Cleveland (Friday May 15)*
Game 7: Cleveland at Detroit (Sunday May 17)*

Game 1: Philadelphia at New York (Monday May 4, 8 ET, NBC/Peacock)
Game 2: Philadelphia at New York (Wednesday May 6, 7 ET, ESPN)
Game 3: New York at Philadelphia (Friday May 8, 7 ET, Prime Video)
Game 4: New York at Philadelphia (Sunday May 10, 3:30 ET, ABC)
Game 5: Philadelphia at New York (Tuesday May 12)*
Game 6: New York at Philadelphia (Thursday May 14)*
Game 7: Philadelphia at New York (Sunday May 17)*

Game 1: Los Angeles at Oklahoma City (Tuesday May 5, 8:30 ET, NBC/Peacock)
Game 2: Los Angeles at Oklahoma City (Thursday May 7, 9:30 ET, Prime Video)
Game 3: Oklahoma City at Los Angeles (Saturday May 9, 8:30 ET, ABC)
Game 4: Oklahoma City at Los Angeles (Monday May 11, 10:30 ET, Prime Video)
Game 5: Los Angeles at Oklahoma City (Wednesday May 13)*
Game 6: Oklahoma City at Los Angeles (Saturday May 16)*
Game 7: Los Angeles at Oklahoma City (Monday May 18)*

Game 1: Minnesota at San Antonio (Monday May 4, 9:30 ET, Peacock/NBCSN)
Game 2: Minnesota at San Antonio (Wednesday May 6, 9:30 ET, ESPN)
Game 3: San Antonio at Minnesota (Friday May 8, 9:30 ET, Prime Video)
Game 4: San Antonio at Minnesota (Sunday May 10, 7:30 ET, NBC/Peacock)
Game 5: Minnesota at San Antonio (Tuesday May 12)*
Game 6: San Antonio at Minnesota (Friday May 15)*
Game 7: Minnesota at San Antonio (Sunday May 17)*

*if necessary

Pistons won series 4-3

Game 1: Magic 112, Pistons 101
Game 2: Pistons 98, Magic 83
Game 3: Magic 113, Pistons 105
Game 4: Magic 94, Pistons 88
Game 5: Pistons 116, Magic 109
Game 6: Pistons 93, Magic 79
Game 7: Pistons 116, Magic 94

76ers won series 4-3

Game 1: Celtics 123, 76ers 91
Game 2: 76ers 111, Celtics 97
Game 3: Celtics 108, 76ers 100
Game 4: Celtics 128, 76ers 96
Game 5: 76ers 113, Celtics 97
Game 6: 76ers 106, Celtics 93
Game 7: 76ers 109, Celtics 100

Knicks won series 4-2

Game 1: Knicks 113, Hawks 102
Game 2: Hawks 107, Knicks 106
Game 3: Hawks 109, Knicks 108
Game 4: Knicks 114, Hawks 98
Game 5: Knicks 126, Hawks 97
Game 6: Knicks 140, Hawks 89

Cavaliers won series 4-3

Game 1: Cavaliers 126, Raptors 113
Game 2: Cavaliers 115, Raptors 105
Game 3: Raptors 126, Cavaliers 104
Game 4: Raptors 93, Cavaliers 89
Game 5: Cavaliers 125, Raptors 120
Game 6: Raptors 112, Cavaliers 110 (OT)
Game 7: Cavaliers 114, Raptors 102

Thunder won series 4-0

Game 1: Thunder 119, Suns 84
Game 2: Thunder 120, Suns 107
Game 3: Thunder 121, Suns 109
Game 4: Thunder 131, Suns 122

Spurs won series 4-1

Game 1: Spurs 111, Trail Blazers 98
Game 2: Trail Blazers 106, Spurs 103
Game 3: Spurs 120, Trail Blazers 108
Game 4: Spurs 114, Trail Blazers 93
Game 5: Spurs 114, Trail Blazers 95

Timberwolves won series 4-2

Game 1: Nuggets 116, Timberwolves 105
Game 2: Timberwolves 119, Nuggets 114
Game 3: Timberwolves 113, Nuggets 96
Game 4: Timberwolves 112, Nuggets 96
Game 5: Nuggets 125, Timberwolves 113
Game 6: Timberwolves 110, Nuggets 98

Lakers won series 4-2

Game 1: Lakers 107, Rockets 98
Game 2: Lakers 101, Rockets 94
Game 3: Lakers 112, Rockets 108 (OT)
Game 4: Rockets 116, Lakers 96
Game 5: Rockets 99, Lakers 93
Game 6: Lakers 98, Rockets 78