# March 2026

{% updates format="full" %}
{% update date="2026-03-25" %}

## Smoother surfaces, steadier foundations

This release improves the cloud resource explorer, filters, and blueprint creation experience, while fixing several UI glitches and a webhook reliability issue.

#### ⚡ Improvements

**Cloud resource explorer opens as a side drawer**

When creating an environment from cloud, the resource explorer now opens as a side drawer on the same page instead of redirecting to the Cloud Graph page.

**What does it mean for you?**\
You stay in context while selecting resources to codify, no more bouncing between pages during environment creation.

***

**Polished dropdowns, filters, and UI details**

Filter dropdowns for packages and deployments now load incrementally with search support. All dropdowns across the app use a fixed width with truncation and tooltips for overflowed content. We also improved the blueprint creation page with a clear empty state and validation when no packages are added, and moved the confetti animation to appear on the newly created environment node.

**What does it mean for you?**\
Faster filtering on large lists, a more consistent interface with fewer layout shifts, and clearer guidance when creating blueprints.

***

#### 🐛 Bug fixes

**Fixed crash when user email is missing**

The application no longer throws an error when a user account has no email address on file.

***

**Fixed false output reference error during CLI install**

Installing a blueprint via CLI no longer shows a spurious "missing output reference" error caused by invalid references in the environment.

***

**Code editor errors no longer cut off screen**

Validation errors in the code editor input fields are now fully visible instead of rendering outside the viewport.

***

**Double-click no longer creates duplicate collections**

Rapidly clicking the "Connect and Create" button during collection creation no longer triggers multiple API calls.

***

**"Show unchanged" filter now re-applies correctly**

The unchanged filter in plan view now works properly when toggled off and on again while a main property filter is active.

***

**Reference picker now selects items on click**

Clicking an item in the reference picker popover (deployment, package, output step) now correctly selects it instead of closing the popover.

***

**Fixed deployment audit webhook failures for approve events**

The initiator and timestamp fields were not being resolved when processing deployment approve audit events, causing org-scoped webhooks to fail silently.
{% endupdate %}

{% update date="2026-03-18" %}

## Sharper collections, smoother workflows

This release strengthens collection management with smarter role handling and clearer policy labels, improves Slack integration reliability, and squashes a solid batch of UI and CLI bugs.

#### ⚡ Improvements

**Smarter collection member management**

Two updates to how users are assigned to collections: viewers can no longer be added as collection owners (since they lack owner-level permissions), and the user picker now displays each person's organization role (Admin, Deployer, Builder, or Viewer) under their name.

**What does it mean for you?**\
You can make faster, more informed decisions when assigning collection roles, and you won't accidentally grant owner access to users who can't use it.

***

**Slack link unfurling now works across all workspaces**

Bot-posted plan links (like run summaries) now unfurl correctly in any Slack workspace. Previously, unfurling only worked in workspaces where the bot ID was manually whitelisted.

**What does it mean for you?**\
Shared run links in Slack now show rich previews everywhere, so your team gets context at a glance without clicking through.

***

**Updated fallback and error screens**

We redesigned the 404, "not found," and uncaught exception screens to match our current visual style. Environments and runs that can't be found now show a dedicated fallback page instead of a blank screen.

**What does it mean for you?**\
When something goes wrong, you get a clear, helpful error page instead of a confusing white screen. It's easier to understand what happened and navigate back.

***

**Clearer "allowed blueprints" policy label**

We renamed the confusing "Restrict blueprints" label in collection policies to "Allowed blueprints" to accurately reflect its purpose.

**What does it mean for you?**\
Policy settings now say what they mean. Less second-guessing when configuring which blueprints a collection can use.

***

#### 🐛 Bug fixes

**Fixed admin users only seeing collection-allowed blueprints**

Admin users were incorrectly limited to collection-allowed blueprints in the deploy dropdown instead of seeing all available options.

***

**Failed run logs now auto-scroll to the first error**

When a run fails, the logs panel now automatically opens and scrolls to the first error instead of staying collapsed.

***

**Fixed CLI `bricks bp state-config` crash**

We resolved a "querystring/limit" error that was causing the `bricks bp state-config` command to fail.

***

**Blueprint output validation on publish**

Publishing a parent blueprint that references missing child outputs is now caught at publish time instead of failing silently at deploy time.

***

**Removed merge button from state diff viewer**

The merge button no longer appears when comparing environment state versions in diff mode. It was showing up and was clickable, but it shouldn't have been there.

***

**Renamed "deployment" to "environment" in remaining UI spots**

We updated leftover "deployment" references to "environment" in Cloud Graph discovery tooltips and the run deletion flow.

***

**Fixed package list offset after filtering during blueprint creation**

Filtering the package list, scrolling, then clearing the filter no longer keeps the stale scroll position from the previous results.

***

**Fixed blueprint manifest drawer format reset**

Closing and reopening the manifest drawer with "Raw" selected no longer resets the view to YAML formatted as JSON.

***

**Fixed swapped tooltips in "from code" environment modal**

The blueprint name and technology tooltips in the "Create environment from code" modal were displaying each other's text.

***

**Fixed cropped avatars in user popovers**

User avatars in collection assignment lists are now displayed at full size without clipping.

***

**Fixed spurious blueprint-level prop on `bricks bp add --props`**

Running `bricks bp add` with `--props` to override an artifact-level prop was also creating a redundant, empty blueprint-level prop for the same key. The extra prop is no longer generated.

***

**Terraform variables with `default = null` no longer treated as required**

The HCL parser was treating Terraform variables with `default = null` as required, forcing blueprint authors to add unnecessary inputs that could cause plan failures. These variables are now correctly recognized as optional.

***

**Fixed collection environments tab**

The environments table under a collection had a broken layout (action buttons dropped to a second line, missing git column header), and environments stuck in a "failed to create" state were leaking into every collection's list. Both issues are resolved.

***

**Fixed self-hosted task API missing cloud config**

The Get Task API was not returning `cloud_config` details for self-hosted accounts, preventing the local orchestrator from picking up tasks.
{% endupdate %}

{% update date="2026-03-11" %}

## Polish and reliability

This release focuses on UI consistency, clearer labeling, and improved stability across blueprints, environments, and deployment workflows.

### ⚡ Improvements

#### **Improved environment creation flow**

The "Create environment from code" flow received a round of UX improvements, including layout fixes, better validations, and interaction polish.

**What does it mean for you?**\
Creating new environments is now a smoother, more guided experience.

***

#### **Compact diff view**

The JSON diff modal for package and plan diffs now shows a compact, collapsed view by default instead of displaying the full file content.

**What does it mean for you?**\
Spotting what actually changed in a diff is now much faster. No more scrolling through hundreds of unchanged lines to find the relevant changes.

***

#### **Renamed "JSON editor" to "code editor"**

The JSON editor drawer has been renamed to "code editor" across the entire application to better reflect its capabilities.

**What does it mean for you?**\
The editor handles more than just JSON, and the name now reflects that. A small change, but it removes confusion when working with different file types.

***

#### **Better invite user placeholder**

The "Invite User" modal now clearly indicates that you need to enter email addresses.

**What does it mean for you?**\
No more guessing what goes in the input field when inviting teammates to your workspace.

***

#### **Standardized filters button height**

The filters button on the environment page now renders at a consistent height across the Overview, Runs, and Archived tabs.

**What does it mean for you?**\
A smoother, less jumpy interface when switching between environment tabs.

***

### 🐛 Bug fixes

#### **Fixed blueprint version selector getting stuck after editing**

Viewing the manifest during blueprint edit mode and then canceling would freeze the version selector. The selector now works correctly after exiting edit mode.

***

#### **Fixed artifact repository source missing in table view**

Package and artifact source links were visible on the blueprint page but missing from the packages table view. Source links now show correctly in both places.

***

#### **Fixed environment TTL toggle becoming unresponsive**

The TTL on/off switch would occasionally stop responding after toggling. We resolved the race condition causing the issue.

***

#### **Removed outdated tooltip on environment archive option**

Hovering over "Archive" in environment options showed an outdated "uninstall before archiving" warning. The tooltip has been removed.

***

#### **Fixed docs link on environment properties**

The "Docs" link on the empty environment properties placeholder was linking to the general environments page instead of the properties documentation. It now points to the correct page.

***

#### **Fixed plan page outputs filter after codification**

After codifying a resource via Cloud Graph, clicking the outputs filter on the plan page showed "no results" even though outputs existed. The filter now works as expected.

***

#### **Fixed error code mismatch after taxonomy rename**

The UI was still referencing an old error code after the deployment-to-environment rename, causing certain error states to not display correctly. Updated to match the backend.

***

#### **Fixed collection list error for non-admin users**

Builders filtering collections by user encountered a 400 error. The filter query now works correctly for non-elevated users.

***

#### **Fixed 400 error on blueprint manifest page**

Viewing certain blueprint manifests returned a 400 error due to a parsing issue. The manifest parser now handles edge cases correctly.

***

#### **Fixed destroy retry failing with "stale plan"**

When an uninstall partially completed and then failed, the retry would reuse the old plan file and Terraform would reject it as stale. Retries now regenerate a fresh destroy plan.
{% endupdate %}

{% update date="2026-03-04" %}

## Streamlined creation, clearer signals

This release unifies the artifact creation experience, improves environment lifecycle management, and delivers better error messages and status accuracy across the platform.

### **🚀 New features**

#### **Unified artifact and blueprint creation flow**

Blueprint creation now uses a single entry point that supports both CLI-publish and repository-based flows when creating artifacts, removing the need to choose between different creation paths.

**What does it mean for you?**\
Whether you publish via the CLI or connect a repository, you now follow the same streamlined path, reducing friction and confusion, especially if you don't use GitHub.

<figure><img src="https://1276391615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTNb56y45UcGc1mYxzk2l%2Fuploads%2Fgit-blob-756a84473f3b9ba7c888756afc0a698df0345681%2Fimage%20(9).png?alt=media" alt=""><figcaption></figcaption></figure>

***

#### **Auto-remediation for drift detection**

You can now enable auto-remediation on scheduled drift detection jobs. When enabled, if drift is detected, Bluebricks automatically triggers a follow-up run with auto-approve to bring the environment back to its desired state.

**What does it mean for you?**\
No more manual intervention after drift is found: enable auto-remediation and your environments self-heal automatically, reducing response time and operational overhead.

<figure><img src="https://1276391615-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FTNb56y45UcGc1mYxzk2l%2Fuploads%2Fgit-blob-a57427819277b753cbe28530fdc73d8acd622de6%2Fimage%20(8).png?alt=media" alt=""><figcaption></figcaption></figure>

***

### **⚡ Improvements**

#### **Extended TTL uninstall deploy types**

The uninstall process for TTL-based environment cleanup now correctly supports `auto_approve` and `incremental` deploy types, ensuring consistent behavior across all lifecycle flows.

**What does it mean for you?**\
Automated cleanup and lifecycle management for multi-deploy-type environments are now more predictable and reliable.

***

#### **Archive environments without uninstalling**

Environments can now be archived regardless of their install status. We also updated the confirmation message to more clearly explain what archiving means.

**What does it mean for you?**\
You can organize and clean up your environment list without being forced to uninstall first, giving you more flexibility over environment lifecycle management.

***

#### **Plan-only runs no longer show as drifted**

Plan-only runs that detect changes no longer incorrectly move the environment status to "drifted."

**What does it mean for you?**\
Your environment statuses stay accurate and trustworthy, so you can rely on drift indicators without second-guessing whether a plan-only run caused them.

***

#### **Copy manifest on blueprint page**

The package manifest drawer now includes a copy-to-clipboard button when opened from the dedicated blueprint page.

**What does it mean for you?**\
Quickly grab your manifest content without manually selecting text, especially handy when sharing configurations or debugging.

***

#### **Renamed "Component" column to "Environment"**

We renamed the "Component" column on the homepage required actions table to "Environment" to more accurately reflect what it contains.

**What does it mean for you?**\
Clearer labeling means less guesswork when scanning your required actions.

***

#### **Improved error messages across the platform**

We improved error handling in several areas: the package manifest page no longer returns a 400 error for certain parsing issues, `PACKAGE_NOT_FOUND` responses now show human-readable package names instead of UUIDs, and cloud discovery permission errors now display a unified, provider-agnostic message.

**What does it mean for you?**\
When something goes wrong, you get clearer, more actionable error messages, less time deciphering cryptic responses and more time fixing the actual issue.

***

#### **Continued taxonomy and microcopy alignment**

We continued aligning product terminology, updating the deploy page banner and environment run deletion toast to use current naming conventions.

**What does it mean for you?**\
A more consistent experience across the platform as we finalize our terminology updates.

***

### **🐛 Bug fixes**

#### **Fixed nested blueprint node on cloud graph**

Resolved an issue where the cloud graph incorrectly displayed nested blueprint nodes after navigating from the environment page.

***

#### **Fixed broken page layouts**

Resolved an issue where certain page components were overlapping instead of maintaining proper spacing.
{% endupdate %}
{% endupdates %}
