Skip to content

Releases: nowo-tech/ComposerUpdateHelper

Release v2.0.31

Choose a tag to compare

@github-actions github-actions released this 16 Jul 19:29

Release v2.0.31

Changelog

  • 2026-07-16

Release v2.0.30

Choose a tag to compare

@github-actions github-actions released this 09 Jul 11:43

Release v2.0.30

Changelog

Breaking Changes

  • PHP requirement: Minimum PHP version is now >=8.1 <8.6 (previously >=7.4). Projects on PHP 7.4 or 8.0 must upgrade PHP before updating this package.

Added

  • Opt-in wrapper auto-update: New extra.composer-update-helper.auto_update_wrapper flag in the consuming project's composer.json to overwrite a customized generate-composer-require.sh when the package copy differs (disabled by default to protect local changes).
  • Static analysis and refactoring toolchain: PHPStan and Rector added to require-dev, with composer phpstan, composer rector, and composer rector-dry scripts.
  • Pre-release pipeline: make release-check runs composer sync, code style, Rector dry-run, PHPStan, and coverage validation.
  • Documentation: INSTALLATION.md, SECURITY.md, SPEC-DRIVEN-DEVELOPMENT.md, and SPEC-KIT.md.
  • CI/CD integrations: CodeRabbit workflow, PR lint, stale issue management, Scrutinizer configuration, and expanded GitHub Actions CI matrix.
  • Spec Kit / Specify: Project scaffolding for spec-driven development (.specify/, baseline spec specs/001-baseline/).
  • Composer archive exclusions: demo/ and .cursor/ excluded from distribution archives.

Changed

  • Plugin wrapper install behavior: The plugin installs the wrapper on first run; subsequent updates only overwrite when auto_update_wrapper is true or content already matches. When skipped, a comment explains how to enable overwrite.
  • Test layout: PHPUnit tests reorganized into tests/Unit/ and tests/Integration/.
  • README: Packagist badges, documentation index, PHP 8.1+ requirement, and wrapper update policy.
  • Plugin and Installer: Code quality pass (PHPStan/Rector/PHP-CS-Fixer), modern string checks (str_starts_with), and clearer PHPDoc.
  • composer.json: Corrected GitHub homepage/support URLs; Symfony FrameworkBundle added as dev dependency for static analysis.

Documentation

  • README — Architecture: updated approximate line counts for generate-composer-require.sh and process-updates.php (and noted they can change between releases). Language list in the YAML example points to CONFIGURATION.md for the full locale set instead of a partial inline list.
  • Plugin.phpinstallFiles() docblock documents first-install copy and opt-in overwrite behavior.
  • CONFIGURATION.md — Documents extra.composer-update-helper.auto_update_wrapper.

Note: See UPGRADING.md for migration notes.

Commits

  • Release v2.0.30: PHP 8.1+, opt-in wrapper updates, and release docs (ae750e9)
  • chore: Add configuration files for CodeRabbit integration and improve project structure (e458e3b)
  • chore: Update configuration files and scripts for improved development and testing (95d033f)
  • chore: Update .gitignore and Makefile for improved development workflow (9497d57)
  • fix: Remove clickable command functionality for better compatibility (v2.0.29) (ea7357a)
  • feat: Enhanced grouped package resolution and copy-friendly commands (v2.0.28) (4fd25d5)
  • feat: Add grouped package installation suggestions (v2.0.27) (5c5343f)
  • docs: Add Packagist integration details to README (aacc7d9)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (d57a5d0)
  • feat: automatic dependent package update detection (2f30e4c)
  • feat: automatic dependent package update detection (6734a73)
  • fix: impact file location and enhanced debug/verbose output (dfffb3f)
  • feat: comprehensive abandoned package detection for all installed packages (5e8964c)
  • fix: Maintain PHP 7.4 compatibility with union types in PHPDoc only (229e462)
  • fix: Update PHPDoc for readConfigValue to use specific union types (b1caf48)
  • docs: Improve PHPDoc with union types for ConfigLoader::readConfigValue (b1c5c5a)
  • fix: Remove mixed type hint for PHP 7.4 compatibility (1da6cbf)
  • Release v2.0.23: YAML configuration for command-line options and Wildcard Dependency Checking (2c5d908)
  • Release v2.0.22: Conflict Impact Analysis, package count, and optional impact analysis (a210e4c)
  • feat: Improve dependency conflict messages and add UPDATE_CASES documentation (ca5b1f0)
  • fix: Remove make_latest from createRelease API call (a79c6b8)
  • docs: Update CHANGELOG and UPGRADING for version 2.0.20 (94cc6c5)
  • refactor: Simplify output formatting for dependency conflict messages (d232f80)
  • fix: Update README badge formatting for improved readability (0d972c6)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (94fa191)
  • fix: Update README badges for consistency and accuracy (5e5215d)
  • Apply PHP CS Fixer fixes [skip ci] (a60bef7)
  • feat: Enhance release workflow with previous tag and commit logging (076b542)
  • feat: Enhance language detection and translation initialization (181bb3a)
  • chore: Update CHANGELOG for version 2.0.19 release (3f03828)
  • feat: Add i18n support, reorganize documentation, and improve PHPUnit config (cd8c6f0)
  • fix: Update PHPUnit configuration for PHPUnit 10/11 compatibility (af91589)
  • fix(workflows): Improve release changelog extraction and update logic (202bf6c)
  • Apply PHP CS Fixer fixes [skip ci] (a846725)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (4d79a4f)
  • fix: Correct dependency conflict detection order and improve output formatting (9704234)
  • Apply PHP CS Fixer fixes [skip ci] (0c390a4)
  • feat: Add transitive dependency suggestions and improve dependency conflict resolution (dce31d1)
  • fix(workflows): Add make_latest parameter and improve release sync logic (12bfd43)
  • Apply PHP CS Fixer fixes [skip ci] (d1d1e70)
  • chore: Prepare v2.0.16 - Remove dead code and adjust coverage threshold to 99% (8078313)
  • fix(workflow): improve release formatting, fix newline handling and translate comments to English (528be55)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (887ef62)
  • fix: Remove duplicate command output in suggested commands section (v2.0.13) (542e795)
  • Apply PHP CS Fixer fixes [skip ci] (4cf8ebf)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (ce16078)
  • chore: Prepare v2.0.12 - Update CI/CD coverage threshold to 90% and translate to English (fffb046)
  • Apply PHP CS Fixer fixes [skip ci] (e215f7a)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (31f30ec)
  • refactor: Improve comments for package migration logic in Installer and Plugin (ecdb6e2)
  • Apply PHP CS Fixer fixes [skip ci] (0366c05)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (429b868)
  • docs: Fix CHANGELOG line numbers and descriptions for v2.0.9 and v2.0.10 (2e43595)
  • docs: Update version numbers after tag renaming (v2.0.10→v2.0.9, v2.0.11→v2.0.10) (5b3debf)
  • docs: Consolidate v2.0.9 into v2.0.10 (v2.0.9 was documented but never tagged) (a71fa19)
  • docs: Update documentation for v2.0.11 output formatting refactor (1dd6cb7)
  • refactor: Move output formatting to PHP processor (v2.0.11) (3d27ae2)
  • docs: Update documentation and fix script auto-update behavior (9513690)
  • feat: Auto-update script on package update (v2.0.10) (fddc5e1)
  • Enhance composer require script with loading indicators and release info feedback (ebaca21)
  • Apply PHP CS Fixer fixes [skip ci] (87b8a1e)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (00d14c0)
  • v2.0.8: Improved debug messages and YAML configuration clarification (c9f604f)
  • fix: v2.0.7 - Fix migration verification and release info default behavior (2196243)
  • Apply PHP CS Fixer fixes [skip ci] (85375e6)
  • docs: v2.0.6 - Documentation improvements and utility scripts (f2a8259)
  • test: Add tests for include section functionality (a527b74)
  • fix: Update tests to accept YAML creation message (f8aebf7)
  • feat: v2.0.5 - Add include section and improve YAML parsing (9787140)
  • docs: Update UPGRADING.md for v2.0.4 (dc86c68)
  • fix: v2.0.4 - Improve migration verification and .gitignore behavior (f3d0d83)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (8dcd0d8)
  • docs: Add CodeReviewGuardian recommendation (e0d9866)
  • chore: Update CHANGELOG for v2.0.3 (784b072)
  • docs: Update tests and documentation for v2.0.2 (ca62909)
  • fix: v2.0.2 - Improve migration to work even if YAML exists (0d20958)
  • Apply PHP CS Fixer fixes [skip ci] (67edbd1)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (3d96dca)
  • feat: v2.0.1 - Auto-delete TXT file after migration to YAML (2fe94ac)
  • Apply PHP CS Fixer fixes [skip ci] (9cbc6d2)
  • chore: update CHANGELOG date for v2.0.0 release (dcec21e)
  • docs: add recommendation for Code Review Guardian (2fccd64)
  • feat: migrate configuration from TXT to YAML format (v2.0.0) (a44f9a6)
  • chore: remove demo projects and related files from repository (317e595)
  • docs: update README to include GitHub stars badge and encouragement to star the project (5b41648)
  • Merge pull request #6 from nowo-tech/dependabot/github_actions/actions/cache-5 (90fbb20)
  • Merge pull request #5 from nowo-tech/dependabot/github_actions/actions/checkout-6 (cda5594)
  • Release 1.3.4: Help option, performance optimizations, and demo improvements (d4d1528)
  • chore(ci): bump actions/cache from 4 to 5 (9d8fad4)
  • chore(ci): bump actions/checkout from 4 to 6 (b13ec58)
  • Fix: Prevent tests from deleting project files, improve ScriptTest for CI/CD (1e9fcb9)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (0793133)
  • Security: Remove hardcoded passwords from docker-compose.yml, update .env.example files, and improve documentation (1c0c1e5)
  • Apply PHP CS Fixer fixes [skip ci] (9c8766c)
  • Release 1.3.3: Updated all demo frameworks to latest versions, fixed 502 errors, improved Docker configuration (cfa7b5f)
  • docs: simplify README badge layout for...
Read more

Release v2.0.29

Choose a tag to compare

@github-actions github-actions released this 22 Jan 12:19

fix: Remove clickable command functionality for better compatibility (v2.0.29)

  • Removed OSC 8 hyperlink codes that weren't working reliably
  • Commands now display normally with 📋 icon
  • Updated hint message to '(Select the command to copy)'
  • Better compatibility across all terminal emulators
  • Commands remain fully selectable and copyable

Changelog

Changed

  • Simplified Command Display: Removed clickable command functionality for better compatibility
    • Removed OSC 8 hyperlink codes that were not working reliably across terminals
    • Commands now display normally with 📋 icon for visual indication
    • Updated hint message to "(Select the command to copy)" for clarity
    • Commands remain fully selectable and copyable in all terminals
    • Better compatibility across different terminal emulators

Commits

  • fix: Remove clickable command functionality for better compatibility (v2.0.29) (c6fee69)

Release v2.0.28

Choose a tag to compare

@github-actions github-actions released this 22 Jan 10:55

Release v2.0.28: Enhanced Grouped Package Resolution

Features:

  • Automatic solution search for grouped packages
  • Maintainer contact suggestions when no solution available
  • Copy-friendly command display with clickable links
  • Comprehensive help documentation

This release significantly improves grouped package installation
by automatically finding solutions and providing maintainer contact
information when needed. Also enhances UX with copy-friendly commands.

Changelog

  • 2026-01-20

Release v2.0.27

Choose a tag to compare

@github-actions github-actions released this 22 Jan 09:20

feat: Add grouped package installation suggestions (v2.0.27)

  • When multiple packages are filtered by conflicts, suggests installing them together
  • Includes packages that passed dependency checks in grouped commands
  • Composer can resolve conflicts better when multiple packages are installed simultaneously
  • Added translations for grouped installation messages in 31 languages
  • Updated documentation (CHANGELOG, UPGRADING, UPDATE_CASES)

This helps users discover that installing packages together can sometimes
resolve conflicts that individual installations cannot.

Changelog

Added

  • Grouped Package Installation Suggestions: When multiple packages are filtered by conflicts, suggests installing them together
    • Sometimes Composer can resolve conflicts better when multiple packages are installed simultaneously
    • Automatically groups filtered packages (2 or more) into a single composer require command
    • Also includes packages that passed dependency checks in the grouped command, as installing everything together can help resolve conflicts
    • Example: Instead of just showing filtered packages, suggests: composer require --dev rector/rector:2.3.4 phpstan/phpstan:2.1.36 phpstan/phpstan-symfony:2.0.10 --with-all-dependencies
    • Shows explanatory message: "Suggested commands (try installing together - Composer may resolve conflicts better)"
    • Helps users discover that installing packages together can sometimes resolve conflicts that individual installations cannot
    • Works for both production and development packages separately
    • Integrated into the command generation flow when no transitive updates are available

Commits

  • feat: Add grouped package installation suggestions (v2.0.27) (dc22ba2)
  • docs: Add Packagist integration details to README (a1509dc)
  • Merge branch 'main' of github.com:nowo-tech/ComposerUpdateHelper into main (2bd1814)
  • feat: automatic dependent package update detection (59dc4e9)

Release v2.0.26

Choose a tag to compare

@github-actions github-actions released this 20 Jan 11:30

Release v2.0.26: Automatic Dependent Package Update Detection

Features:

  • Automatic detection of compatible dependent package versions
  • Enhanced conflict resolution with better strategy ordering
  • Improved actionable suggestions for dependency conflicts

Changes:

  • Added VersionResolver::findCompatibleDependentVersions() method
  • Enhanced conflict resolution flow
  • Updated documentation

This release significantly improves conflict resolution by automatically
detecting when dependent packages can be updated to support proposed
package updates, reducing manual intervention required.

Changelog

  • 2026-01-20

Release v2.0.25

Choose a tag to compare

@github-actions github-actions released this 20 Jan 11:27

Release v2.0.25: Automatic Dependent Package Update Detection

Features:

  • Automatic detection of compatible dependent package versions
  • Enhanced conflict resolution with better strategy ordering
  • Improved actionable suggestions for dependency conflicts

Changes:

  • Added VersionResolver::findCompatibleDependentVersions() method
  • Enhanced conflict resolution flow
  • Updated documentation

This release significantly improves conflict resolution by automatically
detecting when dependent packages can be updated to support proposed
package updates, reducing manual intervention required.

Changelog

  • 2026-01-20

Release v2.0.24

Choose a tag to compare

@github-actions github-actions released this 19 Jan 08:53

feat: comprehensive abandoned package detection for all installed packages

  • Detect abandoned packages for ALL installed packages (not just outdated)
  • New section 'All abandoned packages installed:' before dependency analysis
  • Enhanced detection for outdated packages (checks all, not just with conflicts)
  • Fixed save-impact-to-file to auto-enable show-impact-analysis
  • Added translations for new features in all 31 languages

Closes: Improved visibility into package maintenance status

Changelog

Added

  • Comprehensive Abandoned Package Detection: Now detects abandoned packages for ALL installed packages, not just outdated ones
    • New section "All abandoned packages installed:" shows all abandoned packages in your project before dependency analysis
    • Previously only detected abandoned packages when they had dependency conflicts
    • Now checks all packages from composer.json (both require and require-dev)
    • Shows replacement package information if available
    • Separates packages by prod/dev labels
    • Example: ⚠️ All abandoned packages installed: - old-package:1.0.0 (prod) (⚠️ Package is abandoned, replaced by: new-package/name)
    • All messages are translated and available in all 31 supported languages
  • Enhanced Abandoned Package Detection for Outdated Packages: Improved detection to check ALL outdated packages for abandoned status
    • Previously only checked abandoned status for packages with dependency conflicts
    • Now checks abandoned status for all outdated packages, regardless of conflicts
    • Provides more comprehensive information about package maintenance status
    • Shows abandoned status in the "Abandoned packages found:" section within dependency analysis

Changed

  • Abandoned Package Detection Flow: Restructured to provide more comprehensive coverage
    • Detection now happens at two points: for all installed packages (before analysis) and for outdated packages (during analysis)
    • Avoids duplicate detection by skipping packages already checked
    • Better organization of abandoned package information in output
  • Fixed save-impact-to-file configuration: When save-impact-to-file: true is set in YAML, automatically enables show-impact-analysis to ensure data is generated
    • Previously, setting only save-impact-to-file: true without show-impact-analysis: true would not create the file
    • Now automatically activates impact analysis when saving to file is requested
    • Works consistently with --save-impact command-line flag behavior

Commits

  • feat: comprehensive abandoned package detection for all installed packages (c12afe6)
  • fix: Maintain PHP 7.4 compatibility with union types in PHPDoc only (6f71c77)
  • fix: Update PHPDoc for readConfigValue to use specific union types (564f83b)
  • docs: Improve PHPDoc with union types for ConfigLoader::readConfigValue (eca540c)
  • fix: Remove mixed type hint for PHP 7.4 compatibility (56da26b)

Release v2.0.23

Choose a tag to compare

@github-actions github-actions released this 19 Jan 07:15

Release v2.0.23

New Features:

  • Command-line options configuration in YAML
  • Wildcard Dependency Checking (^, ~, *)

Improvements:

  • 15 fully supported cases (previously 14)
  • Priority 7 (Wildcard Dependency Checking) completed
  • Comprehensive documentation updates

Quality:

  • All tests passing (140 tests, 689 assertions)
  • Code verified and formatted

See CHANGELOG.md for complete details.

Changelog

  • 2026-01-18

Release v2.0.22

Choose a tag to compare

@github-actions github-actions released this 18 Jan 13:01

Release v2.0.22

New Features:

  • Conflict Impact Analysis (optional with --show-impact flag)
  • Save impact analysis to file (--save-impact flag)
  • Outdated packages count display
  • Improved progress indicators

Improvements:

  • Impact analysis now optional by default (less verbose)
  • 14 fully supported use cases (previously 13)
  • Better output readability

Quality:

  • Code coverage: 99.58% lines, 90.91% methods
  • All tests passing (140 tests, 689 assertions)
  • Complete translations in all 31 supported languages

See CHANGELOG.md for complete details.

Changelog

  • 2026-01-18