What we’ve shipped
Every release, dated, with what actually changed in it. Currently on v1.29.126, released 10 October 2026.
Node cards show each agent's version under the node name and keep every action readable on desktop, tablet and phone.
- FixedOn the Nodes page, the Placement & capacity button is fully readable at every screen width, with the agent version shown under the node name instead of beside the actions.
- ImprovedUpdate agent is offered only while a node is online; an offline node shows Repair, which connects to the server over SSH and restarts its agent.
Deployment History shows the image tag each Docker Compose deployment ran.
- FixedWhen a Docker Compose service sets its image tag with a variable that has a default value, such as ${APP_VERSION:-latest}, Deployment History shows the tag that was deployed instead of the variable text.
Aligned Smart Fill controls on desktop and mobile.
- FixedThe routing suffix and Fill configuration button align consistently, including while configuration is being generated or a validation message is displayed.
Reliable Supabase Realtime and clearer service setup.
- FixedSupabase Realtime presence, broadcasts, and database change subscriptions stay connected during message delivery. Existing services require refreshed Compose and Kong configurations followed by a redeploy.
- ImprovedAI configuration fill generates secure secrets and matching access keys while preserving credentials supplied for external providers. Regenerating a signing secret also updates its linked access keys.
- ImprovedCreate Service groups required settings, secrets, and optional settings, with clearer validation and layouts for desktop and mobile.
Secret handling covers the full service catalog.
- ImprovedAll 162 service templates now handle secret fields consistently: internal passwords and signing keys can be generated safely, while provider credentials, hashes, connection strings and format-specific keys stay masked for user-supplied values.
Generate secrets safely across the template catalog.
- FixedMore than 60 service templates identify their secret fields and offer safe generation for internal passwords, signing keys and bootstrap credentials. Provider-issued credentials stay masked and must still be supplied by the user.
Generate template secrets safely from the service form.
- FixedTemplate secret fields can be generated individually or together from the service form, with configurable formats and linked values such as Supabase JWT keys. Generated values stay masked in the form and are encrypted when the service is saved.
Generate consistent Supabase keys from the service form.
- FixedThe Supabase service form generates one matching JWT secret, anonymous key and service-role key automatically, preventing Realtime WebSocket connections from failing signature verification. Existing deployments should rotate exposed keys and redeploy.
Generate consistent Supabase authentication keys.
- FixedNew Supabase deployments generate one matching JWT secret, anonymous key and service-role key automatically, preventing Realtime WebSocket connections from failing signature verification. Existing deployments should rotate exposed keys and redeploy.
Keep Supabase authentication keys aligned with Realtime.
- FixedSupabase deployments reject mismatched JWT secrets and API keys before they ship, preventing Realtime WebSocket connections from failing signature verification. Regenerate ANON_KEY and SERVICE_ROLE_KEY from the same JWT_SECRET when creating or updating a deployment.
Correct routing for services with multiple domains.
- FixedServices with multiple domains keep each domain routed to its selected container and port, so Supabase Studio opens on its configured hostname. Update the agent and redeploy affected services to apply this fix.
More reliable Supabase deployments on slower servers.
- FixedSupabase waits up to two minutes for Realtime migrations and tenant setup on first boot, helping deployments become healthy on slower servers without masking failed readiness checks.
- FixedOpening a Supabase API domain now identifies the available API endpoints and Studio URL instead of showing an unexplained gateway error.
Clearer backup errors and reliable Appwrite database readiness.
- FixedBackup logs identify rejected multipart uploads and missing S3 routes without exposing credentials or private file paths. Update the agent on backup nodes to receive these diagnostics.
- FixedThe Appwrite template checks database readiness using existing service credentials, allowing deployments to reuse stored databases without a separate health-check credentials file. Existing services need the updated readiness probe applied to their Compose source.
Reliable deployment credentials and Supabase startup.
- FixedCompose deployments preserve dollar signs, backslashes, and other special characters in passwords and tokens so applications receive matching credentials. Update the agent and redeploy affected services to apply this fix.
- FixedSupabase initializes its database roles before starting dependent services and reapplies their configured passwords on restart without clearing stored data. Existing installations must restore the maintained template after updating ZenSailor; review customizations and take a backup first.
- FixedSupabase database health checks use an existing database role, eliminating repeated missing-root-role errors in the logs.
Consistent S3 gateway uploads and readable backup logs.
- FixedAll S3 backup destinations using rclone share a 5 MiB multipart upload threshold, reducing oversized requests to storage gateways regardless of the endpoint path. Update the agent on each backup node to receive this change; destination limits still apply.
- ImprovedOperators can override the multipart threshold and part size through the agent environment to suit their storage provider.
- FixedLong backup log messages wrap without overlapping, and the progress dialog keeps its controls and status readable on smaller screens.
- FixedBackup diagnostics no longer mistake digits in object identifiers for storage authorization errors.
Appwrite backup uploads and clearer backup diagnostics.
- FixedBackups to Appwrite use multipart uploads with 5 MiB parts to avoid oversized upload requests. Update the agent on each backup node to receive this fix; destination bucket size limits still apply.
- ImprovedBackup logs report processed data and file counts, warn after 60 seconds without new progress, and explain common storage errors without exposing private filenames or credentials.
- FixedContainer log history remains available when the agent cannot read the server's log files directly, and log retrieval failures are reported instead of appearing as empty history.
More reliable S3 backups and faster automatic deployment queueing.
- FixedS3 backups using configured DNS servers or custom host names stay connected during slow responses, and broken connections close so uploads can retry. Update the agent on each backup node to receive this fix.
- FixedA backup that stops reporting progress now shows a stalled state in the dashboard with clear recovery actions instead of an endless spinner.
- ImprovedAutomatic deployments enter the queue sooner when many services change together, with parallel repository checks and failures isolated to the affected service. Existing limits on simultaneous deployments still apply.
Backups now succeed on every run, not only the first.
- FixedInstance and service backups to an S3 destination no longer fail on the second and later runs once the backup repository exists. Update the agent on each backup node to pick this up.
- FixedA Supabase service that starts from an existing database volume now comes up cleanly: missing database roles and JWT settings are repaired automatically during startup.
Backups can use Appwrite Storage, and existing Supabase services recover their database access on restart.
- NewBackup destinations can use Appwrite Storage's S3 endpoint, including bucket IDs, project credentials, service-scoped repositories and restore operations.
- ImprovedExisting Supabase installations repair missing database roles and JWT settings when they start, so API services can recover after a partial initial setup.
Supabase starts reliably on LAN satellite nodes.
- FixedSupabase deployments on LAN satellite nodes repair missing database roles and JWT settings when an existing PostgreSQL volume skips initialization, so Auth, REST, Storage and Realtime can start without clearing valid data. Update ZenSailor and redeploy Supabase.
Appwrite serves its S3 API, and Supabase starts on a second node.
- NewS3 clients can read and write Appwrite Storage at the service domain under /v1/s3, using path-style addressing, region auto, the project ID as the access key and an API key as the secret. Update ZenSailor and the deployment node's agent, then redeploy Appwrite.
- FixedA Supabase service on a second node starts and stays healthy, including when the database volume already exists. Update ZenSailor and the deployment node's agent, then redeploy Supabase.
Appwrite can store files on S3 and send mail through SMTP.
- NewAn Appwrite service can store files on Amazon S3 or an S3-compatible provider, and S3 clients can read and write those files at the service domain. Update ZenSailor, then redeploy Appwrite and set the S3 variables to keep files off the local volume; raise the storage limit before uploading objects larger than 30 MB.
- NewAn Appwrite service can send verification and invite email through an SMTP server you configure.
Appwrite signup and API requests reach the correct service.
- FixedAppwrite domains route Console pages, API requests and realtime connections to their respective containers, preventing signup failures with an HTML-only response. Update ZenSailor and the deployment node’s agent, then redeploy Appwrite to apply the routing correction.
Reliable background processing for Appwrite services.
- FixedAppwrite combined workers and schedulers use connection pools sized for their concurrent queues, preventing publisher connection timeouts. Update ZenSailor and the deployment node’s agent, then redeploy the existing Appwrite service to apply the fix without recreating it.
Choose build and run nodes when creating a service.
- NewChoose a build node and a run node when creating a service, inherit the project defaults, or let ZenSailor choose automatically. Prebuilt templates clearly show that no build node is needed, and Compose choices account for nodes that can both build and run.
- FixedProject Node Defaults keeps selections visible while node status refreshes and explains where each default applies. Saving refreshes the project before the window closes, so reopening shows the saved choices.
Reliable multi-node deployments and visible AI repair progress.
- FixedStacks that use prebuilt images, including Appwrite, start on the selected deployment node even when a different build node is configured. Update the control plane and node agents before retrying the deployment.
- ImprovedAI deployment repair can spend up to five minutes preparing a proposal, with elapsed time and progress stages. You can close and reopen the window without restarting the request, then review the changes before applying them.
- FixedAsk AI stays clearly labelled in deployment and container logs across desktop and phone layouts, with log controls above the output.
Reliable Appwrite execution and AI diagnosis for stopped services.
- FixedAppwrite deployments no longer fail with “Own container not found” in the executor. Update ZenSailor and the deployment node’s agent, then redeploy the Appwrite service to apply the fix.
- FixedAsk AI remains available for retained container logs after a crash, stop or paused stream, so failures can be diagnosed without restarting the service. Log controls stay above the output and remain accessible on phones.
Clearer satellite setup and automatic routing for local stacks.
- FixedSatellite preflight can prepare its database connection using the dashboard address configured during stack installation. Update the control plane and run preflight again; certificate verification remains enabled.
- ImprovedAdd Satellite Node has a compact layout with grouped connection settings, clear preflight results and actions that stay available while scrolling. The form adapts to phones and tablets, supports creating an SSH key without losing progress, and respects reduced-motion preferences.
- ImprovedSatellite preflight distinguishes control-plane storage and certificate problems from interrupted connection checks, with guidance for the affected server.
Automatic satellite connection recovery and verified server cleanup.
- ImprovedSatellite preflight automatically refreshes the database route and retries failed TLS connections, with specific results for unreachable addresses and certificate problems. Update the control plane and run preflight again to use this recovery.
- ImprovedRemoving a satellite cleans its agent, credentials and managed network settings over SSH before removing it from the fleet. Services and stored data must be moved or removed first; if cleanup cannot finish, the node stays listed for retry.
- FixedCompleted deployment history remains available after its satellite node is removed.
Review AI deployment repairs, refresh templates and connect satellite nodes with fewer interruptions.
- NewReview AI repair proposals for failed deployments, apply supported configuration changes and redeploy, with a saved configuration checkpoint available for recovery.
- ImprovedDeploy Appwrite 2.2.0 and the Supabase self-hosted v0.8.1 stack from maintained templates, with upgrade guidance for existing installations.
- NewUse your configured AI provider to review experimental template image updates, inspect registry evidence and restore the bundled template when needed.
- NewRun an optional three-task AI benchmark with your configured model, inspect individual checks and response times, and export the result.
- ImprovedCompare plans with clear monthly and yearly billing totals, current-plan guidance and layouts adapted for phones, tablets and desktops.
- NewCreate or generate an SSH key inside Add Satellite Node without losing your node details, then authorize its public key on the satellite.
- ImprovedSatellite provisioning configures local installation names automatically and verifies the database's encrypted connection before host setup, including installations with an HTTP dashboard.
- FixedFailed or interrupted satellite provisioning can be retried without a stale run blocking progress.
Consistent controls for S3 backup setup
- FixedS3 endpoint setup and editing display properly styled inputs, aligned checkbox descriptions, schedule controls, and validation messages in light and dark themes, with layouts that fit phone and tablet screens.
A clearer workspace for variables and secrets
- ImprovedScan variable names and values in aligned columns, with separate controls for secret visibility, temporary reveal and value editing.
- ImprovedAdd variables from an expandable form with the secret toggle beside the Add button, including on phone screens.
- ImprovedProject and service variable lists adapt to smaller screens, with clearer secret labels in light and dark themes.
Clear control over variable visibility
- NewReveal a secret temporarily or change its secret marking without replacing its stored value.
- ImprovedOrdinary variables stay visible across project, environment and service settings, while explicitly marked secrets remain hidden until revealed.
- ImprovedSecret reveals and changes to secret marking appear in the audit log without exposing their values.
- FixedFailed variable saves retain your replacement text, and removing variables in Raw view requires confirmation.
Stronger account and deployment security
- ImprovedDeployment images require authenticated access and use a separate network from ordinary services.
- ImprovedTwo-factor authentication and account revocation protect browser sessions and live connections.
- ImprovedSingle sign-on requires a verified identity link and current organization membership. Administrators must link existing single sign-on accounts before users sign in again.
- ImprovedGit builds keep repository credentials out of checkout metadata and restrict generated build files to the selected repository.
- ImprovedInstance operators must explicitly allow connections to internal identity, notification and artificial intelligence services before upgrading.
- ImprovedWebsite accounts require mailbox verification before access. Existing customers must complete the emailed password-reset flow once.
More reliable private service connections in Compose deployments.
- FixedSupporting services configured only on internal networks remain isolated during deployment and network recovery, while applications retain access to their managed databases.
- FixedCompose deployments preserve connection settings defined for individual containers and correctly resolve nested environment-variable defaults. To configure a hard-coded Compose value through the dashboard, reference the variable in Compose or edit the per-service override.
- FixedApplications retain their local Compose network when routing is added, keeping connections to supporting services available.
Backups finish even when one file cannot be read, with a warning instead of a failure.
- FixedA backup that cannot read a single file, such as a database cache file owned by its service, no longer fails outright. The snapshot is kept and the backup finishes with a warning naming the file, so everything else remains restorable.
- FixedPermission errors during a backup now name the file that could not be read and explain how to include it on the next run, instead of showing raw backup tool output.
Service, project and instance backups complete, and you can follow them until they finish.
- FixedCreating a backup of a service, a project or the instance no longer fails as soon as it starts.
- ImprovedThe service Backups tab follows a running backup in a progress window, and backup history stays visible while the job runs.
- ImprovedRestore and Delete on backup history are labeled actions. If history cannot be loaded, the page says so instead of showing an empty list.
Backups connect reliably to local and private S3 storage servers.
- FixedBackups to local network or private S3 endpoints no longer fail when the storage server presents a self-signed certificate, private certificate authority, or internal hostname.
- ImprovedEntering a local or private network S3 address automatically enables self-signed certificate support in backup settings.
Cleanup previews the space it will actually free, and finishes cleanly.
- ImprovedThe maintenance cleanup preview now reports the disk space that will actually be reclaimed, counting only the layers an image uniquely holds.
- FixedPlatform versions that share the same image are now removed correctly during cleanup instead of reporting a conflict.
- ImprovedCleanup also removes superseded platform images kept under an older registry name.
The documentation is rebuilt: complete, structured, and searchable.
- NewThe documentation is rebuilt at zensailor.com/docs — 54 pages across 14 sections covering installation, deployments, networking, storage, backups, nodes, security, organizations, the CLI and the API, with full-text search (Ctrl+K) and a table of contents on every page.
- ImprovedEvery former documentation link keeps working: old /docs pages redirect to their new home, so installer output and bookmarks need no changes.
- ImprovedThe Developer API page in the dashboard now links to the product documentation right beside the API reference.
Cleanup reclaims disk space from deleted services and old platform versions.
- ImprovedCleanup now removes images that no running service, deployment or Compose configuration still uses, including those left behind by deleted services.
- ImprovedImages from earlier control-plane and agent updates are removed automatically; the current version and the one before it are kept for rollback.
Maintenance cleanup no longer restarts healthy services.
- FixedA scheduled or manual cleanup no longer restarts services that are running normally on another node.
- FixedAn automatic recovery no longer queues a second, duplicate deployment of the commit that is already running.
Comprehensive platform security hardening and session containment.
- ImprovedChanging an account password now requires verifying the current password and automatically signs out all other active sessions.
- ImprovedWebhook redeploy URLs are now masked by default with on-demand reveal and copy controls to prevent accidental exposure.
- ImprovedDocker Compose configurations display inline security warnings when elevated privileges or sensitive host paths are detected.
- FixedFile mounts and volume paths strictly validate directory containment, preventing path traversal outside approved service roots.
- FixedInitial administrator setup and instance onboarding use atomic database transactions to ensure unambiguous platform ownership.
Private DNS mappings are easier to manage.
- FixedPrivate host entries in System & Maintenance now keep their remove actions compact and aligned with resolver rows on desktop and mobile.
ZenSailor updates itself in place — run zensailor system update, or use the update panel in your dashboard.