As ever, we have plenty of new features and niceties in Val Town since last month: Val Town Access, Deno 2.9, Pro & Business trials, the “Learn Val Town” video series, new models in Townie, and more.
Val Town Access
Last month, we launched Val Town Access. Tom wrote an announcement post with full detail, but the tl;dr is that vals can now be shared like Google docs—restricted to your team, shared via email, or fully public.
App view for HTTP vals
Vals now have an App view that embeds a rendered website alongside your code, logs, analytics, storage, et cetera.
Free trials for Pro & Business
To try before you buy [features like Access^], we now have 14-day free trials for Pro and Business accounts.
“Learn Val Town” video series
We’ve started to record a good old fashioned video tutorial series, “Learn Val Town,” published on YouTube. It feels very 2010s devrel, but to be embarrassingly honest, we’re also trying to feed the language models. Still, if you’re standing your ground as a human programmer (as you should!), the videos are for you.
Deno 2.9
This week, we upgraded the Val Town runtime to Deno 2.9.6, up from 2.7.5. The
headliner, for me, is
text imports: you
can now directly read HTML, CSS, Markdown, and other files from within a val
without having to call the API via readFile in std/utils. We recorded a
video on imports in Val Town.
The upgrade also brings performance upgrades, like faster cold starts, and
increased compatibility with both browser APIs and node: builtins—Deno now
passes >75% of the Node test suite, up from 42% in 2.7.
Townie “Auto” mode & new models
We replaced Townie’s “Normal” mode with the similar “Auto” mode. In Auto mode, Townie won’t ask your permission for low-risk tool calls like reading files, but you’ll still approve potentially destructive actions like writing to SQLite.
Townie also has some new models to play with: GLM-5.3 Flash replaced 5.2, Fable 5.1 replaced 5, and DeepSeek V4 Flash is Townie’s new default model. We also: added back web search to non-Anthropic models thanks to an upstream fix from Vercel’s AI Gateway; made a few small performance wins to speed up Townie’s responses; and now surface each model’s “thinking” in an expandable section, if you want to see under the hood.
Templates for MCP servers, AEO, webhooks
As always, we’re adding templates for your remixing pleasure. We have new ones for building your own MCP server (along with a companion video); doing AEO research for your brand; and handling GitHub webhooks. We also have a new Discover page that gathers templates, staff picks, integration guides, and vals by tag.
Adding custom domains & email addresses
Custom domains in val.town/settings/domains now have a setup wizard dialog instead of an inline form. We also recorded videos on both custom domains and custom subdomains. Custom email addresses moved out of the domains settings page into their own val.town/settings/emails page.
MCP server improvements
The Val Town MCP server allows
your agent to do pretty much anything you can do in the Val Town UI. Now,
org-scoped API tokens allow creating and remixing and listing vals, creating
branches, running code, and granting access, among other new tools. MCP clients
can also link
environment variable groups
to vals. For better privacy defaults, remixing now sets org remixes to private,
authorizes the target org up front, and disconnects remixes of templates org
vals from upstream. Commits made through your MCP client record the client, and
val history shows an MCP badge with the client name in the tooltip—Claude,
ChatGPT, or whomever. (Attribution also now covers the CLI and API, along with
Townie and MCP clients.) We also fixed MCP OAuth for Cursor.
Lightning round
- API tokens now record which org member created them
- Free plans are now limited to 10 cron triggers per val on Free plans (which should be more than enough) and 100 on paid plans
- The file tree dropdown menu now has buttons to collapse or expand all folders
- Auto-closing brackets can now be turned off in editor settings
- You can now create a branch from a past version, reachable from the history/commits list and the diff view
- History now shows deleted files with a diff view for the deleted file and full history so you can revert the deletion
- Diffs on merges and PRs now have a hide-whitespace option
- The shortcut
Cmd + Shift + Lnow toggles the logs drawer - Log traces now show the file path on hover, org-wide logs show the project name, and log URL params are preserved in links
- Line-number links on the latest version of a file now include the version
(e.g.
#L32@64) and warn when the latest version no longer matches - Deleting a val now requires typing the val name to confirm
- README markdown now supports
url:<filename>.tsto link to an HTTP file’s endpoint - A val’s overview shows HTTP, cron, and email trigger badges, and clicking a badge lists the files for that trigger
- Spaces are auto-transformed to hyphens when naming a val
- Townie will now (often) nudge you to claim a nice custom subdomain for HTTP vals
- Townie can now cancel long-running tool calls that appear to be hanging
- You can now book a demo call right from your val dashboard
- Val settings now explain who can edit a val and allow you to invite contributors
We're hiring!
Are you an infra engineer who cares about the joy of programming?