mirror of
https://github.com/coollabsio/coolify.git
synced 2026-11-12 15:53:46 -04:00
feat(release): bump coolify version to v4.7.0
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 91d233be59
|
||||
---
|
||||
A list view on the new resource page
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 777362cd97
|
||||
---
|
||||
A `Not used` label on the TLS certificates of the Traefik proxy page, and a `Delete unused` button that deletes them in one step ([#12447](https://github.com/coollabsio/coolify/issues/12447))
|
||||
|
||||
- A certificate is unused when no route and no resource on the server uses its domain
|
||||
- Traefik renews every certificate in `acme.json` until you delete it and restart the proxy
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 31c3fcf50d
|
||||
---
|
||||
A `Run in a shell` option on scheduled tasks, so containers without `sh`, such as distroless or scratch images, can run them ([#8244](https://github.com/coollabsio/coolify/issues/8244))
|
||||
|
||||
- Turn it off to split the command into arguments and run it directly
|
||||
- The API and the MCP tools set it too
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: a5b4e1d32e
|
||||
---
|
||||
A separate notification sender in the instance email settings
|
||||
|
||||
- Team notifications through the instance email settings, the S3 connection error alert and the channel disabled alert use it
|
||||
- Account emails keep the default sender
|
||||
- The `emails` artisan command no longer exists
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 7f521e496d
|
||||
---
|
||||
A `Skip TLS certificate verification` setting on S3 storages, for endpoints with a self-signed or private CA certificate ([#9762](https://github.com/coollabsio/coolify/issues/9762), [#4402](https://github.com/coollabsio/coolify/issues/4402))
|
||||
|
||||
- It applies to the connection test, backups, restores and the deletion of old backups
|
||||
- The S3 storages API sets it with `skip_tls_verification`
|
||||
- Browsers that download files from the storage must still trust the certificate
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: c648f4ec6a
|
||||
---
|
||||
A star button on servers and resources for quick access on the dashboard
|
||||
|
||||
- The button is after the status in the top bar
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: bd499de1fb
|
||||
---
|
||||
A `UI scale` option in the appearance settings
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: fc027be248
|
||||
---
|
||||
A warning when the Docker Compose file of an application is in a subdirectory of the base directory, with a button that moves the directory of the file into the base directory ([#9525](https://github.com/coollabsio/coolify/issues/9525))
|
||||
|
||||
- Coolify runs Docker Compose in the base directory, so relative paths such as `build.context: ..` resolve from there
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 1703265353
|
||||
---
|
||||
API endpoints and MCP tools that manage image scanning and read the scan results
|
||||
|
||||
- `GET` and `PATCH /api/v1/servers/{uuid}/image-scanning`, `GET /api/v1/vulnerabilities` and `GET /api/v1/{applications|databases|services}/{uuid}/vulnerabilities`
|
||||
- The MCP tools are `get_vulnerabilities` and `manage_image_scanning`
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 59481c7bb6
|
||||
---
|
||||
API token search out of sync after you create, edit or revoke a token ([#12465](https://github.com/coollabsio/coolify/issues/12465))
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: e29dcf70d9
|
||||
---
|
||||
Applications and databases removed from the Docker Compose file of a service showing as `Exited` and keeping the service degraded ([#9591](https://github.com/coollabsio/coolify/issues/9591))
|
||||
|
||||
- They show `Not in Compose file` and do not count in the service status
|
||||
- Coolify keeps their settings and uses them again when you add the service back under the same name
|
||||
- To remove one, delete it in its settings
|
||||
- Existing ones are marked at the next deployment or save of the service
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 83a5667387
|
||||
---
|
||||
Applications deleted on all their servers when you delete a server that they use only as an additional destination
|
||||
|
||||
- This applies to `Delete all resources` and `DELETE /api/v1/servers/{uuid}?force=true`
|
||||
- Coolify removes the application only from the deleted server and stops its containers there
|
||||
- A server that has only such applications can be deleted without `Delete all resources`
|
||||
- The delete confirmation lists the resources it deletes and the applications that keep running on another server
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: 3c588d482d
|
||||
---
|
||||
Applied the limits of API tokens to more permission checks
|
||||
|
||||
- A message explains when a token limit blocks a change
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: a5c3ca0b73
|
||||
---
|
||||
Automatic update notifications, the root team gets one when an automatic update starts, fails or finishes
|
||||
|
||||
- A manual upgrade that fails before the upgrade script starts shows the error in the upgrade modal
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: ccaa04ce33
|
||||
---
|
||||
Bugsink service template filling the disk with MySQL binary logs until Bugsink stopped ([#10626](https://github.com/coollabsio/coolify/issues/10626))
|
||||
|
||||
- New services use PostgreSQL 17 and Bugsink 2
|
||||
- To stop the growth in an existing service, run `PURGE BINARY LOGS BEFORE NOW();` in MySQL, then add `command: ['--disable-log-bin']` to the `mysql` service and restart it
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 4b9fe035dc
|
||||
---
|
||||
Builds that failed with x509 errors behind a TLS-inspecting proxy, although the server trusts the proxy CA ([#7568](https://github.com/coollabsio/coolify/issues/7568))
|
||||
|
||||
- The helper container mounts the CA bundle of the server read-only
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
---
|
||||
Built team invitation links from the instance URL instead of the request host, when no instance domain is set
|
||||
@@ -1,12 +0,0 @@
|
||||
---
|
||||
type: changed
|
||||
breaking: true
|
||||
commit: cf1e0e70c5
|
||||
---
|
||||
Cancelled the older queued webhook deployments of an application by default when a newer push arrives, so only the latest commit is built ([#10921](https://github.com/coollabsio/coolify/discussions/10921), [#7678](https://github.com/coollabsio/coolify/discussions/7678))
|
||||
|
||||
- It works per application, pull request and server
|
||||
- `Advanced` > `Deployment` and `is_auto_cancel_queued_deployments_enabled` in the applications API turn it off
|
||||
- Manual, API, restart and rollback deployments are never cancelled
|
||||
- An opt-in setting, `is_auto_cancel_building_deployments_enabled` in the API, also stops an older webhook deployment that is still building, a deployment that started to replace containers always finishes
|
||||
- `cancel_previous` (`none`, `queued` or `building`) on `/api/v1/deploy` and the MCP `deploy` tool cancels the older webhook, API and MCP deployments, the default is `none`
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: 8011d0d6ab
|
||||
---
|
||||
Checked that members with access grants can use the selected server and the team credentials
|
||||
|
||||
- A new, cloned or migrated resource needs a server that the member can use, the localhost server needs an instance admin
|
||||
- Server lists show only the servers that the member can use
|
||||
- Team private keys, GitHub Apps, Gitea Apps and new S3 storages of backup schedules need write access on the whole team, also through the API
|
||||
- A message explains when write access on the whole team is needed
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: 25b4236e35
|
||||
---
|
||||
Checked the deploy permission before a deploy through the API creates a preview or changes its image tag
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 3c87879e6b
|
||||
---
|
||||
Compose services that could not reach each other by name in preview deployments and failed to start ([#8030](https://github.com/coollabsio/coolify/issues/8030))
|
||||
|
||||
- The original name is an alias on the preview network
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 3c33f61d7b
|
||||
---
|
||||
Container image vulnerability scanning, opt-in for each server and each application
|
||||
|
||||
- Syft and Grype run on your server, and no data goes to a third party
|
||||
- Each resource gets one security status and version recommendations, with an optional deploy gate for each application
|
||||
- The team `Security` page and the notifications show the results
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: removed
|
||||
commit: f7867923b7
|
||||
---
|
||||
`Copy from instance settings` from the email notification page, select `Use system-wide settings` instead
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 1ff99b0dc8
|
||||
---
|
||||
`Copy logs` not changing the clipboard on iPhone and iPad, in the runtime and deployment logs ([#9408](https://github.com/coollabsio/coolify/issues/9408))
|
||||
|
||||
- Coolify starts the clipboard write during the tap and adds the logs when they load
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 813bc72af4
|
||||
---
|
||||
Cut-off descriptions of PostgreSQL, MongoDB and ClickHouse on the new resource page
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: a05fe524f8
|
||||
---
|
||||
Data that looked lost after you changed the name of a persistent volume, because a new name points to a new, empty Docker volume ([#8816](https://github.com/coollabsio/coolify/issues/8816))
|
||||
|
||||
- A dialog asks for confirmation and tells you to copy the data into the new volume
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 0b89b857ed
|
||||
---
|
||||
Database backup executions table that did not fit the page and was hard to read ([#7188](https://github.com/coollabsio/coolify/issues/7188))
|
||||
|
||||
- It shows the file name of the archive, with a button that copies its path
|
||||
- It shows `All databases` for a backup of all databases
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 3b64cbc379
|
||||
---
|
||||
Database backups saved to S3 when an API request does not send `save_s3`
|
||||
|
||||
- The backup page resets the S3 selection when a change is not allowed
|
||||
@@ -1,10 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 5c71067481
|
||||
---
|
||||
Database backups that passed the worker timeout, stayed running, and left the upload container and the dump file on the server
|
||||
|
||||
- Each step gets only the time that is left of the backup timeout, so a run that takes too long fails and cleans up
|
||||
- An SSH retry does not start a second dump
|
||||
- The backup log explains exit code 124, and the timeout help says that it covers the complete run
|
||||
- The daily helper container cleanup removes the upload containers of executions that are not running
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: ed03a31b3a
|
||||
---
|
||||
Deleted `coolify.yaml` and an unreachable dashboard on a server with the IP `host.docker.internal` that is not the default localhost server ([#12444](https://github.com/coollabsio/coolify/issues/12444))
|
||||
|
||||
- Coolify keeps treating this server as localhost after a save, for example after a proxy restart
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 780d67ccbb
|
||||
---
|
||||
Deleted volume coming back after a redeploy when the image declares `VOLUME` at its path ([#6875](https://github.com/coollabsio/coolify/issues/6875))
|
||||
|
||||
- Coolify removes containers that still mount a deleted volume before it starts the new ones
|
||||
- The stale volume delete dialog warns when a container still uses the volume
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 5960814df5
|
||||
---
|
||||
Deploy canvas cards with another border than the resource tiles
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b063a41624
|
||||
---
|
||||
Deployments started through the MCP server saved as API deployments
|
||||
|
||||
- The deployment list shows them with the `MCP` source and filter
|
||||
- The API and MCP deployment data have a new `is_mcp` field
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: d70801aaa1
|
||||
---
|
||||
Deployments that failed on one `502` or one timeout from the GitHub API ([#9785](https://github.com/coollabsio/coolify/issues/9785))
|
||||
|
||||
- GitHub API reads retry up to three times on a 5xx error or a failed connection
|
||||
- Writes, such as pull request comments, are not retried
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b7a2c75739
|
||||
---
|
||||
Deployments that failed with `cURL error 28` on `https://api.github.com/zen`, because Coolify compared its clock with GitHub before each token request ([#9785](https://github.com/coollabsio/coolify/issues/9785))
|
||||
|
||||
- Coolify compares the clocks only when GitHub rejects a request, from the `Date` header of that response
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: d6405d5545
|
||||
---
|
||||
Deployments that failed with "The container name ... is already in use" when `Use build secrets` is on ([#9363](https://github.com/coollabsio/coolify/issues/9363))
|
||||
|
||||
- Coolify removes the old helper container and waits until Docker frees the name
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 0b45d8dd6c
|
||||
---
|
||||
Deployments that stopped on a broken `.env` file, because multi-line JSON values saved before exact escaping had no quotes ([#8279](https://github.com/coollabsio/coolify/issues/8279))
|
||||
|
||||
- These values use exact escaping, which gives the container the same value as before beta.463
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 37b4a8b4e7
|
||||
---
|
||||
Deployments to additional servers losing the source of the main deployment
|
||||
|
||||
- The audit log records actions that MCP tools do through the API as MCP events
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 71814b4541
|
||||
---
|
||||
Different `COOLIFY_BRANCH` values in the parts of a preview deployment ([#9572](https://github.com/coollabsio/coolify/issues/9572))
|
||||
|
||||
- All parts use `pull/<pull request number>/head`
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: f7ea962145
|
||||
---
|
||||
Disabled self-hosted servers that stayed disabled after a validation that connects ([#12475](https://github.com/coollabsio/coolify/issues/12475))
|
||||
|
||||
- The unreachable cleanup skips the localhost server
|
||||
- The server page explains why a server is disabled
|
||||
- Coolify Cloud servers and transferred servers stay disabled
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b7defddc32
|
||||
---
|
||||
`DNS matches` on a domain in a connected Cloudflare zone that goes through Cloudflare to a different server, which then failed with Cloudflare error 526 and a Let's Encrypt error ([#12436](https://github.com/coollabsio/coolify/issues/12436))
|
||||
|
||||
- The domain shows `DNS mismatch`
|
||||
- CNAME records, for example of a Cloudflare Tunnel, are still accepted
|
||||
- A clone of an application or a service, or a new one through the API, gets a Cloudflare DNS record for each domain in a zone with automatic DNS, a clone only for the domains that the source does not use
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 8c6774e17f
|
||||
---
|
||||
Docker builds that failed with "BuildKit is enabled but the buildx component is missing or broken" when an application has a build-time variable `HOME` or `DOCKER_CONFIG` ([#9726](https://github.com/coollabsio/coolify/issues/9726))
|
||||
|
||||
- The Docker CLI in the helper container always uses `/root/.docker`
|
||||
- A `HOME` build argument keeps its value
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: d09480973e
|
||||
---
|
||||
Docker Compose previews sharing one project with the application and the other previews, so Docker Compose treated their containers as orphans ([#9014](https://github.com/coollabsio/coolify/issues/9014))
|
||||
|
||||
- Each preview has its own Compose project, and the networks that the Compose file declares are not shared
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 51a7e97619
|
||||
---
|
||||
Dockerfile `HEALTHCHECK` options not imported as Docker reads them, zero and sub-second values became 0 seconds ([#12455](https://github.com/coollabsio/coolify/issues/12455))
|
||||
|
||||
- Coolify reads compound and fractional durations, quoted values, only the flags before `CMD`, the `escape` directive and `NONE` with flags
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: fcf92b751f
|
||||
---
|
||||
Dockerfile `HEALTHCHECK` read from a stage that is not built ([#9475](https://github.com/coollabsio/coolify/issues/9475))
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: c3a21eceeb
|
||||
---
|
||||
Domains showing `Not checked` when an existing Cloudflare DNS record of a new domain has a different IP
|
||||
|
||||
- Coolify replaces the record when it created the record and no other resource uses it
|
||||
- Otherwise it opens the `Configure DNS` dialog, where you can replace the record, and the domain shows the conflict
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b7d0e6be2a
|
||||
---
|
||||
Duplicate and empty rows in the audit log
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: f9bde1cd7a
|
||||
---
|
||||
Duplicate environment variables, and extra copies that could not be removed ([#8041](https://github.com/coollabsio/coolify/issues/8041))
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 232e8b8616
|
||||
---
|
||||
Empty database backups of Odoo services, which backed up only the empty `postgres` database ([#7555](https://github.com/coollabsio/coolify/issues/7555))
|
||||
|
||||
- New backup schedules of Odoo services back up all databases by default
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 6254f44f16
|
||||
---
|
||||
Empty disk usage on the `Metrics` tab, the `Fleet` page and in the MCP `get_server_metrics` tool when Sentinel reports the Coolify data disk under another mount point than `/`, `/data` or `/data/coolify` ([#12448](https://github.com/coollabsio/coolify/issues/12448))
|
||||
|
||||
- This occurs for example on a NAS where `/data` is a symlink into a data volume
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: f057aaf2e6
|
||||
---
|
||||
Empty list of the commit images of Docker Compose applications on the `Rollback` page and in `GET /api/v1/applications/{uuid}/rollback-images`, since v4.5.0 ([#12446](https://github.com/coollabsio/coolify/issues/12446))
|
||||
|
||||
- The page also shows the running commit when the Compose file has services from other images
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Ended terminal sessions when access to the server is lost
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Enforced fixed SSH connection options on every connection, also for health checks
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: ba966846e1
|
||||
---
|
||||
Exact start time in service backup executions that is hard to read
|
||||
|
||||
- The table shows the relative time, with the exact date in a tooltip
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 960471984c
|
||||
---
|
||||
Expired sessions kept for the retention days of the database cleanup ([#7394](https://github.com/coollabsio/coolify/issues/7394))
|
||||
|
||||
- The cleanup deletes sessions older than the session lifetime
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 21d1ad4874
|
||||
---
|
||||
Failed backups to S3 endpoints with a path, such as `/storage/v1/s3` of Supabase Storage ([#8530](https://github.com/coollabsio/coolify/issues/8530))
|
||||
|
||||
- Database backups, volume backups and S3 restores use curl with a presigned URL for these endpoints
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: c94411fb92
|
||||
---
|
||||
Failed clone of an application with a fixed preview URL template, with a duplicate preview domain error and a stopped, partial clone
|
||||
|
||||
- A clone does not copy preview deployments and gets its own from new pull requests
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: d6acd9a3c5
|
||||
---
|
||||
Failed Docker install on Ubuntu derivatives such as Pop!_OS and Linux Mint, and on Raspbian 13 (Trixie) ([#9455](https://github.com/coollabsio/coolify/issues/9455))
|
||||
|
||||
- The fallback uses the Ubuntu repository with `UBUNTU_CODENAME` on Ubuntu derivatives
|
||||
- It uses the Debian repository on Raspbian 13, which has no Docker repository of its own
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 3895ca05f3
|
||||
---
|
||||
Failed image pull in the Convex service template, after the rename to the `ghcr.io/convex` namespace ([#12449](https://github.com/coollabsio/coolify/issues/12449))
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 455b22f26c
|
||||
---
|
||||
Failed parse of a Docker Compose file whose `services` key is empty or is not a map, and unexplained exit code 255 in failed commands
|
||||
|
||||
- The message explains that the SSH connection to the server closed before the command finished
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 8126a5c128
|
||||
---
|
||||
Failed S3 uploads of backups larger than about 15.6 GiB on providers that accept only 1000 parts, such as Scaleway ([#8411](https://github.com/coollabsio/coolify/issues/8411))
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: d3ef4d1c57
|
||||
---
|
||||
Failed sign-up and login in the Rybbit service template, `/api` requests got a 404 error ([#9055](https://github.com/coollabsio/coolify/issues/9055))
|
||||
|
||||
- The template routes `/api` on the same domain to the backend on port 3001 and keeps the `/api` prefix
|
||||
- For an existing service, add `SERVICE_URL_RYBBIT_3001=/api` to `rybbit_backend`, move it above `rybbit` in the Docker Compose file, set `Path prefixes` to `Keep prefixes` in the advanced settings of the backend and redeploy
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 927e3f0b42
|
||||
---
|
||||
Failed startup and broken public album links in the Ente service templates ([#7405](https://github.com/coollabsio/coolify/issues/7405))
|
||||
|
||||
- An albums service with its own domain serves public links
|
||||
- The images come from `ghcr.io/ente`, and the JWT secret is URL-safe so that Museum can decode it
|
||||
- With S3, the template uses the routed `MINIO_SERVER_URL` as the S3 endpoint and allows all CORS origins
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: a58588faa0
|
||||
---
|
||||
Forgejo and Codeberg in the Gitea App source
|
||||
|
||||
- A `Provider` list fills in the Gitea.com or Codeberg URLs
|
||||
- Webhooks accept the `X-Forgejo-*` headers
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Generated new SSH keys as Ed25519 and validated private keys more strictly
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b83b97f7e6
|
||||
---
|
||||
Generic error when a new private key cannot connect to a server ([#7980](https://github.com/coollabsio/coolify/issues/7980))
|
||||
|
||||
- The message shows the SSH error
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: 3bc82eb71d
|
||||
---
|
||||
Gitea App endpoints in the API and the MCP tools, `GET /gitea-apps` and `POST /applications/private-gitea-app` ([#12459](https://github.com/coollabsio/coolify/issues/12459))
|
||||
|
||||
- `gitea_app_uuid` sets the source when you create or update an application
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: added
|
||||
commit: bf4b6ad921
|
||||
---
|
||||
GitHub Deployments sync, each deployment and preview reports to GitHub Deployments with links to the log and the environment
|
||||
|
||||
- It needs a private GitHub App with `Deployments: write`
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Hardened SMTP and terminal connections
|
||||
|
||||
- SMTP hosts are validated, and Coolify connects only to the checked address
|
||||
- The error message explains why an SMTP host is refused
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 666ac84efb
|
||||
---
|
||||
Health checks in their start period shown as unknown, not as `running:starting` ([#9411](https://github.com/coollabsio/coolify/issues/9411))
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
---
|
||||
Limited the server data in the application, service, and database API responses to tokens that cover the whole team
|
||||
@@ -1,4 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
---
|
||||
Removed the server details from the response of the `get_service` MCP tool
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 1b571f4509
|
||||
---
|
||||
High CPU use of `dockerd` while you stream the logs of a container with a large log file ([#7693](https://github.com/coollabsio/coolify/issues/7693))
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: e0b94662e9
|
||||
---
|
||||
Ignored concurrent build limit of build servers ([#7649](https://github.com/coollabsio/coolify/issues/7649))
|
||||
|
||||
- Each build counts on the server that runs it, and a deployment reserves a build server with a free slot when it starts
|
||||
- A freed build server slot starts the waiting deployments of other servers
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: changed
|
||||
commit: 688134a994
|
||||
---
|
||||
`Import Backup` from the resource menu to an `Import backup` button on the `Backups` page of databases and services ([#11818](https://github.com/coollabsio/coolify/discussions/11818))
|
||||
|
||||
- The button opens the import in a dialog
|
||||
- Old `Import Backup` links open the `Backups` page
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: b12c965fbe
|
||||
---
|
||||
Inconsistent status badges and S3 storage names in service backup tables
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 860e786481
|
||||
---
|
||||
Instance database backups running on the wrong server when the destination of `coolify-db` points to another one ([#8139](https://github.com/coollabsio/coolify/issues/8139))
|
||||
|
||||
- The backup always runs on the Coolify host
|
||||
- A failed pre-update backup shows why it failed
|
||||
- The pre-update backup skips a disabled schedule
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: 3379fa448a
|
||||
---
|
||||
Kept personal data and credentials out of audit events
|
||||
|
||||
- The audit events of a deleted user are anonymized
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Kept stored private keys out of the browser
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Kept the Sentinel token out of process arguments
|
||||
|
||||
- Sentinel reads it from an env file
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: security
|
||||
commit: 13298591d8
|
||||
---
|
||||
Limited API clients that keep failing to 30 failed requests per minute for one token or IP
|
||||
|
||||
- More failed requests get `429`, `API_FAILED_REQUEST_RATE_LIMIT` sets the limit
|
||||
- The team of the token gets one notification a day when the token reaches the limit
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: changed
|
||||
breaking: true
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Limited the cloud provider token API to team admins and owners
|
||||
|
||||
- Other members get `403`
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: a487d7c9d3
|
||||
---
|
||||
LiteLLM service template with a master key that did not start with `sk-` ([#10521](https://github.com/coollabsio/coolify/issues/10521))
|
||||
|
||||
- The admin API key is `sk-` followed by the value of `SERVICE_PASSWORD_MASTERKEY`
|
||||
- A separate `LITELLM_SALT_KEY` keeps stored model credentials readable when the master key changes
|
||||
- `STORE_MODEL_IN_DB` is `True` by default, so you can add models in the LiteLLM UI
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: c8c639e3d6
|
||||
---
|
||||
Live updates, such as proxy restart logs, that did not reach the browser, because the WebSocket handshake failed with `413` with large cookie headers
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: ca27224628
|
||||
---
|
||||
Localhost server page that did not refresh after its connection is validated
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: da7779d061
|
||||
---
|
||||
Locked environment variables that could not be changed, unlocked or deleted when Docker Compose uses them ([#6803](https://github.com/coollabsio/coolify/issues/6803))
|
||||
|
||||
- A locked value can be replaced without showing it
|
||||
- The lock is permanent in the UI, the API and MCP, and `Lock` asks for confirmation
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: cdc45e5736
|
||||
---
|
||||
Lost audit events
|
||||
|
||||
- Coolify writes audit events at commit time
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: a7b7aa350a
|
||||
---
|
||||
Lost Telegram notifications when Telegram rejects a button URL, for example localhost or an IP address without a domain ([#8269](https://github.com/coollabsio/coolify/issues/8269))
|
||||
|
||||
- Coolify then sends the links as text
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 52a78cdb0f
|
||||
---
|
||||
Lost trailing newline of multiline environment variables, so OpenSSH rejected an SSH private key with "error in libcrypto" ([#9438](https://github.com/coollabsio/coolify/issues/9438))
|
||||
|
||||
- A value with more than one line is saved exactly as you enter it, in the UI and in the API
|
||||
- Single-line values still lose their edge whitespace
|
||||
- Save a variable again to add the newline that Coolify removed
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 7e7f491749
|
||||
---
|
||||
Lost update channel in `Settings` > `Updates` and lost healthcheck `Check type` when one of them is the only change
|
||||
|
||||
- The `Save changes` bar opens for them
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: changed
|
||||
commit: 17a9fa624e
|
||||
---
|
||||
Maintenance mode to its own `Maintenance` page of applications and services, and you must confirm the toggle
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: e20e652c00
|
||||
---
|
||||
Missing check of the closest Cloudflare wildcard record for deeper domain names, such as `app.apps.example.com` through `*.example.com` ([#12436](https://github.com/coollabsio/coolify/issues/12436))
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: daf0e1a70c
|
||||
---
|
||||
Missing Cloudflare DNS record when you edit a domain to a hostname in a connected Cloudflare zone, for example a generated domain changed to your own domain
|
||||
|
||||
- Coolify adds the record automatically or opens the `Configure DNS` dialog, as it did only for new domains
|
||||
- This applies to the `Domains` pages, the application and service application settings and the service application API
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: eb5f238a45
|
||||
---
|
||||
Missing disabled server message on the localhost server page ([#12475](https://github.com/coollabsio/coolify/issues/12475))
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 3f51c251c0
|
||||
---
|
||||
Missing Git error reason when Coolify cannot read a repository
|
||||
@@ -1,5 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 693cf0486d
|
||||
---
|
||||
Missing links to the provider dashboards on the secret manager token forms
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 8d07d178f0
|
||||
---
|
||||
Missing project, environment and service in Fluent Bit log drains for containers without the Coolify default variables ([#8415](https://github.com/coollabsio/coolify/issues/8415))
|
||||
|
||||
- The `fluentd` driver also sends the Coolify container labels, and the built-in configurations use them as a fallback
|
||||
@@ -1,9 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: f21acdc3e4
|
||||
---
|
||||
Missing `Resource status changes` notification when an application, preview, service or database stops unexpectedly, for example after a crash or `docker kill` ([#9493](https://github.com/coollabsio/coolify/issues/9493))
|
||||
|
||||
- Coolify waits 2 minutes and notifies only when the resource is still stopped
|
||||
- A stop, restart or redeploy from Coolify sends no notification
|
||||
- The same resource sends at most one notification in 15 minutes
|
||||
@@ -1,7 +0,0 @@
|
||||
---
|
||||
type: fixed
|
||||
commit: 2fbe9d2abe
|
||||
---
|
||||
Missing `Traefik Proxy Outdated` notification when a newer Traefik patch version of the running branch is available ([#9727](https://github.com/coollabsio/coolify/issues/9727))
|
||||
|
||||
- Coolify sends one notification for each new patch version, not one for each hourly check
|
||||
@@ -1,8 +0,0 @@
|
||||
---
|
||||
type: changed
|
||||
breaking: true
|
||||
commit: f7867923b7
|
||||
---
|
||||
Moved the Resend sender to the new `resend_from_address` and `resend_from_name` fields, API clients must use the new fields
|
||||
|
||||
- A migration copies the current values
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user