Skip to content

Releases: coollabsio/coolify

v4.0.0-beta.389

23 Jan 14:23
9a5f1ed
Compare
Choose a tag to compare

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

terminal_not_available

What's Changed

New Contributors

Full Changelog: v4.0.0-beta.388...v4.0.0-beta.389

v4.0.0-beta.388

22 Jan 16:23
08f7fa2
Compare
Choose a tag to compare

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

What's Changed

Full Changelog: v4.0.0-beta.387...v4.0.0-beta.388

v4.0.0-beta.387

22 Jan 10:57
86e14f3
Compare
Choose a tag to compare
  • fix(redis): update environment variable keys from standalone_redis_id to resourceable_id

Issues

What's Changed

Full Changelog: v4.0.0-beta.386...v4.0.0-beta.387

v4.0.0-beta.386

22 Jan 10:25
0ab9130
Compare
Choose a tag to compare
  • 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

Full Changelog: v4.0.0-beta.385...v4.0.0-beta.386

v4.0.0-beta.385

21 Jan 19:07
0d64767
Compare
Choose a tag to compare

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

Full Changelog: v4.0.0-beta.384...v4.0.0-beta.385

v4.0.0-beta.384

21 Jan 12:12
455ae02
Compare
Choose a tag to compare

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

What's Changed

Full Changelog: v4.0.0-beta.383...v4.0.0-beta.384

v4.0.0-beta.383

20 Jan 13:06
84e6db4
Compare
Choose a tag to compare

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

New Contributors

Full Changelog: v4.0.0-beta.382...v4.0.0-beta.383

v4.0.0-beta.382

17 Jan 13:02
6062fa7
Compare
Choose a tag to compare
  • fix: New version installation on self-hosted instances

What's Changed

Full Changelog: v4.0.0-beta.381...v4.0.0-beta.382

v4.0.0-beta.381

17 Jan 08:37
916f8e3
Compare
Choose a tag to compare

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 of updated_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 the DatabaseBackupJob.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, and updated_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 issues
    • expiresAt +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 and GithubAppPermissionJob.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 ...
Read more

v4.0.0-beta.380

27 Dec 10:22
676f616
Compare
Choose a tag to compare

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

Full Changelog: v4.0.0-beta.379...v4.0.0-beta.380