• Home
  • About GJR
    • First Amendment Celebration
  • Print issue
  • Media News
  • Opinion
  • Special Projects
    • First Amendment Project
    • Hurricane Katrina 20th Anniversary
    • Police Accountability Project
  • Free Speech Files
Midwest

Post-Dispatch moves print deadlines earlier, launches AI-generated content

  • By Jack Grone
  • March 6, 2026

Only a few weeks after David Hoffmann took control of the St. Louis Post-Dispatch’s parent company, he’s indirectly triggered.

Midwest

Life after the newsroom: What’s next?

  • By Dennis Anderson
  • February 27, 2026

For nearly four decades as a community newspaper editor, I’d often coach reporters to write and report from the.

First Amendment, Midwest, Special Projects

Erasing history: Federal judge likens Trump’s order to remove slavery exhibit near Liberty Bell to Orwell’s 1984

  • By William H. Freivogel
  • February 20, 2026

“As if the Ministry of Truth in George Orwell’s 1984 now existed, with its motto ‘Ignorance is Strength,’ this.

First Amendment, Midwest, Special Projects

‘Sorry, AP Chem’: How student media at one Missouri high school covered a walkout to protest ICE

  • By Kiley Huang and Josie Mottl
  • February 13, 2026

Kirkwood High School students walked out of class at 10:40 a.m., Jan. 30, to protest Immigration and Customs Enforcement,.

Media News, Midwest

St. Louis KDHX-FM radio disappears, but alums stage CRSTL comeback

  • By Don Corrigan
  • January 23, 2026

The disappearance of KDHX-FM in 2025 was a staggering loss for community radio fans in St. Louis. But local.

Posts navigation

Older posts
Newer posts

Most Read Posts

  • How data journalism is creating a public record of Trump’s immigration crackdown (431)
  • News analysis: Courts begin to push back on Trump amid unprecedented wave of 233 court challenges  (377)
  • For Latino journalists, immigration reporting carries personal risk (121)
Subscribe to our weekly newsletter

© 2025 Gateway Journalism Review

If you want the icons to disappear automatically when URLs are empty: Replace the entire social
    block with: