|
2 | 2 |
|
3 | 3 | _All `MAJOR` version bumps will have upgrade notes posted here._
|
4 | 4 |
|
5 |
| -[2023-01-25] 3.x.x to 4.x.x |
6 |
| ------------------------------ |
| 5 | +## [2023-01-25] 3.x.x to 4.x.x |
| 6 | + |
| 7 | +--- |
7 | 8 |
|
8 | 9 | * Supported Node.js versions updated
|
9 | 10 | * Upgrade to Node.js >= 14
|
10 | 11 | * Dropped support for Node.js < 14 ([#791](https://github.com/twilio/twilio-node/pull/791))
|
11 | 12 | * Added support for Node.js 18 ([#794](https://github.com/twilio/twilio-node/pull/794))
|
12 | 13 | * Lazy loading enabled by default ([#752](https://github.com/twilio/twilio-node/pull/752))
|
13 | 14 | * Required Twilio modules now lazy load by default
|
14 |
| - * See the [README](README.md) for how to disable lazy loading |
| 15 | + * See the [README](README.md#lazy-loading) for how to disable lazy loading |
15 | 16 | * Type changes from `object` to `Record` ([#873](https://github.com/twilio/twilio-node/pull/873))
|
16 | 17 | * Certain response properties now use the `Record` type with `string` keys
|
17 | 18 | * Including the `subresourceUris` property for v2010 APIs and the `links` properties for non-v2010 APIs
|
18 |
| -* Creating an AccessToken requires an `identity` in the options ([#875](https://github.com/twilio/twilio-node/pull/875)) |
19 |
| -* JWT token building deprecations |
| 19 | +* Access Tokens |
| 20 | + * Creating an [AccessToken](https://www.twilio.com/docs/iam/access-tokens) requires an `identity` in the options ([#875](https://github.com/twilio/twilio-node/pull/875)) |
20 | 21 | * `ConversationsGrant` has been deprecated in favor of `VoiceGrant` ([#783](https://github.com/twilio/twilio-node/pull/783))
|
21 | 22 | * `IpMessagingGrant` has been removed ([#784](https://github.com/twilio/twilio-node/pull/784))
|
22 | 23 | * TwiML function deprecations ([#788](https://github.com/twilio/twilio-node/pull/788))
|
23 |
| - * `Refer.referSip()` replaced by `Refer.sip()` |
24 |
| - * `ssmlBreak()` replaced by `break_()` |
25 |
| - * `ssmlEmphasis()` replaced by `emphasis()` |
26 |
| - * `ssmlLang()` replaced by `lang()` |
27 |
| - * `ssmlP()` replaced by `p()` |
28 |
| - * `ssmlPhoneme()` replaced by `phoneme()` |
29 |
| - * `ssmlProsody()` replaced by `prosody()` |
30 |
| - * `ssmlS()` replaced by `s()` |
31 |
| - * `ssmlSayAs()` replaced by `sayAs()` |
32 |
| - * `ssmlSub()` replaced by `sub()` |
33 |
| - * `ssmlW()` replaced by `w()` |
34 |
| - * Old: |
35 |
| - ```js |
36 |
| - const response = new VoiceResponse(); |
37 |
| - const say = response.say("Hello"); |
38 |
| - say.ssmlEmphasis("you"); |
39 |
| - ``` |
40 |
| - * New: |
41 |
| - ```js |
42 |
| - const response = new VoiceResponse(); |
43 |
| - const say = response.say("Hello"); |
44 |
| - say.emphasis("you"); |
45 |
| - ``` |
46 |
| -* TaskRouter Workers Statistics operations updated ([#820](https://github.com/twilio/twilio-node/pull/820)) |
| 24 | + * [`<Refer>`](https://www.twilio.com/docs/voice/twiml/refer) |
| 25 | + * `Refer.referSip()` replaced by `Refer.sip()` |
| 26 | + * [`<Say>`](https://www.twilio.com/docs/voice/twiml/say/text-speech#generating-ssml-via-helper-libraries) |
| 27 | + * `Say.ssmlBreak()` replaced by `Say.break()` |
| 28 | + * `Say.ssmlEmphasis()` replaced by `Say.emphasis()` |
| 29 | + * `Say.ssmlLang()` replaced by `Say.lang()` |
| 30 | + * `Say.ssmlP()` replaced by `Say.p()` |
| 31 | + * `Say.ssmlPhoneme()` replaced by `Say.phoneme()` |
| 32 | + * `Say.ssmlProsody()` replaced by `Say.prosody()` |
| 33 | + * `Say.ssmlS()` replaced by `Say.s()` |
| 34 | + * `Say.ssmlSayAs()` replaced by `Say.sayAs()` |
| 35 | + * `Say.ssmlSub()` replaced by `Say.sub()` |
| 36 | + * `Say.ssmlW()` replaced by `Say.w()` |
| 37 | + |
| 38 | + Old: |
| 39 | + |
| 40 | + ```js |
| 41 | + const response = new VoiceResponse(); |
| 42 | + const say = response.say("Hello"); |
| 43 | + say.ssmlEmphasis("you"); |
| 44 | + ``` |
| 45 | + |
| 46 | + New: |
| 47 | + |
| 48 | + ```js |
| 49 | + const response = new VoiceResponse(); |
| 50 | + const say = response.say("Hello"); |
| 51 | + say.emphasis("you"); |
| 52 | + ``` |
| 53 | + |
| 54 | +* [TaskRouter Workers Statistics](https://www.twilio.com/docs/taskrouter/api/worker/statistics) operations updated ([#820](https://github.com/twilio/twilio-node/pull/820)) |
47 | 55 | * Cumulative and Real-Time Workers Statistics no longer accept a WorkerSid
|
48 | 56 | * `GET /v1/Workspaces/{WorkspaceSid}/Workers/CumulativeStatistics`
|
49 |
| - * Old: `client.taskrouter.v1.workspaces('WS...').workers('WK...).cumulativeStatistics()` |
50 |
| - * New: `client.taskrouter.v1.workspaces('WS...').workers.cumulativeStatistics()` |
| 57 | + |
| 58 | + Old: `client.taskrouter.v1.workspaces('WS...').workers('WK...).cumulativeStatistics()` |
| 59 | + |
| 60 | + New: `client.taskrouter.v1.workspaces('WS...').workers.cumulativeStatistics()` |
51 | 61 | * `GET /v1/Workspaces/{WorkspaceSid}/Workers/RealTimeStatistics`
|
52 |
| - * Old: `client.taskrouter.v1.workspaces('WS...').workers('WK...).realTimeStatistics()` |
53 |
| - * New: `client.taskrouter.v1.workspaces('WS...').workers.realTimeStatistics()` |
54 | 62 |
|
55 |
| -[2017-05-22] 3.1.x to 3.2.x |
56 |
| ---------------------------- |
| 63 | + Old: `client.taskrouter.v1.workspaces('WS...').workers('WK...).realTimeStatistics()` |
| 64 | + |
| 65 | + New: `client.taskrouter.v1.workspaces('WS...').workers.realTimeStatistics()` |
| 66 | + |
| 67 | +## [2017-05-22] 3.1.x to 3.2.x |
| 68 | + |
| 69 | +--- |
57 | 70 |
|
58 | 71 | ### CHANGED - Rename video room `Recordings` class to `RoomRecordings`
|
59 | 72 |
|
60 | 73 | #### Rationale
|
61 |
| -- This was done to avoid a class name conflict with another resource. |
62 |
| -- Client code should be unaffected unless you manipulate the Recording/RoomRecordings class directly. Accessing room recording metadata via the client should work the same way as before. |
| 74 | + |
| 75 | +* This was done to avoid a class name conflict with another resource. |
| 76 | +* Client code should be unaffected unless you manipulate the Recording/RoomRecordings class directly. Accessing room recording metadata via the client should work the same way as before. |
0 commit comments