Insites Docs Change Log

Change Log

Date Period

Platform Update - Server-Sent Events, stable GraphQL names, multipart API calls

October 15, 2026

See it working: the Live Features Demo runs Server-Sent Events, background job progress, a live shared feed, a form_data file upload and the admin_logs query on the docs site. Open it in two tabs to watch the updates arrive in both.

New Feature

  • Subscribe to a channel with Server-Sent Events: A page that only listens can now open a WebSocket channel with EventSource at /anycable-events instead of a WebSocket. There is nothing to enable on your instance and no channel code to change. Your channels/<name>/subscribed.liquid partial admits subscribers as before, the websockets_require_subscribed_partial and websockets_require_csrf_token settings apply unchanged, and channel_send_message reaches both kinds of subscriber. Pass the whole identifier as URL-encoded JSON (?identifier=...) and the CSRF token as authenticity_token in the same address. The stream opens with welcome and confirm_subscription events, and each message then arrives as a message event whose data is exactly the payload you sent. The connection is read-only, so a receive.liquid partial is never called. A refused subscription answers with an error status and closes the stream. The browser's own reconnect reuses the same address and token, so when the token goes stale, open a new EventSource with a fresh token.

  • Stable names for the _rc GraphQL fields: The 12 fields that only had a release-candidate name now also have a stable name, with the same arguments and results: documents, documents_insert, documents_upsert, documents_bulk_upsert, documents_delete, embeddings, embedding_create, embedding_update, embedding_delete, admin_search_index, records_create, and records_count on Table. The _rc names still work and are now deprecated. A default schema read leaves deprecated fields out, so autocomplete and introspection show only the stable names. Use the stable names in new code.

  • Send multipart/form-data with api_call_send: The api_call argument takes a new form_data list, so you can upload files to an external API without building the body yourself. Each part has a name and either a text value or a file, given by url or content_base64. It works with POST, PUT and PATCH and cannot be combined with body. It sets the Content-Type and boundary for you, and allows up to 100 parts, 10 downloaded files and 50MB in total.

  • Read your instance logs from GraphQL: The new admin_logs query returns the entries written with the log tag, oldest first, each with id, type, message, data and created_at. To poll for new entries, pass the last id you saw as id: { range: { gt: ... } }. type and message take the usual string filters.

Improvement

  • Every GraphQL schema element has a description: Queries, mutations, arguments, fields, input types, enum values and scalars now describe their defaults, limits and errors, and deprecated fields name their replacement. Every root query and mutation belongs to a category, including two new ones: Notifications (api_call_send, email_send, sms_send) and Uploads.

  • Refused emails are easier to trace: When the mail server refuses an email, for example because the from address is not a verified sender, the MailNotSent log entry now includes the server's reason, along with the notification name, to, from, reply_to, cc, bcc, subject, unique_args, the template and line that sent it, and the background job ID. A permanent refusal is no longer retried, so it is logged once.

  • Background job IDs in error logs: BackgroundJob Error entries now include the job ID and job class.

  • A token-check outage is reported as an outage: While the service that checks API tokens is briefly unreachable, the instance now answers 503 Service Unavailable with a Retry-After header and the code partner_portal_unavailable. It used to answer 401, which looked like a revoked token. An up-to-date insites-cli waits and retries.

  • download_file enforces max_size while downloading: The limit applies to the bytes actually received, so a server that does not declare a size can no longer send more. The maximum remains 50MB.

Deprecation

  • admin_model_schemas, admin_transactable_schemas and admin_user_profile_schemas: use admin_tables.
  • admin_forms: use a page with a GraphQL mutation.
  • authentications on User.
  • The deprecation messages of admin_translation_update and admin_translation_delete now point to admin_translation_set and admin_translation_unset. Before, each pointed to the other's replacement.

Bug Fix

  • sync: true on the *_delete_all mutations: records_delete_all, users_delete_all and admin_pages_delete_all ignored sync and always deleted in the background. With sync: true, the records are now gone before the mutation returns.

  • content_type.starts_with in presigned upload URLs: With include_content_type: true, property_upload_presigned_url now restricts uploads to files whose Content-Type starts with the given prefix. Before, the prefix was ignored.

  • Property filters inside or in the models query now respect the selected table, so a property with the same name in another table is no longer read as the wrong type.

  • WebSocket messages accept the token from the connection address: With websockets_require_csrf_token on, a client that passed its token in the socket address had its first message refused. The instance now uses the token the socket was opened with when the identifier carries none.

  • An API key shared across instances is accepted by each of them: Each instance now verifies a shared key itself. Before, all but one refused it for up to 10 minutes.

  • .txt pages are served as text/plain, whatever the Accept header.

  • A missing asset returns 404, not 403.

  • admin_background_jobs refuses a timestamp filter that is not a date, with timestamp must be a date or a time, got: .... Before, it matched every job or none.

  • Log entries no longer go missing: One failed delivery to the log service could lose the entries after it. The connection now recovers on its own.

Insites CLI Tool v6.3.2

October 14, 2026

changelog image

Bug Fixes

  • insites-cli deploy works again for projects that have a modules/ folder and no app/ folder. From 6.3.0, these deploys stopped with The "path" argument must be of type string ... Received undefined before anything was uploaded.
  • Deploys to instances on the shared stack no longer fail with Request failed with status code 500. This was fixed on the server, now that the Insites Console has moved to a new address.

Insites CLI Tool v6.3.1

October 13, 2026

changelog image

Bug Fixes

  • Signing in and env add --instance-uuid work again for instances on the shared stack, now that the Insites Console has moved to a new address. INSITES_CONSOLE_HOST still overrides the address.
  • env add --instance-uuid no longer files an instance under the private stack when the Console can't be reached. It asks for --stack instead.

Insites CLI Tool v6.3.0

October 13, 2026

changelog image

Improvements

  • Installing or updating the CLI no longer prints deprecation warnings, and it installs fewer packages (229, down from 401).
  • insites-cli doctor checks your Node.js version against the versions the CLI supports.
  • The published package no longer includes the CLI's own tests.

Bug Fixes

  • insites-cli env add <env> --instance-uuid <uuid> works again, instead of asking you to run it again with --stack.
  • In a CI pipeline, insites-cli doctor checks the INSITES_* variables, as every other command does, instead of failing with "No .insites file".
  • Deploys on the shared stack no longer call an event endpoint that does not exist.

Requirements

  • Node.js 22.22 or later, or 24.15 or later. Node.js 24 is recommended. On an older version the CLI still runs, but npm shows a warning when you install it and desktop notifications are turned off.

Notes

  • Install or update with npm install -g @insites/insites-cli --no-fund. The --no-fund option is optional: it hides the npm note about packages that accept donations.

Console v6.4.1

October 13, 2026

changelog image

New Features

  • Connect Your Own Domain
    • Connect a domain from an instance's Domains tab. The Console checks the domain as you type, shows who manages it today and what will change, then lets you choose whether Insites hosts your DNS or you keep your current provider.
  • DNS Records Made Easy
    • If you keep your current provider, you get the exact records to add, and can email them to whoever manages your DNS.
  • Domain Details
    • Every domain has its own page showing its status and each record's check. If Insites hosts your DNS, copy the nameservers and press "I've changed my nameservers", and the Console keeps checking until the change is found.
  • Make Default and Remove
    • Make any domain the default, or remove one you no longer need.
  • Email Senders
    • A new Email Senders card lists the addresses your instance sends email from. Add and edit senders and choose the default. no-reply@insites.site is always available.
  • Domain Alerts
    • Account owners and admins get an email when a domain needs attention.
  • Marketplace Items
    • A new tab shows the applications and add-ons installed on an instance, grouped by category.
  • Access Tokens and Recent Activity
    • Get your own access token for the Insites CLI from the CLI tab (requires insites-cli 6.1.0 or later), and see an instance's recent activity on its Overview.

Improvements

  • Usage Tab
    • Rebuilt around six charts, with the creation date, today and each month's limit marked. Any overage charges now show on the Usage tab, with a banner on production instances that are over their allowance.
  • Access to a Single Instance
    • People given access to just one instance can now sign in to it, and admins can see who outside the account has access on the instance's Overview.
  • Safer Module Updates
    • The confirmation tells you exactly what a version change will do, any problem is explained right in the dialog, and pressing confirm twice can no longer start the change twice.

Bug Fixes

  • Fixed the sign-in link in a new instance's welcome email not working.
  • Fixed someone whose invitation link was refused being left signed in with no account.

Insites CLI Tool v6.2.2

October 13, 2026

changelog image

Bug Fixes

  • In CI, the INSITES_* variables no longer print a warning about a stored instance key that named the environment as undefined.
  • An access token (iak_...) in INSITES_INSTANCE_KEY is treated like one added with env add --token, so a pipeline on the private stack deploys through the Insites proxy and each deploy is recorded against the token's owner.

Insites CLI Tool v6.2.1

October 13, 2026

changelog image

Improvements

  • New lint check ModuleRouteClash (error): reports a page that takes the same address, method and format as a page an Insites module ships, such as a second /404 or / page. The instance does not refuse such a page; the new page silently takes over the module's page, so deleting it later deletes the module page too.
  • The reserved address check now lists only the addresses the platform really serves. The rule against slugs starting with admin, api, crm and similar segments now applies only to custom endpoints created through the API module, which is where Insites enforces it.
  • Includes the Insites Liquid linter and language server 0.2.1.

Insites CLI Tool v6.2.0

October 13, 2026

changelog image

New Features

  • Large deploys with an access token: assets now upload straight to storage, so only code and content count towards the 5 MB request limit.
  • env add <env> --instance-uuid <uuid> --token iak_... builds the Insites proxy address for you. Use --console-tier staging for the staging Console.

Improvements

  • The linter and language server (0.2.0) show Insites names and links only.
  • New lint checks ReservedName (error) and ReservedParameterName (warning, action and controller).

Notes

  • logsv2 is not available at the moment. Use insites-cli logs to follow an instance's logs.

Insites CLI Tool v6.1.0

October 12, 2026

changelog image

New Features

  • Sign in with an access token from the Insites Console's CLI tab: insites-cli env add <env> --url <proxy> --token iak_.... Requests go through the Insites proxy, which checks your role on every request and records each deploy and change in the instance's activity.
  • deploy --dry-run validates a release on the instance and lists every error at once, without changing anything.
  • Every deploy prints a report of what was upserted, deleted and skipped. --verbose lists the files, and --json prints the result as JSON.
  • insites-cli doctor checks your setup, sign-in and instances, and tells you how to fix each problem.
  • insites-cli logs --json prints one JSON object per log entry.

Bug Fixes

  • pull, modules pull and data export show "Data export is not supported by the server" on a 404 again.

Insites CLI Tool v6.0.0

October 12, 2026

changelog image

Breaking Changes

  • The default stack for a new environment is the private stack.
  • On the private stack the CLI stores your Insites Console sign-in, never the instance key. Each command asks the Console for the key, so removing someone's access stops their next command. Run insites-cli env refresh-token <env> to move an older environment onto the new sign-in.
  • INSITES_POS_KEY is now INSITES_INSTANCE_KEY (the old name still works with a warning). INSITES_STACK names the stack in CI.
  • The linter config file is .insites-check.yml. The old file name still works with a warning.

New Features

  • insites-cli migrations status <timestamp> and migrations retry <timestamp>.
  • insites-cli env refresh-token <env>.
  • modules init uses a starter bundled with the CLI.

Improvements

  • No known vulnerabilities in the CLI's dependencies (29 before).
  • The linter and language server are Insites packages.

Filter by

Date Period

1-10 of 525