Your software won't do the world much good if nobody but you knows it exists. Also, developing a visible presence for the project on the Internet will assist you in recruiting users and co-developers. Here are the standard ways to do that.
Announce new releases to comp.os.linux.announce. Besides being widely read itself, this group is a major feeder for web-based what's-new sites like Freshmeat.
Find USENET topics group directly relevant to your application, and announce there as well. Post only where the function of the code is relevant, and exercise restraint.
If (for example) you are releasing program written in Perl that queries IMAP servers, you should certainly post to comp.mail.imap. But you should probably not post to comp.lang.perl unless the program is also an instructive example of cutting-edge Perl techniques.
Your announcement should include the URL of a project website.
If you intend try to build any substantial user or developer community around your project, it should have a website. Standard things to have on the website include:
Some project sites even have URLs for anonymous access to the master source tree.
It's standard practice to have a private development list through which project collaborators can communicate and exchange patches. You may also want to have an announcements list for people who want to be kept informed of the project's process
For the last several years, the Sunsite archive has been the most important interchange location for Linux software.
Other important locations include:
The de-facto standard format for installable binary packages is that used by the Red Hat Package manager, RPM. It's featured in the most popular Linux distribution, and supported by effectively all other Linux distributions (except Debian a Slackware).
Accordingly, it's a good idea for your project site to provide installable RPMs as well as source tarballs.