Add project icon storage and serving with local/S3 support, prevent deletion of compose-managed volumes, and optimize volume backups. Refine project and backup UI components with consistent styling and coverage.
The account-menu dropdown wrapped its panel, including the
settings-dropdown Livewire component, in <template x-if="open">.
The "What's New" button carries both wire:click and @click="open =
false" on the same element, so closing the menu tore the Livewire
component out of the DOM while its request was still in flight,
leaving Livewire unable to find the component to morph the response
into.
Switch back to x-show/x-cloak so the component stays mounted (just
hidden via CSS) and survives the menu-close click.
Fixes#11219
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add responsive overflow handling and dedicated action menus for application,
service, database, and server headings, while improving upgrade and email
settings flows and returning 404s for missing deployment environments.
Log the generated docker stop command and Docker version when
running locally so developers can inspect version-aware flags.
Skip logging outside local development.
Store each server's Docker version and build stop commands via
dockerStopCommand() so newer Docker uses --timeout instead of
deprecated --time/-t. Also show Docker version in server details.
Start backup and task pagination without an id lower bound so a legacy coolify-db backup or scheduled task at id 0 is dispatched with later positive ids. Document instance sentinel ids so they are not treated as ordinary autoincrement rows.
Register the jean-server compose template, logo, and catalog entries,
and expose token and allowed-origins settings on the service form.
Sort extra fields by sortOrder and omit empty service-name prefixes.
Sentinel stores container used memory in bytes while application and
database charts label the series as megabytes. Convert those samples
before they reach the frontend so the graph is not inflated by ~1024x.
Expose the running Coolify version on /api/health and only treat an upgrade as complete once that version meets the target. Parse upgrade status in a shared service, start the update after the Livewire response, and keep polling when the instance is still on the old version.
Always reserve vertical scrollbar space on base and v5 body
layouts to prevent content shift. Match notification event
multiselect panel open/close transitions to other listboxes.
Drop Spin from docs and helper scripts; run the stack and container
exec via docker compose with docker-compose.yml and docker-compose.dev.yml.
Update firewall-delegation tests to match the new commands.
Remove buildSuggestedWwwRows from application and service domain
row builders so configured domains no longer auto-surface an
unconfigured www pair. Update ApplicationDomainsTest accordingly.
Limit enter/space deploy handlers to the card root with .self so nested focusable content no longer triggers deploy. Hide the environments table resource count on mobile via a stable class instead of nth-child.