mirror of
https://github.com/coollabsio/coolify.git
synced 2026-03-11 08:55:47 +00:00
109 lines
5.3 KiB
Markdown
109 lines
5.3 KiB
Markdown
# Changelog
|
|
|
|
All notable changes to this project will be documented in this file.
|
|
|
|
## [5.0.0-alpha.1] - 2026-XX-XX
|
|
|
|
<!-- one or two sentence summary of this version -->
|
|
|
|
### Breaking Changes
|
|
|
|
-
|
|
|
|
### Security
|
|
|
|
-
|
|
|
|
### Added
|
|
|
|
- **v4 to v5 upgrade migration**
|
|
- Coolify v4 database as `old_pgsql` connection
|
|
-
|
|
- Worker Servers that replace build servers with servers that can also run jobs (Horizon workers) in addition to building Docker images
|
|
|
|
### Changed
|
|
|
|
- Upgrade PHP from 8.2 to 8.5, TailwindCSS from v3 to v4.0, Laravel from v10 to v12 and all other Composer and Node dependencies to their latest versions and syntax
|
|
- **Docker**
|
|
- Upgrade Postgres from v15 to v18, Redis from v7 to v8 and all other Docker dependencies to latest
|
|
-
|
|
- **Laravel Configurations**
|
|
- Hashing algorithm from `bcrypt` to `argon2id` for enhanced security
|
|
- Session driver to Redis with inactive sessions expiring after 24h (previously 14 days)
|
|
- Encrypted user session data
|
|
- Password reset token expiration from 60 minutes to 10 minutes
|
|
- Jobs dispatch only after all DB transactions complete, preventing race conditions
|
|
- Normal jobs (backups, emails, etc.) and deployment jobs to separate supervisor configurations and defaults
|
|
- Horizon worker restart threshold to 500 jobs (job workers) or 300 jobs (deployment workers) or 1 hour to clean up stale memory and CPU usage
|
|
- Default queue timeouts from 10h to 60s for jobs and 300s for deployments to prevent stale jobs
|
|
- `balanceCooldown` from 1s to 2s for jobs to reduce CPU spikes
|
|
- Laravel logs to `stderr` so they can be viewed in Docker logs
|
|
- Production logging to rotate automatically and keep only the last 10 days of logs to reduce disk usage
|
|
- Production log level from `debug` to `warning` to reduce disk usage and avoid logging sensitive information
|
|
- Redis connections to separate instances for cache, jobs and sessions for easier debugging and separation
|
|
- Upgrade all Laravel config files to the latest version and remove unused options
|
|
- License from `Apache-2.0` to `AGPL-3.0`
|
|
|
|
### Deprecated
|
|
|
|
-
|
|
|
|
### Fixed
|
|
|
|
- `laravel.log` file growing indefinitely and consuming excessive disk space
|
|
- Failed jobs being logged into the database (Horizon already handles this) causing excessive disk usage in some cases
|
|
- Maximum concurrent builds setting not being respected when set to more than 4 on v4.x because only 4 Horizon workers are available by default
|
|
-
|
|
|
|
### Removed
|
|
|
|
- Session cleanup job as we now use Redis for sessions with a TTL
|
|
- A lot of legacy code, outdated configs and dependencies
|
|
|
|
### Refactored
|
|
|
|
- All database migrations for a cleaner, more consistent and stable database schema
|
|
- All database models for improved maintainability
|
|
- Replace hardcoded queue strings with a `ProcessingQueue` enum
|
|
- `config/constants.php` to `config/coolify.php` for all Coolify-specific settings
|
|
- Environment variable naming to be shorter and more consistent
|
|
|
|
### Maintenance
|
|
|
|
- **Testing**
|
|
- Add custom Architecture test that enforces Laravel and PHP best practices to ensure security and consistency across the codebase
|
|
- **Tooling**
|
|
- Add Rector & Rector Laravel with a strict configuration for automatic refactoring of the codebase
|
|
- Add a strict custom Laravel Pint preset for consistent PHP formatting across the codebase
|
|
- Add Larastan (PHPStan) level `max` for code analysis and type checking
|
|
- Add custom Composer scripts to run refactors, formatting, linting, tests and type-coverage
|
|
- Add strict `AppServiceProvider.php`
|
|
- Optionally enforce HTTPS for the Coolify dashboard
|
|
- Enforce strong password validation rules in production
|
|
- Disable destructive Artisan commands in production
|
|
- Automatically eager load all relationships to prevent N+1 queries
|
|
- Configure models and enforce morph map for polymorphic relationships
|
|
- Enforce immutable dates globally
|
|
- Disable queue interruption polling to improve performance
|
|
- Fake sleeps and prevent stray HTTP requests in testing
|
|
- Prevent exception truncation in development
|
|
- Use aggressive Vite prefetching for better performance
|
|
- Only install Ray in development and remove all `ray()` calls from production code via Rector
|
|
- Switch Node package manager from `NPM` to `Bun` for improved security and performance
|
|
- Add `$schema` to `composer.json` and `package.json`
|
|
- **Coolify GitHub Repository**
|
|
- Pin all GitHub Actions to full-length git SHAs to minimize the risk of supply chain attacks
|
|
- Set permissions explicitly on each GitHub workflow to only give the minimum required permissions
|
|
- Rename all GitHub Action workflows for improved clarity
|
|
- Cancel in-progress action runs when a new run is triggered
|
|
- Improve `SECURITY.md` formatting and wording and add the support policy for `v5.x`
|
|
- Add 3 PR templates: `version.md` for release PRs, `default.md` for non-version PRs and a contributor template as the default for external PRs
|
|
- Improve the GitHub issue templates to use issue types and improve formatting and wording
|
|
- Move `README.md` assets into `.github/assets/` to more easily exclude them from the core repository code
|
|
- Remove the `chore-remove-labels-and-assignees-on-close.yml` workflow as labels and assignees are now kept when closing issues and PRs
|
|
|
|
### Issues
|
|
|
|
- Fixes <https://github.com/coollabsio/coolify/issues/6407>
|
|
- Fixes <https://github.com/coollabsio/coolify/issues/3578>
|
|
- Fixes
|