Edit: This feature has been replaced by Releases.

This evening we rolled out a Downloads section for all repositories wherein repo members can upload files. Tag releases are also listed beneath as an added bonus.

Uploading a file is straightforward: select your file, write a description, and click upload.

You’ll see a progress bar appear and if all goes well the page will reload.

If it’s a public repository, the upload’s URL will look something like this:


If it’s a private repository, the URL will look something like this:

https:// s3.amazonaws.com/github/downloads/pjhyett/blackjax/blackjax.jpg?AWSAccessKeyId=1DWESVTPGHQVTX38V182&Expires=1234304884&

The difference is really important. Public repositories will be able to take advantage of Amazon’s Cloud Front service, a CDN that should keep downloads speedy worldwide. Private repositories generate a URL that’s valid for only one hour (from the time the downloads page is accessed) to make sure your private uploads are safe.

Please keep in mind that any file you upload is counted against the repository owner’s space allotted by their account’s plan.

The last thing worth mentioning is the uploader requires Flash Player 9.0.1 or greater. We’ve caught some flack in the past about our limited use of Flash, but we promise we don’t add it lightly. Using a slightly modified plugin hosted right here on GitHub, we are able to upload files directly to S3 instead of tying up our servers.

If you’re still one of the holdouts, do yourself a favor and install Flash, install FlashBlock for Firefox or clicktoflash for Safari, and make sure you add github.com to its whitelist. Now you can have all of the flash you want and none that you don’t.