googleapis / googleapis/google-cloud-node

Deprecate `v1small` API in `google-cloud-compute`

Open
#8,149 0 comments 0 reactions 0 assignees View on GitHub
priority: p2
Dominant language
TypeScript
Stars
3.2k
Forks
712
Avg merge
2d 3h
Merged PRs (30d)
99

Description

## Overview
The `v1small` version of the Compute Engine API was historically included in the `google-cloud-compute` library, but it is no longer actively generated, maintained, or intended for use by clients.

As part of the migration of the Node.js monorepo to the new Librarian pipeline, we have implemented strict "freeze" workarounds in the generation tooling to preserve the `v1small` directory and its exports in `src/index.ts` exactly as they were, preventing any breaking changes for downstream users in the immediate term.

## The Problem
These workarounds introduce some technical debt and complexity into the Librarian generation pipeline. We are currently manually bypassing core generation and post-processing steps (like `combine-libraries`) specifically for this one deprecated API.

## Action Items
To safely remove this technical debt, we need to formally deprecate and remove `v1small` from the `google-cloud-compute` package.

1. **Formal Deprecation:** Add deprecation notices/warnings to the `v1small` clients.
2. **Major Version Release:** Plan for the complete removal of the `v1small` exports and directory in the next major breaking change release of `@google-cloud/compute`.
3. **Librarian Cleanup:** Once `v1small` is removed from `google-cloud-node`, all associated workarounds in the `librarian` codebase must be deleted.

**Note for Librarian Maintainers:** Once this issue is resolved (the API is removed), the following workarounds in `librarian` must be removed:
* `internal/librarian/nodejs/generate.go`: The `v1small` path exclusion in `Generate()`.
* `internal/librarian/nodejs/generate.go`: The `v1small` path exclusion in `updateSnippetMetadataVersion()`.
* `internal/librarian/nodejs/generate.go`: The `injectV1SmallExports()` function and its invocation.
* `tool/cmd/migrate/nodejs.go`: The `v1small` exclusion block in the `buildNodejsLibrary` function.

Related Issue [4751](https://github.com/googleapis/librarian/issues/4751)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.