The San Francisco 49ers will likely make a roster change or two before training camp, but for the most part, the 90-man roster is just about settled. And it’s a sign of just how much things have changed since Kyle Shanahan and John Lynch took over the organization.

On Tuesday, Shanahan talked about how much change the team has seen over the past 15 months. He was asked specifically to assess what they have gotten done from a roster standpoint this offseason, but he talked about changes dating back to a year ago.

“I’ve been happy with it. I thought we had a lot of work to do when we got here. Just looking at our roster where we’re at over a year timespan, we have one guy on our offense who started before we got here in [T] Joe Staley. I want to say we have three guys left from the entire offense with [TE Garrett] Celek, Joe Staley, [G Joshua] Garnett and [WR Aaron] Burbridge. So, that’d be four guys, and that takes a lot of work. Not just with draft picks, but free agents. Not the big ones that everyone sees in the first couple days, but just the depth and everything that we’ve had to do. It’s been a lot of turnover. You don’t realize it until you get out there and start looking at the board. Defense there’s been a lot, also. Not quite as much, just because most of the draft picks were there the few years before we got here. But it’s totally different. There’s a ton of turnover with everybody and it’s just nice going through this last year that you go out the first day and everyone’s practicing the right way right away. You don’t have to sit in here and show a bunch of clips and try to teach guys the standard. It’s their standard now and they’ve owned up to that, and those guys know how to set the way and guys just follow.”

The folks at Our Lads put together depth charts for each team, and offer an archive of them dating back 11 years. For the 49ers, it’s interesting to look back at their 49ers depth chart for the closing days of the Trent Baalke/Chip Kelly era. Here are the starters and some notable reserves. I’ll also put significant injured players in parenthesis.

QB: Colin Kaepernick, Blaine Gabbert

RB: DuJuan Harris, Shaun Draughn, Mike Davis (Carlos Hyde)

WR: Jeremy Kerley, Rod Streater, Aaron Burbridge (Torrey Smith, Bruce Ellington)

TE: Garrett Celek, Je’Ron Hamm (Vance McDonald, Blake Bell)

LT: Joe Staley

LG: Zane Beadles

C: Alex Balducci (Daniel Kilgore, Marcus Martin)

RG: Josh Garnett

RT: Trent Brown

DT: DeForest Buckner, Glenn Dorsey, Chris Jones (Arik Armstead)

OLB: Ahmad Brooks, Aaron Lynch, Eli Harold, Tank Carradine

ILB: Michael Wilhoite, Gerald Hodges (NaVorro Bowman, Ray-Ray Armstrong, Nick Bellore)

CB: Tramaine Brock, Keith Reaser, Dontae Johnson, Rashard Robinson (Jimmie Ward)

SS: Antoine Bethea

FS: Jaquiski Tartt (Eric Reid)

There are 43 players listed, and 35 of them are no longer with the organization. That depth chart is from January 2017, in the weeks before John Lynch and Kyle Shanahan were hired. The 49ers were atrocious in 2016, so this is not exactly a shocking revelation, but when you put the names and numbers down, it’s kind of crazy how drastic the turnover has been. And with more additions this offseason, training camp roster cuts could shuffle even more players out the door.