-
Notifications
You must be signed in to change notification settings - Fork 371
How To Create a Phan Release
Daimona edited this page Jun 9, 2025
·
34 revisions
We create releases for Phan whenever we want to get new bug fixes or features out to folks that choose to use stable releases.
As of this writing, we're supporting one active version: 5.x.y for the analysis of PHP 7.0 – 8.4 syntax.
- Support for versions predating 5.0.0 has been dropped
When creating a new release, make sure you do the following.
- Update version number and date of NEWS.md (example).
- Update version number under
CLI::PHAN_VERSION
in \Phan\CLI (example). - Build Phar by running
internal/make_phar
and getting the output underbuild/phan.phar
. See https://github.com/phan/phan/issues/880 - Generate a phar signature with
gpg -u identity@domain --detach-sign --output build/phan.phar.asc build/phan.phar
(See #1759). If this is a new key, mention the id and signature there (example). - Create a new release
- Set the Tag to be the new version number you are releasing.
- Upload the
phan.phar
andphan.phar.asc
files. - Make sure you do not mark it as "pre-release", unless we decide to release a release candidate or beta or alpha.
- Copy or link the release notes from NEWS.md into the release description.
After creating the new release, check packagist.org/packages/phan/phan to make sure it picked up the new release.
Additional post-release tasks:
- Create and merge PRs to change Phan version in NEWS.md and CLI.php to 5.x.(y+1)-dev (example).
- Update the most recent Phan version in the wiki (optional for patch releases)
-
Getting Started
-
Annotating Your Source Code
-
About Union Types
-
Tutorial for Analyzing a Large Sloppy Code Base
-
Incrementally Strengthening Analysis
-
Issue Types Caught by Phan
-
Phan Config Settings
-
Typing Parameters
-
How To Use Stubs
-
Speeding up Phan Analysis