Welp, it’s official. Speaker Paul Ryan has endorsed Donald Trump.

He made the formal announcement in an op-ed in the Janesville Gazette:

But the House policy agenda has been the main focus of our dialogue. We’ve talked about the common ground this agenda can represent. We’ve discussed how the House can be a driver of policy ideas. We’ve talked about how important these reforms are to saving our country. And we’ve talked about how, by focusing on issues that unite Republicans, we can work together to heal the fissures developed through the primary.

Through these conversations, I feel confident he would help us turn the ideas in this agenda into laws to help improve people’s lives. That’s why I’ll be voting for him this fall.

Only a month ago, Ryan told CNN’S Jake Tapper he could not support Trump at that time:

“I hope to though, and I want to,” he said on Tapper’s show The Lead. “But I think what is required is that we unify this party. And I think the bulk of the burden on unifying the party will have to come from our presumptive nominee.”

A week later, Ryan and Trump met with GOP leaders and then privately with each other. Evidently, Trump proved his worth to the speaker and one time vice presidential candidate:

Donald Trump and I have talked at great length about things such as the proper role of the executive and fundamental principles such as the protection of life. The list of potential Supreme Court nominees he released after our first meeting was very encouraging.

Ryan wrote about ideas the GOP has in the House and insists they need a Republican president to sign them off. He said the GOP cannot support Hillary Clinton because that presidency means “four more years of liberal cronyism and a government more out for itself than the people it serves.”

One source told CNN that Ryan did not give Trump a “heads up” because he wanted to make the decision “on his own timelines.”