Skip to content

Releases: Azure/azure-functions-signalrservice-extension

Release v1.6.0

16 Sep 06:44
edd4123
Compare
Choose a tag to compare

Features

  1. Support identity-based connections. Please note it does not work for SignalR Trigger now. After assign the SignalR Service Owner role to your Azure identity, and configure your identity, you don't need connetion string. DefalutAzureCredential and other credentials are supported. The following <CONNECTION_NAME_PREFIX> defaults to AzureSignalRConnectionString, and could be customized with ConnectionStringSetting. Please note that the : in keys at local should be replaced with __ on Azure portal.

    • To use DefaultAzureCredential, set in local.settings.json
      {
        "Values": {
          "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net"
        }
      }
      On Azure portal, set as follows:
      <CONNECTION_NAME_PREFIX>__serviceUri=https://<SIGNALR_RESOURCE_NAME>.service.signalr.net
      
    • To use managed-identity, set on Azure portal:
    <CONNECTION_NAME_PREFIX>__serviceUri = https://<SIGNALR_RESOURCE_NAME>.service.signalr.net
    <CONNECTION_NAME_PREFIX>__credential = managedidentity
    <CONNECTION_NAME_PREFIX>__clientId = <client-id>   # With this line, use user-assigned identity, otherwise, use system-assigned identity
    
    • To use Azure application identity,
      • Choice 1
        You could set a serviceUri as well as pre-defined environment variables. For example, on local.settings.json:

        {
          "Values": {
            "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net",
            "AZURE_CLIENT_ID":"...",
            "AZURE_CLIENT_SECRET":"...",
            "AZURE_TENANT_ID":"..."
          }
        }
      • Choice 2

        {
          "Values": {
            "<CONNECTION_NAME_PREFIX>:serviceUri": "https://<SIGNALR_RESOURCE_NAME>.service.signalr.net",
            "<CONNECTION_NAME_PREFIX>:clientId": "...",
            "<CONNECTION_NAME_PREFIX>:clientSecret": "...",
            "<CONNECTION_NAME_PREFIX>:tenantId": "..."
          }
        }
  2. Support a global connection string setting for all the SignalR trigger functions in ServerlessHub.
    Usage: Add a SignalRConnection attribute to your class derived from ServerlessHub as follows. Then all the SignalR trigger insides your class will look up the connection string whose key is MyConnection. This setting has higher priority than the function-based setting.

    [SignalRConnection("MyConnection")]
    public class SimpleChat : ServerlessHub
    {
    }

Release v1.5.0

16 Jul 05:50
65369bf
Compare
Choose a tag to compare

Feature

  • Add Newtonsoft.Json CamelCase config support (#248) . Allow to use "Azure:SignalR:HubProtocol:NewtonsoftJson:CamelCase=true" to enable camelCase.
  • Expose ClientManager in InvocationContext. Support feature request Azure/azure-signalr#622.
  • Expose ClientManager in ServerlessHub. (#257)

Release v1.4.2

16 Jun 06:22
2f39c96
Compare
Choose a tag to compare

Features

  • Support Clients.AllExcept and Clients.GroupsExcept in transient mode.

Fixes

  • Fix a bug when calling ServerlessHub.Negotiation() without lifetime parameter (#239)

Release v1.4.1

25 May 06:06
b104675
Compare
Choose a tag to compare

Fixes

  • SignalR triggers and outputs do not work when using a non-default settingname for 'ConnectionStringSetting' #207
  • Use of JsonConvert.DefaultSettings breaks unrelated serialization in v1.4 #229

v1.4.0

12 May 08:10
99a4b31
Compare
Choose a tag to compare

Attention

This version has a known issue of overwriting the JsonConvert.DefaultSettings, see #229.

Features

For languages other than C#

  • Support custom router logic. See docs.
  • You don't need to specify a group name for "remove all" action in the JSON. (#219)
  • You don't need to take care of the C# JSON hub protocol configuration.

Fixes

C#

  • Remove [Obsolete] of ServerlessHub sync negotiate method (#224) as we found it is a breaking change.

v1.3.0

19 Mar 09:08
68cac2c
Compare
Choose a tag to compare

Features:

  1. Add an async negotiation method for ServerlessHub(#180). Allow to pass an HttpContext object as the negotiation parameter. The old sync method is marked as Obsolete.
  2. Support configuring multiple endpoints.
  3. Support custom routing in C#.
  4. Support configuring SignalR Hub protocol on Azure Function V3 runtime. (#187)
    For functions in other languages than C#, we recommend to use "Azure:SignalR:HubProtocol=NewtonsoftJson" configuration. (You don't need to take care of this since v1.4.0)

Bug fixes:

  1. Support duplicated key in query, header, claims (#151)
  2. Fix for Issue 159: Expression bindings for SignalRTrigger not functioning (#160) Authored-by: Alan Holt aholt@penlink.com @holtalanm
  3. Remove the confusing warning when ServiceTransportType is not configured. (#164) @bmc-msft

1.2.2

29 Sep 07:59
30a08f2
Compare
Choose a tag to compare

General

  • Update ServerlessHub constructor for unit test purpose

1.2.1

18 Sep 02:43
30e0985
Compare
Choose a tag to compare

General

  • Support Static Web Apps
  • Support using input and output binding without trigger when no AzureWebJobsStorage connection string is set.

1.2.0

02 Jun 06:04
224c107
Compare
Choose a tag to compare

Feature

  • Add SignalR Trigger to support bi-direction communication
  • Support custom auth

Sample

  • Add SignalR Trigger C# sample
  • Add custom auth sample

1.1.0

17 Mar 04:09
c734ac3
Compare
Choose a tag to compare

General

Upgrade dependency Microsoft.Azure.SignalR to 1.4.1 https://github.com/Azure/azure-signalr/releases/tag/v1.4.1