The San Francisco 49ers open the 2017 season on Sunday following an offseason filled with huge turnover and budding optimism. The 49ers fired head coach Chip Kelly and long-time general manager Trent Baalke, and replaced them with Kyle Shanahan and John Lynch. While Lynch has control over the 90-man roster and Shanahan has control over the 53-man roster, they appear to have built a solid partnership when it comes to decision-making.

The 49ers can still make roster moves before Sunday’s game against the Carolina Panthers, but in the meantime, I thought we’d look at how the 49ers roster was put together. We’ve heard plenty about the extensive turnover this year, and we can see it in the current 53-man roster.

They have 30 players on the roster that were first added this offseason. They have 22 players who were on last year’s 53-man roster at one point or another, and then they have Raheem Mostert who was on the practice squad. We saw long-time veterans released or traded, with Ahmad Brooks and Vance McDonald among the most prominent.

I’ve broken the list up by year, starting with Joe Staley back in 2007. The team has 27 draft picks, including nine of the ten from this year’s draft (Joe Williams is on IR). There are six undrafted free agent signings, including five this year and Garrett Celek from 2012. They have 16 non-rookie free agent signings with only Kyle Nelson and Zane Beadles remaining from Trent Baalke’s many draft hauls. There are also two players acquired via waiver claim, and one via trade.

2007

OT Joe Staley: 1st round draft pick

2010

LB NaVorro Bowman: 3rd round draft pick

2011

C Daniel Kilgore: 5th round draft pick

2012

TE Garrett Celek: UDFA signing

2013

DE Tank Carradine: 2nd round draft pick

S Eric Reid: 1st round draft pick

2014

RB Carlos Hyde: 2nd round draft pick

Edge Aaron Lynch: 5th round draft pick

CB Dontae Johnson: 4th round draft pick

CB Keith Reaser: 5th round draft pick

S Jimmie Ward: 1st round draft pick

LS Kyle Nelson: Free agent signing

2015

OT Trent Brown: 7th round draft pick

DL Arik Armstead: 1st round draft pick

LB Ray-Ray Armstrong: Waiver claim

OLB Eli Harold: 3rd round draft pick

S Jaquiski Tartt: 2nd round draft pick

P Bradley Pinion: 5th round draft pick

2016

RB Raheem Mostert: Signed to practice squad

OT John Theus: 5th round draft pick

OG Zane Beadles: Free agent signing

DT DeForest Buckner: 1st round draft pick

CB Rashard Robinson: 4th round draft pick

2017

QB Brian Hoyer: Free agent signing

QB C.J. Beathard: 3rd round draft pick

RB Matt Breida: UDFA signing

FB Kyle Juszczyk: Free agent signing

WR Pierre Garçon: Free agent signing

WR Marquise Goodwin: Free agent signing

WR Aldrick Robinson: Free agent signing

WR Victor Bolden, Jr.: UDFA signing

WR Kendrick Bourne: UDFA signing

WR Trent Taylor: 5th round draft pick

TE Logan Paulsen: Free agent signing

TE George Kittle: 5th round draft pick

OT Garry Gilliam: Free agent signing

OG Brandon Fusco: Free agent signing

OG Laken Tomlinson: Trade

OL Erik Magnuson: UDFA signing

DT D.J. Jones: 6th round draft pick

DT Xavier Cooper: Waiver claim

DT Earl Mitchell: Free agent signing

DL Solomon Thomas: 1st round draft pick

Edge Elvis Dumervil: Free agent signing

Edge Pita Taumoepenu: 6th round draft pick

LB Brock Coyle: Free agent signing

LB Reuben Foster: 1st round draft pick

CB K’Waun Williams: Free agent signing

CB Ahkello Witherspoon: 3rd round draft pick

OLB Dekoda Watson: Free agent signing

DB Adrian Colbert: 7th round draft pick

S Lorenzo Jerome: UDFA signing

K Robbie Gould: Free agent signing