Here’s a headline you haven’t read in the Portland Press Herald: 2017 was a great year for progressives in Portland politics.

The year began with the largest outpouring of grass-roots activism the city has seen in years. Ten thousand people turned out for the women’s march the day after Donald Trump’s inauguration. When Trump announced the Muslim ban, over 3,200 people showed up at the Portland Jetport and a separate City Hall protest.

But for us and other grass-roots Democrats, it wasn’t enough to just say “no” to Trump and Maine Gov. Paul LePage. We felt it was also critical to show what we’re for, not just what we’re against – and with Republicans in control of every other level of government, that meant taking action at the local level.

And there was plenty of work to do, because despite having the highest concentration of Democrats in the state, Portland had fallen behind on education, the environment, housing and other key areas.

For instance, while communities all around us have renovated old schools or built new ones, Portland hadn’t made a major investment in its school buildings since 1993. Small towns in central Maine that voted for LePage twice have police body cameras, but we don’t. New England neighbors like Providence, Hartford, Boston, Burlington and Manchester, New Hampshire, are all far ahead of us in per capita solar power.

But in 2017, progressives set the agenda and scored more victories than we’ve seen in any recent year.

The biggest win was passage of a $64 million bond to repair Longfellow, Lyseth, Presumpscot and Reiche elementary schools.

For 23 years, the city delayed action to fix these schools. The city convened seven official task forces, and every time, the experts said these schools failed to meet basic standards for learning, safety and health.

As recently as 2013, the council failed to bond locally for even one school. In fact, at that point, only one, maybe two, members of the City Council supported the school bond. And as recently as 2016, when the bond was in front of the school board, even supporters weren’t sure it was worth sending to the council again because they didn’t think we could get the votes.

But we packed hearing after hearing, built a broad coalition including over 100 local businesses and trained a small army of door-to-door canvassers to finally get it done.

The bond was far from the only victory progressives scored this year. Check it out:

The city is on the verge of passing a ban on bee-killing and synthetic pesticides.

The school board passed the strongest policy in the state to protect transgender kids.

Sheriff Kevin Joyce announced that the Cumberland County Jail will no longer honor unconstitutional “detainer” requests from Trump’s Immigration and Customs Enforcement.

Portland police agreed to a contract that includes body cameras and revisions to our citizen review board that will provide improved transparency and accountability.

Targeted tax relief for low-income seniors is finally happening, a first step toward making our local tax code more progressive.

Criminal charges were dropped against 17 Black Lives Matter protesters who had been swept up in a mass arrest during a protest in 2016.

The council passed responsible contracting standards for tax-increment financing districts, ensuring that workers get paid a prevailing wage for these taxpayer-funded projects.

To be clear, we are in no way taking credit for this progress personally, and if we tried to name everyone who deserves credit, we would surely leave out dozens of key contributors.

But none of these achievements would have been possible without dedicated Portland residents pushing for them. And when you step back and consider all that was achieved, it’s amazing how much progressives accomplished in 2017.

Of course, progressives didn’t win every fight. That’s not realistic when you are fighting for real change. For instance, rent stabilization was defeated. The City Council candidate we supported was defeated, as were other first-time progressive candidates.

There’s also a lot more to left to do: Universal pre-K is needed to allow all Portland’s kids to achieve their full potential. Earned paid sick days remains an unkept promise in the Maine Democratic platform. If rent stabilization isn’t the answer to the affordability crisis, then we need to look at other approaches.

But the volunteers and organizations who made this year’s victories possible gained skills, experience and momentum that they will carry into 2018.

That’s why, as successful as 2017 was, we think next year could be even better.