
"Back in the day Heroku felt like magic for small Django side projects. You pushed to main, it built and deployed automatically, and the free tier was generous enough that you could experiment without ever pulling out a credit card. For a long time, Heroku was the easiest way to get something live without worrying about servers, deployment scripts, or infrastructure at all. Every Python developer I knew recommended it."
"The problems started piling up in 2022. In April, hackers stole OAuth tokens used for GitHub integration, gaining access to customer repositories. It later emerged that hashed and salted customer passwords were also exfiltrated from an internal database. Heroku forced password resets for all users. Their handling of the incident was widely criticized: they revoked all GitHub integration tokens without warning, breaking deploys for everyone, and communication was slow and vague."
"Then in August 2022, Heroku announced they would eliminate all free plans, blaming "fraud and abuse." By November, free dynos, free Postgres databases, and free Redis instances were all gone. Look, I understand this wasn't sustainable for the company. But they lost an entire generation of developers who had grown up with Heroku for their side projects and hobby apps."
Heroku originally provided a simple, generous free tier that made deployment effortless for Django side projects and hobby apps. In 2022 multiple security incidents occurred: OAuth tokens and hashed, salted passwords were exfiltrated, prompting forced password resets and criticized incident handling. In August 2022 Heroku announced elimination of all free plans, and by November free dynos, Postgres, and Redis free tiers were removed, shifting costs onto hobby developers. In 2025 Heroku experienced prolonged outages lasting over 15 hours and 8.5 hours, with additional incidents disrupting SSL, login, dashboard, CLI, API performance, and many deployed applications. The combined security, pricing, and reliability issues eroded developer trust.
Read at Loopwerk
Unable to calculate read time
Collection
[
|
...
]