Skip to content

Mention also API versions bumps #4470

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 14 additions & 4 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,12 @@
5. Bump the version numbers in `main/php_version.h`, `Zend/zend.h`,
`configure.ac` and possibly `NEWS`. Do not use abbreviations for alpha and
beta. Do not use dashes, you should `#define PHP_VERSION "7.4.22RC1"` and
not `#define PHP_VERSION "7.4.22-RC1"`
not `#define PHP_VERSION "7.4.22-RC1"`.

When releasing first alpha version, bump also API version numbers in
`Zend/zend_extensions.h`, `Zend/zend_modules.h`, and `main/php.h`. The API
versions can stay the same for the alpha/beta/.0RCx and the final GA
release.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure this is right wrt GA release?

Also @derickr implied that it should be bumped at RC, not sure what past practice here was.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PHP 7.2 and 7.3 had their latest bump around beta1. Bumping at RC or shortly before GA should be avoided unless necessary, since that would require all extensions to be rebuilt.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Alright, since this is not something written in stone or a part of a strict protocol, I've then added the following change:

 5. Bump the version numbers in `main/php_version.h`, `Zend/zend.h`,
    `configure.ac` and possibly `NEWS`. Do not use abbreviations for alpha and
    beta. Do not use dashes, you should `#define PHP_VERSION "7.4.22RC1"` and
    not `#define PHP_VERSION "7.4.22-RC1"`.

    When releasing the first alpha version, bump also API version numbers in
    `Zend/zend_extensions.h`, `Zend/zend_modules.h`, and `main/php.h`. The API
    versions between the alpha/beta/.0RCx releases can be left the same or
    bumped as little as possible because PHP extensions will need to be rebuilt
    with each bump.

Just so it is a bit more clear. Yes, I thought that basically feature freeze is the date of the API version number bump. With feature freeze, the ABI shouldn't change also... But ok, no worries. RCs are a bit more tricky then already, yes. Because there might even be an option to use it on the hostings out there already.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beta1 makes the most sense to me, as that's the feature freeze. Or perhaps RC1, as that's more of a hard ABI freeze, and still early enough on to retest new extensions with the same ABI. alpha1 sounds too early.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think I'd like to bump it with beta3 - as a bump is necessary. Does anybody object? /cc @remicollet


6. Compile and run `make test`, with and without ZTS, using the right Bison and
re2c version (for PHP 7.4, minimum Bison 3.0.0 and re2c 0.13.4 are used).
Expand All @@ -118,7 +123,7 @@
changes to the main branch.

11. Push the changes to the main repo, the tag, the main branch and the release
branch. Release branches for alpha/beta/.0RCx releases before to GA release
branch. Release branches for alpha/beta/.0RCx releases before the GA release
don't need to be pushed (a local temporary branch should be used).

```sh
Expand Down Expand Up @@ -378,8 +383,13 @@
Add a commit on master after the branch point clearing the `NEWS`,
`UPGRADING` and `UPGRADING.INTERNALS` files, updating the version in
`configure.ac` (run `./configure` to automatically update
`main/php_versions.h`, too) and `Zend/zend.h`. Also list the new branch in
`CONTRIBUTING.md`.
`main/php_versions.h`, too) and `Zend/zend.h`. Bump the default initial
version also in `win32/build/confutils.js`.

Also list the new branch in `CONTRIBUTING.md`.

Bump API version numbers in `Zend/zend_extensions.h`, `Zend/zend_modules.h`,
and `main/php.h`.

Example: https://git.php.net/?p=php-src.git;a=commit;h=a63c99b
Push the new branch and the commit just added to master.
Expand Down