Skip to content

v0.37.0

Choose a tag to compare

@github-actions github-actions released this 06 Sep 07:05
· 260 commits to main since this release

The first catalog refresh since v0.35.3 on 2026-09-01. Every regen run since then
classified blocked, so both packages have been carrying a five-day-old catalog.
v0.36.0 bumped versions alongside #30 but did not refresh the catalog, so this is
the first release that closes the gap. anyapi#940 merged three minutes after the
last green regen and started it; six more shipped changes stacked up behind it.

The classifier is right to stop: two published fields disappear. Both are
deliberate, both are already live, and each item is reviewed here against the
gateway PR that made it.

Blocked, with the slugs the machine summary omits:

  • twitter.search: input.lang removed (anyapi#940). Deliberate retirement. lang
    was declared absent on all three cheap lanes, so sending it collapsed the SKU
    to one apify lane at 9x the price; X honours lang: inside the query, so the
    gateway now folds it into query before validation. A caller who still sends
    it keeps working against the API and reaches every lane. The generated field is
    gone, so a TypeScript caller passing it no longer compiles.
  • youtube.search_hashtag: input.type enum member "shorts" removed (anyapi#961).
    Deliberate: no source we buy returns a Shorts row with the channel and publish
    time this endpoint requires, so the member could never be served.
  • youtube.channel_shorts: output.shorts[].title is no longer required
    (anyapi#1023). A loosening to match what the lanes actually return.
  • company_enrichment.crustdata_v3: output name is no longer required
    (anyapi#1044). Same shape of fix: one junk row with a null field was aborting
    the whole transform and losing the page it arrived on.
  • tiktok.video_transcript_full: output confidence numeric bounds removed
    (anyapi#1023). The recognizer reports a negative log-scale score on audio it
    could not align, so 0 to 1 was never true. Bounds are doc-only in the emitters.
  • yelp.search: input.limit default 20 recorded (anyapi#1003). The description
    already documented it. Its price also drops from $0.0605 to $0.0035 per
    request, from the litescrape lane.
  • tiktok.video: input required fields changed (anyapi#1030). id joins url
    under anyOf, so both emit optional, matching youtube.video.

Minor rather than patch by the repo's own ladder: a new SKU (youtube.search_shorts)
and new optional fields (threads.search startDate/endDate, tiktok.video id) each
earn a minor on their own, and the two removals are why it needed a human.

Gate: pnpm check exit 0; pyright and mypy clean; 499 pytest tests pass.