PHPackages                             nowo-tech/composer-update-helper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nowo-tech/composer-update-helper

ActiveComposer-plugin[Utility &amp; Helpers](/categories/utility)

nowo-tech/composer-update-helper
================================

Generates composer require commands from outdated dependencies. Works with any PHP project (Symfony, Laravel, Yii, CodeIgniter, etc.)

v2.0.34(3w ago)13.6k↑49.2%[2 PRs](https://github.com/nowo-tech/ComposerUpdateHelper/pulls)MITPHPPHP &gt;=8.1 &lt;8.6CI passing

Since Dec 11Pushed 4mo agoCompare

[ Source](https://github.com/nowo-tech/ComposerUpdateHelper)[ Packagist](https://packagist.org/packages/nowo-tech/composer-update-helper)[ Docs](https://github.com/nowo-tech/ComposerUpdateHelper)[ GitHub Sponsors](https://github.com/HecFranco)[ RSS](/packages/nowo-tech-composer-update-helper/feed)WikiDiscussions main Synced 2w ago

READMEChangelog (10)Dependencies (14)Versions (50)Used By (0)

Composer Update Helper
======================

[](#composer-update-helper)

[![CI](https://github.com/nowo-tech/ComposerUpdateHelper/actions/workflows/ci.yml/badge.svg)](https://github.com/nowo-tech/ComposerUpdateHelper/actions/workflows/ci.yml) [![Packagist Version](https://camo.githubusercontent.com/ba733b6a522843b1b0474019d7ad6a6fadb3005ff83957fb42ecbdbb63420971/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6e6f776f2d746563682f636f6d706f7365722d7570646174652d68656c7065722e7376673f7374796c653d666c6174)](https://packagist.org/packages/nowo-tech/composer-update-helper) [![Packagist Downloads](https://camo.githubusercontent.com/e26dc2f9676a0e3232ccf7558ac1356684cde83dd0b679cb7fc0b9858ca89d7f/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6e6f776f2d746563682f636f6d706f7365722d7570646174652d68656c7065722e737667)](https://packagist.org/packages/nowo-tech/composer-update-helper) [![License](https://camo.githubusercontent.com/7013272bd27ece47364536a221edb554cd69683b68a46fc0ee96881174c4214c/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d626c75652e737667)](LICENSE) [![PHP](https://camo.githubusercontent.com/8e58b490725ac49cc8e463c473173681b324c9d92d7854275a785db013ca3de7/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f5048502d382e312532422d3737374242343f6c6f676f3d706870)](https://php.net) [![Symfony](https://camo.githubusercontent.com/49f719a32613349d5732be047a5f9a88ec03c442ac8b09be057714480a0c5626/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e792d36253230253743253230372e34253242253230253743253230382e30253230253743253230382e312532422d3030303030303f6c6f676f3d73796d666f6e79)](https://symfony.com) [![GitHub stars](https://camo.githubusercontent.com/281ff22593c1497799d4568d1005c378380095f2ed355f0c3320a9b48b39323f/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f73746172732f6e6f776f2d746563682f636f6d706f7365722d7570646174652d68656c7065722e7376673f7374796c653d736f6369616c266c6162656c3d53746172)](https://github.com/nowo-tech/ComposerUpdateHelper) [![Coverage](https://camo.githubusercontent.com/cd0704b56f1d56def350b6d0164316307bb2f47834225fd85443b6fb0059bc73/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f436f7665726167652d3130302532352d627269676874677265656e)](#tests-and-coverage)

> ⭐ **Found this useful?** Install from [Packagist](https://packagist.org/packages/nowo-tech/composer-update-helper) and give the repo a [star on GitHub](https://github.com/nowo-tech/ComposerUpdateHelper) if it helps you.

Generates `composer require` commands from outdated dependencies. Works with any PHP project: **Symfony**, **Laravel**, **Yii**, **CodeIgniter**, **Slim**, **Laminas**, etc.

[![FrankenPHP Friendly Worker Mode](docs/images/frankenphp-friendly.png)](docs/images/frankenphp-friendly.png)

This bundle is **FrankenPHP worker mode friendly**.

Features
--------

[](#features)

- ✅ Works with any PHP project
- ✅ Separates production and development dependencies
- ✅ Shows ignored packages with available versions
- ✅ **Force include packages**: Override ignore list to force specific packages to be included
- ✅ **Multi-framework support** with version constraints:
- **Symfony**: respects `extra.symfony.require`
- **Laravel**: respects `laravel/framework` + `illuminate/*` versions
- **Yii**: respects `yiisoft/yii2` version
- **CakePHP**: respects `cakephp/cakephp` version
- **Laminas**: respects `laminas/*` versions
- **CodeIgniter**: respects `codeigniter4/framework` version
- **Slim**: respects `slim/slim` version
- ✅ Compares versions to avoid unnecessary updates
- ✅ **Dependency compatibility checking**: Automatically detects and prevents dependency conflicts before suggesting updates
- ✅ **Transitive dependency suggestions**: When conflicts are detected, automatically suggests updating required transitive dependencies with ready-to-use commands
- ✅ **Conflict Impact Analysis**: Analyzes which packages would be affected by updating conflicting packages (optional with `--show-impact` flag)
- ✅ **Save impact analysis**: Save impact analysis to file with `--save-impact` flag
- ✅ Can execute commands directly with `--run` flag
- ✅ Automatic installation via Composer plugin
- ✅ **Release information and changelogs**: Shows GitHub release links and changelog previews for outdated packages
- ✅ **Progress indicators**: Shows loading messages during long-running operations (dependency checking, fallback search, etc.)
- ✅ **Help option**: Built-in `--help` flag for comprehensive usage information
- ✅ **Verbose and Debug modes**: `-v, --verbose` and `--debug` options for troubleshooting and detailed information
- ✅ **Multiple file extensions**: Supports both `.yaml` and `.yml` extensions for configuration files
- ✅ **Performance optimized**: Emojis and common elements are optimized for better performance
- ✅ **Lightweight architecture**: Script delegates complex logic to PHP in vendor, keeping the repo script lightweight and maintainable
- ⚠️ **Internationalization (i18n)** (DEVELOPMENT MODE): Multi-language support for output messages with automatic language detection

Version information
-------------------

[](#version-information)

Supported PHP versions follow `composer.json` (`>=8.1  💡 **Tip**: We also recommend installing [Code Review Guardian](https://github.com/nowo-tech/CodeReviewGuardian) for a complete code quality workflow. See [Related Packages](#related-packages) section below.

After installation, two files will be copied to your project root:

- `generate-composer-require.sh` - The lightweight wrapper script (delegates complex logic to PHP in vendor)
- `generate-composer-require.yaml` - Configuration file for ignored and included packages (only created if doesn't exist)

**Note:** These files should be committed to your repository so they're available to all team members. The plugin will remove any old `.ignore.txt` entries from `.gitignore` if they exist.

**Wrapper updates:** On first install, `generate-composer-require.sh` is copied to your project root. On later `composer update` runs, the plugin **does not overwrite** a local wrapper that differs from the package copy unless you opt in:

```
{
  "extra": {
    "composer-update-helper": {
      "auto_update_wrapper": true
    }
  }
}
```

When opt-in is disabled (default), Composer shows a comment with MD5 hashes if the wrapper differs. See [Configuration](docs/CONFIGURATION.md#composer-plugin-options).

### Architecture

[](#architecture)

The script uses a lightweight architecture for better maintainability:

- **`generate-composer-require.sh`** (in your repo): A lightweight wrapper script (about **350** lines; size may change between releases) that handles:
- Command-line argument parsing
- Configuration file detection
- Executing `composer outdated`
- Calling the PHP processor
- Displaying formatted output from PHP
- Extracting and executing commands for `--run` flag
- **`process-updates.php`** (in vendor): Contains the heavy processing logic (about **900** lines; size may change between releases), including:
- Package processing and filtering
- Framework detection and version constraints
- Release information fetching
- Command generation
- **Output formatting** (emojis, sections, formatting, etc.)

The script automatically detects `process-updates.php` in `vendor/nowo-tech/composer-update-helper/bin/` and uses it. This architecture ensures:

- ✅ **Lightweight script in your repo**: Easy to read and understand
- ✅ **Complex logic in vendor**: Automatically updated with `composer update`
- ✅ **Better maintainability**: Clear separation of concerns
- ✅ **Automatic detection**: No configuration needed

Requirements
------------

[](#requirements)

- PHP `>=8.1  💡 **Tip**: If you're using a VPN or behind a corporate firewall, configuring a Packagist mirror or ensuring `composer show` works will provide the best experience.

Related Packages
----------------

[](#related-packages)

### Code Review Guardian

[](#code-review-guardian)

Looking for a complete code review solution? We highly recommend **[Code Review Guardian](https://github.com/nowo-tech/CodeReviewGuardian)** - a provider-agnostic code review guardian that works perfectly with Composer Update Helper:

- ✅ **Provider-agnostic**: Works with GitHub, GitLab, Bitbucket, and any Git provider
- ✅ **Multi-framework support**: Automatic framework detection (Symfony, Laravel, etc.)
- ✅ **Code quality checks**: PHP-CS-Fixer, PHPStan, PHPUnit, Security checks
- ✅ **Easy integration**: Simple YAML configuration
- ✅ **Framework-specific configs**: Optimized configurations for each framework

**Installation:**

```
composer require --dev nowo-tech/code-review-guardian
```

**Why use both together?**

Together with Composer Update Helper, you get a complete development workflow:

1. **Composer Update Helper** → Keeps your dependencies up to date

- Automatically detects outdated packages
- Generates update commands
- Respects framework version constraints

2. **Code Review Guardian** → Ensures code quality in your pull requests

- Runs code quality checks automatically
- Validates code style and standards
- Prevents merging low-quality code

**Perfect combination for maintaining high-quality PHP projects!** 🚀

Documentation
-------------

[](#documentation)

- [Installation](docs/INSTALLATION.md)
- [Configuration](docs/CONFIGURATION.md)
- [Usage](docs/USAGE.md)
- [Contributing](docs/CONTRIBUTING.md)
- [Code of Conduct](CODE_OF_CONDUCT.md)
- [Changelog](docs/CHANGELOG.md)
- [Upgrading](docs/UPGRADING.md)
- [Release](docs/RELEASE.md)
- [Security](docs/SECURITY.md)
- [Engram](docs/ENGRAM.md)
- [Spec-driven development](docs/SPEC-DRIVEN-DEVELOPMENT.md)
- [GitHub Spec Kit](docs/SPEC-KIT.md)

### Additional documentation

[](#additional-documentation)

- [GitHub Actions CI requirements](docs/GITHUB_CI.md)
- [Framework support](docs/FRAMEWORKS.md)
- [Update cases and scenarios](docs/UPDATE_CASES.md)
- [Testing](docs/TESTING.md)
- [Implementation roadmap](docs/IMPLEMENTATION_ROADMAP.md)
- [Development](docs/DEVELOPMENT.md)
- [Branching](docs/BRANCHING.md)
- [I18N strategy](docs/I18N_STRATEGY.md)

Tests and coverage
------------------

[](#tests-and-coverage)

- Tests: PHPUnit (`tests/Unit`, `tests/Integration`).
- PHP: **100%** line coverage on `src/` (refresh with `make test-coverage`; gate with `make coverage-check`; minimum gate **≥99%**).
- TS/JS: N/A
- Python: N/A

License
-------

[](#license)

The MIT License (MIT). Please see [LICENSE](LICENSE) for more information.

Author
------

[](#author)

Created by [Héctor Franco Aceituno](https://github.com/HecFranco) at [Nowo.tech](https://nowo.tech)

###  Health Score

50

—

FairBetter than 95% of packages

Maintenance84

Actively maintained with recent releases

Popularity25

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity66

Established project with proven stability

 Bus Factor1

Top contributor holds 84.9% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~5 days

Total

46

Last Release

21d ago

Major Versions

v1.3.4 → v2.0.02025-12-26

PHP version history (2 changes)v1.0.0PHP &gt;=7.4

v2.0.30PHP &gt;=8.1 &lt;8.6

### Community

Maintainers

![](https://www.gravatar.com/avatar/e7947bfc3f2ce9574a18a2c60f3d95b5d1b0740e65dc929332c92f1df21f75ab?d=identicon)[HecFranco](/maintainers/HecFranco)

---

Top Contributors

[![HecFranco](https://avatars.githubusercontent.com/u/24323276?v=4)](https://github.com/HecFranco "HecFranco (124 commits)")[![actions-user](https://avatars.githubusercontent.com/u/65916846?v=4)](https://github.com/actions-user "actions-user (18 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")

---

Tags

phpcomposersymfonylaravelcodeigniteryiidependenciesrequireupdateoutdated

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan, Rector

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/nowo-tech-composer-update-helper/health.svg)

```
[![Health](https://phpackages.com/badges/nowo-tech-composer-update-helper/health.svg)](https://phpackages.com/packages/nowo-tech-composer-update-helper)
```

###  Alternatives

[drupal/core-composer-scaffold

A flexible Composer project scaffold builder.

5346.5M600](/packages/drupal-core-composer-scaffold)[netojose/laravel-bootstrap-4-forms

Bootstrap 4 form builder for Laravel 5

179123.5k](/packages/netojose-laravel-bootstrap-4-forms)[rumenx/php-feed

Framework-agnostic PHP Feed generator for Laravel, Symfony, and more.

3646.0k](/packages/rumenx-php-feed)[event4u/data-helpers

Framework-agnostic PHP library for data mapping, DTOs and utilities. Includes DataMapper, SimpleDto/LiteDto, DataAccessor/Mutator/Filter and helper classes (MathHelper, EnvHelper, etc.). Works with Laravel, Symfony/Doctrine or standalone PHP.

1434.6k](/packages/event4u-data-helpers)[phpmv/php-mv-ui

A JQuery and UI library for php and php MVC frameworks

3320.6k3](/packages/phpmv-php-mv-ui)[rumenx/php-assets

Framework-agnostic PHP package to manage frontend assets in the backend. Works with plain PHP, Laravel, Symfony, and any PHP framework.

1044.7k](/packages/rumenx-php-assets)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
