Blog

Changelog

Legacy API deprecations, private networking, secret injection, persistent terminals, and larger VMs.

API deprecations

Freestyle is now focused on VMs. We've deprecated the standalone Git, code execution, web deployment, and scheduled trigger APIs. The current platform covers VMs, snapshots, networking, domains, and identities.

VM updates

Since our last changelog, we've added more control over how agents use their VMs: what they can reach, which credentials they can use, and who can access their work. VMs now scale to 64 GiB of memory on Pro, terminals can reconnect to the same running process, and private networks can connect to your existing infrastructure.

The main changes since April are as follows:

AreaChangeDetails
VMsUbuntu base snapshotsUbuntu 24.04 images with systemd, Docker, Node.js, and Python ready to use. A minimal BusyBox image starts at 128 MiB of memory.
VMsLarger VMsPro supports up to 32 vCPUs, 64 GiB of memory, and 256 GB of disk per VM. Enterprise supports custom limits.
APILive resizingGrow a running VM's CPU, memory, and disk without rebooting or recreating it.
APIPaused VM capacityPaused and stopped VMs release their share of your vCPU and memory budgets. Paused VMs retain their memory and disk and incur only storage charges.
NetworkingDual-stack VPCsConnect VMs over private IPv4 and IPv6 networks, with automatic or explicitly assigned addresses.
NetworkingWireGuard tunnelsConnect your computer or existing infrastructure to Freestyle VPCs. Attach and detach networks without replacing the tunnel's configuration.
NetworkingFirewall APIExplicitly allow traffic between VMs, VPCs, tunnels, IP ranges, and the public internet, with port and protocol filters. VM creation requires a firewall configuration.
NetworkingFree domains and custom domainsPublish a VM service on an available style.dev name, or use your own verified domain with managed HTTPS and wildcard support.
NetworkingCredential injectionInject HTTP headers or authenticate outbound Postgres connections at the edge, so agents can use services without storing those credentials inside the VM. HTTPS header injection also supports private Git clone, fetch, and push.
NetworkingForward authProtect public VM services with your own authorization endpoint. Reuse one configuration across domains and keep designated session cookies out of the VM.
NetworkingCustom egressRoute VM traffic through a router VM or a WireGuard exit. SOCKS5 rules also let proxy-aware clients use your own proxy with credentials held at the edge.
SDKPersistent terminalsName PTY sessions and reattach by name or ID after disconnecting. The process keeps running, with terminal resizing and signals available through the SDK.
SDKScoped client tokensGrant an end user or agent access to specific VMs and Linux users without sharing your team API key. Revoke individual tokens or VM grants.
SDKLarge file transfersTransfer files up to 16 GiB with automatic chunked uploads, progress reporting, and retries. Stream downloads or read a range of bytes without loading the whole file.
CLIVM and account toolsManage VMs, snapshots, files, networks, domains, and identities from the CLI. Create and revoke API keys from a browser login, with JSON output for scripts.
DashboardBranded placeholder pagesSet your own logo and product name for pages on your verified domains that do not yet have a VM route. Configure branding once per account.
DashboardData transfer estimatesThe wallet shows data transfer usage and estimated transfer costs for Hobby and Pro. Traffic between your VMs inside a VPC is free.
PlatformVM creation under loadWhen a host refuses a new VM because it is overloaded, creation retries placement on another eligible host.
Ben Swerdlow

Custom VM Sizes, Git Speed Up, Universal Logs Dashboard and more.

This week Freestyle got faster and more powerful. We launched custom VM sizes which allow users to get up to 32 vCPUs and 32 GB of RAM (the most powerful on the market by a factor of 2x) in 400ms. We fixed a series of bugs related to docker rate limits and scaling VMs. We majorly upgraded git with massive performance increases throughout every part of the system — the serverless APIs, pulls and LFS all saw QOL updates along with indexing that made large git repos ~7x faster. We also launched the universal logs dashboard which is a single place to see everything going on in Freestyle.

The specific public changes that landed this week are as follows:

AreaChangeDetails
APICustom VM sizesConfigure vCPU, RAM, and disk per VM up to 32 vCPUs / 32 GB RAM, still launching in ~400ms.
APIVM resizeAdjust vCPU, memory, and rootfs on existing VMs without recreating them.
APICommand timeoutsSet a max execution duration on commands; timeouts return HTTP 408 with any captured output.
APIDocker credentialsPass dockerCredentials on VM and snapshot creation to pull from private registries.
SDKDocker credentialsdockerCredentials available on vms.create and vms.snapshots.ensure.
SDKPostgres integrationDeclare a Postgres server, databases, and SQL scripts that bake into your VM snapshot.
APIObservability logs queryQuery account-wide logs through the Observability API.
DashboardUniversal LogsUnified account-wide log view across every service, with service-level filtering.
DashboardGit repo searchSearch repositories directly from the dashboard.
DashboardDeployment fetchFetch a deployment directly from the dashboard.
DashboardEasy cloneOne-click clone command from the repository page.
DashboardCron + deployment creationCreate a new deployment while creating a cron job, or select an existing deployment.
DashboardSDK playgroundExperiment with the SDK directly in the dashboard playground.
DashboardDockerfile snapshot creationCreate snapshots from Dockerfiles directly on the snapshots page.
PlatformGit commit indexingAuto-generated after pushes — commit-history queries ~7x faster on large repos.
PlatformGit pulls & LFSThroughput improvements across pulls and LFS transfers.
Ben Swerdlow

Git Search API, scheduled triggers, VM logs, and more.

After our launch on April 6th we got a ton of new interest and feedback from the community. This has been a week of targetted bug fixes, performance improvements and few new features. We focused on addressing concerns from users in our Discord and fixing onboarding pain.

This Friday we officially transitioned from the freestyle-sandboxes package to the freestyle package name. This will be our primary package going forward. bun i freestyle just works now.

The specific public changes that landed this week are as follows:

AreaChangeDetails
APIGit Search APISearch across repositories stored on Freestyle, available through the SDK.
APIScheduled TriggersDefine cron-based schedules that automatically execute your code on a recurring basis.
SDKskipCache parameterSkip cache on snapshot and VM endpoints.
SDKSnapshot deleteDelete snapshots programmatically via the SDK.
SDKVM loggerBuilt-in logger support for VMs.
DashboardVM LogsView logs from your VMs. Filter by service name.
DashboardUsage & LimitsVM usage tracking with per-account limits visible in the dashboard.
PlatformLandlockEnabled Landlock in the VMs kernel for filesystem sandboxing.

Coming Next

We're working rapidly on observability, documentation/sdk work and speed. We're upgrading our logging system a ton now and will soon have a unified logging experience across all services in the dashboard. We'll be exposing more tools in our CLI, SDK and API for understanding the state of your VMs, debugging failures and monitoring production workloads.

We want our SDK has the best support for complex usage patterns of agents using computers. To do this we're adding more integrations to support many common tools and services better in our VMs. We've revamped our integration architecture to automatically support docker-layer caching which should make all usage with it much faster.

Our median VM startup time right now is ~400ms and we hope to get that to <300ms by the end of this month.

Ben Swerdlow
esc