Se ha modificado la biblioteca MessagePack en @microsoft/signalr-protocol-msgpack

El paquete de npm @microsoft/signalr-protocol-msgpack ahora hace referencia a @msgpack/msgpack en lugar de a msgpack5. Además, las opciones disponibles que se pueden pasar opcionalmente a MessagePackHubProtocol han cambiado. Se han quitado las propiedades MessagePackOptions.disableTimestampEncoding y MessagePackOptions.forceFloat64, y se han agregado nuevas opciones.

Para obtener información, vea https://github.com/dotnet/aspnetcore/issues/30471.

Versión introducida

ASP.NET Core 6.0

Comportamiento anterior

En versiones anteriores, se deben incluir tres referencias de script para usar el protocolo de concentrador MessagePack en el explorador:

<script src="~/lib/signalr/signalr.js"></script>
<script src="~/lib/msgpack5/msgpack5.js"></script>
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>

Comportamiento nuevo

A partir de ASP.NET Core 6, solo se necesitan dos referencias de script para usar el protocolo de concentrador MessagePack en el explorador:

<script src="~/lib/signalr/signalr.js"></script>
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>

En lugar del paquete msgpack5, el paquete @msgpack/msgpack se descarga en el directorio node_modules si quiere usarlo directamente en la aplicación.

Por último, MessagePackOptions tiene nuevas propiedades adicionales y se han quitado las propiedades disableTimestampEncoding y forceFloat64.

Motivo del cambio

Este cambio se realizó para reducir el tamaño de los recursos, facilitar el consumo del paquete y agregar más capacidad de personalización.

Si anteriormente usaba msgpack5 en la aplicación, debe agregar una referencia directa a la biblioteca en el archivo package.json.

API afectadas

Se han quitado las siguientes API:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64