@curviate/sdk 0.20.2 → 0.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -9,6 +9,64 @@ Versioning: semantic. Minor for additive changes, patch for bug fixes; no stabil
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [0.21.0] - 2026-08-13
13
+
14
+ Regeneration against the deployed, served OpenAPI document at server commit
15
+ `d468b90f` (`https://api.staging.curviate.com/.well-known/openapi.json`).
16
+ Nothing was hand-edited.
17
+
18
+ **Minor, not patch, because two of the mirrored changes are breaking for a
19
+ typed consumer**, even though nothing in this package's own source changed:
20
+ existing code that compiles against 0.20.2's types will not compile against
21
+ these without changes. A `^0.20.x`-pinned consumer will not receive this
22
+ release, by design; that is what the minor bump is for.
23
+
24
+ ### Changed (breaking)
25
+
26
+ - **`total_count` on a people-search page is now `number | null`** (was
27
+ `number`): the server stopped reporting a total once results are served
28
+ cursor-natively, rather than reporting a number that no longer meant
29
+ "how many pages remain." A consumer that read `total_count` as a bare
30
+ number must now narrow it.
31
+ - **`profile_url` on a search result's `user` object is now `string | null`**
32
+ (was `string`), for the same reason as above: the platform does not always
33
+ surface a public profile URL, and the type now says so instead of lying.
34
+ A new optional `public_identifier` field (present only when requested via
35
+ `expand=public_identifier`) is the additive companion to this change.
36
+ - **Profile section arrays (`experience`, `education`, `languages`,
37
+ `certifications`, `volunteer_experience`, `projects`)** on the classic and
38
+ Recruiter-enriched profile shapes went from opaque `{}[]` to fully described
39
+ per-entry shapes. Any consumer that was indexing into these arrays without a
40
+ described shape gains real fields; one that had hand-rolled its own local
41
+ type for these arrays now has a mismatch to reconcile.
42
+
43
+ ### Added
44
+
45
+ - **`PAGE_TRUNCATED`** joins the people-search `notices[].code` enum
46
+ (`FILTER_VALUE_UNRESOLVED` / `FILTER_VALUE_UNCHECKED` / `SOME_RESULTS_HIDDEN`
47
+ / `ALL_RESULTS_HIDDEN`), reporting when a page is short because upstream
48
+ fetching stopped, not because results ran out; follow `cursor` and treat
49
+ only a `null` cursor as the end.
50
+ - **`POST /v1/webhooks/{id}/test`**, for firing a synthetic delivery at a
51
+ registered webhook without waiting on a real trigger.
52
+ - **`expand=public_identifier`** query parameter on the four message-detail /
53
+ chat-detail endpoints, resolving a vanity slug alongside the existing
54
+ fields for up to 25 people per request.
55
+
56
+ ### Fixed
57
+
58
+ - **The quota family description no longer describes itself as a
59
+ "usage-safety recommendation."** `total` is documented as "a substrate
60
+ capacity ceiling, not a safe sustained rate," and the throttle-hint enum
61
+ spells out exactly which values are advisory (`none` / `slow_down` /
62
+ `backoff`, none of which ever block a request) versus the one binding limit
63
+ (`stop`, `account.per_minute` only, enforced with HTTP 429): a capacity
64
+ framing, replacing the old safety framing.
65
+ - Quota example values now mirror the live raised ceilings (`messages.daily`
66
+ 400, `connection_requests.daily` 480, `profile_views.daily` 400,
67
+ `inmail.daily` 60, `profile.endorse` 160), not the retired 100/120/100/40
68
+ set.
69
+
12
70
  ## [0.20.2] - 2026-08-10
13
71
 
14
72
  Published as a patch, not a minor, for the same reason 0.20.1 was: it satisfies