# TaskRouter.js v1: Versions and Changelog

## 1.24.3 (September 14, 2023)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.24.3/taskrouter.min.js" integrity="sha384-L4AyvsIag1tEQQSlXJPvO+RHFQl/WaRqKbNIK/VJXPCK/xqu2hF00lP2KsbfVgeV" crossorigin="anonymous"></script>
```

* Updated README.md, small changes to package.json file

## 1.24.2 (September 12, 2023)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.24.2/taskrouter.min.js" integrity="sha384-L4AyvsIag1tEQQSlXJPvO+RHFQl/WaRqKbNIK/VJXPCK/xqu2hF00lP2KsbfVgeV" crossorigin="anonymous"></script>
```

* Publishing to npm

## 1.24.1 (September 6, 2023)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.24.1/taskrouter.js" integrity="sha384-Cb1dT7o8Dbt3DAKa4VxGe4KqMZgnHTQtnMDAqp7UVpa0XX44ypi2JUTUhxeimbbq" crossorigin="anonymous"></script>
```

* Changed SDK name to **twilio-taskrouter-v1**
* Updated README.md, moved previous content to CONTRIBUTING.md file

## 1.24.0 (August 31, 2023)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.24.0/taskrouter.min.js" integrity="sha384-HOt3XMqZgDntZhGCcfUkgarHeaEX0m1TgR1Wi21EW3WsLKe9Bllxk54sovbGSU3b" crossorigin="anonymous"></script>
```

* Added disconnect and reconnect functions to WorkerClient

## 1.21.0 (August 3, 2020)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.21.0/taskrouter.min.js" integrity="sha384-5fq+0qjayReAreRyHy38VpD3Gr9R2OYIzonwIkoGI4M9dhfKW6RWeRnZjfwSrpN8" crossorigin="anonymous"></script>
```

* Fixed an issue where `token.expired` was fired even after the token was updated
* Fixed an issue where an old token was used during a reconnect which caused reconnect failure

## Authentication (April 24, 2020)

TaskRouter.js now supports authentication using [Secondary Auth Tokens](https://www.twilio.com/blog/introducing-secondary-auth-tokens-nt.html) when generating the TaskRouter capability token.

## 1.20.0 (April 23, 2019)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.20.0/taskrouter.min.js" integrity="sha384-n+W3iUCPkW2u64HjqHqOaSFKB6k4BIYw4Fy8BuxDNkrWcCvd9fwnyZKwYjkxqphy" crossorigin="anonymous"></script>
```

* In compatible browsers, the use of synchronous XHR during the `unload` event (only applicable if the `disconnectActivitySid` is being used) has been replaced with the [Beacon API](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon#Browser_compatibility). It is strongly recommended that you upgrade to this version if Worker's are using [Google Chrome](https://www.chromestatus.com/feature/4664843055398912).

## 1.19.0 (February 28, 2019)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.19.0/taskrouter.min.js" integrity="sha384-YjmOtBdli8sf0rLhCVserO+JI2ZsJ0NXvAKwaoLu0ezIYH0MnA9rqL2yKR3aChxZ" crossorigin="anonymous"></script>
```

* Added `region` parameter to constructors for Workspace, Worker, and TaskQueue clients
* Added `maxRetries` parameter to constructors for Workspace, Worker, and TaskQueue clients
* Improved log for request timeouts to say "Retries exhausted after X attempts" instead of "Internal Server Error"
* Fixed issue with generated API URL when `region` parameter was passed to a Client constructors

## 1.14.0 (December 19, 2018)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.14.0/taskrouter.min.js" integrity="sha384-gxqU8nZJ+HzVvnopXFiwn1UlPmNDSUvIqT3L4B+k/Rje+8G61pj2PK2l+9Nr2nut" crossorigin="anonymous"></script>
```

* Fixed an issue where task completion reason in completeTask() was not honored

## 1.13.0 (April 16, 2018)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.13.0/taskrouter.min.js" integrity="sha384-tfkd1dJqPvkhNiIRb4XTmRPO8s9uNZGaEn7B7ybGLYTFaA4sZm1zHFBfSVu6Im37" crossorigin="anonymous"></script>
```

* Fixed an issue that could prevent the disconnected event from surfacing

## 1.12.0 (January 22, 2018)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.12.0/taskrouter.min.js" integrity="sha384-Kswk2VCTWgsYHEP+cnrTI9yZmwYblwUFBBCYVSSUhB1yeMYlwPf2gtVbfndCgmqD" crossorigin="anonymous"></script>
```

* Fixed an issue where Firefox can occasionally throw a warning on SDK init.

## 1.11.0 (September 28, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.11.0/taskrouter.min.js" integrity="sha384-PKKsE3FioyP2BeDez28ZRPAd3u2OLrwZ0l5X74o9zGodlK3qBwhuDrjDHLXuaHl6" crossorigin="anonymous"></script>
```

* Support new cumulative and real time stats endpoints.

## 1.10.1 (September 25, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.10.1/taskrouter.min.js" integrity="sha384-Zh0k9I9ZBJUCUhvZR/6InoU7HJxFlUfqh5c8f/CskbMHkIMJPgaQhZ4Lcs5XS31Q" crossorigin="anonymous"></script>
```

* Fix issue with Conference Instruction parameters not being applied when NOT using the *options* parameter.

## 1.10.0 (September 1, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.10.0/taskrouter.min.js" integrity="sha384-UR90rWsEAxuR/3ZBZbj+TOk9fVk5F9Ic8npnElJyENWDV6qNq5o4URsY/BZDRmeu" crossorigin="anonymous"></script>
```

* Allowing all Conference Instruction parameters

## 1.9.4 (June 15, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.9.4/taskrouter.min.js" integrity="sha384-/EL65rm/V1vI9m5kP+PYjtDi8eybyALFW8nj7qamJtwB3HZEcdQO/57SmoWEuL7p" crossorigin="anonymous"></script>
```

* Fix updating of expiring tokens in Workspace, TaskQueue JS SDKs

## 1.9.3 (February 7, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.9.3/taskrouter.min.js" integrity="sha384-8wkW1LcUG+UewuqsN40e43m0NMk7an3L6wGWJNcNpGGlViHsmjy6JcxLSjbDV40h" crossorigin="anonymous"></script>
```

* Fix Dates for Worker on `ready` event
* Fire `disconnected` event if we lose connectivity for 60 seconds.
* Add license information

## 1.9.0 (January 26, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.9.0/taskrouter.min.js" integrity="sha384-XGl1eGbQVDmtirk83TW4iT8MLGAG2FBIsrQz7Oj4zEqn/3X78ktKgaCk9yKXw9O5" crossorigin="anonymous"></script>
```

* Allow DequeueStatusCallbackEvent parameter to be applied to Dequeue Instructions

## 1.8.1 (January 3, 2017)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.8.1/taskrouter.min.js" integrity="sha384-aI0PwBoU5XnVDYoxnZJxjxzMIeh3rAj3c9e7NblAVqoPCe6V9cFpZreu1Nmfy9CW" crossorigin="anonymous"></script>
```

* Fixed an issue with Worker DateCreated, DateUpdated, DateLastStatusUpdated being incorrect

## 1.8.0 (November 16, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.8.0/taskrouter.min.js" integrity="sha384-LElME4k0P55oZvgCEIPhtvQH4dYO2obm/TWduZhrRZZe4/lOHEsTWTb7JR5+DI7p" crossorigin="anonymous"></script>
```

* Exposed `task.addons` as a property
* Exposed `reservation.redirect` to redirect a reservation's call.

## 1.7.1 (September 15, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.7.1/taskrouter.min.js" integrity="sha384-EBh9mgex1Lvb6PS2+T0n3jz81VrYKOureRce7eGPvrnetyjVBnTxuSOj/quI5cO4" crossorigin="anonymous"></script>
```

* Fixed `fetchReservations` for a Worker such that the `reservation.task` object is populated.

## 1.7.0 (August 15, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.7.0/taskrouter.min.js" integrity="sha384-U1JKeBS3Py0b8Wle5Ut68W60jbWITcXnn/RJceExWtNH7XgicbNRKi6n91sc1+nI" crossorigin="anonymous"></script>
```

* Added `connected` event when websocket connects
* Added `disconnected` event when websocket disconnects
* Deprecated `offline` event in favor of `disconnected` event
* Added ability to complete a Task for a Worker
* Added ability to update a Task for a Worker
* Added ability for closing existing socket connections for the same Worker

## 1.6.0 (July 14, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.6.0/taskrouter.min.js" integrity="sha384-VLf7tkM/R2JsQzE2LzOyJIZBdtJJfUOo4pC0qxCR7kPhXcsBJQGNarHaJ2DMk6ql" crossorigin="anonymous"></script>
```

* Throw an exception if no Token is provided upon initialization
* Added `capacity.update` event for Multi-Task Workers
* Added support for fetching the Channels a Multi-Task Worker is assigned

## 1.5.0 (June 16, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.5.0/taskrouter.min.js" integrity="sha384-Cnv+6nmXeawf7ZrB68f0qk90r70Y1FB/RxbeP21o5dbKXIg+X7erndEZ5GoXhDEG" crossorigin="anonymous"></script>
```

* Exposed an error event to handle websocket errors
* Exposed an offline event to handle websocket going offline
* Fixed a bug such that upon a Worker being initialized, do not try and update the Worker to the given Connection Activity if there are pending Reservations for the Worker.

## 1.4.0 (March 28, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.4.0/taskrouter.min.js" integrity="sha384-0n+i5HpKZpsxQQZnUJC7i1Qe2yGNmrslL1qw+trQ+j0w9jLlq38h6VwqSClzpZpI" crossorigin="anonymous"></script>
```

* Upon a Worker being initialized, you can specify an Activity for a Worker to be placed in upon connecting and disconnecting (online and offline), which the JS SDK will handle automatically.

## 1.3.0 (March 22, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.3.0/taskrouter.min.js" integrity="sha384-eaSBJgLWhajnZOI/1dHJWuro+UG+EWqqw7RHyGqDqw1hAeGW5qvjvL8NOKGv5Qwm" crossorigin="anonymous"></script>
```

* reservation.dequeue() now supports DequeueRecord, DequeueTimeout, DequeueStatusCallbackUrl, DequeueTo

### Rolling over from prior versions

* If you're utilizing `reservation.dequeue`, [add four parameters before your completion function][reservation-js-dequeue].

## 1.2.0 (January 25, 2016)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.2.0/taskrouter.min.js" integrity="sha384-ey8MYjKAIvWW4l7+883VWDLIWMCKpTn8pdaTHZ8yiD6U0mInGiCqGxBZQqnESSRv" crossorigin="anonymous"></script>
```

* Pending Reservations for a Worker are fetched on load of the JS SDK and will trigger a `reservation.created` event.
* `CallTo` and `CallRecord` parameters added for reservation.call() function.
* JS SDK will now attempt to reconnect when a websocket is closed.
* Developers can turn off a console messages from the JS SDK by providing a value (default is on).
* Developers can now handle 500 errors correctly in their applications.

### Rolling over from prior versions: \[#rolling-over-from-prior-versions-2]

* Download the latest [helper lib][helper-lib] to allow a Worker's JWT by default to have permission to fetch their pending reservations.
* If you're utilizing `reservation.call`, [add two parameters before your completion function][reservation-js-call].

## 1.1.3 (December 14, 2015)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.1.3/taskrouter.min.js" integrity="sha384-ciuuQLazWluN50i9aM9V1QY1RcOu1Z0r4xQgXhGNw+vzSXhVXkQ3+JwEweMcOrkp" crossorigin="anonymous"></script>
```

* `reservation.canceled` events were changed back to send a Reservation object and provide a with a ReservationSid when Task is deleted.

## 1.1.2 (October 9, 2015)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.1.2/taskrouter.min.js" integrity="sha384-GM9gGOjk1XhQ90GP2eRI9u8+q7I/Ac8lB3R8wqDp7/9Vhy05fQZbeS6/AvzrKt64" crossorigin="anonymous"></script>
```

* `reservation.canceled` events were changed to a Task object rather than a Reservation object to limit client side errors when Tasks were deleted.

## 1.1.1 (August 11, 2015)

```html
<script src="https://sdk.twilio.com/js/taskrouter/releases/1.1.1/taskrouter.min.js" integrity="sha384-mU48r0WttXLmY9NTqVSXjYCRHDbFau7R2+h7ALWjD7+8+Y15teYoSs+ZQ7M9F+hH" crossorigin="anonymous"></script>
```

* Added support for fetching and updating all entities Workspace
* Added support for Reservation Instructions (Accept / Reject / Dequeue / Call) for integration with Enqueue TwiML verb

## 1.0.0 (Feb 18, 2015)

Initial 1.0 release.

* Added support for workers to receive reservation and worker activity events

[helper-lib]: https://github.com/twilio

[reservation-js-call]: /docs/taskrouter/js-sdk/workspace/worker#reservation-call

[reservation-js-dequeue]: /docs/taskrouter/js-sdk/workspace/worker#reservation-dequeue
