In Backdrop 1.18.3 and earlier, the $options['data'] parameter previously had to be a string containing the request body:

 * @param array $options                                                            
 *   (optional) An array that can have one or more of the following elements:   
       
 *   - data: A string containing the request body, formatted as                     
 *     'param=value&param=value&...'; to generate this, use http_build_query().
 *     Defaults to NULL.

It's now possible to pass this as an array, which will be converted automatically.

 * @param array $options                                                            
 *   (optional) An array that can have one or more of the following elements:   
         
 *   - data: An array containing the values for the request body or a string
 *     containing the request body, formatted as                             
 *     'param=value&param=value&...'; to generate this, use                         
 *     backdrop_http_build_query(). Defaults to NULL.

Passing a string is still supported for backwards-compatibility.

Introduced in branch: 
1.18.x
Introduced in version: 
1.18.4
Impacts: 
Module developers
Related Github Issues: 
https://github.com/backdrop/backdrop-issues/issues/5042
https://github.com/backdrop/backdrop/pull/3590