Generally, you should update this file each time you make a noteworthy change to code as you develop it. Don’t wait until you are about to release.

3. Generate an updated .pot file.

This is the reference file that others can use to do translations. Simply go to your plugin’s page on WordPress.org, and go to the Admin panel. The URL is something like “http://wordpress.org/extend/plugins/my-awesome-plugin/admin/”. The click the Generate POT button to create a .pot file from the trunk code.

You want to be sure to tag the latest code on the HEAD of the trunk with a new tag under “tags”. The tag should be a number that is exactly the same as the “Version” number you set in your main plugin file header.

Here is an example Tortoise SVN dialog:

4. Change your Stable Tag in readme.txt

This action actually releases the version to users. The “Stable tag” value signals WordPress.org which version of your software is the released version. Any user installing or upgrading your plugin on their WordPress site will get this version. Once you change the “Stable tag” value those who have your plugin installed will automatically see upgrade notices on their Plugins administrative page. The value of your “Stable tag” should be the SVN tag you created. For example, if you made SVN tag “1.4”, you release that version by setting “Stable tag: 1.4” and committing on the trunk.

Point of confusion: Your “Stable tag” is defined in then trunk version of your readme.txt file, NOT the tagged version. So even though your new release is version 1.4 (for example) and you have a “1.4” SVN tag, you will actually be updating the readme.txt on the trunk. The value of “Stable tag” on the 1.4 tagged version is not used.

The change will not be immediate on the WordPress.org site. But it should be reflected within an hour (based on my experience). And it will be longer until update notices appear in the Plugins admin page of your user’s WP installations.