Skip to content

Commit 8319c01

Browse files
committed
Release python 1.0.2: sentinel-based update() so callers can clear nullable fields
links.update() and bundles.update() previously used None as both the default and the explicit-null signal for label, expires_at, description, and icon. A caller omitting label produced the same wire payload as one passing label=None, so fields could not be cleared without always sending them. Optional nullable params now default to an UNSET sentinel; only keys explicitly provided by the caller appear in the request body. Passing None sends the field as JSON null, clearing it on the server. Sync and async resources updated; regression tests added for both clients.
1 parent fec0c16 commit 8319c01

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

sdk/python/CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22

33
All notable changes to the SDK are documented in this file.
44

5+
## 1.0.2 (2026-05-07)
6+
7+
- `links.update()` and `bundles.update()` can now distinguish "omit this field" from "set this field to null". Optional nullable params (`label`, `expires_at`, `description`, `icon`) default to a private `UNSET` sentinel; only keys explicitly provided by the caller are included in the request body. Pass `None` to clear a value, omit the param to leave the server-side value untouched. Sync and async resources both updated; regression tests cover both clients.
8+
59
## 1.0.1 (2026-04-30)
610

711
Packaging, documentation, and CI hygiene. No public surface changes.

sdk/python/pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "shrtnr"
7-
version = "1.0.1"
7+
version = "1.0.2"
88
description = "SDK for the shrtnr URL shortener API"
99
readme = "README.md"
1010
license = "Apache-2.0"

0 commit comments

Comments
 (0)