NuGet/NuGetGallery — pull request #512 by half-ogre (2012-06-01 19:49:20+00:00)
Title: Packages tab completion info API

This is an API endpoint for getting a complete list of package IDs and version for tab completion. It is cached in a distributed cached, and the cached data is evicted when a new package is created. The cache is in memory when local, and uses Windows Azure caching when hosted there. The JSON format of the API:

```
[
{
"Id":"AnglicanGeek.MarkdownMailer",
"Versions":
[
{
"IsLatestStable":true,
"IsPrerelease":false,
"Version":"1.2"
}
]
},
{
"Id":"AnglicanGeek.SimpleContainer",
"Versions":
[
{
"IsLatestStable":true,
"IsPrerelease":false,
"Version":"0.2.0.0"
}
]
}
]
```
*NOTE*: I've been working on a much larger change that would move *all* package data into the distributed cache, which along with @pranavkm's search changes of adding more data to the index, would make the site blazing fast. But I've run into enough problems with that change that I decided to break out just the tab completion stuff into this smaller commit, and I'll start a second PR for the larger caching changes.