PHPackages                             maczukin/appversion-bundle - 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. maczukin/appversion-bundle

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

maczukin/appversion-bundle
==========================

Version tools for application

2.2.0(12y ago)0717MITPHPPHP &gt;=5.3.3

Since Dec 21Pushed 12y agoCompare

[ Source](https://github.com/tmaczukin/appversion-bundle)[ Packagist](https://packagist.org/packages/maczukin/appversion-bundle)[ RSS](/packages/maczukin-appversion-bundle/feed)WikiDiscussions master Synced 2d ago

READMEChangelogDependencies (8)Versions (8)Used By (0)

AppVersionBundle
================

[](#appversionbundle)

This bundle contains tools for managing and retrieving information about your application version.

Supported version format is compatibile with 'Semantic Versioning 2.0.0' specification. More info about 'Semantic Versioning' can be found at  and .

Development
-----------

[](#development)

I am using "git-flow" for development workflow. More info about it can be found at .

Version 1.0.0 was released at 2013-12-21.

There are still few tasks on todo list.

Bundle is released on MIT License. Feel free to fork and contribute to this project.

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

[](#installation)

Add changes in your composer.json...

```
"require": {
	...
	"maczukin/appversion-bundle": "dev-master",
	...
},
"scripts": {
	"post-install-cmd": [
		...
		"Maczukin\\AppVersionBundle\\Composer\\ScriptHandler::prepareVersionFile",
		...
	],
	"post-update-cmd": [
		...
		"Maczukin\\AppVersionBundle\\Composer\\ScriptHandler::prepareVersionFile",
		...
	]
},
"extra": {
	"maczukin_appversion_parameters": {
		"version-file": "app/config/version.yml"
	}
}

```

...app/config/config.yml...

```
imports:
	...
	- { resource: parameters.yml }
	- { resource: security.yml }
	- { resource: version.yml }
	...

```

...and load bundle in app/AppKernel.php

```
class AppKernel extends Kernel {

	public function registerBundles() {
		$bundles = array(
			...
			new Maczukin\AppVersionBundle\MaczukinAppVersionBundle(),
			...
		);

```

Using
-----

[](#using)

While installing with composer you will be asked to give information about current version, license and contributors of your application. Those information will be saved in config file (default in app/config/version.yml).

Version file schema:

```
# This file is auto-generated
appversion:
	version:
		major: 0
		minor: 5
		patch: 1
		preRelease: dev
		build: build.20131220004631
		deployTimestamp: '2013-12-20 00:51:13'
		license: MIT
		copyright: '2013 by Tomasz Maczukin'
		credits:
		  - 'Tomasz Maczukin '
file: %kernel.root_dir%/config/version.yml

```

- version - informations about current version of application
    - major - major version number (read about Semantic Versioning for more informations)
    - minor - minor version number (from Semantic Versioning)
    - patch - patch version number (from Semantic Versioning)
    - preRelease - pre-release version label (from Semantic Versioning)
    - build - build version label (from Semantic Versioning)
    - deployTimestamp - timestamp of last application deploy; usefull when you deploy your applications often and you want your users to know when the last version was installed
    - license - identification of license under which you have released your application
    - copyright - your application copyright string
    - credits - array containing names and e-mails of the authors and contributors
- file - path to the version.yml file

You can change those informations at any time by editing the version.yml file or running a console command `$ php app/console appversion --set`. If you want more info about command syntax just run `$ php app/console appversion --help`.

This command executed without any parameters will output current version information. Configuration shown above will generate:

```
-----------------------------------------------------------------
	Version info is provided by maczukin/appversion-bundle
-----------------------------------------------------------------

	 Environment:  dev
		 Version:  0.5.1-dev+build.20131220004631
		   Major:  0
		   Minor:  5
		   Patch:  1
	  PreRelease:  dev
		   Build:  build.20131220004631
 DeployTimestamp:  2013-12-20 00:51:13
		 License:  MIT
	   Copyright:  2013 by Tomasz Maczukin

-----------------------------------------------------------------

 Credits:

	   Tomasz Maczukin  tomasz@maczukin.pl

```

In addition to the command console there is also available a twig extension. In any of your twig templates you can use 'version\_tools' object.

You can output a default version format by using `{{ appversion }}`, set your own format `{{ appversion.versionString('%major%.%minor%.%patch%%pre-release%%build%') }}` or use object like an entity and output individual object fields, eg. `{{ appversion.major }}`.

TODO
----

[](#todo)

- \[1.0.0\] add copyrights informations to version info (version.yml and output)
- \[1.0.0\] rename Maczukin\\AppVersionBundle\\Tool\\Version to Maczukin\\AppVersionBundle\\Tool\\VersionTool
- \[1.0.0\] use appversion.file setting in VersionTool
- \[?\] add configuration for continuous integration software (travis or jenkins) with static code analysis and generating documentation from PHPDoc comment blocks
- \[?\] add unit tests and integrate them with CI software

###  Health Score

29

—

LowBetter than 57% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity13

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity63

Established project with proven stability

 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.

###  Release Activity

Cadence

Every ~21 days

Recently: every ~26 days

Total

6

Last Release

4468d ago

Major Versions

1.0.1 → 2.0.02014-01-19

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/628188?v=4)[Tomasz Maczukin](/maintainers/tmaczukin)[@tmaczukin](https://github.com/tmaczukin)

---

Top Contributors

[![tmaczukin](https://avatars.githubusercontent.com/u/628188?v=4)](https://github.com/tmaczukin "tmaczukin (29 commits)")

### Embed Badge

![Health badge](/badges/maczukin-appversion-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/maczukin-appversion-bundle/health.svg)](https://phpackages.com/packages/maczukin-appversion-bundle)
```

###  Alternatives

[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M387](/packages/easycorp-easyadmin-bundle)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

585.6M559](/packages/shopware-core)[open-dxp/opendxp

Content &amp; Product Management Framework (CMS/PIM)

9421.6k60](/packages/open-dxp-opendxp)[friendsoftypo3/content-blocks

TYPO3 CMS Content Blocks - Content Types API | Define reusable components via YAML

103519.9k49](/packages/friendsoftypo3-content-blocks)

PHPackages © 2026

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