{
  "$type": "site.standard.document",
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreibyzopg4f653alyndv4jsw7emuhgqzakenl62zda3lu72j5k54kli"
    },
    "mimeType": "image/png",
    "size": 65431
  },
  "description": "Townie 5x cheaper, HTTP analytics, scoped blob, agent plugin, ...",
  "path": "/changelog-2026-07-02",
  "publishedAt": "2026-07-02T00:00:00.000Z",
  "site": "at://did:plc:a2rdzfdxkjwerrfrpbwcipb2/site.standard.publication/3jd443afc2222",
  "textContent": "changelog.png\n\nThere’s a lot of new stuff to talk about from the past\n37 days. Personally, I’m most excited about\nzero-config HTTP analytics and\nscoped blob storage, but we’ll start with all the AI\nstuff.\n\nTable of contents\n\nTownie is 5x cheaper with GLM-5.2\nUse Val Town with Claude Code, Codex, and Cursor\nWrite your own skills for Townie\nNew in town\nHTTP analytics\nScoped blob storage\net cetera\n\nTownie is 5x cheaper with GLM-5.2\n\nGLM-5.2 is now available in Townie. It’s an open weight model about as smart as\nOpus 4.8 for about a fifth the cost.\n\nPer our brief announcement, the top story on HN Monday\nwas “GLM 5.2 beats Claude in our benchmarks,” and the top story Tuesday was the\nSonnet 5 announcement. Then yesterday Fable 5 came back. You can try all three\nout with Townie, and let us know which other models you’d like us to support.\n(Townie is now using the Vercel AI Gateway, so\nwe can freely swap models in and out.)\n\nUse Val Town with Claude Code, Codex, and Cursor\n\nOur new agent plugin bundles the Val Town MCP with Skills that teach\nyour agent how to use Val Town. Plugin skills instruct Townie or any agent how\nto use Val Town’s features and platform, like SQLite and blob storage and\nintegrating third-party APIs. You can view (and contribute) to skills in the\nplugin’s source code.\n\nplugin.png\n\nThe plugin is in Anthropic’s\nofficial marketplace and also supports\nCodex and Cursor. There are commands to install for each, and\nnpx plugins add val-town/plugins to auto-detect your agent(s).\n\nWrite your own skills for Townie\n\nIn addition to platform skills that ship with the plugin, you can create your\nown custom skills in Val\nTown. User-defined custom skills are more opinionated and personalized than\nplugin skills. Like, you could make a design skill based on your preferences.\n\nYou can define a skill in any val within a /skills folder, for example\n/skills/design/SKILL.md. Townie and our MCP server are able to discover your\nskills from any val. And, ofc, we have a plugin skill for creating custom\nskills, so you can ask Townie to help you out.\n\nNew in town\n\nJackson drew a warm town with his human hands for the val.town homepage.\n\nhome.png\n\nWe hope you don’t see it too often, but I also think you’ll enjoy the 404\neaster egg.\n\nHTTP analytics\n\nVals with HTTP endpoints now come with lightweight built-in analytics. Pretty\nhandy, I think.\n\nanalytics.png\n\nScoped blob storage\n\nJust like each val already has its own SQLite database,\nevery val now also has its own blob storage. Also pretty\nhandy.\n\nscoped-blob.png\n\net cetera\n\nNew MCP tool to add/update a custom *.val.run subdomain\nNew UIs for diffs and HTML previews (and more) when using the Val Town MCP\n  server in a supported MCP client like Claude Desktop (this feature is\n  technically called an\n  MCP app, which is\n  confusing, but is a step in the right direction to improve sometimes-gnarly\n  MCP tool call diffs)\nStill-running vals can now be stopped via Logs > Traces\nTownie can now save images uploaded in chat to blob storage\nSyntax highlighting, higher contrast, expand/collapse in Townie diffs\nYou can now paste up to 4,000 chars in a Townie chat (previously 512)\nNew UI for creating a new API token.\n  “We don’t have to do this...but I always wanted the API token form to work\n  like this.” -Jackson\nUpdated docs for AI in Val Town\n  (tl;dr is Townie or Plugin > MCP > CLI)\nNew docs for\n  syncing vals with GitHub\nNew optional run boolean for MCP tools that update code, so your agent can\n  decide whether to test running the code after edits\nBetter handling of attempts to save files while offline\nHovering a timestamp in Logs now displays local, UTC, and relative time\nCode editor supports JSON schema via CodeMirror extension\nAbout a dozen new templates to remix,\n  e.g. AI phone caller, agent skills library, downtime email alerts, Stripe\n  webhook handler\nNew MCP tool to find templates\nLimit total vals to 2,500 for Free accounts and 4,000 for Pro accounts\nNew MCP tool to delete a val\nTighter API token permissions on MCP tool calls\nAny MCP tool call that edits files with an HTTP or email trigger will return\n  its URL or email address\nBetter discovery of\n  docs.val.town/llms-full.txt (full docs\n  in one file) by pointing to it from\n  docs.val.town/llms.txt\nFixed blob storage click-to-upload UI\nGenerate val lockfiles async in background after code edits to speed up time\n  to first run\nAgent plugin install instructions sprinkled around product for ease of\n  discovery\nClearer in-flow information and\n  docs\n  on transferring vals between orgs\nCloudflare error pages now have more helpful info to troubleshoot\nUpdated our Terms of Use to ban\n  general-purpose proxying and similar high volume pass-through traffic (see\n  terms for specific language)\nDisplay cron scheduled runs in local time instead of UTC",
  "title": "Changelog - July 2, 2026"
}