changelog

what we shipped, when we shipped it.

feature

cli 0.5.0: connect your coding agent

claude code and cursor can run your pushto account now. `pushto mcp add` wires it up, or one line by hand: `claude mcp add pushto -- pushto mcp serve`. auth rides your cli login, so there are no tokens to copy. agents get the full loop: create a project, deploy the folder they're working in, read the runtime logs and plain-english error episodes when a deploy breaks, fix, redeploy. a connected-agents card in settings shows the last connection and can log every agent out at once. the walkthrough lives at /docs/mcp.

improvement

cli 0.4.10: deploys stay in their directory

bare `pushto` in an unlinked directory used to deploy to whatever project you last created or switched to. your new folder could land in an old project. deploys now follow the directory's own .pushto and nothing else: if nothing is linked, pushto offers to create a project named after the folder (--yes takes that default), and `pushto link <slug>` reconnects a fresh checkout to an existing project. `pushto auth add` ships in this release too, and `pushto upgrade` now walks you through homebrew's new one-time tap trust step instead of failing on it.

feature

service #20: backups

your database, copied nightly to a separate provider, locked against deletion for 30 days, restore-tested monthly. nothing to set up. a live "last backup" card on your db page, and the full story at /durability.

feature

new brand system: pixel-art power-button mark

a vector logo built around a power button. animated 3→7 button-stack expand/contract. new og card in Pixelify Sans/Inconsolata. /brand reference page. self-hosted cinematic hero render, no outside generator left in the asset pipeline.

feature

chart toggle in pushto db

every query result can now flip to a chart with one click. powered by chartmuse. pushto infers the chart from your query shape. no extra config, no extra tab.

improvement

upgrade prompt at every paid wall

free users hitting a paid service now see a clickable upgrade card instead of a wizard they can't use. tier-aware "what's next" on the project home. the next action matches your plan.

improvement

silent failure sweep

audited every catch block in the codebase. anywhere we were swallowing errors (deploy, cron, auth, domain, r2, rate-limit, stripe) now logs with context. drift visibility instead of silence. ~70 fixes in one pass.

improvement

reliability marathon: 100+ fixes

project-delete now wipes container, volume, r2, and postgres schema cleanly. slug rename renames the docker container. env changes restart the running container. container liveness checked before flipping to LIVE. deploys stop lying about success. translated the top container-startup errors into actionable causes.

improvement

row-level security rollout complete

every query now runs as a per-user database role with policies enforcing project ownership. dropped the temporary blanket policies. real access boundaries at the database, not just in code.

feature

persistent volume + python multi-stage builds

user containers now get a real /app/data volume that survives restarts. python deploys handle pip caches, home directories, and sibling js frontends. multi-stage builds so dev deps don't bloat the runtime image.

feature

pushto echo: sanitized capture + replay

pushto can now capture sanitized http responses from your deployed site and replay them later. cli command, dashboard tab, capped storage. debug without hitting prod.

feature

heartbeat: weekly digest email

paid users get a monday-morning digest of last week's deploys, uptime, and traffic. pure sql aggregation, no analytics saas in the loop.

improvement

security marathon: firewall + per-project tokens

production vps is now cloudflare-only ingress, default-deny everywhere else. each project gets its own deploy-agent token. the shared back door is closed. docker.sock removed from web, all container ops via http api. read-only container fs by default. dns-rebinding-safe fetch for ssrf protection.

feature

pushto explain: deploy summaries

after every deploy, pushto generates a short summary of what changed and why. cost-controlled: sha cache, monthly cap. no badge or label. the output stands on its own.

feature

pushto on homebrew

`brew install mydude-industries/tap/pushto` works now. tag-triggered pipeline: Bun compiles a single binary, the tap auto-updates. brew is the primary install path in our docs.

improvement

green-only palette + per-project docker functions

dashboard is now pure green. no second brand color. mode differentiation comes from content density, not hue. pushto functions moved off node:vm onto per-project docker runtimes for real isolation.

feature

phase 8: launch & growth engine

seo foundation (robots.txt, sitemap, json-ld structured data), dedicated pricing page, changelog, public showcase page, admin metrics dashboard. the launch infrastructure pushto needed to go from "built" to "growing."

feature

usage tracking & quota enforcement

every service now tracks real usage against your plan limits. usage bars in the dashboard show exactly where you stand. hit a limit? friendly message, never an overage charge.

feature

dual-mode dashboard: ez vs advanced

the dashboard now has two personalities. ez mode: clean, minimal, task-based. advanced mode: crt scan lines, terminal green, every knob exposed. toggle anytime. same data, different vibes.

improvement

8-stage hardening plan complete

env validation with Zod, rate limiting via Upstash Redis, bounded DELETE queries, billing optimization, admin auth, container restart on env changes, loading states for every service page, and test coverage for critical paths.

fix

framework detection fixes

fixed false positives where nested requirements.txt files triggered Python detection in Node.js projects. now only checks root-level files.

improvement

crt effects for advanced mode

scan lines, screen flicker, and phosphor glow. all pure css, no javascript overhead. the terminal aesthetic is a brand differentiator, not a performance penalty.

improvement

deploy pipeline: Hetzner vps

removed Fly.io references from deploy flow. pushto now deploys to a Hetzner vps via GitHub Actions + Docker Compose. faster, cheaper, simpler.

feature

cli auto-update

the cli now checks for updates on every run and tells you when a new version is available. `pushto upgrade` handles the rest. auto-detects npm, yarn, or pnpm.

more coming. we ship fast and break nothing (usually).