The following documents all the rules currently checked by the PHP Semantic Versioning Checker.
Note In italic are the rules that are not implemented yet. Feel free to submit a PR if you implement any of them.
| Code | Level | Rule |
|---|---|---|
| V001 | MAJOR | Function removed |
| V002 | MAJOR | Function parameter added |
| V003 | MINOR | Function added |
| V004 | PATCH | Function implementation changed |
| V067 | PATCH | Function parameter name changed |
| V068 | MAJOR | Function parameter removed |
| V069 | MAJOR | Function parameter typing added |
| V070 | MINOR | Function parameter typing removed |
| V071 | MINOR | Function parameter default added |
| V072 | MAJOR | Function parameter default removed |
| V073 | MINOR | Function parameter default value changed |
| V160 | PATCH | Function name case changed |
| Code | Level | Rule |
|---|---|---|
| V005 | MAJOR | Class removed |
| V006 | MAJOR | Class public method removed |
| V007 | MAJOR | Class protected method removed |
| V008 | MAJOR | Class public property removed |
| V009 | MAJOR | Class protected property removed |
| V010 | MAJOR | Class public method parameter added |
| V011 | MAJOR | Class protected method parameter added |
| V012 | MAJOR | New public constructor (does not match supertype) |
| V013 | MAJOR | New protected constructor (does not match supertype) |
| V015 | MAJOR | Class public method added |
| V016 | MAJOR | Class protected method added |
| V019 | MAJOR | Class public property added |
| V020 | MAJOR | Class protected property added |
| V014 | MINOR | Class added |
| V017 | MINOR | Final class public method added |
| V018 | MINOR | Final class protected method added |
| V021 | MINOR | Final class protected method parameter added |
| V022 | PATCH | Final class protected method removed |
| V023 | PATCH | [Final] Class public class method implementation changed |
| V024 | PATCH | [Final] Class protected class method implementation changed |
| V025 | PATCH | [Final] Class private class method implementation changed |
| V026 | PATCH | Class private property added |
| V027 | PATCH | Class private property removed |
| V028 | PATCH | Class private method added |
| V029 | PATCH | Class private method removed |
| V030 | PATCH | Final class protected method added |
| V031 | PATCH | Class private method parameter added |
| V060 | PATCH | Class public method parameter name changed |
| V061 | PATCH | Class protected method parameter name changed |
| V062 | PATCH | Class private method parameter name changed |
| V080 | ----- | Final class public method parameter added |
| V081 | ----- | Final class private method parameter added |
| V082 | MAJOR | Class public method parameter removed |
| V083 | MAJOR | Class protected method parameter removed |
| V084 | PATCH | Class private method parameter removed |
| V085 | MAJOR | Class public method parameter typing added |
| V086 | MAJOR | Class protected method parameter typing added |
| V087 | PATCH | Class private method parameter typing added |
| V088 | MAJOR | Class public method parameter typing removed |
| V089 | MAJOR | Class protected method parameter typing removed |
| V090 | PATCH | Class private method parameter typing removed |
| V091 | MINOR | Class public method parameter default added |
| V092 | MINOR | Class protected method parameter default added |
| V093 | PATCH | Class private method parameter default added |
| V094 | MAJOR | Class public method parameter default removed |
| V095 | MAJOR | Class protected method parameter default removed |
| V096 | PATCH | Class private method parameter default removed |
| V097 | MAJOR | Class public method parameter default value changed |
| V098 | MAJOR | Class protected method parameter default value changed |
| V099 | PATCH | Class private method parameter default value changed |
| V150 | PATCH | Class public method name case changed |
| V156 | PATCH | Class protected method name case changed |
| V157 | PATCH | Class private method name case changed |
| V154 | PATCH | Class name case changed |
| VXXX | MAJOR | Final class public method parameter added |
| VXXX | MAJOR | Final class protected method parameter added |
| VXXX | PATCH | Final class private method parameter added |
| VXXX | MAJOR | Final class public method parameter removed |
| VXXX | MAJOR | Final class protected method parameter removed |
| VXXX | PATCH | Final class private method parameter removed |
| VXXX | MAJOR | Final class public method parameter typing added |
| VXXX | MAJOR | Final class protected method parameter typing added |
| VXXX | PATCH | Final class private method parameter typing added |
| VXXX | ????? | Final class public method parameter typing removed |
| VXXX | ????? | Final class protected method parameter typing removed |
| VXXX | PATCH | Final class private method parameter typing removed |
| VXXX | ????? | Final class public method parameter default added |
| VXXX | ????? | Final class protected method parameter default added |
| VXXX | PATCH | Final class private method parameter default added |
| VXXX | ????? | Final class public method parameter default removed |
| VXXX | ????? | Final class protected method parameter default removed |
| VXXX | PATCH | Final class private method parameter default removed |
| VXXX | ????? | Final class public method parameter default value changed |
| VXXX | ????? | Final class protected method parameter default value changed |
| VXXX | PATCH | Final class private method parameter default value changed |
| Code | Level | Rule |
|---|---|---|
| V032 | MINOR | Interface added |
| V033 | MAJOR | Interface removed |
| V034 | MAJOR | Interface method added |
| V035 | MAJOR | Interface method removed |
| V036 | MAJOR | Interface method parameter added |
| V063 | PATCH | Interface method parameter name changed |
| V074 | MAJOR | Interface method parameter removed |
| V075 | MAJOR | Interface method parameter typing added |
| V076 | MAJOR | Interface method parameter typing removed |
| V077 | MINOR | Interface method parameter default added |
| V078 | MAJOR | Interface method parameter default removed |
| V079 | MAJOR | Interface method parameter default value changed |
| V151 | PATCH | Interface method name case changed |
| V153 | PATCH | Interface name case changed |
| Code | Level | Rule |
|---|---|---|
| V037 | MAJOR | Trait removed |
| V038 | MAJOR | Trait public method removed |
| V039 | MAJOR | Trait protected method removed |
| V040 | MAJOR | Trait public property removed |
| V041 | MAJOR | Trait protected property removed |
| V042 | MAJOR | Trait public method parameter added |
| V043 | MAJOR | Trait protected method parameter added |
| V044 | MAJOR | New public constructor (does not match supertype) |
| V045 | MAJOR | New protected constructor (does not match supertype) |
| V047 | MAJOR | Trait public method added |
| V048 | MAJOR | Trait protected method added |
| V049 | MAJOR | Trait public property added |
| V050 | MAJOR | Trait protected property added |
| V055 | MAJOR | Trait private property added |
| V056 | MAJOR | Trait private property removed |
| V057 | MAJOR | Trait private method added |
| V058 | MAJOR | Trait private method removed |
| V046 | MINOR | Trait added |
| V051 | ----- | REMOVED |
| V052 | PATCH | Trait public method implementation changed |
| V053 | PATCH | Trait protected method implementation changed |
| V054 | PATCH | Trait private method implementation changed |
| V059 | MAJOR | Trait private method parameter added |
| V064 | PATCH | Trait public method parameter name changed |
| V065 | PATCH | Trait protected method parameter name changed |
| V066 | PATCH | Trait private method parameter name changed |
| V100 | MAJOR | Trait public method parameter removed |
| V101 | MAJOR | Trait protected method parameter removed |
| V102 | MAJOR | Trait private method parameter removed |
| V103 | MAJOR | Trait public method parameter typing added |
| V104 | MAJOR | Trait protected method parameter typing added |
| V105 | MAJOR | Trait private method parameter typing added |
| V106 | MAJOR | Trait public method parameter typing removed |
| V107 | MAJOR | Trait protected method parameter typing removed |
| V108 | MAJOR | Trait private method parameter typing removed |
| V109 | MINOR | Trait public method parameter default added |
| V110 | MINOR | Trait protected method parameter default added |
| V111 | MINOR | Trait private method parameter default added |
| V112 | MAJOR | Trait public method parameter default removed |
| V113 | MAJOR | Trait protected method parameter default removed |
| V114 | MAJOR | Trait private method parameter default removed |
| V115 | MAJOR | Trait public method parameter default value changed |
| V116 | MAJOR | Trait protected method parameter default value changed |
| V117 | MAJOR | Trait private method parameter default value changed |
| V152 | PATCH | Trait public method name case changed |
| V158 | PATCH | Trait protected method name case changed |
| V159 | PATCH | Trait private method name case changed |
| V155 | PATCH | Trait name case changed |