>_CHANGELOG.HISTORY()

Here's what we've been up to.

Get a closer look at what we've been building: new features, performance enhancements, and platform upgrades. We typically push a platform update every week or two.

Cycle Changelog
v2026.04.28.1
Improved Resource Aware Orchestration, Smarter Auto-Scaling, and Concurrency Improvements
Latest
v2026.03.24.3
Optimized Load Balancing and Improved WAF Customizations
v2026.03.19.2
WAF Improvements, Better Sticky Sessions, and More
>_RELEASES.LATEST()

2026 Releases

v2026.04.28.1

Improved Resource Aware Orchestration, Smarter Auto-Scaling, and Concurrency Improvements

When the platform is choosing server placement, it now reads server health and available resources before picking a home for new instances. Auto-scaling no longer counts failed provisions and picks retry models by priority. Factory images stay cached for 10 minutes after a build instead of two giving more time to stream directly from factory to server. Several fixes also landed including: Ceph volume locks, IPv6 gateway routing, and a Windows ISO that needed a nudge to update.

Improvement

Instance Placement

We refactored our placement logic to be more aware of a server's health and its available resources when deciding where a new instance would be deployed.

Improvement

Auto-Scaling with Failed Provisions

Cycle will no longer include failed provisions in the 'max servers' count.

Improvement

Auto-Scaling with Model Priority

We refactored the orchestrators’ logic for selecting server models during retry attempts after a provisioning failure, prioritizing them based on defined order.

Improvement

Extended Factory Image Caching

After a successful build, the factory will now make the image directly available for up to 10 minutes (as opposed to 2 minutes). This decreases the likelihood that a node will need to pull an image from object storage during a first pipeline run.

Improvement

Notification Pipelines

Previously, notification pipelines which had a match context specified would include non-matching notifications if the notification had a null value. Tweaking this logic leads to less noise on the notification pipeline.

Improvement

Image Download Timeouts

Timeouts for images are now based on the known size of the image as opposed to a fixed duration.

Improvement

K-Bar Love

We've made some quality of life improvemnts to the CMD + K (or CTRL  + K - you know who you are) menu. Things should be a little easier to find now. We have more improvements coming soon.

Improvement

Job Queueing for Containers + DNS

We've made some optimizations to queuing for container and DNS operations, which should help with better concurrency.

Fixed

Ceph Volume Deletion

Fixed a bug where Ceph volumes would fail to release a lock on an image in some cases.

Fixed

Gateway Service (IPv6 Routes)

Remove default host route from environment gateway service as this lead to a race condition where VM-originated traffic would sometimes leave with the wrong IP.

Fixed

Windows VM ISO Utilities Cache

Previously the first version of the windows VM ISO downloaded would be the one always used, even if updated. Now, the platform will download updated versions of utility scripts and clean up old ones.

Fixed

VM Hostname Propagation

When a VM's hostname was updated after create, the underlying hypervisor wouldn't learn about it until a compute restart.

Fixed

Server Event Counts

We fixed a UI issue in the portal where some high priority server events weren't properly being surfaced.


v2026.03.24.3

Optimized Load Balancing and Improved WAF Customizations

This release brings a set of practical platform improvements focused on clarity, control, and resilience. Teams can now use custom DNS suffixes to better distinguish environments across VPNs, customize WAF block response codes on a per-rule basis, and benefit from faster load balancer rerouting when destinations become unavailable. We’ve also continued refining auto-scaling instance allocation to improve placement when new servers need to be provisioned under load.

Added

Custom DNS Suffixes

It's now possible to set a custom DNS suffix using the discovery service, in addition to the default .cycle suffix. This is especially useful when working with multiple environment VPNs to distinguish the same hostname in both environments.

Improvement

WAF Block Customization

Using response.http_code, teams can now configure, on a per-rule basis, the HTTP code that will be sent back to requesters on rule match.

Improvement

Load Balancer Routing

Continuing our optimizations of the load balancer, we've improved the responsiveness of the LB when a desired destination is no longer available and a reroute is needed.

Added

Auto-Scaling Instance Allocation

Building on the 2026.03.02.3 update, we've further optimized instance placement for situations where a new server needs provisioned as part of an autoscale.


v2026.03.19.2

WAF Improvements, Better Sticky Sessions, and More

This release delivers a focused set of reliability and integration improvements across the platform. The WAF now supports blocking and sample size for more granular control over rules. Integrators can now maintain sticky load balancer sessions with the X-Cycle-Session header, CNAME resolution has been corrected to avoid resolver issues caused by randomized responses, and a multipath iSCSI failure path that could trigger an LVM deadlock and suppress storage metrics has been resolved.

Added

WAF HTTP Block

Instead of forcing a connection disconnect with deny , http controllers can now utilize the block action to respond with a 403 to unwanted requests.

Added

Header-Based Sticky Sessions

Using the X-Cycle-Session header, integrators can now persist load balancer sticky sessions using unique identifiers as opposed to strict HTTP2 streams.

Improvement

CNAME Resolution

The discovery service, by defaults, randomizes the answers for A and AAAA lookups. This behavior mistakenly worked its way into CNAME lookups which caused issues with glibc resolvers.

Improvement

Multipath Deadlock

A failed iSCSI connection could lead to an LVM deadlock preventing the node from reporting storage metrics. This has been fixed.


v2026.03.11.2

Enhanced WAF, 15x Faster Networking, and Optimized Native LB Memory Usage

This update is all about clearing bottlenecks and tightening the screws. We’ve unlocked a massive 15x performance jump in private VM <-> VM and VM <-> Container networking, introduced HTTP body inspection for the WAF, and re-engineered the native load balancer to handle massive traffic spikes with even less memory.

Added

Additional Web Application Firewall Rules

The WAF can now match against both HTTP headers and HTTP bodies for traffic filtering. For HTTP body inspection, Cycle will only inspect the first 128KB.

Improvement

Load Balancer Routing

We fundamentally changed how routing decisions are made for routers who have 'sticky sessions' disabled. Now, a single HTTP2 stream can fan-out into multiple destinations for significantly improved workload distribution.

Fixed

Load Balancer Memory Optimization

We rewrote a few queueing procedures to help reduce memory usage during heavy (500K/min+) traffic.

Improvement

Virtual Machine Network Adapter

Virtual machines now utilize a vhost-net adapter for networking. In our tests, VM<>container and VM<>VM performance has improved by as much as 15X.

Fixed

Duplicate Functions

If two schedulers for the same environment ran on the same compute server, a race condition existed where occasionally two function instances would be initiated for a single trigger.

Added

Container Instance Metrics/Events

To improve observability of container instances, we've introduced the 'container.instance.uptime' metric and the 'container.instance.image.changed' event.


v2026.03.02.3

Smarter Auto-Scaling and iSCSI Multipathing Failover

This release tightens the loop on auto-scaling and provides a valuable fix to the iSCSI multipathing. Auto-scaling is now more demand-sensitive and provisions new capacity with more optimized instance placement when a scale-out requires a fresh server. On the storage side, we fixed an issue blocking proper iSCSI multipathing failover configuration, targets now negotiate multiple active paths as expected for stronger connection resilience. You’ll also see new autoscale-group options in the portal, including constraint tags and overcommit controls for more intentional scheduling and density.

Improvement

Auto-Scaling Sensitivity

Rebuilt the autoscaling algorithm to be a bit more sensitive to demands that would yield an autoscaling event.

Fixed

iSCSI Multipathing

Fixed a bug preventing iSCSI path failover from being configured properly. iSCSI targets now correctly negotiate multiple active paths for improved connection stability.

Improvement

Auto-Scaling Instance Allocation

Better optimized instance placement for situations where a new server needs provisioned as part of an autoscale.

Improvement

Auto-Scale Groups Configuration

In the portal when creating auto-scale groups, you can now select additional configuration options such as constraint tags and overcommit options


v2026.02.26.3

Major Performance and Observability Gains

This release brings major performance and observability gains, starting with big wins for the V1 load balancer. We've improved the load balancer to better support large-scale environments, improving controller update performance and traffic handling through increased concurrency and targeted micro-caching. Alongside these performance gains, we've expanded visibility across the stack with service version tracking, deeper network telemetry, detailed NIC insights in the portal, and improved latency diagnostics between nodes. This update also introduces more flexible RAID configuration for virtual provider servers, giving operators tighter control.

Added

Load Balancer Quartile Speeds

It's now possible to see a quartile breakdown of performance per URL/domain on a controller's URL breakdown in the load balancer view.

Added

RAID Flexibility

Users can now take advantage of the ability to select RAID mode for virtual provider servers.

Fixed

iSCSI Scanning Fixes

Fixed an issue that sometimes prevented iSCSI integrations in the same target group from being associated.

Improvement

Neighbor Latency Chart

The neighbor latency chart on the server settings page now shows additional useful information, such as the type of connection between nodes (public, private) and the encryption status of that connection.

Fixed

Neighbor Latency Chart

Fixed an issue where changing the filters on the neighbor latency chart was ineffective.

Improvement

Load Balancer Optimizations

To support environments with hundreds of containers, we've introduced more parallelism/concurrency patterns to the load balancer when applying updates to controllers. Additionally, we've introduced some micro-caches to support much larger traffic loads.

Improvement

Events Reporting

Similar events happening sequentially now collapse for a more readable events list.

Added

Stateless Volumes

Cycle now supports 'stateless' volumes. These volumes can be created for stateful containers and VMs, and are treated the same as volumes on 'stateless' containers: They are wiped when the container is stopped, and are not included in migrations. This is useful especially when storing a large amount of temporary data, but need to be able to migrate those containers or VMs quickly and efficiently.

Added

Additional Instance Networks Metrics

It's now possible to see the number of dropped and errored packets on an instance's telemetry stream.

Added

Detailed NIC Information

We've added a detailed breakdown of the network interface cards (NICs) on the server dashboard. This provides visibility into the private IPs associated with a server.


v2026.02.20.1

New Performance Mode, Enhanced iSCSI Support & Portal Improvements

This release introduces a new performance mode for the V1 load balancer, enabling higher resource utilization for demanding workloads. We've enhanced iSCSI external volume scanning with automatic SAN integration mapping, improved portal performance with faster metric load times, and upgraded latency visualization between load balancers and backend containers. Additionally, we've added service version visibility indicators, improved IPv6 support for virtual provider ISOs, resolved early iSCSI scan init issues, and introduced a new Windows VM startup networking utility.

Added

Performance Mode for Native Load Balancer

We've introduced a new setting that will allow the native load balancer to utilize far more system resources when enabled.

Improvement

Better iSCSI External Volume Scanning

External iSCSI volumes detected during a scan now automatically identify and append matching SAN integrations sharing the same "Target Group" name. This enables support for multiple IQNs per volume, facilitating advanced configurations such as Dell PowerStore.

Improvement

Load Balancer Metrics Load Time

Drastically improved load time for load balancer metrics in the portal.

Improvement

V1 Load Balancer Latency Chart

Implemented a higher quality latency chart from load balancer instance to backend containers for the V1 load balancer. Any environment where the load balancer is not using the latest version will have an empty router response graph.

Improvement

Environment Services Version Differences

The portal now shows when a service is out of date, and when different instances of a service are on different versions.

Fixed

iSCSI Volume Scanning

Scanning for iSCSI external volumes before any external volumes exist on the target server will now correctly initiate the required drivers in order to perform the scan.

Added

Windows VM Networking Utility

A new Windows VM utility script has been added to our cycle-utils mount that will install a startup service in the VM to reconfigure networking on boot automatically.

Improvement

Virtual Providers IPv6 for iPXE

Virtual provider ISOs now support IPv6 for iPXE network configurations


v2026.02.12.2

More Flexible Logging with Metrics and DNS Fixes

In this small release we were able to solve an internal DNS routing issue, improve the maximum log line size for log drain, and make container instance metrics more stable.

Fixed

Internal DNS Routing

With the rollout of our 'Safer DNS Routing' improvement, we discovered an edge case that affected IPv6 (non-legacy) environments that only had a public IPv4 address.

Improvement

Log Drains

Cycle was too aggressive with log draining, sometimes breaking lines too early. We've now implemented a buffer to allow log output lines persist, up to 10kb in length.

Fixed

Container Instance Metrics

We noticed that a few of the more niche metrics that Cycle was collecting were being accidentally zero'd-out due to a sanitization function.


v2026.02.05.5

V1 Load Balancer Becomes Default and Optimization of Domain Lookups

This release moves the V1 load balancer into the default load balancer position. After 18 months of performance and optimizations it is time for the V1 load balancer to take its rightful place as the default for every new environment moving forward. Users will still be able to opt into the HAProxy load balancer if they wish. On top of this, we've also made some major optimizations around how the V1 load balancer handles domain lookups. This will be very apparent for users with environments that have dozens or hundreds of containers.

Improvement

Internal API Optimizations

We significantly optimized the /v1/environment/containers call in regards to domain resolution. This is particularly useful for environments with 100+ unique public containers where load balancers would occasionally timeout while synchronizing.

Added

V1 Load Balancer as Default

All new environments are now set to use the V1 type load balancer moving forward. The HAProxy load balancer can still be used if needed.


v2026.02.03.5

More Capabilities with Storage, Better Pipeline Validation, and More Reliable Metrics.

This release brings meaningful improvements across compute, storage, and automation. Volumes can now be added or removed from virtual machines after create. iSCSI startup behavior has been improved and is far more reliable, and pipeline variables now how additional validation on syntax. Several fixes are also a part of the update, including, a race condition in bare metal provisioning, CPU/RAM and volume usage reporting, and metrics accuracy across the board.

Added

Add/Remove Virtual Machine Volumes Post-Creation

Volumes can now be added to, or removed from, virtual machines after the virtual machine has been created.

Added

Environment Limited Container Networking

Containers can now be configured with the environment-limited network setting. This allows for containers to communicate over the private network through the load balancer instead of using the discovery service directly.

Fixed

Bare Metal Provision Auth Failure

A race condition existed for the provisioning of bare metal servers when one would attempt to checkin prior to full authorization by the platform. Additionally, a newly provisioned node that fails to authorize, at start time, will now reattempt authorization up to 5 times before a reboot is required.

Fixed

iSCSI Daemon

Under some conditions, the compute service wouldn't start the iSCSI daemon when needed. This has been resolved.

Added

Pipeline Variable Validation

In pipelines, some user-supplied variables weren't being properly validated, syntactically, causing issues between pipeline steps.

Fixed

CPU/RAM Usage Metrics

The newly introduced 'Peak' metric in the portal had a calculation error that would lead to reported usage being higher than it was.

Fixed

Volume Usage

Usage calculations for local block devices are correctly surfaced following an issue in the latest release.

Added

Safer DNS Routing

Discovery will now automatically rewrite publicly resolved IPs to private IPs for any public traffic that would've left, and returned, to the same environment. In other words, if you were attempting to send traffic to "foo.bar.com" but the container serving "foo.bar.com" was a sibling container in the same environment, Cycle's discovery service will now resolve to the private IP of the load balancer -- preventing the traffic from ever leaving the private network.


v2026.01.21.2

Storage, Routing, and Observability Improvements

This update ships a large batch of improvements, new features, and a few fixes. We’ve added support for zstd-compressed images, which means the new Docker hardened images are now building and running as expected. The SAN integration released earlier this year has been rebuilt on top of our External Volumes abstraction, making it more flexible and easier to extend. Readiness can now be defined directly on a container and will continue to evolve into a more powerful way to manage instance state at a granular level. We’ve also introduced hub-level encryption to strengthen security, fixed external volume usage reporting, added support for marking infrastructure clusters as essential or non-essential to keep dashboards focused, and simplified path-based routing through linked records.

Improvement

Load Balancer Routes

The Cycle V1 LB is now able to adjust to routing changes more efficiently, especially within environments that have 25+ public containers. In testing, this lead to a 90% reduction in most sync times.

Added

Path Matching on LINKED Records

Paths can now be attached directly to LINKED records to indicate that they should only route to the specified container when the inbound request is to that specific path. Using this pattern significantly reduces complexity, and the risk of misconfiguration, compared to creating router-specific path matching rules. Additionally, this method enables the use of deployment tags.

Added

Metrics and Events On-Disk Buffer

The compute service now creates an on-disk buffer that will be used when an event/metric cannot be sent to the platform (network outage, high load, etc). On connection reestablishment, the queued events/metrics will be submitted.

Added

Support ztsd Compressed Images

Images that have zstd compressed layers are now supported by Cycle's factory.

Improvement

Rebuilt SAN Integration

The SAN support we launched in Q3 2025 has been rebuilt into our new storage abstraction, External Volumes.

Added

Metrics / Events Egress

Per environment, events and metrics can now be pushed to an external endpoint.

Added

Readiness Check

In a container config, a readiness check can now be specified. Initially, this will just attach a ready state. A future version will utilize this for load balancer routing, DNS, and more.

Security

Hub Level Encryption

Behind the scenes, we've adopted a new security process where all configs, variables, and metadata are encrypted on a per-hub basis as opposed to a per-core basis.

Improvement

Server Deploy Modal

Improved the process of deploying infrastructure in the portal.

Added

Uptime Chart

Added a new chart to environment dashboards to show successful pings of the environment load balancer. This is done by a service outside of your infrastructure, showing that your load balancer is publicly accessible.

Fixed

External Volume Usage

External volumes (SAN, Ceph) now properly report their usage.

Added

Non-Essential Clusters

Clusters can now be marked as 'non-essential', removing them from metrics on the new dashboards. This is useful for keeping development or staging clusters from presenting on critical dashboards.

Added

Resource Level Dashboards

New dashboards have been added across the portal, showing a birds eye view of important information for environments, images, pipelines and more.

Added

External Volume Scanning

It's now possible to scan for Ceph or SAN volumes that are present on the same network after configuring an external volume integration. External volumes will be automatically created upon discovery and available for attachment to containers and VMs.

Added

DNS Record Modal

We've added an improved UI for managing DNS records

Added

Priority Events Chart

Surfaces a high-level view of priority events on the environments, clusters, and servers dashboard.

Improvement

Vultr Bare Metal OOB Support

Servers deployed on Vultr now automatically use out-of-band (OOB) networks when supported by the underlying bare metal hardware.

>_DEPLOYMENT.AUTOMATION()

Stop configuring,Start building.

Experience the only control plane that natively orchestrates Containers, VMs, and Functions across any provider with a fully automated networking fabric.

Cookies

Cookies Preferences

We run basic, anonymous analytics by default to measure site traffic. By clicking "Accept," you allow additional cookies for advanced app improvements and tailored advertising. Choose what you share by clicking "Customize."