We are working to make improvements to the search functionality of the Chocolatey Community Repository. As this may affect our customers and community, we wanted to provide information ahead of the changes.

What Are We Doing?

There has been a long-running issue with the search functionality on the Chocolatey Community Repository. As the package indexes were stored on each web host, it could happen that those indexes are not the same for each host. This would result in package searches on one web host being correct, while on another it was missing a new package. While we have tried to minimize issues with updates, overall the issue continues.

The changes being made centralize the search index, allowing each web host to use the same index rather than their own, occasionally outdated one.

When Are We Doing It?

The changes are scheduled for Sunday 24 March 2024, between 20:00 and 22:00 UTC.

Supported Query Methods

The Chocolatey Community Repository uses the v2 OData protocol for queries, utilizing the NuGet v2 OData specification, where it is defined. Unfortunately, NuGet v2 OData specification is only loosely defined so one OData endpoint may respond with different results to another, if it responds at all.

While you may create your own queries, and get results, we have always been clear that this is not supported and may break in the future. Your own queries working today, are not guaranteed to work in the future. To guard against this happening, only the following methods are supported for querying the Chocolatey Community Repository:

To create machine-readable output from Chocolatey CLI, see our documentation.

API Changes

Below are highlights of the changes being made, but see our documentation for more details:

  • 10,000 item limit. Results from the Chocolatey Community Repository will be limited to 10,000 items, including paging. Attempting to retrieve item 10,001 will return an HTTP Status Code 406 - Not Acceptable.
  • Reduced orderby parameter options. Only a subset of the orderby parameters that v2 OData makes available, are supported. If an unsupported orderby parameter is used, an HTTP Status Code 406 - Not Acceptable response will be returned.
  • Filter options only using supported tool. Queries, using filter options, are only supported when using Chocolatey CLI or chocolatey.lib. Any invalid queries, will return an HTTP Status Code 406 - Not Acceptable.
  • GetUpdates endpoint will error. The GetUpdates endpoint is not supported and any call to it will return an HTTP Status code of 410 - Gone.

Summary

This is a high-level overview of the changes being made. If you are querying the Chocolatey Community Repository using your own queries, please see our documentation for more details.

If you have any questions about the changes using supported tools, please reach out to us on our Community Hub in the first instance.


comments powered by Disqus