---
next_cursor: eyJzY29yZSI6MCwic2VxIjozMDgsInNpbmNlIjpudWxsLCJ0b29sIjpudWxsLCJ2IjoxfQ
has_more: true
next: https://sincecutoff.com/v1/changes.md?score=0&cursor=eyJzY29yZSI6MCwic2VxIjozMDgsInNpbmNlIjpudWxsLCJ0b29sIjpudWxsLCJ2IjoxfQ
items: 10
---
# sincecutoff.com changes: all tools

## gcloud spanner instances adds total CPU based autoscaling flags (gcloud, 2026-01-06)
Published 2026-10-13
- slug: gcloud-spanner-instances-adds-total-cpu-based-autoscaling-flags-bdae58b7fa4f
- score: 0.95

How to use it:

When configuring managed autoscaling for a Spanner instance, set `--autoscaling-total-cpu-target` with the required autoscaling limits and storage target. Use `gcloud spanner instances create` to create an instance or `gcloud spanner instances update` to configure an existing one.

Examples:

```
gcloud spanner instances create <instance-id> --config=<instance-config> --description=<description> --autoscaling-min-nodes=<min-nodes> --autoscaling-max-nodes=<max-nodes> --autoscaling-total-cpu-target=<total-cpu-percent> --autoscaling-storage-target=<storage-percent>
```

```
gcloud spanner instances update <instance-id> --autoscaling-min-nodes=<min-nodes> --autoscaling-max-nodes=<max-nodes> --autoscaling-total-cpu-target=<total-cpu-percent> --autoscaling-storage-target=<storage-percent>
```

- why_it_matters: Configure total CPU based autoscaling for Spanner instances.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55100_2026-01-06>, <https://docs.cloud.google.com/sdk/gcloud/reference/spanner/instances/create>, <https://docs.cloud.google.com/sdk/gcloud/reference/spanner/instances/update>, <https://docs.cloud.google.com/spanner/docs/create-manage-instances>
- gotchas: "Availability: beta and GA"; "INSTANCE (required): Cloud Spanner instance ID."; "--config (required): Instance configuration; defines geographic placement and replication."; "--description (required): Instance description."; "--autoscaling-total-cpu-target (required): Target percentage of total CPU the autoscaled instance can utilize. At least one CPU target must be specified; the documented target range is 10–90%."; "--autoscaling-storage-target (required): Target percentage of storage for the autoscaled instance; required when other autoscaling arguments are specified."; "--autoscaling-min-nodes (required): Minimum node count for autoscaling. Specify this and max nodes, or use the processing-unit limits instead; the two limit units are mutually exclusive."; "--autoscaling-max-nodes (required): Maximum node count for autoscaling. Specify this and min nodes, or use the processing-unit limits instead; the two limit units are mutually exclusive."; "--autoscaling-min-processing-units (required): Minimum processing units for autoscaling. Use with max processing units instead of node limits; the two limit units are mutually exclusive."; "--autoscaling-max-processing-units (required): Maximum processing units for autoscaling. Use with min processing units instead of node limits; the two limit units are mutually exclusive."; "--autoscaling-high-priority-cpu-target: Target percentage of high-priority CPU; may be specified alongside the total CPU target."; "--asymmetric-autoscaling-option.location (required): Location of the read-only region to scale asymmetrically; required when using this option."; "--asymmetric-autoscaling-option.min_nodes: Minimum nodes for asymmetric autoscaling; otherwise inherited from the base instance configuration."; "--asymmetric-autoscaling-option.max_nodes: Maximum nodes for asymmetric autoscaling; otherwise inherited from the base instance configuration."; "--asymmetric-autoscaling-option.min_processing_units: Minimum processing units for asymmetric autoscaling."; "--asymmetric-autoscaling-option.max_processing_units: Maximum processing units for asymmetric autoscaling."; "--asymmetric-autoscaling-option.total_cpu_target: Total CPU target for asymmetric autoscaling; documented range is 10–90%."; "--asymmetric-autoscaling-option.high_priority_cpu_target: High-priority CPU target for asymmetric autoscaling."; "--asymmetric-autoscaling-option.disable_total_cpu_autoscaling: Set TRUE to disable total CPU autoscaling for the replica; cannot disable both total CPU and high-priority CPU autoscaling on the same replica."; "--asymmetric-autoscaling-option.disable_high_priority_cpu_autoscaling: Set TRUE to disable high-priority CPU autoscaling for the replica; cannot disable both total CPU and high-priority CPU autoscaling on the same replica."; "Prerequisite: The managed autoscaler create examples are for Enterprise and Enterprise Plus edition instances."; "Prerequisite: For creation, provide `--config` and `--description`; managed autoscaling requires storage target, limits in nodes or processing units, and at least one CPU target."

## gcloud workstations configs adds disk configuration and Hyperdisk support (gcloud, 2026-01-06)
Published 2026-10-13
- slug: gcloud-workstations-configs-adds-disk-configuration-and-hyperdisk-support-9e4e2823593b
- score: 0.94

How to use it:

When creating or updating a Workstations config, set disk options with the `--disk-*` flags; choose `hyperdisk-balanced-ha` for Hyperdisk. The current update reference omits `--disk-reclaim-policy`, which conflicts with the release note.

Examples:

```
gcloud workstations configs create <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-type=hyperdisk-balanced-ha --disk-size=<10|50|100|200|500|1000> --disk-reclaim-policy=<delete|retain>
```

```
gcloud workstations configs update <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-type=hyperdisk-balanced-ha --disk-size=<10|50|100|200|500|1000>
```

```
gcloud workstations configs update <CONFIG> --cluster=<CLUSTER> --region=<REGION> --disk-source-snapshot=<SNAPSHOT>
```

- why_it_matters: Configure workstation disks when creating or updating a Workstations config.
- sources: <https://docs.cloud.google.com/sdk/docs/release-notes#55100_2026-01-06>, <https://docs.cloud.google.com/sdk/gcloud/reference/workstations/configs/create>, <https://docs.cloud.google.com/sdk/gcloud/reference/workstations/configs/update>
- gotchas: "CONFIG (required): Configuration ID; `--cluster` and `--region` are required resource attributes."; "--cluster (required): Cluster for the config."; "--region (required): Region for the config."; "--disk-type: Persistent directory disk type: `pd-standard`, `pd-balanced`, `pd-ssd`, or `hyperdisk-balanced-ha`."; "--disk-size: Persistent directory size in GB: `10`, `50`, `100`, `200`, `500`, or `1000`. On update, specified together with `--disk-type`."; "--disk-reclaim-policy: On create, controls deletion behavior: `delete` (default) or `retain`. The current update reference does not document this flag."; "--disk-source-snapshot: Snapshot name used as the source for the home disk. Update documentation lists it as an alternative to the disk size/type pair."; "--disk-size` + `--disk-type` / `--disk-source-snapshot: Update syntax presents the size/type pair and source-snapshot flag as alternatives; do not specify both alternatives together."; "Docs conflict: Release note says `--disk-reclaim-policy` was added to `gcloud workstations configs update`; the current official update reference does not list or describe that flag, so its update usage and behavior are unverified."

## wrangler auth token retrieves configured credentials (wrangler, 2026-01-07)
Published 2026-10-13
- slug: wrangler-auth-token-retrieves-configured-credentials-5121d6f66092
- score: 0.96

How to use it:

When a script needs Wrangler’s configured credentials, run `wrangler auth token`; add `--json` for structured output with token type, including API key/email credentials.

Examples:

```
wrangler auth token
```

```
wrangler auth token --json
```

- why_it_matters: When a script needs Wrangler’s currently configured authentication credential, retrieve it for the integration.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.57.0>, <https://developers.cloudflare.com/workers/wrangler/commands/general/>
- gotchas: "Version: 4.57.0"; "--json: Returns JSON with token type; required to retrieve API key/email credentials."; "Prerequisite: An authentication method must be available: `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_API_KEY` plus `CLOUDFLARE_EMAIL` (with `--json`), or an OAuth token from `wrangler login`."; "Returns whichever authentication method is currently configured."

## wrangler dev generates worker configuration types (wrangler, 2026-01-07)
Published 2026-10-13
- slug: wrangler-dev-generates-worker-configuration-types-a0569a8053e7
- score: 0.97

How to use it:

When starting a Worker’s local development server, enable automatic configuration type generation with `wrangler dev --types` or set `dev.generate_types` to `true` in Wrangler configuration.

Examples:

```
wrangler dev --types
```

```
{
  "dev": {
    "generate_types": true
  }
}
```

- why_it_matters: When starting local development for a Worker, generate its configuration types automatically.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.57.0>, <https://developers.cloudflare.com/workers/wrangler/commands/workers/>, <https://developers.cloudflare.com/workers/wrangler/configuration/>
- gotchas: "Version: 4.57.0"; "--types: Boolean flag; generate types from Worker configuration. Defaults to false."; "dev.generate_types: Boolean configuration option; generate types from Worker configuration. Defaults to false."; "Types are generated when the local Wrangler development server starts."

## playwright-mcp restricts browser URLs and file access by default (playwright-mcp, 2026-01-09)
Published 2026-10-13
- slug: playwright-mcp-restricts-browser-urls-and-file-access-by-default-42b3dbe4fd4c
- score: 0.92

How to use it:

When browsing or uploading with Playwright MCP v0.0.55, keep URLs to `http:`, `https:`, `about:`, or `data:` and upload from workspace roots (or `cwd` if none are configured). If the task requires `file://` or files outside those roots, enable `--allow-unrestricted-file-access` or set `allowUnrestrictedFileAccess: true`.

Examples:

```
npx @playwright/mcp@0.0.55 --allow-unrestricted-file-access
```

```
{"allowUnrestrictedFileAccess": true}
```

- why_it_matters: Browse pages and upload files while automating a repository with Playwright MCP.
- sources: <https://github.com/microsoft/playwright-mcp/releases/tag/v0.0.55>, <https://github.com/microsoft/playwright-mcp/blob/v0.0.55/README.md>
- gotchas: "Version: v0.0.55"; "--allow-unrestricted-file-access: Allows access to files outside workspace roots and unrestricted `file://` URLs; otherwise file access is restricted to roots (or `cwd` if none are configured), and `file://` navigation is blocked."; "allowUnrestrictedFileAccess: Boolean config key to opt out of file access restrictions when set to `true`."; "Prerequisite: Playwright MCP requires Node.js 18 or newer."; "File uploads through `setInputFiles`, file choosers, and MCP file tools are restricted to workspace root directories, or `cwd` if no roots are configured."; "Browser navigation and API requests are limited to `http:`, `https:`, `about:`, and `data:` URLs; `file://` is blocked unless unrestricted file access is enabled."

## sentry-cli JavaScript API releases.newDeploy() supports multiple projects (sentry-cli, 2026-01-12)
Published 2026-10-13
- slug: sentry-cli-javascript-api-releases-newdeploy-supports-multiple-projects-09ac4cb8bbac
- score: 0.95

How to use it:

When creating a deployment release for multiple projects through the JavaScript API, pass `projects: [<project-slug>, ...]` in the options argument to `releases.newDeploy()`.

Examples:

```
await cli.releases.newDeploy('<release-version>', { projects: ['<project-slug-1>', '<project-slug-2>'], env: '<environment>' });
```

- why_it_matters: Create a deployment release for multiple Sentry projects through the JavaScript API.
- before: Before this change, `newDeploy()` did not support a `projects` option; the API change added project flag forwarding for deployments.
- sources: <https://github.com/getsentry/sentry-cli/releases/tag/3.1.0>, <https://github.com/getsentry/sentry-cli/pull/3001>
- gotchas: "Version: 3.1.0"; "projects: Array of project slugs to deploy the release to; if omitted, the deployment is created for all projects associated with the release."; "release (required): First argument to `newDeploy`; release version string."; "env: Deployment environment; passed as `--env`."

## vercel upgrade command supports package manager aware upgrades (vercel, 2026-01-12)
Published 2026-10-13
- slug: vercel-upgrade-command-supports-package-manager-aware-upgrades-334a95760456
- score: 0.98

How to use it:

When upgrading Vercel CLI and you need to inspect the package-manager command first, run `vercel upgrade --dry-run`; review the proposed command, then run `vercel upgrade` to apply it. Use `--json` instead of `--dry-run` for machine-readable upgrade information; it also implies dry-run behavior.

Examples:

```
vercel upgrade --dry-run
```

```
vercel upgrade
```

```
vercel upgrade --json
```

- why_it_matters: Upgrade the Vercel CLI while checking the proposed package manager operation before applying it.
- sources: <https://github.com/vercel/vercel/releases/tag/vercel%4050.3.0>, <https://github.com/vercel/vercel/pull/14584>, <https://github.com/vercel/vercel/blob/vercel%4050.3.0/packages/cli/src/commands/upgrade/command.ts>, <https://vercel.com/docs/cli>
- gotchas: "Version: 50.3.0"; "--dry-run: Show the upgrade command without executing it."; "--json: Output upgrade information as JSON; implies `--dry-run`."; "Prerequisite: Vercel CLI must be installed so `vercel upgrade` is available."; "The update prompt is interactive-terminal-only."

## wrangler types --check verifies generated types (wrangler, 2026-01-13)
Published 2026-10-13
- slug: wrangler-types-check-verifies-generated-types-7660f8508501
- score: 0.98

How to use it:

When you need to verify generated Worker types in CI or a pre-commit hook, run `wrangler types --check`; it checks the configured output path without regenerating types and exits 0 when current or 1 when out of date. Use `wrangler types <path>.d.ts --check` to check a custom output path.

Examples:

```
wrangler types --check
```

```
wrangler types <path>.d.ts --check
```

- why_it_matters: In CI or a pre-commit hook, verify that the repository’s generated Worker types are current.
- sources: <https://github.com/cloudflare/workers-sdk/releases/tag/wrangler%404.59.0>, <https://developers.cloudflare.com/workers/wrangler/commands/workers/>
- gotchas: "Version: 4.59.0"; "PATH: Output path for Worker types; defaults to `./worker-configuration.d.ts` and must have a `.d.ts` extension."; "--check: Check whether types at the specified path are up to date without regenerating them; exits 0 if current or 1 if out of date."

## gh browse adds --actions flag (gh, 2026-01-14)
Published 2026-10-13
- slug: gh-browse-adds-actions-flag-168b26db7812
- score: 0.94

How to use it:

To open the Actions page for a repository, run `gh browse --actions` from that repository. Use `--repo <HOST/OWNER/REPO>` to select another repository.

Examples:

```
gh browse --actions
```

```
gh browse --actions --repo <HOST/OWNER/REPO>
```

- why_it_matters: Open a repository's Actions page from the CLI.
- sources: <https://github.com/cli/cli/releases/tag/v2.85.0>, <https://cli.github.com/manual/gh_browse>
- gotchas: "Version: v2.85.0"; "--actions: Open repository Actions."; "--repo <HOST/OWNER/REPO>: Select another repository; format is [HOST/]OWNER/REPO."

## gh repo set-default accepts git remote names (gh, 2026-01-14)
Published 2026-10-13
- slug: gh-repo-set-default-accepts-git-remote-names-89c02178765f
- score: 0.93

How to use it:

When setting a local clone’s default repository to a named Git remote, run `gh repo set-default <remote-name>`.

Examples:

```
gh repo set-default origin
```

- why_it_matters: Set a repository's default using a named git remote.
- sources: <https://github.com/cli/cli/releases/tag/v2.85.0>, <https://cli.github.com/manual/gh_repo_set-default>
- gotchas: "Version: v2.85.0"; "<repository>: Repository to set as default; the documented example accepts a Git remote name."

Next: https://sincecutoff.com/v1/changes.md?score=0&cursor=eyJzY29yZSI6MCwic2VxIjozMDgsInNpbmNlIjpudWxsLCJ0b29sIjpudWxsLCJ2IjoxfQ
Save `next_cursor`; next visit, pass it to get only what was published since.
<!-- end of page -->
