Latest release v0.272.0

Changelog

Short, user-facing notes for official Holm releases.

Holm is free before 1.0, and it stays that way. A build keeps the license it shipped with permanently, and you never have to upgrade. License, section 8

v0.272.0

Stalled uploads no longer tie up your server: a request body that stops arriving is cut off after 15 seconds, while slow but steady uploads keep going.

v0.271.0

ChatGPT and other AI assistants that sign in with their own keys can now connect to your apps and node, and every change an assistant makes is recorded in the activity log.

v0.270.0

AI assistants connected to your node can read its status and change settings again, and more holm commands now have built-in help pages.

v0.269.0

Regular expressions now support every Unicode property and, with the u flag, refuse a lone ] or } as Node does; holm app env edits an app's saved settings from the CLI.

v0.268.0

One app's DS transaction can no longer stall every write on a node: side effects inside it now fail at once, and its 2 s cap frees the write lock.

v0.267.1

Busy nodes no longer fail sign-ins, deploys or app deletes with "database is locked".

v0.267.0

App operations can admit any signed-in person with auth: "user", a regex match running past 1 s now fails its request, and local host and settings edits reach a running node.

v0.266.0

Deeply nested app code now fails its own request with an error instead of stopping the whole node.

v0.265.1

Debug profile pages now need admin sign-in, a slow peer is reported as a timeout instead of unreachable, and number formatting in apps no longer throws.

v0.265.0

Apps get more memory (128 MiB), and an app action that runs out now answers MEMORY_LIMIT_EXCEEDED with a log line saying why, instead of a bare server error.

Show 54 older releases

v0.264.0

Safer permissions: app pages can no longer reach node administration, only admins change sign-in providers, only owners make owners. SvelteKit /_app/ assets now load.

v0.263.1

App actions that change data can now send live updates and count who is listening, and Space invitation links keep the right address on local nodes.

v0.263.0

AI connections to your apps now survive ordinary redeploys (reconnect once after this upgrade), and deleting app data is fast again on large nodes.

v0.262.2

A deploy that loses its connection mid-upload now recovers and finishes, and slow but steady uploads are no longer cut off.

v0.262.1

Text messages no longer fail or lose an opt-out when the node is busy; a send that meets a busy database waits and retries instead.

v0.262.0

Apps can encrypt, sign and verify with the full standard Web Crypto set, and regular expressions can match letters in any script, such as Hindi or Tamil.

v0.261.0

Configured providers now connect without a separate network allow rule, and holm help shows the full guide for more commands.

v0.260.0

Apps can send text messages through an Android phone or Twilio, run background jobs that never run twice, and read data inside transactions; the CLI warns when versions differ.

v0.259.0

Claude and terminal agents can connect to your apps, an AI connector can manage your node, webhooks use the Standard Webhooks format with safe retries, and old logs expire.

v0.258.0

ChatGPT and Claude can sign in to your apps and act as you with your consent, stored files can move to S3-compatible storage, and forms and sign-out work when signed in.

v0.257.0

Apps can make public operations ask for a quick proof-of-work and a rate limit, sign-in pages carry your app's colours and logo, and AI clients see your app's name.

v0.256.1

Error pages show the address you typed and what to check again, and link previews pick up a changed social card.

v0.256.0

ChatGPT and Claude can now make safe-retry writes through your app's MCP tools, and approving a QR sign-in on your phone shows a clear confirmation page.

v0.255.0

ChatGPT and Claude can now use your app's public operations as MCP tools. Apps get branded 404 pages, stalled downloads no longer tie up your node, and upgrades work on slow links.

v0.254.0

App operations can now write and send email with safe retries; holm peer add works on a computer with only the CLI; a busy first deploy no longer creates a second app.

v0.253.0

An app's dark-mode colour now follows its own theme colour, holm status --format json always parses, and a new database no longer leaves snapshot copies beside it.

v0.252.0

Server installs now answer on their public address and print a ready holm peer add line; holm status says starting while a node warms up.

v0.251.0

Addresses with no app now show a page with your node's name and logo, and you can replace it with your own page.

v0.250.1

Remote backups now work behind proxies such as Cloudflare, and a dropped backup download resumes where it stopped.

v0.250.0

Install v1 apps from a git address with checksum pinning, and back up a node with the admin credential you already use.

v0.249.0

Remote backups with holm @peer db artifact create, app analytics and log purges, deleted data erased from disk, uploads up to 25 MB, and holm.json search exclusions.

v0.248.0

holm app deploy works on a fresh node right after holm start, with no peer setup, and the installer runs without a terminal using --mode cli, local or server.

v0.247.0

holm app identity symbol turns a simple filled SVG icon into holm.symbol.svg, and generate writes icons into public/ for apps built with tools such as Vite.

v0.246.1

Apps on App Spec v1 keep their approved iframe origins, so embedded players such as YouTube play again in apps moved to v1.

v0.246.0

App icons are styled: holm.json's iconStyle picks Glass (the default) or eight other looks, and each app's name varies its gradient and, when unset, its colour.

v0.245.0

holm app identity generate makes an app's favicons, install icons, manifest and social card from one holm.symbol.svg. Node owners and admins are app admins in every app.

v0.244.1

v1 form uploads take files up to about 16 MB, and a form too big for the app's memory budget answers 413 instead of a server error.

v0.244.0

App responses answer byte-range requests, so media players can seek. v1 app names can be one character, and holm.net.proxy in v1 apps has firm memory limits.

v0.243.2

v1 pages keep their own description in social tags, v1 apps serve web/ as written (dot files and source maps aside), and streamed holm.net.proxy answers work again.

v0.243.1

v1 apps serve .mjs, .webp and .avif files with the right content type, and an app's own favicon and logo replace the Holm icon.

v0.243.0

Move an app to App Spec v1 in place with holm app deploy --spec-v1 --move, keeping its id, domains, members and data. v1 apps get secrets, email, AI, images and more.

v0.242.0

v1 apps get realtime over /_ws, read form posts and file uploads with request.formData(), and serve static text files as UTF-8.

v0.241.0

Apps can use modern JavaScript (??=, ||=, &&=, for await, async generators), so libraries like Hono run without an older build target.

v0.240.0

Opt-in Holm App Spec v1: holm app deploy --spec-v1 publishes a whole app at once, answered by a standard fetch(request, env) handler, with social tags added for you.

v0.239.0

Private realtime channels with holm.realtime.grant and revoke, a "No app at this address" page for unknown hosts, and trusted proxies in node settings.

v0.238.0

holm app remove --force also removes an app's agents and guest accounts, and blobs can expire: holm.app.s3.put(path, data, mimeType, { ttlMs }).

v0.237.0

Apps can read many documents as one consistent snapshot without blocking writes: holm.app.ds.snapshot(s => ...).

v0.236.0

Apps can embed players and widgets from approved sites: holm policy set security.csp.frame_src <origins> --app <app>.

v0.235.0

holm app remove only previews unless you pass --force, app commands take flags before or after the name, and expired blobs drop out of reads and lists.

v0.234.0

holm app remove --dry-run shows what removing an app would delete, keep and be blocked by, without changing anything.

v0.233.0

Email sends through any SMTP server with verified TLS, request analytics are written in batches, and deleting an app removes all its data except audit history.

v0.232.0

Publish patterns in manifest.json keep notes and sources out of deploys, apps can import raw HMAC keys, and holm app jobs --stale lists jobs stuck after a restart.

v0.231.0

Large proxied uploads no longer cut off responses under load, holm provider gives way to holm settings, and same-millisecond entries keep their order.

v0.230.0

Deploys include .well-known files such as assetlinks.json, holm test run matches hosted apps, and thrown errors and console logs read like JavaScript.

v0.229.0

Document finds accept range and set filters on id, provider listings hide stored secrets, and failed async jobs no longer report success.

v0.228.2

Members with the admin role now count as node admins in app code.

v0.228.1

App data transactions no longer fail when another write lands between their reads and writes, and busy-database errors reach apps as retryable 503s.

v0.228.0

Holm refuses, before changing anything, a database where another build's migration ran under the same number.

v0.227.0

Upgrades refuse a version that would not start on your database and keep the running one, and holm db migrations verify checks a database read-only.

v0.226.0

Async handler errors show their real message, holm settings shows each AI provider's model and gateway, and AI calls need an explicit model.

v0.225.0

AI providers can stream replies, so Holm works with stream-only gateways, and holm app doctor explains who can read a deployed private/ folder.

v0.224.1

New test databases explain the licence step, holm test remembers --accept-license, and commands with no database say to run holm server init.

v0.224.0

Read a peer's background job status, errors and logs from the CLI. Job lists show 50 by default, and local-only commands refuse a peer target.

v0.223.0

Holm is free for everyone before 1.0 under the Holm Usage License Agreement (HULA), with checksum-pinned installs and an explicit licence step.

Binaries, signed manifests and checksums: github.com/holmhq/releases