[PR #136] v2.0.0 Preparation #136

Closed
opened 2026-02-25 21:33:26 +03:00 by kerem · 0 comments
Owner

Original Pull Request: https://github.com/DBDiff/DBDiff/pull/136

State: closed
Merged: Yes


Changelog: v2.0.0 Preparation

Refactor, Modernization, and Infrastructure Overhaul

🏗️ Infrastructure & Local Development

  • Dockerized Environment: Introduced a complete docker-compose setup with mysql and php services to ensure a consistent development environment.
  • Start/Stop Scripts: Added ./start.sh (with parallel execution support) and ./stop.sh to manage the lifecycle of the dev environment.
  • Watch Mode: Implemented a watch mode for the test runner to provide instant feedback during development.

🔌 Modernization & Compatibility

  • PHP 8.x Support: Updated codebase to support PHP 8.0 through PHP 8.4.
    • Fixed "Dynamic Property" deprecations (PHP 8.2+).
    • Fixed static calls to non-static methods (PHP 8.0+).
  • Dependency Upgrades:
    • Upgraded illuminate/* packages (Database, View, Container) to support versions v8 - v11.
    • Upgraded phpunit/phpunit to support v10 & v11.
    • Upgraded diff/diff to v3.0 for PHP 8.4 compatibility.

🧪 Testing & Quality Assurance

  • Comprehensive Test Suite:
    • Added 10+ new comprehensive integration tests covering various schema and data difference scenarios.
    • Added Record Mode to automatically generate and update test fixtures.
    • Implemented Deterministic Sorting for SQL dumps to prevent flaky tests across platforms.
  • MySQL 9 Support: Updated fixtures and logic to ensure compatibility with MySQL 9.x.
  • Test Runner Improvements:
    • Removed deprecated flags (e.g., --verbose) for PHPUnit 11 compatibility.
    • Added --fast flag for rapid iteration.
    • Added --testdox output for detailed, human-readable test results.

🔒 Security & CI/CD

  • Automated Releases: Added GitHub Actions workflows for automated PHAR builds and releases.
  • Security Hardening:
    • Added SECURITY.md policy.
    • Configured SonarCloud for automated code quality and security analysis.
    • Addressed multiple security hotspots and improved Dockerfile security.

📚 Documentation

  • New Guides: Added DOCKER.md for local development setup.
  • Project Docs: Refactored README.md to reflect the modern workflow and installation steps.

🚀 Why this is v2.0.0

This release breaks backward compatibility with the v1.0.0 era (PHP 7.3/7.4) infrastructure in favor of modern standards. It enables the tool to run on the latest PHP versions and work with modern database servers (MySQL 8/9), making it a true "v2.0" evolution of the software.

**Original Pull Request:** https://github.com/DBDiff/DBDiff/pull/136 **State:** closed **Merged:** Yes --- # Changelog: v2.0.0 Preparation **Refactor, Modernization, and Infrastructure Overhaul** ### 🏗️ Infrastructure & Local Development * **Dockerized Environment**: Introduced a complete `docker-compose` setup with `mysql` and `php` services to ensure a consistent development environment. * **Start/Stop Scripts**: Added `./start.sh` (with parallel execution support) and `./stop.sh` to manage the lifecycle of the dev environment. * **Watch Mode**: Implemented a watch mode for the test runner to provide instant feedback during development. ### 🔌 Modernization & Compatibility * **PHP 8.x Support**: Updated codebase to support PHP 8.0 through **PHP 8.4**. * Fixed "Dynamic Property" deprecations (PHP 8.2+). * Fixed static calls to non-static methods (PHP 8.0+). * **Dependency Upgrades**: * Upgraded `illuminate/*` packages (Database, View, Container) to support versions **v8 - v11**. * Upgraded `phpunit/phpunit` to support **v10 & v11**. * Upgraded `diff/diff` to **v3.0** for PHP 8.4 compatibility. ### 🧪 Testing & Quality Assurance * **Comprehensive Test Suite**: * Added **10+ new comprehensive integration tests** covering various schema and data difference scenarios. * Added **Record Mode** to automatically generate and update test fixtures. * Implemented **Deterministic Sorting** for SQL dumps to prevent flaky tests across platforms. * **MySQL 9 Support**: Updated fixtures and logic to ensure compatibility with MySQL 9.x. * **Test Runner Improvements**: * Removed deprecated flags (e.g., `--verbose`) for PHPUnit 11 compatibility. * Added `--fast` flag for rapid iteration. * Added `--testdox` output for detailed, human-readable test results. ### 🔒 Security & CI/CD * **Automated Releases**: Added GitHub Actions workflows for automated PHAR builds and releases. * **Security Hardening**: * Added `SECURITY.md` policy. * Configured **SonarCloud** for automated code quality and security analysis. * Addressed multiple security hotspots and improved Dockerfile security. ### 📚 Documentation * **New Guides**: Added `DOCKER.md` for local development setup. * **Project Docs**: Refactored `README.md` to reflect the modern workflow and installation steps. *** ### 🚀 Why this is v2.0.0 This release breaks backward compatibility with the v1.0.0 era (PHP 7.3/7.4) infrastructure in favor of modern standards. It enables the tool to run on the latest PHP versions and work with modern database servers (MySQL 8/9), making it a true "v2.0" evolution of the software.
kerem 2026-02-25 21:33:26 +03:00
kerem changed title from [PR #136] [MERGED] v2.0.0 Preparation to [PR #136] v2.0.0 Preparation 2026-02-27 12:38:03 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/DBDiff#136
No description provided.