If trunk says stable tag is 2.0.3, then tags/2.0.3/readme.txt has to have that value and so does /tags/2.0.3/pluginheaders.php
They all have to be in sync. Readme + tag/readme + tag/main-plugin-file
The "Stable Tag" line in the readme.txt file points to a sub-directory for the plugins system to look at and build ZIP files from. The actual "Version" comes from the main plugin file itself. They are separate things entirely, even though most people use the same numbers for both of them. That is the confusing part: as a "tag" is not a version even when it looks like one.
If trunk says stable tag is 2.0.3, then tags/2.0.3/readme.txt has to have that value and so does /tags/2.0.3/pluginheaders.php They all have to be in sync. Readme + tag/readme + tag/main-plugin-file The "Stable Tag" line in the readme.txt file points to a sub-directory for the plugins system to look at and build ZIP files from. The actual "Version" comes from the main plugin file itself. They are separate things entirely, even though most people use the same numbers for both of them. That is the confusing part: as a "tag" is not a version even when it looks like one.
As per https://wordpress.slack.com/archives/C1LBM36LC/p1516838485000336