November 2025
Bluebricks Release Notes
Promote & Inspect
This release introduces powerful new workflow capabilities, including the ability to promote deployments across environments and a full in-app blueprint viewer. Alongside these upgrades, we've delivered significant improvements in usability, performance, and API consistency, along with a focused set of stability fixes across cost handling, package validation, and slim configuration generation.
🚀 New Features
Promote deployments from Graph and Deployment pages
You can now promote a deployment directly from both the Graph view and the Deployment page. A new modal lets you select a target environment (excluding the current one) and sends you to Deploy with the selected run’s configuration automatically prefilled.
What it means for you: Promoting deployments is faster and less error-prone. No more rebuilding configuration manually or navigating through multiple screens.
View Blueprint in the app
A new read-only Blueprint view page lets you inspect any blueprint version in detail. The page mirrors the familiar creation layout and includes a version switcher, packages list, inputs, tags, and a full code view.
What it means for you: You can quickly explore blueprint history, audit configuration changes, and understand version differences—all without leaving the app or opening external files.
⚡ Improvements
New /api/v1/user/me endpoint
/api/v1/user/me endpointIntroduces an authenticated endpoint that derives the user from the JWT and returns consistent user details.
Simplified Run deployment components
Run deployment logic and state have been centralized into the root component, making child components purely presentational. This reduces side effects and improves maintainability.
Custom accessible Drawer component
Replaces the legacy Material Tailwind Drawer with a fully accessible, keyboard-friendly custom Drawer. It supports multiple placements, a focus trap, a consistent overlay, and is now used across logs, JSON drawers, and all sidebar panels.
Truncated long values in Blueprint Inputs
Long field names and values in the blueprint wizard are now truncated with an ellipsis and spaced correctly, preventing layout clashes while keeping the content readable.
Invite button disabled until email is entered
The Invite User modal now keeps the action button disabled until a valid email is entered, improving clarity and avoiding no-op clicks.
Multi-select tag filtering for Packages
Blueprints and Artifacts tables now support filtering by multiple tags at once. Tag options come directly from the backend filters API for accuracy.
Reduced noise from synthetic DOM Event errors
Synthetic DOM Event errors without an underlying error object are now filtered out before reaching Sentry, keeping monitoring focused on actionable issues.
Improved cost policy microcopy and yearly estimate
Cost guardrail wording has been refined (“Limit monthly costs” and “Current usage”), and an inline yearly estimate is now shown and updated automatically as users adjust limits.
Persist plan metadata per deployment run
Plan metadata is now stored directly in deployment activity records for final stages, improving performance and reducing unnecessary plan recomputation. Fallback logic ensures compatibility with older runs.
JWT authentication warnings instead of errors
Missing or invalid JWTs now log at the warning level rather than error level, reducing noise from expected traffic—while still returning the correct 401 status.
Package filters use only latest versions
The filters API now derives artifacts, technologies, and tags exclusively from the latest package versions, with tag grouping by type. This fixes inconsistencies in filtering behavior.
User-initiated state unlock without lock ID
The lock delete API now allows UI-triggered state unlocks without requiring the lock ID, while still enforcing strict validation for runners and basic-auth integrations.
Consistent terminology in Environment Overview
Environment Overview now uses "Monthly cost" consistently, aligning with the cost policy wording.
Improved navigation after disabling a blueprint
Disabling a blueprint now redirects back to the Packages list with a clear notification instead of leaving users on a stale detail page.
Refined Review button behavior
The Review button appears only on hover or focus and only when a deployment has runs, improving clarity in the Deployments table.
🐛 Bug Fixes
Stabilized pods during Infracost outages
Production pods now remain stable during Infracost 503s. Improvements include process-level error handling, socket-error protection, concurrency limits, and a circuit breaker with timeouts and cooldown.
Allow bricks_ properties in child packages
bricks_ properties in child packagesBlueprint publishing no longer fails on child packages that use bricks_ prefixed internal properties (e.g., bricks_depends).
Correct tag aggregation across package versions
Tag handling in the blueprint editor is now accurate across versions: duplicates are merged, removed packages clear their tags, and re-adding versions no longer removes tags from others.
Fixed inactive Review button on deployments without runs
Deployments without runs no longer show an inactive Review button unless hovered or focused.
Correct "Set as default" success message
Setting an environment as default now displays the correct confirmation message instead of the clone success message.
Slim JSON now reflects child property changes
Slim JSON generation now correctly includes modifications to child package properties and outputs, ensuring slim files stay in sync with raw configurations.
Guardrails & Polish
This release focuses on stronger cost guardrails, safer blueprint creation, and a smoother configuration experience, especially around Bricks.json and deployment flows. We’ve also delivered a set of targeted UX and reliability fixes to keep your plans, inputs, and in-app support running smoothly.
🚀 New Features
No new major features in this release—this update is dedicated to refining existing workflows, tightening cost controls, and improving overall stability.
⚡ Improvements
Plan approval guardrails for cost overruns
The Plan page now includes cost guardrails. When a deployment exceeds the environment’s defined budget limit, approval is automatically blocked for non-admin users.
Environment-level policy for pre-release blueprint versions
A new policy toggle under Environment → Policies lets you explicitly allow deployments that use pre-release blueprint versions, giving you more flexibility when testing early builds.
Slim/Raw switch in Bricks.json viewer
The Bricks.json viewer now includes a Slim / Raw switch. The Slim view loads by default (when available) to provide a cleaner, more focused view of configuration data, while Raw gives you full underlying JSON.
Slim configuration displayed as YAML
Slim Bricks.json configurations are now rendered in YAML format, making them easier to read and clearly distinguish from full JSON configurations.
Unsaved-changes warning in blueprint creation
The blueprint creation flow now tracks unsaved changes. If you try to navigate away with pending edits, you’ll see a confirmation modal so you don’t lose work by accident.
🐛 Bug Fixes
Fixed environment dropdown loader on Deploy
Resolved an issue where the Target Environment field on the Deploy page could get stuck in an infinite loading state for certain deployments.
Stable cursor when entering spaced numeric values
The cursor now stays in the correct position when adding spaces between numeric values in Allowed Values fields, preventing jumps that interrupted data entry.
Accurate empty property count in Plan tooltip
The tooltip on the Plan page that shows the count of empty properties now correctly reflects the actual number of affected values.
Fixed input focus when typing $outs references
$outs referencesTyping $outs. on the Deploy page no longer causes the input field to lose focus, making it smoother to work with output references.
Standardized output references to lowercase data.
data.Output references are now consistently prefixed with lowercase data., eliminating confusion from mixed casing.
Reliable loading of in-app help articles
Pylon knowledge base articles now load reliably. The integration waits for authentication before initialization, preventing errors that previously required a page refresh.
Safe, Smooth, Supported
This release focuses on safer infrastructure execution, smoother in-app support, and a more intuitive experience across environments, deployments, and drift detection. We’ve also shipped several backend enhancements for better observability and API clarity, plus a round of targeted bug fixes to keep everything feeling fast and reliable.
🚀 New Features
Graceful termination for infrastructure executors
Infrastructure runs now handle termination signals gracefully for Terraform, Tofu, Helm, and Kubernetes executions. Runs cleanup correctly, avoids leaving orphaned processes, and reports accurate exit codes.
What it means for you: Cancelling or stopping a run is now safer and more predictable, reducing the risk of hanging jobs, misleading statuses, or partial cleanup in your environments.
In-app support chat with Pylon widget
We've replaced the previous embedded form with a new in-app chat widget, powered by Pylon. You can now start a conversation with support directly from the interface without switching tools.
What it means for you: Getting help is faster and more convenient. Open the in-app chat to ask questions, share context, and resolve issues in real time.
⚡ Improvements
Package API now includes publisher details
The GET /api/v1/package endpoint now includes a published_by field with full user details, making it easier to understand who published a given package version.
Faster metadata fetching for deployment runs
Metadata is now stored directly on the deployment_activities table and read from the database instead of being recalculated on the fly, especially for final run stages.
Dedicated system identity for scheduled jobs
Scheduled jobs now run under a dedicated system user identity, improving audit logs and making it clearer which actions are triggered automatically versus by real users.
Environments list and page refresh
The environments table and environment details page have been redesigned with new columns (including cost and owners), updated action menus, an improved layout, and a cost summary in the Overview tab.
Proactive alerts for Redis memory usage
We’ve added proactive monitoring for Redis memory usage, with thresholds at 80% (warning) and 90% (critical), including alert routing to our internal notification channels.
Write support in the State API
The State API now supports creating and updating deployment states, including compatibility for both legacy and base64 identifiers.
"Assigned environments" in My Profile
Your profile page now includes an “Assigned environments” section showing your environments, role, provider, and a quick review link.
Smoother browsing of large outputs lists
outputs listsOutputs pages now use infinite scrolling and a debounced search for large result sets, preventing UI freezes when working with many outputs.
Non-blocking drift detection
Drift detection now runs in parallel without blocking other runs, so drift checks won't hold up your everyday deployment workflows.
Cleanup of deprecated environment policy API
A temporary environment policy PATCH endpoint has been fully removed following frontend migration, reducing surface area for deprecated APIs.
Deployments sorted newest first
Deployment lists now show the most recent deployments at the top, so the most relevant activity is always immediately visible.
Outputs filters sorted by latest deployments
Deployment slugs in Outputs filters are now ordered by creation date (newest first), making it easier to find recent deployments.
Clearer publish error messages for packages
When a package publish fails due to invalid configuration, error responses now include the package ID and version to speed up debugging.
More structured log metadata
Dynamic contextual information has been moved into structured metadata fields, resulting in cleaner logs and more consistent log formats.
Quick "View Deployment" from runs
The runs table and plan view now include a “View Deployment” action, letting you jump straight from an individual run to its related deployment.
Accurate active header highlighting
The application header now correctly highlights the active section based on the page you’re viewing, improving navigation clarity.
"Members" renamed to "Users”
In Account Settings, “Members” has been renamed to “Users” for clearer and more consistent terminology throughout the app.
Environment page UI cleanup
The environment page has been tidied up by removing an unused drawer icon and refining call-to-action text for better readability.
Better Drift tab UX
The Drift tab now displays a “paused” badge and clearer On/Off indicators, so you can immediately see the status of drift detection for a deployment.
Frontend types updated for backend parity
Frontend type definitions have been synced to @bluebricks-dev/[email protected], ensuring UI and backend stay aligned.
Filter environments by user via API
The GET /api/v1/environments endpoint now accepts a user_id query parameter, enabling user-specific environment filtering (used in My Profile and related views).
🐛 Bug Fixes
CLI bump no longer adds null outputs
Fixes an issue where running bricks bp bump could introduce unintended null values into the outputs map.
Uninstall disabled for draft and non-connected deployments
You can no longer uninstall deployments that are still in draft status or not connected to a cloud environment, preventing invalid uninstall actions.
Redundant log polling stopped after final state
Once a deployment reaches a final state, the UI now stops sending redundant log polling requests, reducing unnecessary network traffic.
Missing icons in the create flow restored
The blueprint create flow now properly displays copy/info icons and fixes a dropdown icon visibility issue, restoring the intended visual cues.
Long package names no longer break layout
Excessively long package names on the Create page are now constrained in the rename input and no longer misalign action buttons.
Faster promote environment list
The promote environment list now filters out empty cloud environments, significantly improving load times for accounts with many unused environments.
Plan header status animation fixed
Fixes a visual glitch in the plan header when switching between entries in the plan history, resulting in smoother transitions.
Newly added packages stay expanded
When adding packages to a list, newly added packages now remain expanded by default as intended, instead of collapsing immediately.
Last updated
Was this helpful?

