Releases: coollabsio/coolify
Releases · coollabsio/coolify
v4.0.0-beta.389
Changes
- feat(terminal): show terminal unavailable if the container does not have a shell on the global terminal UI
- feat(docs): Add
TECH_STACK.md
- feat: added back
finished x min ago
to make it easier to see how long ago a deployment was finished - feat(service): Update affine.yaml with AI environment variables
- fix(labels): docker labels do not generated correctly
- fix(terminal): terminal shows that it is not available, even though it is
- fix(helper): downgraded Nixpacks to v1.29.0 - maybe fixes some of the deployment issues
- fix(ui): metrics stuck in loading state
- fix(ui): use
wire:navigate
to navigate to the server settings page - fix: show time details even if a deployment has failed
- fix(service): Plunk API & health check endpoint
- fix(service): infinite loading and lag with Invoiceninja service
- fix(workflows): remove tags on close only if the PR has been merged into the main branch
- fix(workflows):
Waiting for changes
label should also be considered and improved stale messages - chore(core): EnvironmentVariable Model now extends BaseModel to remove duplicated code
New Services
- Flipt
Issues
Terminal unavailable
What's Changed
- Allow to setup COPILOT AI in Affine service by @LeoMartinDev in #4918
- Add flipt service by @zairigimad in #4875
- Fix Plunk API & health check endpoint by @arxkdev in #4925
- fix infinite loading and lag caused by a bug in the invoiceninja docker compose file by @PwnedC99 in #4876
- chore: add TECH_STACK.md by @zaaakher in #4883
- v4.0.0-beta.389 by @peaklabs-dev in #4926
New Contributors
- @LeoMartinDev made their first contribution in #4918
- @arxkdev made their first contribution in #4925
- @PwnedC99 made their first contribution in #4876
Full Changelog: v4.0.0-beta.388...v4.0.0-beta.389
v4.0.0-beta.388
Changes
- fix(ui): Traefik dashboard url not working
- fix(ui): proxy status badge flashing during navigation
- fix (env): shared variables can not be updated
- fix(core):
SOURCE_COMMIT
is added back as build variable - fix(core): update environment variable generation logic in ApplicationDeploymentJob to handle different build packs
- chore(versions): update coolify versions to v4.0.0-beta.389 and add helper version retrieval script
- chore(workflows): replace jq with PHP script for version retrieval in workflows
Issues
- fix #4902
What's Changed
- chore(deps-dev): bump vite from 6.0.7 to 6.0.11 by @dependabot in #4905
- v4.0.0-beta.388 by @andrasbacsai in #4920
Full Changelog: v4.0.0-beta.387...v4.0.0-beta.388
v4.0.0-beta.387
- fix(redis): update environment variable keys from standalone_redis_id to resourceable_id
Issues
- fix #4907
What's Changed
- chore(dep): bump helper version to 1.0.5 by @andrasbacsai in #4913
- chore(docker): add blank line to rebuild helper by @andrasbacsai in #4914
- v4.0.0-beta.387 by @andrasbacsai in #4915
Full Changelog: v4.0.0-beta.386...v4.0.0-beta.387
v4.0.0-beta.386
- chore(dep): bump nixpacks version
- fix(core): v1 parser versions trying to access application_id, while it is resourceable_id
- fix(db): remove wrongly created, empty EnvironmentVariables
Issues
What's Changed
- v4.0.0-beta.386 by @andrasbacsai in #4910
Full Changelog: v4.0.0-beta.385...v4.0.0-beta.386
v4.0.0-beta.385
Changes
- feat(core): wip version of
coolify.json
- fix(db):
finished_at
timestamps are not set for existing deployments - so UI duration and end time are not set correctly - fix(parser): Docker image URL should only be parsed if there is one
- fix(ui):show error on terminal if container has no shell (no bash/sh)
- fix(services): load service templates on cloud
- fix(ui): add missing save button for new Docker Cleanup page
- fix(ui): show preview deployment environment variables
- fix(core): compose parsing for apps
Issues
What's Changed
- v4.0.0-beta.385 by @peaklabs-dev in #4887
Full Changelog: v4.0.0-beta.384...v4.0.0-beta.385
v4.0.0-beta.384
Changes
- fix(ui): Import backups
dropzone.js
is not loaded - fix(service): healthcheck for Cloudflared service
- fix(ui): Backups link should not redirected to general
- fix(parser): envs with special chars during build
Issues
- fix: #4885
What's Changed
- Added Healthcheck to Cloudflared (One Click Service) by @ShadowArcanist in #4859
- v4.0.0-beta.384 by @andrasbacsai in #4886
Full Changelog: v4.0.0-beta.383...v4.0.0-beta.384
v4.0.0-beta.383
Changes
- feat: Able to set initial (root) user with env variables in the installation script Read More.
- feat: Able to add private keys in base64 encoded format.
- fix: Validate new private keys through API.
- fix: New server proxy set correctly throuh API.
- fix: Cannot delete localhost through API.
- fix: Docker image name parser.
What's Changed
- fix(ui): missing underline in link to docs by @zaaakher in #4860
- Pg vector fix for chatwoot by @dominictayloruk in #4869
- v4.0.0-beta.383 by @andrasbacsai in #4874
New Contributors
- @zaaakher made their first contribution in #4860
- @dominictayloruk made their first contribution in #4869
Full Changelog: v4.0.0-beta.382...v4.0.0-beta.383
v4.0.0-beta.382
- fix: New version installation on self-hosted instances
What's Changed
- v4.0.0-beta.382 by @andrasbacsai in #4852
- fixes by @andrasbacsai in #4853
- fix new self-hosted installations by @andrasbacsai in #4854
Full Changelog: v4.0.0-beta.381...v4.0.0-beta.382
v4.0.0-beta.381
Changes
- feat/fix: Able to import full DB backups for PG/MySQL/MariaDB
- feat: Ability to set the initial root user (instance admin user) of Coolify in the
.env
file via environment variables (Read More):ROOT_USERNAME=
ROOT_USER_EMAIL=
ROOT_USER_PASSWORD=
- feat: Registration is automatically disabled if you set up a root user via the
.env
file - feat: Logic, error handling, and clean log output for each scenario of setting a root user in the
.env
file - feat: Move Docker cleanup settings to their own tab
- feat: Added Docker cleanup executions UI with very detailed cleanup log and message. This will help with debugging storage problems.
- feat: Restore backup from server file
- feat: Add Infomaniak OAuth
- feat: Added a disk usage check frequency setting
- feat: Log Horizon worker name to app deployment jobs.
- feat: Add
is_coolify_host
to the server API responses. - feat: Some new labels on all containers:
coolify.resourceName
,coolify.serviceName
,coolify.projectName
,coolify.environmentName
- feat: New URL structure for better performance and fewer DB queries
- feat: Docker volume data can optionally be cloned alongside the resource (so it is a true full clone of the resource, everything is exactly the same (except the name ofc)) --> Disabled it for now, see reasons: #4777 (comment).
- feat: Backup Retention Options (whichever limit is reached first will trigger the cleanup):
- Number of backups to keep -> A number of backups to keep
- Days to keep backups -> A number of days to keep backups
- Maximum storage (GB) -> A number of GB or decimal of maximum allowed storage for this backup job
- feat: Configure commands for production
- feat: Configure modals for better error handling
- feat: Added Purify for better HTML sanitization
- feat: Add backup retention days, backup amount, and max allowed storage to S3
- feat: Add backup retention days and max allowed storage to locally stored backups
- feat: When deleting a backup schedule, you can now select to delete all backups from S3 as well
- feat: When deleting a single backup, you can now select to delete the backup from S3 as well
- feat: New backup retention UI.
- feat: Multi-delete on S3 and locally stored backups -> Now multiple backup files and backup executions are deleted together in parallel for improved performance and faster executions of deletion...
- Security fix: After initial installation, the Registration page is exposed with the registration form. This is usually not an issue as one installs and registers within seconds/minutes after the URL becomes publicly accessible. However, if you leave the registration page too long without registering a user, a malicious actor can potentially register and compromise your system.
- fix: Use
finished_at
instead ofupdated_at
for the end time so that the time calculations are correct - fix: Set
finished_at
as immutable so it cannot be changed later - fix: Use
wire:navigate
whenever possible to make everything feel like a single-page application, and overall navigating Coolify now feels soooooo much smoother. - fix: Only call
removeOldBackups
function in theDatabaseBackupJob.php
if the backup is completed and successful; this caused problems before - fix: Delete backup folder and parent folder if folders are empty when deleting local backups to clean up unused folders
- fix: Do not remove executions from DB until both S3 and local backups have been deleted and successfully processed; otherwise, backups will never be deleted from S3.
- fix: All routes now use
/environment/{environment_uuid}
instead of the environment name.
This helps because we can now use any character in environment names instead of being limited to URL-safe characters. Also, all other URLs are constructed with the uuid way, so we should do it consistently everywhere.
- fix: Nixpacks predefined variables are now used as build-args and could be overwritten from the defined env variables in Coolify.
- fix: Use local monaco-editor to remove reliance on Cloudflare CDN and improve performance (that's why we have +56K changed lines).
- fix: Use local dropzonejs
- fix: Always use Docker cleanup frequency no matter if threshold or force cleanup is enabled
- fix: Disable copy button if the context is not secure (http)
- fix: Cloning resource name + volume names
- fix: When having multiple Postgres init scripts, saving a change to one init script would delete all other init scripts.
- fix: Changing the file name of an existing init script would create a new init script instead of renaming the file.
- fix: Deleting an init script does not remove it from the server.
- fix: Remove
custom-postgres.conf
if input is empty or null as the file is not needed on the server anymore - fix: Some UI fixes
- fix: API - Projects & Applications endpoints
- fix: Modal closing logic
- fix: Increase default PHP memory limit
- fix: Penpot health checks
- fix: NocoDB health check
- fix: Supabase template
- fix: Trigger with external DB
- fix: Make DB public for Supabase
- fix: CSRF bug for Label Studio
- fix: Better cloud jobs handling
- fix: Add lower timeout (ssh, docker) to jobs which are checking the servers, because it could cause problems if a high number of jobs are running.
- fix: Instance-wide GitHub apps are not available on other teams other than the source team
- fix:
Undefined variable $fs_path
error on file mounts for databases - fix:
SQLSTATE[42703]: Undefined column: 7 ERROR: column "additional_servers_count" of relation "applications" does not exist
- fix: Exclude computed count properties (
additional_servers_count
,additional_networks_count
) loaded by global scope to prevent errors - fix: Remove auto-generated properties (
id
,created_at
, andupdated_at
) from replicate as that caused issues - fix: Cloning a service to a separate server. To be able to clone a service to a new server, we need to set the server_id to the DB as well; otherwise, it will be cloned on the same server.
- fix: Volume naming after cloning
- fix: Project/environment-level cloning and also fixed resource-level cloning (same fixes described below for both)
- fix: Application cloning:
- fix: Disable auto-generation of URLs and labels if read-only labels is false.
- fix: Labels were not auto-generated for CloneMe (project/environment-level cloning) if read-only labels is true; now they are generated again
- fix: Some settings get lost when cloning Applications because we need to clone the row in the
application_settings
table as well - fix: Clone file and directory mounts
- fix: Clone tags
- fix: Clone scheduled tasks
- fix: Clone preview deployment settings
- fix: Databases cloning:
- fix: Clone tags
- fix: Clone volumes
- fix: Clone file and directory mounts
- fix: Clone backup schedules
- fix: Services cloning:
- fix: Clone environment variables
- fix: Clone tags
- fix: Clone scheduled task
- fix: Clone volumes
- fix: Clone file and directory mounts
- fix: Clone backup schedules for service databases
- fix: For read-only labels, a read-only Monaco editor is displayed
- fix: Render HTML on 500 error pages correctly
- fix: GitHub JWT token timing issue (more information about this issue here probot/probot#1426).
issuedAt -1min
-> this is to avoid token not yet valid issuesexpiresAt +8min
-> this is to make sure the token is not valid longer than 10 min (to avoid the issue described in the linked issue) as tokens have to have a lifespan of less than 10min, this should help with time differences of less than about 1min (most cases) - as the total valid time is 9min (with the -1min) -> for any case of over 50s time out of sync (System vs GitHub API time) it will throw an error.- fix:
Expiration time' claim ('exp') must be a numeric value
- refactor: Dates and UI design of Backup executions, Scheduled Tasks executions, and Deployments executions tabs
- redesigned the deployment executions tab
- show full commit message with an expand button on the deployment executions tab
- show only the first 7 characters of the commit hash, like on GitHub - makes the UI cleaner
- move date transformation to a shared function
- move duration calculation to a shared function
- dates are now always displayed with their timezone next to them
- remove dependency on
dayjs
(improves performance) - redesigned status badges with colors to make it easier to see the current status
- redesigned execution log boxes so that they all have a similar look and feel and contain similar information
- added start and end times for backups, scheduled tasks, deployments, and Docker cleanup executions
- calculate the duration for backups, scheduled tasks, deployments, and Docker cleanup executions and added it to the UI
- remove duplicate and unused code
- refactor: Rename functions to make code more clear
- refactor: Use camelCase consistently
- refactor: Consolidate code
- refactor: Better error handling in
github.php
andGithubAppPermissionJob.php
- refactor: Move things to separate functions
- refactor: Improve password security by not allowing compromised passwords
- refactor: Refactored the UI and DB to make it easier to use - 0 now means unlimited retention (so a value is now required for retention).
- refactor: Simplified some code
- refactor: Refactored some duplicated code
- refactor: Refactored code to be more centralized in one location
- chore: Remove unused authentik stuff
- chore: Refactored environment variable relationships
- chore: Refactored a lot of DB queries to improve performance
- chore: Upgraded all dependencies
- chore: Switched ...
v4.0.0-beta.380
Changes
- fix: SMTP Server encryption - email sending was broken
- fix: Unreachable notifications were sent even if the server was probably reachable and just had some minor temporary connection problems.
- fix: bind() to 0.0.0.0:80 failed
- fix: Oauth seeder
- fix: Instance settings are not text columns on new installations (because the table does not yet have 1 row in it)
- fix: duplicated ServerCheckJob in dev
Issues
What's Changed
- v4.0.0-beta.380 by @peaklabs-dev in #4649
Full Changelog: v4.0.0-beta.379...v4.0.0-beta.380