PHPackages                             mlocati/concrete5-since-tagger - 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. mlocati/concrete5-since-tagger

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

mlocati/concrete5-since-tagger
==============================

Compare data between concrete5 versions and manages @since PHPDoc tags

07PHP

Since Sep 30Pushed 6y ago1 watchersCompare

[ Source](https://github.com/mlocati/concrete5-since-tagger)[ Packagist](https://packagist.org/packages/mlocati/concrete5-since-tagger)[ RSS](/packages/mlocati-concrete5-since-tagger/feed)WikiDiscussions master Synced today

READMEChangelogDependenciesVersions (1)Used By (0)

concrete5 `@since` tagger
=========================

[](#concrete5-since-tagger)

When developing for multiple concrete5 versions, developers need to know when a class/interface/method/constant/... has been introduces.

The [`@since`](https://docs.phpdoc.org/references/phpdoc/tags/since.html) phpdoc tag is the standard way to document this.

The process implement requires these steps:

1. analyze *all* the concrete5 versions (starting from 5.7.0), extracting the defined classes/interfaces/methods/constants/... This can be done with the `./bin/concrete5-since-tagger update` CLI command (to analyze all the concrete5 versions) and/or with the `./bin/concrete5-since-tagger parse ` CLI command (to analyze/reanalyze a specific concrete5 version)
2. patching the corrent development version of concrete5, comparing it with the previously parsed versions. This can be done with the `./bin/concrete5-since-tagger patch ` CLI command

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

[](#requirements)

1. A MySQL instance
2. PHP 7.2+ *and* PHP 5.x (PHP 5.x is required for the analysis process)
3. The `unzip` CLI command

Setup
-----

[](#setup)

1. copy `.env.dist` to `.env` and personalize it
2. run `composer install`
3. run `./bin/concrete5-since-tagger orm:schema-tool:create` to intialize the database

Typical usage
-------------

[](#typical-usage)

```
# Parse all the concrete5 versions
./bin/concrete5-since-tagger update

# Patch the development version
./bin/concrete5-since-tagger patch /path/to/concrete5
```

Ready-to-use data
-----------------

[](#ready-to-use-data)

The `update` command is a really time-consuming process: it needs to download and parse all the concrete5 releases. If you don't want to do that, you can pre-populate the database with [this SQL dump](https://raw.githubusercontent.com/mlocati/concrete5-since-tagger/data/sql-dump.7z).

###  Health Score

18

—

LowBetter than 8% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity36

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% 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.

### Community

Maintainers

![](https://www.gravatar.com/avatar/6e9d7ece045fc89575e083ee4852edf31218df403c84f41a0de01863dae982f5?d=identicon)[mlocati](/maintainers/mlocati)

---

Top Contributors

[![mlocati](https://avatars.githubusercontent.com/u/928116?v=4)](https://github.com/mlocati "mlocati (17 commits)")

### Embed Badge

![Health badge](/badges/mlocati-concrete5-since-tagger/health.svg)

```
[![Health](https://phpackages.com/badges/mlocati-concrete5-since-tagger/health.svg)](https://phpackages.com/packages/mlocati-concrete5-since-tagger)
```

###  Alternatives

[freshbitsweb/laratables

Ajax support of DataTables for Laravel

4871.1M3](/packages/freshbitsweb-laratables)[ahand/mobileesp

Since 2008, MobileESP provides web site developers an easy-to-use and lightweight API for detecting whether visitors are using a mobile device, and if so, what kind. The APIs provide simple boolean results ('true' or 'false') for identifying individual device categories (such as iPhone, BlackBerry, Android, and Windows Mobile), device capabilities (e.g., J2ME), and broad classes of devices, such as 'iPhone Tier' (iPhone/Android/Tizen) or 'Tablet Tier.' APIs are available in PHP, JavaScript, Java, C#, Ruby Python, and more.

174491.4k7](/packages/ahand-mobileesp)

PHPackages © 2026

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