This page covers various features and tips for enforcing version control with [<<glossary:Query Lambdas>>](🔗).

## Query Lambda Versions

Each Query Lambda maintains a version history, and programmatic executions of every Query Lambda must provide a version. Any creation or update of a Query Lambda automatically creates a new version.

Versioning allows you to build and test changes without affecting production queries. Each Query Lambda/Version pair is immutable, so once specified in application code the underlying query will never change without the application source code itself changing.

### View All Versions of a Query Lambda

To view all of the versions for a particular Query Lambda, navigate to the [Query Lambdas tab of the Rockset Console](🔗) and then select your Query Lambda. Then, select the `Versions` tab to visualize and search through all of the past versions for your Query Lambda.



You can also view all the versions for a particular Query Lambda by hitting the [<<glossary:Rockset API>>](🔗) directly.

## Query Lambda Tags

Query Lambda versions can be labeled with a tag, which can then itself by updated to point to different Query Lambda versions in the future. Labels are most useful when you have different sets of Query Lambda versions used to serve particular use cases (e.g. production and development), and you can label each set with a corresponding tag.

You can create, update, delete, and retrieve tags in the [Query Lambdas tab of the Rockset Console](🔗) or by hitting the [Rockset API](🔗) directly. Additionally, you may also [execute Query Lambda versions by tag](🔗), [list all Query Lambda tags](🔗), or [list all Query Lambda versions](🔗) using the Rockset API.

### The `latest` Tag

By default, a tag named `latest` will be created with each Query Lambda and will automatically point to the first version of that Query Lambda. The `latest` tag will also be automatically updated on each update of a Query Lambda to point to its newest version. By referencing a Query Lambda using its `latest` tag in your application code, you can update the Query Lambda freely without ever having to change the version endpoint referenced (which is unique to each new version).

## Local Development Tools

The [Rockset CLI](🔗) also contains fully supported features for creating, updating, and deploying Query Lambdas. You can view its documentation [here](🔗) or by selecting your Query Lambda in the [Query Lambdas tab of the Rockset Console](🔗) and following the instructions under the `Develop Locally` tab.

You can also view, edit, and execute Query Lambda SQL locally using the [Rockset VSCode Plugin](🔗).