Changelog - Freestyle

Changelog

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:

Area Change Details
API Custom VM sizes Configure vCPU, RAM, and disk per VM up to 32 vCPUs / 32 GB RAM, still launching in ~400ms.
API VM resize Adjust vCPU, memory, and rootfs on existing VMs without recreating them.
API Command timeouts Set a max execution duration on commands; timeouts return HTTP 408 with any captured output.
API Docker credentials Pass dockerCredentials on VM and snapshot creation to pull from private registries.
SDK Docker credentials dockerCredentials available on vms.create and vms.snapshots.ensure.
SDK Postgres integration Declare a Postgres server, databases, and SQL scripts that bake into your VM snapshot.
API Observability logs query Query account-wide logs through the Observability API.
Dashboard Universal Logs Unified account-wide log view across every service, with service-level filtering.
Dashboard Git repo search Search repositories directly from the dashboard.
Dashboard Deployment fetch Fetch a deployment directly from the dashboard.
Dashboard Easy clone One-click clone command from the repository page.
Dashboard Cron + deployment creation Create a new deployment while creating a cron job, or select an existing deployment.
Dashboard SDK playground Experiment with the SDK directly in the dashboard playground.
Dashboard Dockerfile snapshot creation Create snapshots from Dockerfiles directly on the snapshots page.
Platform Git commit indexing Auto-generated after pushes — commit-history queries ~7x faster on large repos.
Platform Git pulls & LFS Throughput 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 targeted 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:

Area Change Details
API Git Search API Search across repositories stored on Freestyle, available through the SDK.
API Scheduled Triggers Define cron-based schedules that automatically execute your code on a recurring basis.
SDK skipCache parameter Skip cache on snapshot and VM endpoints.
SDK Snapshot delete Delete snapshots programmatically via the SDK.
SDK VM logger Built-in logger support for VMs.
Dashboard VM Logs View logs from your VMs. Filter by service name.
Dashboard Usage & Limits VM usage tracking with per-account limits visible in the dashboard.
Platform Landlock Enabled 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