SANTA CLARA — Step by staggering step, it deteriorated into one of the most tumultuous and miserable years in 49ers history. What started with a controversial change of coaches evolved into a 12-month free fall into the NFL abyss.

“It sucks to go through this kind of season,” said left tackle Joe Staley, a 49er since 2007. “I want to be able to finish it the right way, then kind of put an end to this year.”

In chronological order, here are 10 pivotal moments that shaped this season, which comes to rest Sunday when the 49ers (4-11) host the St. Louis Rams (7-8).

TOMSULA INTRODUCED (Jan. 14): After interviewing 10 known candidates over a 17-day span, the 49ers took an expected route and promoted Jim Tomsula as Jim Harbaugh’s successor. Tomsula bombed in his first impression, amid rambling and disjointed answers at his debut news conference.

ALDON OUSTED (Aug. 7): Aldon Smith’s impressive offseason and start of training camp had him poised for a lucrative extension. Then came an alleged hit-and-run, drunken-driving accident as the last straw in his off-field indiscretions. Replacing his sack-producing presence, at least from his 2011-12 form, proved impossible.

G’DAY JARRYD (Aug. 15): Australian rugby-league star Jarryd Hayne became a preseason beacon of hope, starting with his 53-yard run in the exhibition opener at Houston. But he fumbled on his first punt return in the regular-season opener, and he lasted in that role for only six games. After a two-month tutorial on the practice squad, Hayne is back for the 49ers’ closing act.

O-LINE DOOM (Sept. 1): As a harbinger of the offensive line’s shortcomings, the 49ers plugged in Jordan Devey as their starter at right guard two weeks after acquiring him. Devey glaringly struggled, along with right tackle Erik Pears and center Marcus Martin. It took until midseason to phase out Devey for upstart Andrew Tiller.

BYE, HYDE (Oct. 11): Carlos Hyde, around whom the offense revolved so much, suffered a stress fracture in his left foot at the New York Giants. He played through the pain two more games before relinquishing his starter role to Reggie Bush (who got hurt), Shaun Draughn (who got hurt) and now Hayne. The 49ers rank 21st in rushing offense.

KAEPERNICK DONE (Nov. 2): Colin Kaepernick’s three-year reign as starter ended with his benching for Blaine Gabbert. Then came a stunner on Nov. 21, on the eve of a Seattle visit: he went on injured reserve. A torn labrum in his non-throwing shoulder required surgery. Distrust between Kaepernick’s camp and the front office, plus an $11.9 million salary for 2016, should hasten his exit in the coming months.

GABBERT’S MIRAGE (Nov. 8): Gabbert won his first start 17-16 against the Atlanta Falcons, and the instant reaction was that he conquered his demons from his Jacksonville Jaguars tenure. Now 2-5 as the starter, Gabbert’s conservative approach and constant checkdowns have many questioning his 2016 capabilities.

OT WINNER (Dec. 6): Torrey Smith finally panned out as the 49ers’ high-priced acquisition by catching a 71-yard touchdown pass in overtime at Chicago. CEO Jed York tweeted how it was a “very fun win.” Smith hasn’t had much fun, though, and rated this a “terrible” year for him (28 catches, four for touchdowns).

RAISING BANNERS (Dec. 20): For the second straight home game, frustrated fans paid for an airplane to carry a banner condemning York. This one demanded he be held accountable, which is what he vowed to be upon dismissing Harbaugh in search of Super Bowl glory. At halftime of that loss to the Cincinnati Bengals, Levi’s Stadium was 70 percent empty for a ceremony honoring Super Bowl legends, including Joe Montana.

Davis had 25 carries for only 24 yards before getting hurt on a late hit out of bounds at St. Louis on Nov. 1. He joins Hayne, Kendall Gaskins and DuJuan Harris as options to carry the ball Sunday, though one could be inactivated.

The running back unit has lost Hyde, Bush and Draughn to the injured-reserve list, which is where linebacker Michael Wilhoite inevitably was headed after aggravating an ankle sprain Dec. 6. Wilhoite is the 11th player to end his season on IR for the 49ers.

For more on the 49ers, see Cam Inman’s Hot Read blog at . Follow him at .