# August 17, 2025 Update

Released August 17, 2025 (version 2025.08.17)

## New Features

### Infrastructure as Code (IaC)

Define and manage your entire application infrastructure through YAML configuration files.
This powerful feature enables:
- Version control for infrastructure configurations
- API-driven infrastructure changes
- Easy replication of environments
- Declarative resource management for applications, services, domains, and secrets

- Applications can be created and configured via YAML specifications
- Support for volumes, secrets, services, and container services
- Immutable field protection to prevent accidental changes
- Dry-run mode for testing changes before applying

### Persistent debug snapshots

Debug information is now automatically captured and stored for up to 7 days, providing
a historical view of your application's state during deployments and runtime.

- Automatic snapshot capture during deployments
- Critical and warning issue tracking
- Duplicate detection to avoid redundant snapshots
- Configurable retention period (default: 7 days)
- Detailed debug data including pod status, logs, and events

### Database connection helper

New connection helper provides quick access to database connection strings and CLI commands
for all supported database services.

- One-click copy for connection URLs
- Pre-formatted CLI commands for mysql, psql, mongosh, and redis-cli
- Support for all database service types (MySQL, PostgreSQL, MongoDB, Redis, Valkey)
- Direct database client opening from the UI

### Application command logging

Commands executed within applications are now logged and accessible through the UI,
providing better visibility into application operations.

- Automatic logging of all executed commands
- Searchable command history
- Output preservation for debugging
- Integration with the Commands tab in the application view

## Improvements

### PHP extensions pre-installation

Common PHP extensions are now pre-installed in containers for smoother Laravel deployments.
Extensions like bcmath, gd, and others are available by default, reducing build times
and deployment failures.

### MySQL resource scaling

Improved MySQL service resource allocation based on configured memory limits.
The service now automatically adjusts buffer pool sizes and other parameters
based on available memory for optimal performance.

### Simplified resource configuration

CPU request fields have been removed from the UI to simplify resource configuration.
The system now automatically manages CPU requests based on limits and best practices.

### Security headers support

Fixed ingress configuration to properly support security headers, ensuring
applications can implement proper security policies through standard HTTP headers.

## Bug Fixes

### PDF invoice downloads

Resolved an issue preventing users from downloading PDF invoices from the billing section.

### Safari UI interactions

Fixed hover state issues on Safari browser affecting various UI elements.

### MySQL server configuration

Corrected resource scaling issues in MySQL service deployments.

### Security header configuration

Fixed null annotation handling in ingress configurations for proper security header support.

## Developer Notes

### API enhancements

- New `/api/v1/infrastructure` endpoint for IaC operations
- Added instance count parameter to sync commands
- Improved error handling for immutable field changes

### Testing improvements

- Added comprehensive tests for MySQL service scaling
- New test coverage for debug snapshot functionality
- Infrastructure API test suite for IaC features

## Migration notes

This update includes database migrations for application logs and debug snapshots.
Run `php artisan migrate` after updating. Debug snapshots older than 7 days will
be automatically cleaned up by a scheduled task.
