- Use canonical parser for Windows path validation
- Correct variable name typo in generateGitLsRemoteCommands method
- Update version numbers to 4.0.0-beta.436 and 4.0.0-beta.437
- Ensure authorization checks are in place for viewing and updating the application
- Ensure authorization check is performed during component mount
- *(signoz)* Remove example secrets to avoid triggering GitGuardian
- *(signoz)* Remove hardcoded container names
- *(signoz)* Remove HTTP collector FQDN in otel-collector
- *(n8n)* Add DB_SQLITE_POOL_SIZE environment variable for configuration
- *(template)* Remove default values for environment variables
- Update metamcp image version and clean up environment variable syntax
### 💼 Other
- Ente config
- Cofig variables
- Lean Config
- Env
- Services & Env variables
- Product hunt Ente Logo
- Remove volumes
- Add ray logging for Hetzner createServer API request/response
- Escape all shell directory paths in Git deployment commands
- Remove content from docker_compose_raw to prevent file overwrites
- *(templates)* Metamcp app
### 🚜 Refactor
- *(environment-variables)* Adjust ordering logic for environment variables
- Update ente photos configuration for improved service management
- *(deployment)* Streamline environment variable generation in ApplicationDeploymentJob
- *(deployment)* Enhance deployment data retrieval and relationships
- *(deployment)* Standardize environment variable handling in ApplicationDeploymentJob
- *(deployment)* Update environment variable handling for Docker builds
- *(navbar, app)* Improve layout and styling for better responsiveness
- *(switch-team)* Remove label from team selection component for cleaner UI
- *(global-search, environment)* Streamline environment retrieval with new query method
- *(backup)* Make backup_log_uuid initialization lazy
- *(checkbox, utilities, global-search)* Enhance focus styles for better accessibility
- *(forms)* Simplify wire:dirty class bindings for input, select, and textarea components
- Replace direct SslCertificate queries with server relationship methods for consistency
- *(ui)* Improve cloud-init script save checkbox visibility and styling
- Enable cloud-init save checkbox at all times with backend validation
- Improve cloud-init script UX and remove description field
- Improve cloud-init script management UI and cache control
- Remove debug sleep from global search modal
- Reduce cloud-init label width for better layout
- Remove SendsWebhook interface
- Reposition POST badge as button
- Migrate database components from legacy model binding to explicit properties
- Volumes set back to ./pds-data:/pds
- *(campfire)* Streamline environment variable definitions in Docker Compose file
- Improve validation error handling and coding standards
- Preserve exception chain in validation error handling
- Harden and deduplicate validateShellSafePath
- Replace random ID generation with Cuid2 for unique HTML IDs in form components
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- *(tests)* Update testing guidelines for unit and feature tests
- *(sync)* Create AI Instructions Synchronization Guide and update CLAUDE.md references
- *(database-patterns)* Add critical note on mass assignment protection for new columns
- Clarify cloud-init script compatibility
- Update changelog
- Update changelog
### 🎨 Styling
- *(campfire)* Format environment variables for better readability in Docker Compose file
- *(campfire)* Update comment for DISABLE_SSL environment variable for clarity
### 🧪 Testing
- Improve Git ls-remote parsing tests with uppercase SHA and negative cases
- Add coverage for newline and tab rejection in volume strings
### ⚙️ Miscellaneous Tasks
- *(versions)* Update Coolify version numbers to 4.0.0-beta.435 and 4.0.0-beta.436
- Update package-lock.json
- *(service)* Update convex template and image
- *(signoz)* Remove unused ports
- *(signoz)* Bump version to 0.77.0
- *(signoz)* Bump version to 0.78.1
## [4.0.0-beta.434] - 2025-10-03
### 🚀 Features
- *(deployments)* Enhance Docker build argument handling for multiline variables
- *(deployments)* Add log copying functionality to clipboard in dev
- *(deployments)* Generate SERVICE_NAME environment variables from Docker Compose services
### 🐛 Bug Fixes
- *(deployments)* Enhance builder container management and environment variable handling
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update version numbers for Coolify releases
- *(versions)* Bump Coolify stable version to 4.0.0-beta.434
## [4.0.0-beta.433] - 2025-10-01
### 🚀 Features
- *(user-deletion)* Implement file locking to prevent concurrent user deletions and enhance error handling
- *(ui)* Enhance resource operations interface with dynamic selection for cloning and moving resources
- *(global-search)* Integrate projects and environments into global search functionality
- *(storage)* Consolidate storage management into a single component with enhanced UI
- *(deployments)* Add support for Coolify variables in Dockerfile
### 🐛 Bug Fixes
- *(workflows)* Update CLAUDE API key reference in GitHub Actions workflow
- *(ui)* Update docker registry image helper text for clarity
- *(ui)* Correct HTML structure and improve clarity in Docker cleanup options
- *(workflows)* Update CLAUDE API key reference in GitHub Actions workflow
- *(api)* Correct OpenAPI schema annotations for array items
- *(ui)* Improve queued deployment status readability in dark mode
- *(git)* Handle additional repository URL cases for 'tangled' and improve branch assignment logic
- *(git)* Enhance error handling for missing branch information during deployment
- *(git)* Trim whitespace from repository, branch, and commit SHA fields
- *(deployments)* Order deployments by ID for consistent retrieval
### 💼 Other
- *(storage)* Enhance file storage management with new properties and UI improvements
- *(core)* Update projects property type and enhance UI styling
- *(components)* Adjust SVG icon sizes for consistency across applications and services
- *(components)* Auto-focus first input in modal on open
- *(styles)* Enhance focus styles for buttons and links
- *(components)* Enhance close button accessibility in modal
### 🚜 Refactor
- *(global-search)* Change event listener to window level for global search modal
- *(dashboard)* Remove deployment loading logic and introduce DeploymentsIndicator component for better UI management
- *(dashboard)* Replace project navigation method with direct link in UI
- *(global-search)* Improve event handling and cleanup in global search component
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update coolify version to 4.0.0-beta.433 and nightly version to 4.0.0-beta.434 in configuration files
## [4.0.0-beta.432] - 2025-09-29
### 🚀 Features
- *(application)* Implement order-based pattern matching for watch paths with negation support
- *(github)* Enhance Docker Compose input fields for better user experience
- *(dev-seeders)* Add PersonalAccessTokenSeeder to create development API tokens
- *(application)* Add conditional .env file creation for Symfony apps during PHP deployment
- *(application)* Enhance watch path parsing to support negation syntax
- *(application)* Add normalizeWatchPaths method to improve watch path handling
- *(validation)* Enhance ValidGitRepositoryUrl to support additional safe characters and add comprehensive unit tests for various Git repository URL formats
- *(deployment)* Implement detection for Laravel/Symfony frameworks and configure NIXPACKS PHP environment variables accordingly
### 🐛 Bug Fixes
- *(application)* Restrict GitHub-based application settings to non-public repositories
- *(traits)* Update saved_outputs handling in ExecuteRemoteCommand to use collection methods for better performance
- *(application)* Enhance domain handling by replacing both dots and dashes with underscores for HTML form binding
- *(constants)* Reduce command timeout from 7200 to 3600 seconds for improved performance
- *(github)* Update repository URL to point to the v4.x branch for development
- *(models)* Update sorting of scheduled database backups to order by creation date instead of name
- *(socialite)* Add custom base URL support for GitLab provider in OAuth settings
- *(configuration-checker)* Update message to clarify redeployment requirement for configuration changes
- *(application)* Reduce docker stop timeout from 30 to 10 seconds for improved application shutdown efficiency
- *(application)* Increase docker stop timeout from 10 to 30 seconds for better application shutdown handling
- *(validation)* Update git:// URL validation to support port numbers and tilde characters in paths
- Resolve scroll lock issue after closing quick search modal with escape key
- Prevent quick search modal duplication from keyboard shortcuts
### 🚜 Refactor
- *(tests)* Simplify matchWatchPaths tests and update implementation for better clarity
- *(deployment)* Improve environment variable handling in ApplicationDeploymentJob
- *(deployment)* Remove commented-out code and streamline environment variable handling in ApplicationDeploymentJob
- *(application)* Improve handling of docker compose domains by normalizing keys and ensuring valid JSON structure
- *(forms)* Update wire:model bindings to use 'blur' instead of 'blur-sm' for input fields across multiple views
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(application)* Remove debugging statement from loadComposeFile method
- *(workflows)* Update Claude GitHub Action configuration to support new event types and improve permissions
## [4.0.0-beta.431] - 2025-09-24
### 📚 Documentation
- Update changelog
## [4.0.0-beta.430] - 2025-09-24
### 🚀 Features
- *(add-watch-paths-for-services)* Show watch paths field for docker compose applications
### 🐛 Bug Fixes
- *(PreviewCompose)* Adds port to preview urls
- *(deployment-job)* Enhance build time variable analysis
- *(docker)* Adjust openssh-client installation in Dockerfile to avoid version bug
- *(docker)* Streamline openssh-client installation in Dockerfile
- *(team)* Normalize email case in invite link generation
- *(README)* Update Juxtdigital description to reflect current services
- *(environment-variable-warning)* Enhance warning logic to check for problematic variable values
- *(install)* Ensure proper quoting of environment file paths to prevent issues with spaces
- *(security)* Implement authorization checks for terminal access management
- *(upgrade)* Enhance logging and quoting in upgrade scripts
- *(upgrade)* Replace warning div with a callout component for better UI consistency
- *(ui)* Replace warning and error divs with callout components for improved consistency and readability
- *(ui)* Improve styling and consistency in environment variable warning and docker cleanup components
- *(security)* Streamline update check functionality and improve UI button interactions in patches view
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Increment coolify version numbers to 4.0.0-beta.431 and 4.0.0-beta.432 in configuration files
- *(versions)* Update coolify version numbers to 4.0.0-beta.432 and 4.0.0-beta.433 in configuration files
- Remove unused files
- Adjust wording
- *(workflow)* Update pull request trigger to pull_request_target and refine permissions for enhanced security
## [4.0.0-beta.429] - 2025-09-23
### 🚀 Features
- *(environment)* Replace is_buildtime_only with is_runtime and is_buildtime flags for environment variables, updating related logic and views
- *(deployment)* Handle buildtime and runtime variables during deployment
- *(search)* Implement global search functionality with caching and modal interface
- *(search)* Enable query logging for global search caching
- *(environment)* Add dynamic checkbox options for environment variable settings based on user permissions and variable types
- *(redaction)* Implement sensitive information redaction in logs and commands
- Improve detection of special network modes
- *(api)* Add endpoint to update backup configuration by UUID and backup ID; modify response to include backup id
- *(databases)* Enhance backup management API with new endpoints and improved data handling
- *(github)* Add GitHub app management endpoints
- *(github)* Add update and delete endpoints for GitHub apps
- *(databases)* Enhance backup update and deletion logic with validation
- *(environment-variables)* Implement environment variable analysis for build-time issues
- *(databases)* Implement unique UUID generation for backup execution
- *(cloud-check)* Enhance subscription reporting in CloudCheckSubscription command
- *(cloud-check)* Enhance CloudCheckSubscription command with fix options
- *(stripe)* Enhance subscription handling and verification process
- *(private-key-refresh)* Add refresh dispatch on private key update and connection check
- *(comments)* Add automated comments for labeled pull requests to guide documentation updates
- *(comments)* Ping PR author
### 🐛 Bug Fixes
- *(docker)* Enhance container status aggregation to include restarting and exited states
- *(environment)* Correct grammatical errors in helper text for environment variable sorting checkbox
- *(ui)* Change order and fix ui on small screens
- Order for git deploy types
- *(deployment)* Enhance Dockerfile modification for build-time variables and secrets during deployment in case of docker compose buildpack
- Hide sensitive email change fields in team member responses
- *(domains)* Trim whitespace from domains before validation
- *(databases)* Update backup retrieval logic to include team context
- *(environment-variables)* Update affected services in environment variable analysis
- *(team)* Clear stripe_subscription_id on subscription end
- *(github)* Update authentication method for GitHub app operations
- *(databases)* Restrict database updates to allowed fields only
- *(cache)* Add Model import to ClearsGlobalSearchCache trait for improved functionality
- *(environment-variables)* Correct method call syntax in analyzeBuildVariable function
- *(clears-global-search-cache)* Refine team retrieval logic in getTeamIdForCache method
- *(subscription-job)* Enhance retry logic for VerifyStripeSubscriptionStatusJob
- *(environment-variable)* Update checkbox visibility and helper text for build and runtime options
- *(deployment-job)* Escape single quotes in build arguments for Docker Compose command
### 🚜 Refactor
- *(environment)* Conditionally render Docker Build Secrets checkbox based on build pack type
- *(search)* Optimize cache clearing logic to only trigger on searchable field changes
- *(environment)* Streamline rendering of Docker Build Secrets checkbox and adjust layout for environment variable settings
- *(proxy)* Streamline proxy configuration form layout and improve button placements
- *(remoteProcess)* Remove redundant file transfer functions for improved clarity
- *(github)* Enhance API request handling and validation
- *(databases)* Remove deprecated backup parameters from API documentation
- *(databases)* Streamline backup queries to use team context
- *(databases)* Update backup queries to use team-specific method
- *(server)* Update dispatch messages and streamline data synchronization
- *(cache)* Update team retrieval method in ClearsGlobalSearchCache trait
- *(database-backup)* Move unique UUID generation for backup execution to database loop
- *(cloud-commands)* Consolidate and enhance subscription management commands
- *(toast-component)* Improve layout and icon handling in toast notifications
- *(private-key-update)* Implement transaction for private key association and connection validation
### 📚 Documentation
- Update changelog
- Update changelog
- *(claude)* Update testing guidelines and add note on Application::team relationship
### 🎨 Styling
- *(environment-variable)* Adjust SVG icon margin for improved layout in locked state
- *(proxy)* Adjust padding in proxy configuration form for better visual alignment
### ⚙️ Miscellaneous Tasks
- Change order of runtime and buildtime
- *(docker-compose)* Update soketi image version to 1.0.10 in production and Windows configurations
- *(versions)* Update coolify version numbers to 4.0.0-beta.430 and 4.0.0-beta.431 in configuration files
## [4.0.0-beta.428] - 2025-09-15
### 📚 Documentation
- Update changelog
## [4.0.0-beta.427] - 2025-09-15
### 🚀 Features
- Add Ente Photos service template
- *(command)* Add option to sync GitHub releases to BunnyCDN and refactor sync logic
- *(ui)* Display current version in settings dropdown and update UI accordingly
- *(settings)* Add option to restrict PR deployments to repository members and contributors
- *(command)* Implement SSH command retry logic with exponential backoff and logging for better error handling
- *(ssh)* Add Sentry tracking for SSH retry events to enhance error monitoring
- *(exceptions)* Introduce NonReportableException to handle known errors and update Handler for selective reporting
- *(sudo-helper)* Add helper functions for command parsing and ownership management with sudo
- *(dev-command)* Dispatch CheckHelperImageJob during instance initialization to enhance setup process
- *(ssh-multiplexing)* Enhance multiplexed connection management with health checks and metadata caching
- *(ssh-multiplexing)* Add connection age metadata handling to improve multiplexed connection management
- *(database-backup)* Enhance error handling and output management in DatabaseBackupJob
- *(application)* Display parsing version in development mode and clean up domain conflict modal markup
- *(deployment)* Add SERVICE_NAME variables for service discovery
- *(storages)* Add method to retrieve the first storage ID for improved stability in storage display
- *(environment)* Add 'is_literal' attribute to environment variable for enhanced configuration options
- *(pre-commit)* Automate generation of service templates and OpenAPI documentation during pre-commit hook
- *(execute-container)* Enhance container command form with auto-connect feature for single container scenarios
- *(environment)* Introduce 'is_buildtime_only' attribute to environment variables for improved build-time configuration
- *(templates)* Add n8n service with PostgreSQL and worker support for enhanced workflow automation
- *(user-management)* Implement user deletion command with phased resource and subscription cancellation, including dry run option
- *(sentinel)* Add support for custom Docker images in StartSentinel and related methods
- *(sentinel)* Add slide-over for viewing Sentinel logs and custom Docker image input for development
- *(executions)* Add 'Load All' button to view all logs and implement loadAllLogs method for complete log retrieval
- *(auth)* Enhance user login flow to handle team invitations, attaching users to invited teams upon first login and maintaining personal team logic for regular logins
- *(laravel-boost)* Add Laravel Boost guidelines and MCP server configuration to enhance development experience
- *(deployment)* Enhance deployment status reporting with detailed information on active deployments and team members
- *(deployment)* Implement cancellation checks during deployment process to enhance user control and prevent unnecessary execution
- *(deployment)* Introduce 'use_build_secrets' setting for enhanced security during Docker builds and update related logic in deployment process
### 🐛 Bug Fixes
- *(ui)* Transactional email settings link on members page (#6491)
- *(api)* Add custom labels generation for applications with readonly container label setting enabled
- *(ui)* Add cursor pointer to upgrade button for better user interaction
- *(templates)* Update SECRET_KEY environment variable in getoutline.yaml to use SERVICE_HEX_32_OUTLINE
- *(command)* Enhance database deletion command to support multiple database types
- *(command)* Enhance cleanup process for stuck application previews by adding force delete for trashed records
- *(user)* Ensure email attributes are stored in lowercase for consistency and prevent case-related issues
- *(webhook)* Replace delete with forceDelete for application previews to ensure immediate removal
- *(ssh)* Introduce SshRetryHandler and SshRetryable trait for enhanced SSH command retry logic with exponential backoff and error handling
- Appwrite template - 500 errors, missing env vars etc.
- *(LocalFileVolume)* Add missing directory creation command for workdir in saveStorageOnServer method
- *(ScheduledTaskJob)* Replace generic Exception with NonReportableException for better error handling
- *(web-routes)* Enhance backup response messages to clarify local and S3 availability
- *(proxy)* Replace CheckConfiguration with GetProxyConfiguration and SaveConfiguration with SaveProxyConfiguration for improved clarity and consistency in proxy management
- *(private-key)* Implement transaction handling and error verification for private key storage operations
- *(deployment)* Add COOLIFY_* environment variables to Nixpacks build context for enhanced deployment configuration
- *(application)* Add functionality to stop and remove Docker containers on server
- *(templates)* Update 'compose' configuration for Appwrite service to enhance compatibility and streamline deployment
- *(security)* Update contact email for reporting vulnerabilities to enhance privacy
- *(feedback)* Update feedback email address to improve communication with users
- *(security)* Update contact email for vulnerability reports to improve security communication
- *(navbar)* Restrict subscription link visibility to admin users in cloud environment
- *(docker)* Enhance container status aggregation for multi-container applications, including exclusion handling based on docker-compose configuration
- *(application)* Improve watch paths handling by trimming and filtering empty paths to prevent unnecessary triggers
- *(server)* Update server usability check to reflect actual Docker availability status
- *(server)* Add build server check to disable Sentinel and update related logic
- *(server)* Implement refreshServer method and update navbar event listener for improved server state management
- *(deployment)* Prevent removal of running containers for pull request deployments in case of failure
- *(docker)* Redirect stderr to stdout for container log retrieval to capture error messages
- *(clone)* Update destinations method call to ensure correct retrieval of selected destination
### 🚜 Refactor
- *(jobs)* Pull github changelogs from cdn instead of github
- *(command)* Streamline database deletion process to handle multiple database types and improve user experience
- *(command)* Improve database collection logic for deletion command by using unique identifiers and enhancing user experience
- *(command)* Remove InitChangelog command as it is no longer needed
- *(command)* Streamline Init command by removing unnecessary options and enhancing error handling for various operations
- *(webhook)* Replace direct forceDelete calls with DeleteResourceJob dispatch for application previews
- *(command)* Replace forceDelete calls with DeleteResourceJob dispatch for all stuck resources in cleanup process
- *(command)* Simplify SSH command retry logic by removing unnecessary logging and improving delay calculation
- *(ssh)* Enhance error handling in SSH command execution and improve connection validation logging
- *(backlog)* Remove outdated guidelines and project manager agent files to streamline task management documentation
- *(error-handling)* Remove ray debugging statements from CheckUpdates and shared helper functions to clean up error reporting
- *(file-transfer)* Replace base64 encoding with direct file transfer method across multiple database actions for improved clarity and efficiency
- *(remoteProcess)* Remove debugging statement from transfer_file_to_server function to clean up code
- *(dns-validation)* Rename DNS validation functions for consistency and clarity, and remove unused code
- *(file-transfer)* Replace base64 encoding with direct file transfer method in various components for improved clarity and efficiency
- *(private-key)* Remove debugging statement from storeInFileSystem method for cleaner code
- *(github-webhook)* Restructure application processing by grouping applications by server for improved deployment handling
- *(deployment)* Enhance queuing logic to support concurrent deployments by including pull request ID in checks
- *(remoteProcess)* Remove debugging statement from transfer_file_to_container function for cleaner code
- *(deployment)* Streamline next deployment queuing logic by repositioning queue_next_deployment call
- *(deployment)* Add validation for pull request existence in deployment process to enhance error handling
- *(database)* Remove volume_configuration_dir and streamline configuration directory usage in MongoDB and PostgreSQL handlers
- *(application-source)* Improve layout and accessibility of Git repository links in the application source view
- *(models)* Remove 'is_readonly' attribute from multiple database models for consistency
- *(webhook)* Remove Webhook model and related logic; add migrations to drop webhooks and kubernetes tables
- *(clone)* Consolidate application cloning logic into a dedicated function for improved maintainability and readability
- *(clone)* Integrate preview cloning logic directly into application cloning function for improved clarity and maintainability
- *(application)* Enhance environment variable retrieval in configuration change check for improved accuracy
- *(clone)* Enhance application cloning by separating production and preview environment variable handling
- *(deployment)* Add environment variable copying logic to Docker build commands for pull requests
- *(environment)* Standardize service name formatting by replacing '-' and '.' with '_' in environment variable keys
- *(deployment)* Update environment file handling in Docker commands to use '/artifacts/' path and streamline variable management
- *(openapi)* Remove 'is_build_time' attribute from environment variable definitions to streamline configuration
- *(environment)* Remove 'is_build_time' attribute from environment variable handling across the application to simplify configuration
- *(environment)* Streamline environment variable handling by replacing sorting methods with direct property access and enhancing query ordering for improved performance
- *(stripe-jobs)* Comment out internal notification calls and add subscription status verification before sending failure notifications
- *(deployment)* Streamline environment variable handling for dockercompose and improve sorting of runtime variables
- *(remoteProcess)* Remove command log comments for file transfers to simplify code
- *(remoteProcess)* Remove file transfer handling from remote_process and instant_remote_process functions to simplify code
- *(deployment)* Update environment file paths in docker compose commands to use working directory for improved consistency
- *(server)* Remove debugging ray call from validateConnection method for cleaner code
- *(deployment)* Conditionally cleanup build secrets based on Docker BuildKit support and remove redundant calls for improved efficiency
- *(deployment)* Remove redundant environment variable documentation from Dockerfile comments to streamline the deployment process
- *(deployment)* Streamline Docker BuildKit detection and environment variable handling for enhanced security during application deployment
- *(deployment)* Optimize BuildKit capabilities detection and remove unnecessary comments for cleaner deployment logic
- *(deployment)* Rename method for modifying Dockerfile to improve clarity and streamline build secrets integration
### 📚 Documentation
- Update changelog
- *(testing-patterns)* Add important note to always run tests inside the `coolify` container for clarity
### ⚙️ Miscellaneous Tasks
- Update coolify version to 4.0.0-beta.427 and nightly version to 4.0.0-beta.428
- Use main value then fallback to service_ values
- Remove webhooks table cleanup
- *(cleanup)* Remove deprecated ServerCheck and related job classes to streamline codebase
- *(versions)* Update sentinel version from 0.0.15 to 0.0.16 in versions.json files
- *(constants)* Update realtime_version from 1.0.10 to 1.0.11
- *(versions)* Increment coolify version to 4.0.0-beta.428 and update realtime_version to 1.0.10
- *(docker)* Add a blank line for improved readability in Dockerfile
- *(versions)* Bump coolify version to 4.0.0-beta.429 and nightly version to 4.0.0-beta.430
## [4.0.0-beta.426] - 2025-08-28
### 🚜 Refactor
- *(policy)* Simplify ServiceDatabasePolicy methods to always return true and add manageBackups method
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- Update coolify version to 4.0.0-beta.426 and nightly version to 4.0.0-beta.427
## [4.0.0-beta.425] - 2025-08-28
### 🚀 Features
- *(domains)* Implement domain conflict detection and user confirmation modal across application components
- *(templates)* Update Matrix service compose configuration for improved compatibility and clarity
### 🚜 Refactor
- *(urls)* Replace generateFqdn with generateUrl for consistent URL generation across applications
- *(domains)* Rename check_domain_usage to checkDomainUsage and update references across the application
- *(auth)* Simplify access control logic in CanAccessTerminal and ServerPolicy by allowing all users to perform actions
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- Update coolify version to 4.0.0-beta.425 and nightly version to 4.0.0-beta.426
## [4.0.0-beta.424] - 2025-08-27
### 💼 Other
- Allow deploy from container image hash
### 📚 Documentation
- Update changelog
- Update changelog
## [4.0.0-beta.423] - 2025-08-27
### 📚 Documentation
- Update changelog
## [4.0.0-beta.422] - 2025-08-27
### 📚 Documentation
- Update changelog
## [4.0.0-beta.421] - 2025-08-26
### 📚 Documentation
- Update changelog
## [4.0.0-beta.420.9] - 2025-08-26
### 🚀 Features
- *(policies)* Add EnvironmentVariablePolicy for managing environment variables ( it was missing )
### 🐛 Bug Fixes
- *(backups)* S3 backup upload is failing
- *(backups)* Rollback helper update for now
- *(parsers)* Replace hyphens with underscores in service names for consistency. this allows to properly parse custom domains in docker compose based applications
- *(parsers)* Implement parseDockerVolumeString function to handle various Docker volume formats and modes, including environment variables and Windows paths. Add unit tests for comprehensive coverage.
- *(git)* Submodule update command uses an unsupported option (#6454)
- *(service)* Swap URL for FQDN on matrix template (#6466)
- *(parsers)* Enhance volume string handling by preserving mode in application and service parsers. Update related unit tests for validation.
- *(docker)* Update parser version in FQDN generation for service-specific URLs
- *(parsers)* Do not modify service names, only for getting fqdns and related envs
- *(compose)* Temporary allow to edit volumes in apps (compose based) and services
### 🚜 Refactor
- *(git)* Improve submodule cloning
- *(parsers)* Remove unnecessary hyphen-to-underscore replacement for service names in serviceParser function
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(core)* Update version
- *(core)* Update version
- *(versions)* Update coolify version to 4.0.0-beta.421 and nightly version to 4.0.0-beta.422
- Update version
- Update development node version
- Update coolify version to 4.0.0-beta.423 and nightly version to 4.0.0-beta.424
- Update coolify version to 4.0.0-beta.424 and nightly version to 4.0.0-beta.425
## [4.0.0-beta.420.8] - 2025-08-26
### 🚜 Refactor
- *(policies)* Remove Response type hint from update methods in ApplicationPreviewPolicy and DatabasePolicy for improved flexibility
### 📚 Documentation
- Update changelog
## [4.0.0-beta.420.7] - 2025-08-26
### 🚀 Features
- *(service)* Add TriliumNext service (#5970)
- *(service)* Add Matrix service (#6029)
- *(service)* Add GitHub Action runner service (#6209)
- *(terminal)* Dispatch focus event for terminal after connection and enhance focus handling in JavaScript
- *(lang)* Add Polish language & improve forgot_password translation (#6306)
- *(input)* Add autofocus attribute to input component for improved accessibility
- *(core)* Finally fqdn is fqdn and url is url. haha
- *(user)* Add changelog read tracking and unread count method
- *(templates)* Add new service templates and update existing compose files for various applications
- *(changelog)* Implement automated changelog fetching from GitHub and enhance changelog read tracking
- *(drizzle-gateway)* Add new drizzle-gateway service with configuration and logo
- *(drizzle-gateway)* Enhance service configuration by adding Master Password field and updating compose file path
- *(templates)* Add new service templates for Homebox, LibreChat, Pterodactyl, and Wings with corresponding configurations and logos
- *(templates)* Add Bluesky PDS service template and update compose file with new environment variable
- *(readme)* Add CubePath as a big sponsor and include new small sponsors with logos
- *(api)* Add create_environment endpoint to ProjectController for environment creation in projects
- *(api)* Add endpoints for managing environments in projects, including listing, creating, and deleting environments
- *(backup)* Add disable local backup option and related logic for S3 uploads
- *(dev patches)* Add functionality to send test email with patch data in development mode
- *(templates)* Added category per service
- *(email)* Implement email change request and verification process
- Generate category for services
- *(service)* Add elasticsearch template (#6300)
- *(sanitization)* Integrate DOMPurify for HTML sanitization across components
- *(cleanup)* Add command for sanitizing name fields across models
- *(sanitization)* Enhance HTML sanitization with improved DOMPurify configuration
- *(validation)* Centralize validation patterns for names and descriptions
- *(git-settings)* Add support for shallow cloning in application settings
- *(auth)* Implement authorization checks for server updates across multiple components
- *(auth)* Implement authorization for PrivateKey management
- *(auth)* Implement authorization for Docker and server management
- *(validation)* Add custom validation rules for Git repository URLs and branches
- *(security)* Add authorization checks for package updates in Livewire components
- *(auth)* Implement authorization checks for application management
- *(auth)* Enhance API error handling for authorization exceptions
- *(auth)* Add comprehensive authorization checks for all kind of resource creations
- *(auth)* Implement authorization checks for database management
- *(auth)* Refine authorization checks for S3 storage and service management
- *(auth)* Implement comprehensive authorization checks across API controllers
- *(auth)* Introduce resource creation authorization middleware and policies for enhanced access control
- *(auth)* Add middleware for resource creation authorization
- *(auth)* Enhance authorization checks in Livewire components for resource management
- *(validation)* Add ValidIpOrCidr rule for validating IP addresses and CIDR notations; update API access settings UI and add comprehensive tests
- *(docs)* Update architecture and development guidelines; enhance form components with built-in authorization system and improve routing documentation
- *(docs)* Expand authorization documentation for custom Alpine.js components; include manual protection patterns and implementation guidelines
- *(sentinel)* Implement SentinelRestarted event and update Livewire components to handle server restart notifications
- *(api)* Enhance IP access control in middleware and settings; support CIDR notation and special case for 0.0.0.0 to allow all IPs
- *(acl)* Change views/backend code to able to use proper ACL's later on. Currently it is not enabled.
- *(docs)* Add Backlog.md guidelines and project manager backlog agent; enhance CLAUDE.md with new links for task management
- *(docs)* Add tasks for implementing Docker build caching and optimizing staging builds; include detailed acceptance criteria and implementation plans
- *(docker)* Implement Docker cleanup processing in ScheduledJobManager; refactor server task scheduling to streamline cleanup job dispatching
- *(docs)* Expand Backlog.md guidelines with comprehensive usage instructions, CLI commands, and best practices for task management to enhance project organization and collaboration
### 🐛 Bug Fixes
- *(service)* Triliumnext platform and link
- *(application)* Update service environment variables when generating domain for Docker Compose
- *(application)* Add option to suppress toast notifications when loading compose file
- *(git)* Tracking issue due to case sensitivity
- *(git)* Tracking issue due to case sensitivity
- *(git)* Tracking issue due to case sensitivity
- *(ui)* Delete button width on small screens (#6308)
- *(service)* Matrix entrypoint
- *(ui)* Add flex-wrap to prevent overflow on small screens (#6307)
- *(docker)* Volumes get delete when stopping a service if `Delete Unused Volumes` is activated (#6317)
- *(docker)* Cleanup always running on deletion
- *(proxy)* Remove hardcoded port 80/443 checks (#6275)
- *(service)* Update healthcheck of penpot backend container (#6272)
- *(api)* Duplicated logs in application endpoint (#6292)
- *(api)* Update service upsert to retain name and description values if not set
- *(database)* Custom postgres configs with SSL (#6352)
- *(policy)* Update delete method to check for admin status in S3StoragePolicy
- *(container)* Sort containers alphabetically by name in ExecuteContainerCommand and update filtering in Terminal Index
- *(application)* Streamline environment variable updates for Docker Compose services and enhance FQDN generation logic
- *(constants)* Update 'Change Log' to 'Changelog' in settings dropdown
- *(constants)* Update coolify version to 4.0.0-beta.420.7
- *(parsers)* Clarify comments and update variable checks for FQDN and URL handling
- *(terminal)* Update text color for terminal availability message and improve readability
- *(drizzle-gateway)* Remove healthcheck from drizzle-gateway compose file and update service template
- *(templates)* Should generate old SERVICE_FQDN service templates as well
- *(constants)* Update official service template URL to point to the v4.x branch for accuracy
- *(git)* Use exact refspec in ls-remote to avoid matching similarly named branches (e.g., changeset-release/main). Use refs/heads/<branch> or provider-specific PR refs.
- *(ApplicationPreview)* Change null check to empty check for fqdn in generate_preview_fqdn method
- *(email notifications)* Enhance EmailChannel to validate team membership for recipients and handle errors gracefully
- *(service api)* Separate create and update service functionalities
- *(templates)* Added a category tag for the docs service filter
- *(application)* Clear Docker Compose specific data when switching away from dockercompose
- *(database)* Conditionally set started_at only if the database is running
- *(ui)* Handle null values in postgres metrics (#6388)
- Disable env sorting by default
- *(proxy)* Filter host network from default proxy (#6383)
- *(modal)* Enhance confirmation text handling
- *(notification)* Update unread count display and improve HTML rendering
- *(select)* Remove unnecessary sanitization for logo rendering
- *(tags)* Update tag display to limit name length and adjust styling
- *(init)* Improve error handling for deployment and template pulling processes
- *(settings-dropdown)* Adjust unread count badge size and display logic for better consistency
- *(sanitization)* Enhance DOMPurify hook to remove Alpine.js directives for improved XSS protection
- *(servercheck)* Properly check server statuses with and without Sentinel
- *(errors)* Update error pages to provide navigation options
- *(github-deploy-key)* Update background color for selected private keys in deployment key selection UI
- *(auth)* Enhance authorization checks in application management
### 💼 Other
- *(settings-dropdown)* Add icons to buttons for improved UI in settings dropdown
- *(ui)* Introduce task for simplifying resource operations UI by replacing boxes with dropdown selections to enhance user experience and streamline interactions
### 🚜 Refactor
- *(jobs)* Remove logging for ScheduledJobManager and ServerResourceManager start and completion
- *(services)* Update validation rules to be optional
- *(service)* Improve langfuse
- *(service)* Improve openpanel template
- *(service)* Improve librechat
- *(public-git-repository)* Enhance form structure and add autofocus to repository URL input
- *(public-git-repository)* Remove commented-out code for cleaner template
- *(templates)* Update service template file handling to use dynamic file name from constants
- *(parsers)* Streamline domain handling in applicationParser and improve DNS validation logic
- *(templates)* Replace SERVICE_FQDN variables with SERVICE_URL in compose files for consistency
- *(links)* Replace inline SVGs with reusable external link component for consistency and improved maintainability
- *(previews)* Improve layout and add deployment/application logs links for previews
- *(docker compose)* Remove deprecated newParser function and associated test file to streamline codebase
- *(shared helpers)* Remove unused parseServiceVolumes function to clean up codebase
- *(parsers)* Update volume parsing logic to use beforeLast and afterLast for improved accuracy
- *(validation)* Implement centralized validation patterns across components
- *(jobs)* Rename job classes to indicate deprecation status
- Update check frequency logic for cloud and self-hosted environments; streamline server task scheduling and timezone handling
- *(policies)* Remove Response type hint from update methods in ApplicationPreviewPolicy and DatabasePolicy for improved flexibility
### 📚 Documentation
- *(claude)* Clarify that artisan commands should only be run inside the "coolify" container during development
- Add AGENTS.md for project guidance and development instructions
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(service)* Improve matrix service
- *(service)* Format runner service
- *(service)* Improve sequin
- *(service)* Add `NOT_SECURED` env to Postiz (#6243)
- *(service)* Update Langfuse template to v3 (#6301)
- *(core)* Remove unused argument
- *(deletion)* Rename isDeleteOperation to deleteConnectedNetworks
- *(docker)* Remove unused arguments on StopService
- *(service)* Homebox formatting
- Clarify usage of custom redis configuration (#6321)
- *(changelogs)* Add .gitignore for changelogs directory and remove outdated changelog files for May, June, and July 2025
- *(service)* Change affine images (#6366)
- Elasticsearch URL, fromatting and add category
- Update service-templates json files
- *(docs)* Remove AGENTS.md file; enhance CLAUDE.md with detailed form authorization patterns and service configuration examples
- *(cleanup)* Remove unused GitLab view files for change, new, and show pages
- *(workflows)* Add backlog directory to build triggers for production and staging workflows
- *(config)* Disable auto_commit in backlog configuration to prevent automatic commits
- *(versions)* Update coolify version to 4.0.0-beta.420.8 and nightly version to 4.0.0-beta.420.9 in versions.json and constants.php
- *(docker)* Update soketi image version to 1.0.10 in production and Windows configurations
### ◀️ Revert
- *(parser)* Enhance FQDN generation logic for services and applications
## [4.0.0-beta.420.6] - 2025-07-18
### 🚀 Features
- *(service)* Enable password protection for the Wireguard Ul
- *(queues)* Improve Horizon config to reduce CPU and RAM usage (#6212)
- *(service)* Add Gowa service (#6164)
- *(container)* Add updatedSelectedContainer method to connect to non-default containers and update wire:model for improved reactivity
- *(application)* Implement environment variable updates for Docker Compose applications, including creation, updating, and deletion of SERVICE_FQDN and SERVICE_URL variables
### 🐛 Bug Fixes
- *(installer)* Public IPv4 link does not work
- *(composer)* Version constraint of prompts
- *(service)* Budibase secret keys (#6205)
- *(service)* Wg-easy host should be just the FQDN
- *(ui)* Search box overlaps the sidebar navigation (#6176)
- *(webhooks)* Exclude webhook routes from CSRF protection (#6200)
- *(services)* Update environment variable naming convention to use underscores instead of dashes for SERVICE_FQDN and SERVICE_URL
### 🚜 Refactor
- *(service)* Improve gowa
- *(previews)* Streamline preview domain generation logic in ApplicationDeploymentJob for improved clarity and maintainability
- *(services)* Simplify environment variable updates by using updateOrCreate and add cleanup for removed FQDNs
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(service)* Update Nitropage template (#6181)
- *(versions)* Update all version
- *(bump)* Update composer deps
- *(version)* Bump Coolify version to 4.0.0-beta.420.6
## [4.0.0-beta.420.4] - 2025-07-08
### 🚀 Features
- *(scheduling)* Add command to manually run scheduled database backups and tasks with options for chunking, delays, and dry runs
- *(scheduling)* Add frequency filter option for manual execution of scheduled jobs
- *(logging)* Implement scheduled logs command and enhance backup/task scheduling with cron checks
- *(logging)* Add frequency filters for scheduled logs command to support hourly, daily, weekly, and monthly job views
- *(scheduling)* Introduce ScheduledJobManager and ServerResourceManager for enhanced job scheduling and resource management
- *(previews)* Implement soft delete and cleanup for ApplicationPreview, enhancing resource management in DeleteResourceJob
### 🐛 Bug Fixes
- *(service)* Update Postiz compose configuration for improved server availability
- *(install.sh)* Use IPV4_PUBLIC_IP variable in output instead of repeated curl
- *(env)* Generate literal env variables better
- *(deployment)* Update x-data initialization in deployment view for improved functionality
- *(deployment)* Enhance COOLIFY_URL and COOLIFY_FQDN variable generation for better compatibility
- *(deployment)* Improve docker-compose domain handling and environment variable generation
- *(deployment)* Refactor domain parsing and environment variable generation using Spatie URL library
- *(deployment)* Update COOLIFY_URL and COOLIFY_FQDN generation to use Spatie URL library for improved accuracy
- *(scheduling)* Change redis cleanup command frequency from hourly to weekly for better resource management
- *(versions)* Update coolify version numbers in versions.json and constants.php to 4.0.0-beta.420.5 and 4.0.0-beta.420.6
- *(database)* Ensure internal port defaults correctly for unsupported database types in StartDatabaseProxy
- *(versions)* Update coolify version numbers in versions.json and constants.php to 4.0.0-beta.420.6 and 4.0.0-beta.420.7
- *(scheduling)* Remove unnecessary padding from scheduled task form layout for improved UI consistency
- *(horizon)* Update queue configuration to use environment variable for dynamic queue management
- *(horizon)* Add silenced jobs
- *(application)* Sanitize service names for HTML form binding and ensure original names are stored in docker compose domains
- *(previews)* Adjust padding for rate limit message in application previews
- *(previews)* Order application previews by pull request ID in descending order
- *(previews)* Add unique wire keys for preview containers and services based on pull request ID
- *(previews)* Enhance domain generation logic for application previews, ensuring unique domains are created when none are set
- *(previews)* Refine preview domain generation for Docker Compose applications, ensuring correct method usage based on build pack type
- *(ui)* Typo on proxy request handler tooltip (#6192)
- *(backups)* Large database backups are not working (#6217)
- *(backups)* Error message if there is no exception
### 🚜 Refactor
- *(previews)* Streamline preview URL generation by utilizing application method
- *(application)* Adjust layout and spacing in general application view for improved UI
- *(postgresql)* Improve layout and spacing in SSL and Proxy configuration sections for better UI consistency
- *(scheduling)* Replace deprecated job checks with ScheduledJobManager and ServerResourceManager for improved scheduling efficiency
- *(previews)* Move preview domain generation logic to ApplicationPreview model for better encapsulation and consistency across webhook handlers
### 📚 Documentation
- Update changelog
- Update changelog
## [4.0.0-beta.420.3] - 2025-07-03
### 📚 Documentation
- Update changelog
## [4.0.0-beta.420.2] - 2025-07-03
### 🚀 Features
- *(template)* Added excalidraw (#6095)
- *(template)* Add excalidraw service configuration with documentation and tags
### 🐛 Bug Fixes
- *(terminal)* Ensure shell execution only uses valid shell if available in terminal command
- *(ui)* Improve destination selection description for clarity in resource segregation
- *(jobs)* Update middleware to use expireAfter for WithoutOverlapping in multiple job classes
- Removing eager loading (#6071)
- *(template)* Adjust health check interval and retries for excalidraw service
- *(ui)* Env variable settings wrong order
- *(service)* Ensure configuration changes are properly tracked and dispatched
### 🚜 Refactor
- *(ui)* Enhance project cloning interface with improved table layout for server and resource selection
- *(terminal)* Simplify command construction for SSH execution
- *(settings)* Streamline instance admin checks and initialization of settings in Livewire components
- *(policy)* Optimize team membership checks in S3StoragePolicy
- *(popup)* Improve styling and structure of the small popup component
- *(shared)* Enhance FQDN generation logic for services in newParser function
- *(redis)* Enhance CleanupRedis command with dry-run option and improved key deletion logic
- *(init)* Standardize method naming conventions and improve command structure in Init.php
- *(shared)* Improve error handling in getTopLevelNetworks function to return network name on invalid docker-compose.yml
- *(database)* Improve error handling for unsupported database types in StartDatabaseProxy
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Bump coolify and nightly versions to 4.0.0-beta.420.3 and 4.0.0-beta.420.4 respectively
- *(versions)* Update coolify and nightly versions to 4.0.0-beta.420.4 and 4.0.0-beta.420.5 respectively
## [4.0.0-beta.420.1] - 2025-06-26
### 🐛 Bug Fixes
- *(server)* Prepend 'mux_' to UUID in muxFilename method for consistent naming
- *(ui)* Enhance terminal access messaging to clarify server functionality and terminal status
- *(database)* Proxy ssl port if ssl is enabled
### 🚜 Refactor
- *(ui)* Separate views for instance settings to separate paths to make it cleaner
- *(ui)* Remove unnecessary step3ButtonText attributes from modal confirmation components for cleaner code
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update Coolify versions to 4.0.0-beta.420.2 and 4.0.0-beta.420.3 in multiple files
## [4.0.0-beta.420] - 2025-06-26
### 🚀 Features
- *(service)* Add Miniflux service (#5843)
- *(service)* Add Pingvin Share service (#5969)
- *(auth)* Add Discord OAuth Provider (#5552)
- *(auth)* Add Clerk OAuth Provider (#5553)
- *(auth)* Add Zitadel OAuth Provider (#5490)
- *(core)* Set custom API rate limit (#5984)
- *(service)* Enhance service status handling and UI updates
- *(cleanup)* Add functionality to delete teams with no members or servers in CleanupStuckedResources command
- *(ui)* Add heart icon and enhance popup messaging for sponsorship support
- *(settings)* Add sponsorship popup toggle and corresponding database migration
- *(migrations)* Add optimized indexes to activity_log for improved query performance
- *(activity-monitor)* Update dispatch method to use activityMonitor instead of deprecated newActivityMonitor
- *(push-server-update)* Enhance application preview handling by incorporating pull request IDs and adding status update protections
- *(docker-compose)* Replace hardcoded Docker Compose configuration with external YAML template for improved database detection testing
- *(test-database-detection)* Rename services for clarity, add new database configurations, and update application service dependencies
- *(database-detection)* Enhance isDatabaseImage function to utilize service configuration for improved detection accuracy
- *(install-scripts)* Update Docker installation process to include manual installation fallback and improve error handling
- *(logs-view)* Update logs display for service containers with improved headings and dynamic key binding
- *(logs)* Enhance container loading logic and improve UI for logs display across various resource types
- *(cloudflare-tunnel)* Enhance layout and structure of Cloudflare Tunnel documentation and confirmation modal
- *(terminal-connection)* Streamline auto-connection logic and improve component readiness checks
- *(logs)* Remove unused methods and debug functionality from Logs.php for cleaner code
- *(remoteProcess)* Update sanitize_utf8_text function to accept nullable string parameter for improved type safety
- *(events)* Remove ProxyStarted event and associated ProxyStartedNotification listener for code cleanup
- *(navbar)* Remove unnecessary parameters from server navbar component for cleaner implementation
- *(proxy)* Remove commented-out listener and method for cleaner code structure
- *(events)* Update ProxyStatusChangedUI constructor to accept nullable teamId for improved flexibility
- *(cloudflare)* Update server retrieval method for improved query efficiency
- *(navbar)* Remove unused PHP use statement for cleaner code
- *(proxy)* Streamline proxy status handling and improve dashboard availability checks
- *(navbar)* Simplify proxy status handling and enhance loading indicators for better user experience
- *(resource-operations)* Filter out build servers from the server list and clean up commented-out code in the resource operations view
- *(execute-container-command)* Simplify connection logic and improve terminal availability checks
- *(navigation)* Remove wire:navigate directive from configuration links for cleaner HTML structure
- *(proxy)* Update StartProxy calls to use named parameter for async option
- *(clone-project)* Enhance server retrieval by including destinations and filtering out build servers
- *(ui)* Terminal
- *(ui)* Remove terminal header from execute-container-command view
- *(ui)* Remove unnecessary padding from deployment, backup, and logs sections
### 📚 Documentation
- Update changelog
- *(service)* Add new docs link for zipline (#5912)
- Update changelog
- Update changelog
- Update changelog
### 🎨 Styling
- *(css)* Update padding utility for password input and add newline in app.css
- *(css)* Refine badge utility styles in utilities.css
- *(css)* Enhance badge utility styles in utilities.css
### ⚙️ Miscellaneous Tasks
- *(versions)* Update coolify version to 4.0.0-beta.419 and nightly version to 4.0.0-beta.420 in configuration files
- *(service)* Rename hoarder server to karakeep (#5607)
- *(service)* Update Supabase services (#5708)
- *(service)* Remove unused documenso env
- *(service)* Formatting and cleanup of ryot
- *(docs)* Remove changelog and add it to gitignore
- *(versions)* Update version to 4.0.0-beta.419
- *(service)* Diun formatting
- *(docs)* Update CHANGELOG.md
- *(service)* Switch convex vars
- *(service)* Pgbackweb formatting and naming update
- *(service)* Remove typesense default API key
- *(service)* Format yamtrack healthcheck
- *(core)* Remove unused function
- *(ui)* Remove unused stopEvent code
- *(service)* Remove unused env
- *(tests)* Update test environment database name and add new feature test for converting container environment variables to array
- *(service)* Update Immich service (#5886)
- *(service)* Remove unused logo
- *(api)* Update API docs
- *(dependencies)* Update package versions in composer.json and composer.lock for improved compatibility and performance
- *(dependencies)* Update package versions in package.json and package-lock.json for improved stability and features
- *(version)* Update coolify-realtime to version 1.0.9 in docker-compose and versions files
- *(version)* Update coolify version to 4.0.0-beta.420 and nightly version to 4.0.0-beta.421
- *(service)* Changedetection remove unused code
## [4.0.0-beta.417] - 2025-05-07
### 🐛 Bug Fixes
- *(select)* Update fallback logo path to use absolute URL for improved reliability
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update coolify version to 4.0.0-beta.418
## [4.0.0-beta.416] - 2025-05-05
### 🚀 Features
- *(migration)* Add 'is_migrated' and 'custom_type' columns to service_applications and service_databases tables
- *(backup)* Implement custom database type selection and enhance scheduled backups management
- *(README)* Add Gozunga and Macarne to sponsors list
- *(redis)* Add scheduled cleanup command for Redis keys and enhance cleanup logic
### 🐛 Bug Fixes
- *(service)* Graceful shutdown of old container (#5731)
- *(ServerCheck)* Enhance proxy container check to ensure it is running before proceeding
- *(applications)* Include pull_request_id in deployment queue check to prevent duplicate deployments
- *(database)* Update label for image input field to improve clarity
- *(ServerCheck)* Set default proxy status to 'exited' to handle missing container state
- *(database)* Reduce container stop timeout from 300 to 30 seconds for improved responsiveness
- *(ui)* System theming for charts (#5740)
- *(dev)* Mount points?!
- *(dev)* Proxy mount point
- *(ui)* Allow adding scheduled backups for non-migrated databases
- *(DatabaseBackupJob)* Escape PostgreSQL password in backup command (#5759)
- *(ui)* Correct closing div tag in service index view
### 🚜 Refactor
- *(Database)* Streamline container shutdown process and reduce timeout duration
- *(core)* Streamline container stopping process and reduce timeout duration; update related methods for consistency
- *(database)* Update DB facade usage for consistency across service files
- *(database)* Enhance application conversion logic and add existence checks for databases and applications
- *(actions)* Standardize method naming for network and configuration deletion across application and service classes
- *(logdrain)* Consolidate log drain stopping logic to reduce redundancy
- *(StandaloneMariadb)* Add type hint for destination method to improve code clarity
- *(DeleteResourceJob)* Streamline resource deletion logic and improve conditional checks for database types
- *(jobs)* Update middleware to prevent job release after expiration for CleanupInstanceStuffsJob, RestartProxyJob, and ServerCheckJob
- *(jobs)* Unify middleware configuration to prevent job release after expiration for DockerCleanupJob and PushServerUpdateJob
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(seeder)* Update git branch from 'main' to 'v4.x' for multiple examples in ApplicationSeeder
- *(versions)* Update coolify version to 4.0.0-beta.417 and nightly version to 4.0.0-beta.418
## [4.0.0-beta.415] - 2025-04-29
### 🐛 Bug Fixes
- *(ui)* Remove required attribute from image input in service application view
- *(ui)* Change application image validation to be nullable in service application view
- *(Server)* Correct proxy path formatting for Traefik proxy type
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update coolify version to 4.0.0-beta.416 and nightly version to 4.0.0-beta.417 in configuration files; fix links in deployment view
## [4.0.0-beta.414] - 2025-04-28
### 🐛 Bug Fixes
- *(ui)* Disable livewire navigate feature (causing spam of setInterval())
## [4.0.0-beta.413] - 2025-04-28
### 💼 Other
- Adjust Workflows for v5 (#5689)
### 📚 Documentation
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(workflows)* Adjust workflow for announcement
## [4.0.0-beta.411] - 2025-04-23
### 🚀 Features
- *(deployment)* Add repository_project_id handling for private GitHub apps and clean up unused Caddy label logic
- *(api)* Enhance OpenAPI specifications with token variable and additional key attributes
- *(docker)* Add HTTP Basic Authentication support and enhance hostname parsing in Docker run conversion
- *(api)* Add HTTP Basic Authentication fields to OpenAPI specifications and enhance PrivateKey model descriptions
- *(README)* Add InterviewPal sponsorship link and corresponding SVG icon
### 🐛 Bug Fixes
- *(backup-edit)* Conditionally enable S3 checkbox based on available validated S3 storage
- *(source)* Update no sources found message for clarity
- *(api)* Correct middleware for service update route to ensure proper permissions
- *(api)* Handle JSON response in service creation and update methods for improved error handling
- Add 201 json code to servers validate api response
- *(docker)* Ensure password hashing only occurs when HTTP Basic Authentication is enabled
- *(docker)* Enhance hostname and GPU option validation in Docker run to compose conversion
- *(terminal)* Enhance WebSocket client verification with authorized IPs in terminal server
- *(ApplicationDeploymentJob)* Ensure source is an object before checking GitHub app properties
### 🚜 Refactor
- *(jobs)* Comment out unused Caddy label handling in ApplicationDeploymentJob and simplify proxy path logic in Server model
- *(database)* Simplify database type checks in ServiceDatabase and enhance image validation in Docker helper
- *(shared)* Remove unused ray debugging statement from newParser function
- *(applications)* Remove redundant error response in create_env method
- *(api)* Restructure routes to include versioning and maintain existing feedback endpoint
- *(api)* Remove token variable from OpenAPI specifications for clarity
- *(environment-variables)* Remove protected variable checks from delete methods for cleaner logic
- *(http-basic-auth)* Rename 'http_basic_auth_enable' to 'http_basic_auth_enabled' across application files for consistency
- *(docker)* Remove debug statement and enhance hostname handling in Docker run conversion
- *(server)* Simplify proxy path logic and remove unnecessary conditions
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update coolify version to 4.0.0-beta.411 and nightly version to 4.0.0-beta.412 in configuration files
- *(versions)* Update coolify version to 4.0.0-beta.412 and nightly version to 4.0.0-beta.413 in configuration files
- *(versions)* Update coolify version to 4.0.0-beta.413 and nightly version to 4.0.0-beta.414 in configuration files
- *(versions)* Update realtime version to 1.0.8 in versions.json
- *(versions)* Update realtime version to 1.0.8 in versions.json
- *(docker)* Update soketi image version to 1.0.8 in production configuration files
- *(versions)* Update coolify version to 4.0.0-beta.414 and nightly version to 4.0.0-beta.415 in configuration files
## [4.0.0-beta.410] - 2025-04-18
### 🚀 Features
- Add HTTP Basic Authentication
- *(readme)* Add new sponsors Supadata AI and WZ-IT to the README
- *(core)* Enable magic env variables for compose based applications
### 🐛 Bug Fixes
- *(application)* Append base directory to git branch URLs for improved path handling
- *(templates)* Correct casing of "denokv" to "denoKV" in service templates JSON
- *(navbar)* Update error message link to use route for environment variables navigation
- Unsend template
- Replace ports with expose
- *(templates)* Update Unsend compose configuration for improved service integration
### 🚜 Refactor
- *(jobs)* Update WithoutOverlapping middleware to use expireAfter for better queue management
### 📚 Documentation
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Bump coolify version to 4.0.0-beta.410 and update nightly version to 4.0.0-beta.411 in configuration files
- *(templates)* Update plausible and clickhouse images to latest versions and remove mail service
## [4.0.0-beta.409] - 2025-04-16
### 🐛 Bug Fixes
- *(parser)* Transform associative array labels into key=value format for better compatibility
- *(redis)* Update username and password input handling to clarify database sync requirements
- *(source)* Update connected source display to handle cases with no source connected
### 🚜 Refactor
- *(source)* Conditionally display connected source and change source options based on private key presence
### ⚙️ Miscellaneous Tasks
- *(versions)* Bump coolify version to 4.0.0-beta.409 in configuration files
## [4.0.0-beta.408] - 2025-04-14
### 🚀 Features
- *(OpenApi)* Enhance OpenAPI specifications by adding UUID parameters for application, project, and service updates; improve deployment listing with pagination parameters; update command signature for OpenApi generation
- *(subscription)* Enhance subscription management with loading states and Stripe status checks
### 🐛 Bug Fixes
- *(pre-commit)* Correct input redirection for /dev/tty and add OpenAPI generation command
- *(pricing-plans)* Adjust grid class for improved layout consistency in subscription pricing plans
- *(migrations)* Make stripe_comment field nullable in subscriptions table
- *(mongodb)* Also apply custom config when SSL is enabled
- *(templates)* Correct casing of denoKV references in service templates and YAML files
- *(deployment)* Handle missing destination in deployment process to prevent errors
### 💼 Other
- Add missing openapi items to PrivateKey
### 🚜 Refactor
- *(commands)* Reorganize OpenAPI and Services generation commands into a new namespace for better structure; remove old command files
- *(Dockerfile)* Remove service generation command from the build process to streamline Dockerfile and improve build efficiency
- *(navbar-delete-team)* Simplify modal confirmation layout and enhance button styling for better user experience
- *(Server)* Remove debug logging from isReachableChanged method to clean up code and improve performance
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Update nightly version to 4.0.0-beta.410
- *(pre-commit)* Remove OpenAPI generation command from pre-commit hook
- *(versions)* Update realtime version to 1.0.7 and bump dependencies in package.json
## [4.0.0-beta.407] - 2025-04-09
### 📚 Documentation
- Update changelog
## [4.0.0-beta.406] - 2025-04-05
### 🚀 Features
- *(Deploy)* Add info dispatch for proxy check initiation
- *(EnvironmentVariable)* Add handling for Redis credentials in the environment variable component
- *(EnvironmentVariable)* Implement protection for critical environment variables and enhance deletion logic
- *(Application)* Add networkAliases attribute for handling network aliases as JSON or comma-separated values
- *(GithubApp)* Update default events to include 'pull_request' and streamline event handling
- *(CleanupDocker)* Add support for realtime image management in Docker cleanup process
- *(Deployment)* Enhance queue_application_deployment to handle existing deployments and return appropriate status messages
- *(SourceManagement)* Add functionality to change Git source and display current source in the application settings
### 🐛 Bug Fixes
- *(CheckProxy)* Update port conflict check to ensure accurate grep matching
- *(CheckProxy)* Refine port conflict detection with improved grep patterns
- *(CheckProxy)* Enhance port conflict detection by adjusting ss command for better output
- *(api)* Add back validateDataApplications (#5539)
- *(CheckProxy, Status)* Prevent proxy checks when force_stop is active; remove debug statement in General
- *(Status)* Conditionally check proxy status and refresh button based on force_stop state
- *(General)* Change redis_password property to nullable string
- *(DeployController)* Update request handling to use input method and enhance OpenAPI description for deployment endpoint
### 💼 Other
- Add missing UUID to openapi spec
### 🚜 Refactor
- *(Server)* Use data_get for safer access to settings properties in isFunctional method
- *(Application)* Rename network_aliases to custom_network_aliases across the application for clarity and consistency
- *(ApplicationDeploymentJob)* Streamline environment variable handling by introducing generate_coolify_env_variables method and consolidating logic for pull request and main branch scenarios
- *(ApplicationDeploymentJob, ApplicationDeploymentQueue)* Improve deployment status handling and log entry management with transaction support
- *(SourceManagement)* Sort sources by name and improve UI for changing Git source with better error handling
- *(Email)* Streamline SMTP and resend settings handling in copyFromInstanceSettings method
- *(Email)* Enhance error handling in SMTP and resend methods by passing context to handleError function
- *(DynamicConfigurations)* Improve handling of dynamic configuration content by ensuring fallback to empty string when content is null
- *(ServicesGenerate)* Update command signature from 'services:generate' to 'generate:services' for consistency; update Dockerfile to run service generation during build; update Odoo image version to 18 and add extra addons volume in compose configuration
- *(Dockerfile)* Streamline RUN commands for improved readability and maintainability by adding line continuations
- *(Dockerfile)* Reintroduce service generation command in the build process for consistency and ensure proper asset compilation
### ⚙️ Miscellaneous Tasks
- *(versions)* Bump version to 406
- *(versions)* Bump version to 407 and 408 for coolify and nightly
- *(versions)* Bump version to 408 for coolify and 409 for nightly
## [4.0.0-beta.405] - 2025-04-04
### 🚀 Features
- *(api)* Update OpenAPI spec for services (#5448)
- *(proxy)* Enhance proxy handling and port conflict detection
### 🐛 Bug Fixes
- *(api)* Used ssh keys can be deleted
- *(email)* Transactional emails not sending
### 🚜 Refactor
- *(CheckProxy)* Replace 'which' with 'command -v' for command availability checks
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(versions)* Bump version to 406
- *(versions)* Bump version to 407
## [4.0.0-beta.404] - 2025-04-03
### 🚀 Features
- *(lang)* Added Azerbaijani language updated turkish language. (#5497)
- *(lang)* Added Portuguese from Brazil language (#5500)
- *(lang)* Add Indonesian language translations (#5513)
### 🐛 Bug Fixes
- *(docs)* Comment out execute for now
- *(installation)* Mount the docker config
- *(installation)* Path to config file for docker login
- *(service)* Add health check to Bugsink service (#5512)
- *(email)* Emails are not sent in multiple cases
- *(deployments)* Use graceful shutdown instead of `rm`
- *(docs)* Contribute service url (#5517)
- *(proxy)* Proxy restart does not work on domain
- *(ui)* Only show copy button on https
- *(database)* Custom config for MongoDB (#5471)
### 📚 Documentation
- Update changelog
- Update changelog
- Update changelog
- Update changelog
### ⚙️ Miscellaneous Tasks
- *(service)* Remove unused code in Bugsink service
- *(versions)* Update version to 404
- *(versions)* Bump version to 403 (#5520)
- *(versions)* Bump version to 404
## [4.0.0-beta.402] - 2025-04-01
### 🚀 Features
- *(deployments)* Add list application deployments api route
- *(deploy)* Add pull request ID parameter to deploy endpoint
- *(api)* Add pull request ID parameter to applications endpoint
- *(api)* Add endpoints for retrieving application logs and deployments
- *(lang)* Added Norwegian language (#5280)
- *(dep)* Bump all dependencies
### 🐛 Bug Fixes
- Only get apps for the current team
- *(DeployController)* Cast 'pr' query parameter to integer
- *(deploy)* Validate team ID before deployment
- *(wakapi)* Typo in env variables and add some useful variables to wakapi.yaml (#5424)
- *(ui)* Instance Backup settings
### 🚜 Refactor
- *(dev)* Remove OpenAPI generation functionality
- *(migration)* Enhance local file volumes migration with logging
### ⚙️ Miscellaneous Tasks
- *(service)* Update minecraft service ENVs
- *(service)* Add more vars to infisical.yaml (#5418)
- *(service)* Add google variables to plausible.yaml (#5429)