You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: meta.md
+25-12Lines changed: 25 additions & 12 deletions
Original file line number
Diff line number
Diff line change
@@ -59,22 +59,35 @@ also not change anything stipulated in PSR-1 and PSR-12.
59
59
60
60
## 4. Versioning
61
61
62
-
New releases of this PER are assigned version numbers in keeping with [semantic versioning](https://semver.org/). Semantic versioning is well defined when applied to software releases but has no common definition in other contexts. This PER applies the following meanings:
62
+
New releases of this PER are assigned version numbers in keeping with [semantic versioning](https://semver.org/).
63
+
Semantic versioning is well defined when applied to software releases but has no common definition in other contexts.
64
+
This PER applies the following meanings:
63
65
64
66
***Patch** versions may contain:
65
-
* Any changes that do not alter the underlying requirements of the PER, such as fixing typos, adding clarifications or other modifications with no compatibility impact.
67
+
* Any changes that do not alter the underlying requirements of this PER, such as fixing typos, adding clarifications or
68
+
other modifications with no compatibility impact.
66
69
***Minor** versions may additionally:
67
-
* Add new `MAY` or `OPTIONAL` requirements.
68
-
* Add any new requirements for PHP syntax previously unspecified in this PER.
* Add new requirements for PHP syntax previously unspecified in this PER.
71
+
* Add, remove or alter requirements in a way that is both contravariant or more permissive for individual authors and
72
+
backwards compatible for existing projects accepting contributions.
70
73
***Major** versions may additionally:
71
-
* Add any new requirements.
72
-
* Remove any requirements.
73
-
* Meaningfully alter any requirements.
74
-
75
-
Projects are expected to pin their own coding style guidelines to a major version of this PER, allowing for regular upgrades to minor and patch releases as they are published. When performing such upgrades, it is intended that no change to existing code is required to maintain compliance with all requirements and recommendations of the PER. This ensures new code contributions processed by an automatic formatter follow (or disregard) recommendations consistently with the existing code.
76
-
77
-
Please note this backwards compatibility promise does not extend to projects that use new PHP syntax yet to be specified in this PER. In this circumstance, a minor version may introduce new requirements that conflict with syntax usage in existing code.
74
+
* Add, remove or alter any requirements.
75
+
76
+
Projects are expected to pin their own coding style guidelines to a major version of this PER, allowing for regular
77
+
upgrades to minor and patch releases as they are published. When performing such upgrades, it is intended that no change
78
+
to existing code is required to maintain compliance with all requirements and recommendations of this PER. This ensures
79
+
new code contributions processed by an automatic formatter follow (or disregard) recommendations consistently with the
80
+
existing code.
81
+
82
+
Please note this backwards compatibility promise does not extend to projects that use new PHP syntax yet to be specified
83
+
in this PER. In this circumstance, a minor version may introduce new requirements that conflict with syntax usage in
84
+
existing code.
85
+
86
+
It is ultimately determined whether a meaningful change may be included in a minor release on a case-by-case basis by
87
+
consensus. The addition of `MAY` or `OPTIONAL` requirements or the removal of requirements with non-optional RFC 2119
88
+
keywords will not always meet the criteria for minor release. For example, specifying that projects may use tabs instead
89
+
of spaces for indentation creates a new implicit requirement that projects must use one style consistently; this new
90
+
burden on projects to reformat incoming contributions to their chosen style defines the change as major.
0 commit comments