Skip to content

Changelog

Notable changes to the CaptchaLa API and SDKs. Dates are UTC.

API

2026-06-20

  • /v1/validate response now returns a captcha_args object — solve-time context echoed back for logging / your own risk scoring (never required for pass/fail):
    • platformweb / android / ios / flutter / windows / …
    • user_ip — end-user IP recorded at solve time
    • referer — solve page URL (web); null on native
    • pkg — app package / bundle id (native); null on web
    • solved_at — solve completion time (unix seconds)
    • risk_score — solve-time risk score (0-100, higher = riskier)
  • client_ip on /v1/validate is optional but recommended — the end-user's IP from your inbound request, used for additional risk checks. Safe to omit. (Exact solve-vs-submit IP matching was dropped because it rejected legitimate users on CDN + dual-stack IPv4/IPv6 networks.)
  • Fully backward compatible — existing integrations keep working unchanged.

PHP SDK (captchala/captchala-php)

1.2.3 — 2026-06-20

  • Added ValidateResult::getUserIp() and ValidateResult::getCaptchaArgs().
  • validate()'s $clientIp is now optional but recommended (used for risk checks). Backward compatible.

Go SDK (github.com/Captcha-La/captchala-go)

1.2.2 — 2026-06-20

  • Added ValidateResult.CaptchaArgs (CaptchaArgs struct: Platform, UserIP, Referer, Pkg, SolvedAt, RiskScore).
  • ValidateWithClientIP's IP argument is now optional but recommended. Backward compatible.

MIT-licensed examples · CaptchaLa is operated independently