Status: To be discussed
Calling mg_init_library is recommended before calling mg_start.
Compatibility: Initially, mg_init_library will be called implicitly if it has not been called before mg_start. If mg_init_library was not called, mg_stop may leave memory leaks.
Calling mg_lock_connection is no longer called implicitly in mg_websocket_write functions. If you use websocket write functions them from two threads, you must call mg_lock_connection explicitly, just like for any other connection.
This is an API harmonization issue.
Compatibility: If a websocket connection was used in only one thread, there is no incompatibility. If a websocket connection was used in multiple threads, the user has to add the mg_lock_connection before and the mg_unlock_connection after the websocket write call.
This member is going to be removed. It is superseeded by mg_add_request_handler.
Compatibility: Current code using open_file needs to be changed. Instructions how to do this will be provided.
Calling mg_init_library is required before calling any client function. In particular, the TLS initialization must be done before using mg_connect_client_secure.
Compatibility: Some parts of the client interface did not work, if mg_start was not called before. Now server and client become independent.
mg_connect_client needs several new parameters (options).
Details are to be defined.
mg_connect_client and mg_download should return a different kind of mg_connection than used in server callbacks. At least, there should be a function mg_get_response_info, instead of using mg_get_request_info, and getting the HTTP response code from the server by looking into the uri member of struct mg_request_info.