Here’s a timeline of events:
September 2018: Congress approves military aid to Ukraine, per House Democratic sources.
Feb. 28, 2019: Congressional officials are notified that the administration is set to release large amounts of that aid. It doesn’t happen.
May 19: Trump goes on Fox News and rails about Biden and Ukraine, falsely claiming that Biden improperly pressured Ukraine to fire a prosecutor who was supposedly “after” his son.
May 23: Congress is again notified of a pending release of aid. It again doesn’t happen.
July 18th or thereabouts: Trump orders Mulvaney to freeze the aid to Ukraine. Trump’s decision is communicated to officials at the State and Defense departments. Importantly, as The Post reports, officials are instructed to tell lawmakers that the delay stemmed from some kind of “interagency process,” but not to share any more details.
July 24: The special counsel testifies to Congress, and Trump hails the proceedings as a “very good day.” While the special counsel detailed extraordinary corruption and wrongdoing, Trump plainly takes from it that he can conduct himself with total impunity.
July 25: Trump holds a call with Zelensky. Trump himself will later admit he brought up Biden and “corruption” in Ukraine. It is also subsequently reported that Trump directly urged Zelensky to discuss this with Giuliani.
Late July: A few days after that call, Giuliani meets with an aide to Zelensky, and demands an investigation into Biden. Giuliani later admits he would not be doing this without discussing it with Trump.
Aug. 12: The inspector general of the intelligence community receives a complaint from a whistleblower.
Aug. 26: The inspector general forwards the whistleblower complaint to the DNI, saying he deemed it of “urgent concern” and “credible.”
Aug. 30: CNN reports that Trump is seriously looking at blocking the aid entirely, and that the Pentagon privately advised for the aid to be released.
Early September: Sen. Chris Murphy (D-Conn.) speaks to Zelensky. Murphy has since characterized their conversation by saying that Zelensky “directly” expressed concerns that the cutoff of aid was a “consequence” of failing to probe Biden.
Sept. 9: The inspector general alerts the congressional intelligence committees to the whistleblower complaint, and says the DNI hasn’t forwarded it to them, in potential violation of the law.
Sept. 10: Rep. Adam Schiff (D-Calif.), the chair of the House Intelligence Committee, demands that the DNI transmit the whistleblower complaint to Congress.
Sept. 12: The aid to Ukraine is released.
Sept. 13: Schiff subpoenas the DNI for the whistleblower complaint.
Sept. 17: The DNI again formally refuses to turn over the whistleblower complaint, arguing that the law doesn’t apply, because the activity in question relates to “someone” outside the intelligence community. Reporting indicates that the DNI did this after getting advised to do so by the Justice Department.
Sept. 17: The inspector general pushes back hard on the DNI’s decision, flatly stating that the complaint “relates to one of the most significant and important of the DNI’s responsibilities to the American people.”
Sept. 18-19: It turns out the “someone” in question may be Trump himself. The Post scoops that the whistleblower complaint involved a “promise” Trump made to a foreign leader. We then learn that it also involves Ukraine.
Sept. 19: Giuliani first denies to CNN that he is pressuring Ukraine to investigate Biden, before reversing and confirming as much.
Sept. 22: Trump confirms he brought up Biden and corruption in the call with Zelensky, but top administration officials deny Trump “pressured” him to investigate Biden.