Skip to content

v2.35.0

Choose a tag to compare

@iWedmak iWedmak released this 06 Jul 11:55
· 17 commits to master since this release
a3c729e

What's new

type() anti-detect (task 4109)

Browser.type(text, selector=...) probabilistically routes long text through the real system-clipboard paste path when BOTH gates pass:

  • len(text) > TYPE_PASTE_MIN_CHARS (500)
  • random() < TYPE_PASTE_PROBABILITY (0.625)

Otherwise falls through to per-char Ceki.typeText. A paste event with inputType=insertFromPaste looks like a human pasting — not a perfect per-key bot rhythm. Constants at module scope; paste() and the branch share a private _hotkey_paste_into() helper.

Also since v2.26.0

  • copy() / paste(selector, text) via real OS clipboard (synthetic Ctrl+C/Ctrl+V) — tasks 4091, 4098.
  • call-human CLI + SDK wrapper — task 4019.
  • Contract MCP tools: my_jobsmy_events, call-human, progress command (status correction + comment, description untouched) — tasks 3001, 4019, 2527.
  • ceki contract create --reviewer/--qa/--participantusers[] (type short, role_id) — tasks 2465, 2494.

Full diff: v2.26.0...v2.35.0