All notable changes to this project will be documented in this file.
Updated dependencies and the ARI_HISTORY.md file. All minor updates and pulling in security fixes.
-
(breaking) Migrated from request/request-promise-native to axios as the http library under the hood. This change does not directly affect the public API of this library, but it indirectly may change the behavior of the library in some circumstances due to differences in behavior in the two libraries. As such this should be considered a breaking change and tested accordingly.
-
(breaking) Minimum support level is now Node v10.
-
(breaking)
ws
has been updated to version 7 (release notes). The main breaking change relevant to this project is that they dropped support for Node 6.
Updated some dev dependencies and addressed a deprecation of an old url method (See 706ace9). Added ApplicationsApi#filterEvents.
debug
has been updated to v4. The breaking changes in this debug
release
are not breaking to this library, so this is being released as a minor version
bump. See the debug@4 release notes for more
details.
ws
has been updated to v6, bringing along it's breaking changes. See the ws@6
release notes for more details.
Fixed package.json entrypoint. Previously this was set to src/index.js, which was the correct entrypoint prior to the library being migrated to esm. The entrypoint is now correctly set to index.js, the main entrypoint that handles parsing esm as normal javascript.
ws
has been updated to v5, improving the error handling in disconnect situations
among some other minor changes. This update contains breaking changes. See the ws@5
release notes for more details.
This release also includes some development tool updates that do not affect the consumption of the library.
The @std/esm
library has been updated to 0.19.x, which includes some changes
that may be considered breaking. See the
0.19.0 release notes
for full details.
In hindsight, I should have lumped this update in with the ws@4
update. Will
try to do better with major version revs in the future.
Version 4.0.0 had to be skipped due to an issue with the npm registry.
The ws
library has been updated to 4.0.0, which includes many breaking changes.
See the 4.0.0 release notes
for full details.
Small fix to account for a change in error handling behavior in the upstream ws
project. See #55.
Many public properties have now been made private via the _
naming convention.
These properties were not previously advertised as being public, but since they
were not explicitly marked private, I'm bumping the major version. The properties
that are now private are:
request
andbaseUrl
properties on all API clientsws
,wsOptions
,retryOptions
,url
,reconnect
properties on the ARIWebSocket class returned byEvents.connect()
.
Internally, the entire library was rewritten to use the ecmascript modules syntax. This syntax is still backwards-compatible as far back as Node v4 thanks to the @std/esm module, so compatibility for this library was not altered at all.
Converting the internals to ecmascript modules opened up a happy path for generating comprehensive API documentation for the library with the esdoc tool. This documentation now lives in the /docs folder and can be accessed at https://chadmcelligott.com/awry.
ws
library upgraded to 3.2.0, which included some backwards-incompatible
changes. See the ws library releases page
for details.
Marking this library 1.0 at this time. It will now follow traditional semver rules moving forward.
The return value of Events.connect()
is an EventEmitter that emits
'message' events. The first argument to a registered 'message'
event handler used to be passed the raw JSON string from Asterisk.
This argument is now a Javascript object representation of that JSON
(the result of JSON.parse()
on the raw data sent from Asterisk).
Any messages that fail to parse as JSON will be passed along raw, but
this should never happen.
Fixed JSDoc to address instances of params being marked required when they were actually optional.
Added missing request dependency to package.json.
Asterisk 14 changes have been implemented.
-
New method
api.channels.create()
provides access to the new APIPOST /channels/create
. -
New method
api.channels.dial()
provides access to the new APIPOST /channels/{channelId}/dial
. -
New method
api.recordings.getStoredFile()
provides access to the new APIGET /recordings/stored/{recordingName}/file
.
-
For the
bridges
API, theplay()
andplayWithId()
methods' 'media' param now allows for passing an array as well as a single value. -
For the
channels
API, theplay()
andplayWithId()
methods' 'media' param now allows for passing an array as well as a single value.
- Initial npm release.
For more information about keeping a changelog, check out keepachangelog.com/