Commit Graph

166 Commits

Author SHA1 Message Date
Andras Bacsai 942f14fa7e Fix: Update version numbers for Coolify and nightly releases 2025-12-01 13:21:55 +01:00
Andras Bacsai d9774d2968 Fix: Prevent version downgrades and centralize CDN configuration (#7383)
## Root Cause
Between Nov 25-26, a CDN redirect was added without curl's `-L` flag,
causing version cache corruption and automatic downgrades.

## Three Critical Bugs Fixed

### Bug #1: CheckForUpdatesJob could overwrite newer cached version
- Problem: CDN serving older version would overwrite local cache
- Solution: Smart version merge - keep max Coolify version, update other components
- Location: app/Jobs/CheckForUpdatesJob.php:33-52

### Bug #2: Manual updates bypassed downgrade protection
- Problem: Downgrade guard only applied to auto-updates
- Solution: Always block downgrades for both manual and auto-updates
- Location: app/Actions/Server/UpdateCoolify.php:65-75

### Bug #3: Updates used stale local cache
- Problem: Never validated cache against CDN at update time
- Solution: Fetch fresh CDN data before executing updates
- Location: app/Actions/Server/UpdateCoolify.php:34-49

## Additional Improvement: Centralized CDN Configuration

Added three new config keys for easy CDN management:
- `cdn_url` - Base CDN URL (default: https://cdn.coollabs.io)
- `versions_url` - Full versions.json URL
- `upgrade_script_url` - Full upgrade.sh URL

All configurable via environment variables:
```bash
CDN_URL=https://cdn.coolify.io
VERSIONS_URL=https://custom-cdn.example.com/versions.json
UPGRADE_SCRIPT_URL=https://custom-cdn.example.com/upgrade.sh
```

## Files Modified
- config/constants.php - CDN configuration
- app/Jobs/CheckForUpdatesJob.php - Smart version merge + centralized URL
- app/Actions/Server/UpdateCoolify.php - Downgrade protection + fresh fetch + centralized URLs
- app/Jobs/CheckHelperImageJob.php - Centralized URL
- bootstrap/helpers/shared.php - Centralized URL

## Testing
-  All modified files pass Pint formatting
-  78 unit tests pass (2 pre-existing failures unrelated to changes)

## Impact
- No breaking changes - defaults to current CDN
- Easy CDN migration via environment variables
- Prevents all downgrade scenarios
- Maintains independent Sentinel/Helper/Traefik updates

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-28 15:20:33 +01:00
Andras Bacsai 2921fe907d version++ 2025-11-28 09:41:01 +01:00
Andras Bacsai e5c7459284 fix: update version numbers to 4.0.0-beta.451 and 4.0.0-beta.452 2025-11-26 14:46:52 +01:00
Andras Bacsai 4f87b251b0 fix: update version number to 4.0.0-beta.450 2025-11-26 10:50:03 +01:00
Andras Bacsai 68c5ebf221 fix: update version numbers to 4.0.0-beta.449 and 4.0.0-beta.450 2025-11-26 10:00:00 +01:00
Andras Bacsai f460bb63cc feat: update version numbers to 4.0.0-beta.448 and 4.0.0-beta.449 2025-11-25 17:06:37 +01:00
Andras Bacsai 99e8aeb6f8 fix: update coolify version to 4.0.0-beta.447 and nightly version to 4.0.0-beta.448 2025-11-25 09:34:43 +01:00
Andras Bacsai 8d3a564cfe fix: update coolify version to 4.0.0-beta.446 and nightly version to 4.0.0-beta.447 2025-11-24 15:10:31 +01:00
Andras Bacsai 1270136da9 merge: merge next branch into feat-traefik-version-checker
Merged latest changes from the next branch to keep the feature branch
up to date. No conflicts were encountered during the merge.

Changes from next branch:
- Updated application deployment job error logging
- Updated server manager job and instance settings
- Removed PullHelperImageJob in favor of updated approach
- Database migration refinements
- Updated versions.json with latest component versions

All automatic merges were successful and no manual conflict resolution
was required.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 14:56:24 +01:00
Andras Bacsai 8f7ae2670c fix(versions): update coolify version to 4.0.0-beta.445 and nightly to 4.0.0-beta.446 2025-11-17 14:27:13 +01:00
Andras Bacsai 6593b2a553 feat(proxy): enhance Traefik version notifications to show patch and minor upgrades
- Store both patch update and newer minor version information simultaneously
- Display patch update availability alongside minor version upgrades in notifications
- Add newer_branch_target and newer_branch_latest fields to traefik_outdated_info
- Update all notification channels (Discord, Telegram, Slack, Pushover, Email, Webhook)
- Show minor version in format (e.g., v3.6) for upgrade targets instead of patch version
- Enhance UI callouts with clearer messaging about available upgrades
- Remove verbose logging in favor of cleaner code structure
- Handle edge case where SSH command returns empty response

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-17 09:59:17 +01:00
Andras Bacsai f731ec74e6 feat(proxy): upgrade Traefik image to v3.6
Upgrade default Traefik proxy configuration from v3.5 to v3.6, with Coolify version bump to beta.444.

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-14 09:31:07 +01:00
Andras Bacsai 73985350ec fix: update version numbers to 4.0.0-beta.443 and 4.0.0-beta.444 2025-11-07 08:26:58 +01:00
Andras Bacsai 2768805996 fix: update helper_version to 1.0.12 in constants configuration 2025-11-06 14:33:42 +01:00
Andras Bacsai fed01ab1a2 fix: update releases URL to use correct domain
The releases URL in the configuration was updated to use the correct domain 'coolify.io' instead of 'coollabs.io'. This change ensures that the application points to the right resource for fetching release information, which is crucial for maintaining accurate and up-to-date deployment processes.
2025-11-05 14:31:53 +01:00
Andras Bacsai ac2a199c7b chore: update coolify version to 4.0.0-beta.442
This update increments the version of coolify to 4.0.0-beta.442 to reflect the latest changes and improvements. Additionally, the nightly version has been updated to 4.0.0-beta.443 to ensure consistency across the project. Keeping version numbers up to date is essential for tracking releases and ensuring that users are aware of the latest features and fixes.
2025-11-05 14:31:09 +01:00
Andras Bacsai a89413bdbe fix: update version numbers to 4.0.0-beta.441 and 4.0.0-beta.442 2025-11-04 13:48:31 +01:00
Andras Bacsai 7520d6ca97 feat: Update version numbers to 4.0.0-beta.440 and 4.0.0-beta.441 2025-11-04 09:24:37 +01:00
Andras Bacsai 6fc5b01edc chore: update version numbers to 4.0.0-beta.439 and 4.0.0-beta.440 2025-10-29 20:38:48 +01:00
Andras Bacsai a474dcb3b0 version++ 2025-10-21 20:40:32 +02:00
Andras Bacsai 3593d941af bump version to 4.0.0-beta.437 and update nightly version to 4.0.0-beta.438 2025-10-20 13:57:48 +02:00
Andras Bacsai 733c20fc9d fix: update version numbers to 4.0.0-beta.436 and 4.0.0-beta.437 2025-10-16 10:14:20 +02:00
Andras Bacsai 50383c7a35 chore(versions): update Coolify version numbers to 4.0.0-beta.435 and 4.0.0-beta.436
- Incremented the stable version in constants.php and versions.json to 4.0.0-beta.435.
- Updated the nightly version in versions.json and other/nightly/versions.json to 4.0.0-beta.436.
- Ensured consistency across versioning files for the latest release.
2025-10-03 10:28:29 +02:00
Andras Bacsai da6c7ed7d5 chore(versions): bump Coolify stable version to 4.0.0-beta.434
- Updated the stable version number in constants.php to reflect the latest release.
- Ensured consistency with the previous versioning scheme.
2025-10-02 08:49:35 +02:00
Andras Bacsai 33aa32d1e6 chore(versions): update coolify version to 4.0.0-beta.433 and nightly version to 4.0.0-beta.434 in configuration files 2025-09-29 14:04:14 +02:00
Andras Bacsai 73b42f318a fix(constants): reduce command timeout from 7200 to 3600 seconds for improved performance 2025-09-25 14:41:05 +02:00
Andras Bacsai 8f44ade488 chore(versions): update coolify version numbers to 4.0.0-beta.432 and 4.0.0-beta.433 in configuration files 2025-09-25 09:27:29 +02:00
Andras Bacsai 0a6b2a0586 chore(versions): increment coolify version numbers to 4.0.0-beta.431 and 4.0.0-beta.432 in configuration files 2025-09-24 20:08:51 +02:00
Andras Bacsai 02115e2cff chore(versions): update coolify version numbers to 4.0.0-beta.430 and 4.0.0-beta.431 in configuration files 2025-09-24 09:20:12 +02:00
Andras Bacsai 027aa0ffff chore(versions): bump coolify version to 4.0.0-beta.429 and nightly version to 4.0.0-beta.430 2025-09-18 13:45:29 +02:00
peaklabs-dev e23c78fcda chore(deps): bump helper version 2025-09-15 15:48:10 +02:00
Andras Bacsai e84da21def chore(versions): increment coolify version to 4.0.0-beta.428 and update realtime_version to 1.0.10 2025-09-15 15:40:24 +02:00
Andras Bacsai 6d56b83e27 chore(constants): update realtime_version from 1.0.10 to 1.0.11 2025-09-15 12:50:34 +02:00
Andras Bacsai b433f17dac feat(ssh-multiplexing): enhance multiplexed connection management with health checks and metadata caching 2025-09-10 08:19:38 +02:00
Andras Bacsai b6176d905b feat(command): implement SSH command retry logic with exponential backoff and logging for better error handling 2025-09-07 10:26:23 +02:00
Andras Bacsai d2ed68e605 refactor(jobs): pull github changelogs from cdn instead of github 2025-09-01 16:13:55 +02:00
Andras Bacsai 88d33d177e chore: update coolify version to 4.0.0-beta.427 and nightly version to 4.0.0-beta.428 2025-08-31 11:20:48 +02:00
Andras Bacsai 135ed98a86 chore: update coolify version to 4.0.0-beta.426 and nightly version to 4.0.0-beta.427 2025-08-28 13:31:10 +02:00
Andras Bacsai c156d5c705 chore: update coolify version to 4.0.0-beta.425 and nightly version to 4.0.0-beta.426 2025-08-28 09:50:16 +02:00
Andras Bacsai 4024d7f59b chore: update coolify version to 4.0.0-beta.424 and nightly version to 4.0.0-beta.425 2025-08-27 18:42:22 +02:00
Andras Bacsai 6249263f51 chore: update coolify version to 4.0.0-beta.423 and nightly version to 4.0.0-beta.424 2025-08-27 17:24:22 +02:00
peaklabs-dev 8d1c75ebff chore: update version 2025-08-27 15:18:22 +02:00
Andras Bacsai e41730a209 chore(versions): update coolify version to 4.0.0-beta.421 and nightly version to 4.0.0-beta.422 2025-08-26 19:23:23 +02:00
peaklabs-dev 6b54432f9c chore(core): update version 2025-08-26 18:44:09 +02:00
peaklabs-dev 6ad05d3625 Update constants.php 2025-08-26 18:20:41 +02:00
peaklabs-dev 2099d88f08 chore(core): update version 2025-08-26 18:09:08 +02:00
Andras Bacsai c1e0548a78 chore(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 2025-08-26 16:19:46 +02:00
Andras Bacsai ee502b9f76 feat(email): implement email change request and verification process
- Added functionality for users to request an email change, including generating a verification code and setting an expiration time.
- Implemented methods in the User model to handle email change requests, code validation, and confirmation.
- Created a new job to update the user's email in Stripe after confirmation.
- Introduced rate limiting for email change requests and verification attempts to prevent abuse.
- Added a new notification for email change verification.
- Updated the profile component to manage email change requests and verification UI.
2025-08-18 14:54:08 +02:00
Andras Bacsai b237035051 fix(constants): update official service template URL to point to the v4.x branch for accuracy 2025-08-13 18:51:15 +02:00