Skip to content

v0.1.4 — secrets.set replaces secrets.create + secrets.rotate

Choose a tag to compare

@bo-unitysvc bo-unitysvc released this 19 Apr 14:42
· 216 commits to main since this release
edfd789

What changed

Mirrors the upstream backend change in unitysvc/unitysvc#798: the secrets API now uses a single idempotent PUT /v1/seller/secrets/{name} endpoint.

Breaking change

# Before (0.1.3):
client.secrets.create("MY_KEY", "v")
client.secrets.rotate("MY_KEY", "v2")

# After (0.1.4):
client.secrets.set("MY_KEY", "v")    # idempotent — creates or replaces
client.secrets.set("MY_KEY", "v2")   # same call rotates

Same change for the async surface (AsyncSecrets).

CLI

# Before:
usvc secret create MY_KEY --value v
usvc secret rotate MY_KEY --value v2

# After:
usvc secret set MY_KEY --value v
usvc secret set MY_KEY --value v2

Tooling

  • scripts/generate_client.sh is now strict about the toolchain — pins openapi-python-client==0.28.3 and ruff==0.14.0, never falls back to whatever is on \$PATH.
  • Post-regen normalization with ruff (UP007 / UP045 / I001) ensures generated code uses PEP 604 X | Y union syntax consistently across regens.

Migration

Code using secrets.create() or secrets.rotate() must switch to secrets.set(name, value) — this is a breaking surface change. CLI users must switch from usvc secret create/rotate to usvc secret set.

Pull request

#15