PHPackages                             cubadevops/upgrader - 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. [DevOps &amp; Deployment](/categories/devops)
4. /
5. cubadevops/upgrader

ActivePackage[DevOps &amp; Deployment](/categories/devops)

cubadevops/upgrader
===================

PHP Project Upgrader

1.6.2(1y ago)21971MITPHPPHP &gt;=7.4

Since Jul 8Pushed 1y agoCompare

[ Source](https://github.com/CubaDevOps/upgrader)[ Packagist](https://packagist.org/packages/cubadevops/upgrader)[ RSS](/packages/cubadevops-upgrader/feed)WikiDiscussions main Synced today

READMEChangelog (9)Dependencies (6)Versions (10)Used By (1)

PHP Upgrader
============

[](#php-upgrader)

A PHP script to manage upgrades for your project using different repository providers.

[![Automatic Versioning and Release](https://github.com/CubaDevOps/upgrader/actions/workflows/semver.yml/badge.svg)](https://github.com/CubaDevOps/upgrader/actions/workflows/semver.yml)

Table of Contents
-----------------

[](#table-of-contents)

- [State of the Art](#state-of-the-art)
- [How it Works](#how-it-works)
- [Requirements](#requirements)
- [Installation](#installation)
- [Features](#features)
- [Configuration](#configuration)
- [Usage](#usage)
- [Contributing](#contributing)
- [License](#license)

State of the Art
----------------

[](#state-of-the-art)

Composer is the most widely used package manager for PHP projects. However, while it allows you to update your project's dependencies, it doesn't offer a way to upgrade the project itself. This script is designed to address that limitation by providing a method to upgrade your project's root to a specific version, the latest version, or the highest minor version available.

How it Works
------------

[](#how-it-works)

The script connects to the API of a configured provider to fetch the latest release information for a specified repository. It then downloads the release's artifact files and extracts them into the project directory. Additionally, the script allows users to exclude certain resources from the upgrade process, giving them more control and helping to prevent conflicts with existing files.

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

[](#requirements)

- PHP 7.4 or higher
- Composer
- Zip extension
- Json extension
- Curl extension

Installation
------------

[](#installation)

To install the project, use Composer:

```
composer require cubadevops/upgrader
```

Features
--------

[](#features)

- Show available update versions
- Upgrade safely to the highest minor version
- Upgrade to the latest version
- Upgrade to a specific version

Configuration
-------------

[](#configuration)

The script requires a configuration file to be present in the root of your project. The configuration file should be named `upgrader.json` or `upgrader.json.dist` and should contain the following:

```
{
  "repository_provider": "github",
  "repository_identifier": "owner/repository",
  "project_dir": "/var/www/html",
  "has_root_directory": true,
  "excluded_resources": [
    "tests",
    ".github"
  ]
}
```

*repository\_provider*: The repository provider to use. Currently, only `github` is supported but more providers will be added soon.

*repository\_identifier*: The owner and repository name separated by a slash.

*project\_dir*: The directory where the project is located. Usually this is the directory where the `composer.json` file is located.

*has\_root\_directory*: `true` if the artifact files are compressed into a root directory that acts as a container for all files, `false` otherwise.

*excluded\_resources*: An array of resources to exclude from the upgrade process. This can be directories or files.

Usage
-----

[](#usage)

Run the script from the command line. Below are the available commands:

**Help**

`vendor/bin/upgrader --help|-h`

**Show Available Versions**

`vendor/bin/upgrader show-candidates`

**Upgrade to a Specific Version**

`vendor/bin/upgrader upgrade `

**Upgrade to the Latest Version**

`vendor/bin/upgrader upgrade-to-latest`

**Upgrade Safely to the Highest Minor Version**

`vendor/bin/upgrader upgrade-safely`

Contributing
------------

[](#contributing)

Contributions are always welcome! Please open an issue or a pull request.

License
-------

[](#license)

This project is licensed under the MIT License - see the [LICENSE](./LICENSE) file for details.

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance31

Infrequent updates — may be unmaintained

Popularity16

Limited adoption so far

Community10

Small or concentrated contributor base

Maturity46

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.4% 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 ~2 days

Total

9

Last Release

706d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/40b582c610d5d33636fea13fd72a9a8012820ed5c4d30afda8eeb5c4736382f4?d=identicon)[cbatista8a](/maintainers/cbatista8a)

---

Top Contributors

[![cbatista8a](https://avatars.githubusercontent.com/u/59052959?v=4)](https://github.com/cbatista8a "cbatista8a (35 commits)")[![github-actions[bot]](https://avatars.githubusercontent.com/in/15368?v=4)](https://github.com/github-actions[bot] "github-actions[bot] (8 commits)")

---

Tags

phpcomposerauto-updateupdaterupgrader

###  Code Quality

TestsPHPUnit

Static AnalysisPsalm

Code StylePHP CS Fixer

Type Coverage Yes

### Embed Badge

![Health badge](/badges/cubadevops-upgrader/health.svg)

```
[![Health](https://phpackages.com/badges/cubadevops-upgrader/health.svg)](https://phpackages.com/packages/cubadevops-upgrader)
```

###  Alternatives

[aws/aws-sdk-php

AWS SDK for PHP - Use Amazon Web Services in your PHP project

6.3k543.5M2.6k](/packages/aws-aws-sdk-php)[neuron-core/neuron-ai

The PHP Agentic Framework.

2.0k656.1k38](/packages/neuron-core-neuron-ai)[tencentcloud/tencentcloud-sdk-php

TencentCloudApi php sdk

3741.3M46](/packages/tencentcloud-tencentcloud-sdk-php)[ellaisys/aws-cognito

Laravel Authentication using AWS Cognito (Web and API)

123256.9k1](/packages/ellaisys-aws-cognito)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)[ucloud/ucloud-sdk-php

UCloud

1033.8k1](/packages/ucloud-ucloud-sdk-php)

PHPackages © 2026

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