Skip to content

Latest commit

 

History

History
188 lines (135 loc) · 5.1 KB

UPGRADE.md

File metadata and controls

188 lines (135 loc) · 5.1 KB

Upgrade Guide

MAJOR version bumps will have upgrade notes posted here.

[2024-02-XX] 6.x.x to 7.x.x

Overview

Twilio Csharp Helper Library’s major version 7.0.0 is now available.

The Csharp Helper Library version 7.0.0 includes a breaking change related to .NET support.

We ensured that you can upgrade to Csharp helper Library 7.0.0 version without any api breaking changes

Support for JSON payloads has been added in the request body

[2022-11-XX] 5.x.x to 6.x.x

Overview

Twilio Csharp Helper Library’s major version 6.0.1 is now available. We ensured that you can upgrade to Csharp helper Library 6.0.1 version without any breaking changes

Behind the scenes Csharp Helper is now auto-generated via OpenAPI with this release. This enables us to rapidly add new features and enhance consistency across versions and languages.

[2017-11-XX] 5.8.x to 5.9.x

CHANGED - Make data an optional parameter on Sync Document/List Item/Map Item update.

Rationale

This was changed to add support for time-to-live to Sync objects. Users can now either provide either data, ttl, or both. This only affects users who pass the twilioRestClient parameter to the Affected Resources below.

Affected Resources

  • DocumentResource.Update(...)
  • SyncListItemResource.Update(...)
  • SyncMapItemResource.Update(...)

5.8.x

using Twilio.Rest.Sync.V1.Service;
using Twilio.Rest.Sync.V1.Service.SyncList;
using Twilio.Rest.Sync.V1.Service.SyncMap;

DocumentResource.Update("IS123", "ET123", "{}", twilioRestClient);
SyncListItemResource.Update("IS123", "ES123", 1, "{}", twilioRestClient);
SyncMapItemResource.Update("IS123", "MP123", "myKey" "{}", twilioRestClient);

5.9.x

using Twilio.Rest.Sync.V1.Service;
using Twilio.Rest.Sync.V1.Service.SyncList;
using Twilio.Rest.Sync.V1.Service.SyncMap;

DocumentResource.Update("IS123", "ET123", "{}", null, twilioRestClient);
SyncListItemResource.Update("IS123", "ES123", 1, "{}", null, twilioRestClient);
SyncMapItemResource.Update("IS123", "MP123", "myKey" "{}", null, twilioRestClient);

[2017-10-13] 5.7.x to 5.8.x

CHANGED - TwiML namespaces are now nested under TwiML type

Rationale

We decided to reorganize the TwiML directory now that we are generating TwiML resources for clarity as we add more and more twiml elements and types of twiml elements.

Affected Resources

Previously all TwiML resources were under the Twilio.TwiML namespace.

  • Moved to Twilio.TwiML.Voice
    • Dial
    • Gather
  • Moved to Twilio.TwiML.Messaging
    • Message

5.7.x

using Twilio.TwiML;

var vr = new VoiceResponse();
var mr = new MessagingResponse();

var gather = new Gather();
var dial = new Dial();
var msg = new Message();

5.8.x

using Twilio.TwiML;
using Twilio.TwiML.Voice;
using Twilio.TwiML.Messaging;

// Still in Twilio.TwiML
var vr = new VoiceResponse();
var mr = new MessagingResponse();

// Now in Twilio.TwiML.Voice
var gather = new Gather();
var dial = new Dial();

// Now in Twilio.TwiML.Messaging
var msg = new Message();

CHANGED - TwiML classes now expect Uri type for uri parameters

Rationale

Generating TwiML classes allowed us to use the correct types where appropriate to give a better IDE experience. While most custom types have been written in a backwards compatible way to still accept string values, we could not do the same for the System.Uri type.

Affected Resources

  • VoiceResponse
  • MesagingResponse
  • Message
  • Gather
  • Dial

5.7.x

using Twilio.TwiML;

var vr = new VoiceResponse().Dial(recordingStatusCallback: "http://example.com/")
                            .Enqueue(waitUrl: "http://example.com/");

var msg = new Message(statusCallback: "http://example.com/");

5.8.x

using Twilio.TwiML;
using Twilio.TwiML.Messaging;
using System;

var vr = new VoiceResponse().Dial(recordingStatusCallback: new Uri("http://example.com/"))
                            .Enqueue(waitUrl: new Uri("http://example.com/"));

var msg = new Message(statusCallback: new Uri("http://example.com/"));

[2017-09-29] 5.6.x to 5.7.x

CHANGED - Make body and optional parameter on Chat Message creation

Rationale

This was changed to add support for sending media in Chat messages, users can now either provide a body or a media_sid.

5.6.x

using Twilio.Rest.Chat.V2.Message;

var newMessage = MessageResource.Create("IS123", "CH123", "this is the body", from: "me");

5.5.x

using Twilio.Rest.Chat.V2.Message;

var newMessage = MessageResource.Create("IS123", "CH123", from:"me", body: "this is the body");

[2017-05-22] 5.4.x to 5.5.x

CHANGED - Rename room Recordings class to RoomRecordings

Rationale

This was done to avoid a class name conflict with another resource.

5.4.x

using Twilio.Rest.Video.V1.Room;

var roomRecordings = RecordingResource.Read();

5.5.x

using Twilio.Rest.Video.V1.Room;

var roomRecordings = RoomRecordingResource.Read();