Skip to content

v16.0.0

Choose a tag to compare

@KaiSchwarz-cnic KaiSchwarz-cnic released this 23 Jun 13:40

16.0.0 (2026-06-23)

Bug Fixes

  • client: scope high-performance URL rewrite to host and scheme (b16f3df)
  • http: reset reused cURL handle per call to stop option leakage (8ec9f92)
  • ibs: compute getLastRecordIndex per-instance and harden status access (cb5a177)
  • translator: preserve full cURL error text containing a pipe (fa44c9f)

Features

  • factory: simplify getClient() to registrar-only construction (d30c5ab)

BREAKING CHANGES

  • factory: ClientFactory::getClient() no longer accepts a $params array or
    a $logger argument; its signature is now getClient(string $registrar). Callers
    must configure the returned client themselves and decode credentials before use.

    Before:

    $cl = ClientFactory::getClient([
        "registrar"   => "CNR",
        "username"    => $user,
        "password"    => $pw,     // was html_entity_decode()'d internally
        "sandbox"     => true,
        "proxyserver" => $proxy,
    ], $logger);

After:

   $cl = ClientFactory::getClient("CNR");
   $cl->useOTESystem()
       ->setCredentials($user, html_entity_decode($pw, ENT_QUOTES))
       ->setProxy($proxy)
       ->setCustomLogger($logger);

NOTE: html_entity_decode to be used only in context of WHMCS internal use. Otherwise not required.