Esta es la lista completa de nuevas funcionalidades y correcciones de errores incluidas en sgcWebSockets 4.4.6:
[+] : Nuevo evento OnBeforeForwardHTTP en los componentes servidor, permite reenviar una petición HTTP a otro servidor. (Gracias a Olaf por la sugerencia).
[+] : Nuevo evento OnAfterForwardHTTP en los componentes servidor, permite conocer la respuesta de una petición HTTP reenviada.
[+] : Mejorado TsgcWebSocketHTTPServer: ahora admite HTTP/2 Server Push mediante el método PushPromiseAddPreLoadLinks para configurar los archivos del push promise.
[+] : Mejorado TsgcWebSocketHTTPServer: añadido soporte para cookies HTTP/2.
[+] : Mejorado TsgcWebSocketHTTPServer, nueva propiedad HTTP2Options.Events que configura si los eventos Connect/Disconnect se invocan bajo el protocolo HTTP/2 (deshabilitados por defecto).
[+] : Nueva propiedad ReadBufferSize en el servidor HTTP.SYS, permite establecer el tamaño del buffer de lectura; por defecto es 16384.
[+] : Mejorada la API de Telegram: ya se admite el envío de mensajes de bot con botones (Callback y Url).
[+] : Mejorada la API de Telegram: se ha añadido un nuevo evento "OnNewCallbackQuery" que permite procesar qué botones han seleccionado los usuarios.
[+] : Mejorada la API de Google PubSub: ahora admite cuentas de servicio usando JWT como autenticación.
[+] : Mejorado el cliente MQTT: HeartBeat ahora admite Timeout; si tras x tiempo el cliente no recibe respuesta al ping enviado previamente, cierra la conexión automáticamente.
[*] : Corregido error al escribir el protocolo ALPN cuando FastMM4 estaba activado.
[*] : Corregido error Out of Memory cuando HTTP/2 y FastMM4 estaban activados al leer frames internos.
[*] : Corregido error en los servidores Indy: el valor ReadTimeOut no se usaba después de leer datos del socket para comprobar si había más datos por procesar.
[*] : Corregido error en TsgcHTTP2Client: al recibir un RSTStream, el evento no estaba asignado y se lanzaba una access violation.
[*] : Corregido error en el cliente Azure IoT MQTT al pasar una propiedad con el carácter "/": no se codificaba correctamente.
[*] : Corregido error de Access Violation al cerrar el servidor HTTP.SYS (con SSL activado) en x64 con FastMM5 activado.
[*] : Corregido error al asignar el nombre de hilo bajo DEBUG: en algunos casos, el nombre se asignaba al hilo incorrecto.
[*] : Corregido error: la Basic Authorization no se leía bajo el protocolo HTTP/2 si Authentication no estaba activado.
[*] : Corregido error en el servidor del protocolo HTTP/2 al leer un Window_Update mientras el Header Frame aún no se había procesado.
[*] : Corregido error en el protocolo HTTP/2: el connection window update no se actualizaba y se lanzaba un error al cerrar la conexión.
[*] : Corregido error en el protocolo HTTP/2 al descodificar la última cabecera de la Static table.
[*] : Corregido error en el protocolo HTTP/2 al recibir un stream identifier inesperado en el componente cliente.
[*] : Corregido error en el cliente de Google Calendar: access violation al leer los default reminders.
[*] : Corregido error en TsgcWebSocketClient: si Options.CleanDisconnect = True y había un error al enviar el mensaje close, el evento disconnect no se invocaba.
[*] : Corregido error en TsgcWebSocketClient: evita un posible thread-lock al reconectar al servidor si notifyEvents = neNoSync. (Gracias a Stefan por avisar).
[*] : Corregido error en TsgcWebSocketClient: evita una posible llamada al evento OnDisconnect dos veces.
[*] : Corregida fuga de memoria en el cliente Telegram.
[*] : Corregido error en el cliente SignalR: error de variant inválido al conectarse a un servidor que no es SignalR.
[*] : Corregido error en el cliente SignalR: posible error de variant inválido al descodificar ConnectionTimeout.
[*] : Corregido error: el LogFile de TsgcWebSocketClient no era thread-safe. (Gracias a Eddy por avisar).
[*] : Corregido error en TsgcWebSocketClient usando TLS 1.3: a veces se lanzaba un error al conectarse al servidor.
[/] : TsgcWebSocketClient.FWSConnection ahora se limpia ANTES de llamar al evento OnDisconnect.
