@iotize/device-client.js
Version:
IoTize Device client for Javascript
1,114 lines (540 loc) • 38.9 kB
Markdown
# Change Log
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
<a name="0.0.2"></a>
## 0.0.2 (2019-12-20)
### Bug Fixes
* **Tap:** improved security for Scram login (password in memory issue)
<a name="0.0.1-alpha.113"></a>
## [0.0.1-alpha.113](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.112...v0.0.1-alpha.113) (2019-12-20)
<a name="0.0.1-alpha.112"></a>
## [0.0.1-alpha.112](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.111...v0.0.1-alpha.112) (2019-12-13)
### Features
* **Tap:** new Tap api features ([3ebe65a](https://bitbucket.org/iotize-solutions/device-api.project/commits/3ebe65a))
<a name="0.0.1-alpha.111"></a>
## [0.0.1-alpha.111](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.110...v0.0.1-alpha.111) (2019-12-12)
<a name="0.0.1-alpha.110"></a>
## [0.0.1-alpha.110](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.109...v0.0.1-alpha.110) (2019-12-12)
* BREAKING CHANGES: api changed for Scram ([93244f8](https://bitbucket.org/iotize-solutions/device-api.project/commits/93244f8))
### BREAKING CHANGES
* renamed ScramInterceptorOptions to EncryptionOptions
<a name="0.0.1-alpha.109"></a>
## [0.0.1-alpha.109](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.108...v0.0.1-alpha.109) (2019-12-03)
### Features
* **Tap:** added `Tap.changePassword()` parameter to give the current user password
* **Tap:** added `Tap.getSecurityOptions()` method
<a name="0.0.1-alpha.108"></a>
## [0.0.1-alpha.108](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.107...v0.0.1-alpha.108) (2019-11-22)
### Bug Fixes
* Using `logger.log` instead of `logger.info` as it may not be defined in webview
* Removed references to `SharedArrayBuffer` as it may not be defined in some environments
<a name="0.0.1-alpha.107"></a>
## [0.0.1-alpha.107](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.106...v0.0.1-alpha.107) (2019-11-04)
<a name="0.0.1-alpha.106"></a>
## [0.0.1-alpha.106](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.105...v0.0.1-alpha.106) (2019-10-30)
### Bug Fixes
* **TaskQueue:** fix process clear when task throw an error ([984821a](https://bitbucket.org/iotize-solutions/device-api.project/commits/984821a))
### Features
* **Apdu:** improved APDU related errors ([a7c5c92](https://bitbucket.org/iotize-solutions/device-api.project/commits/a7c5c92))
* **Tap:** update Tap ([2a2d090](https://bitbucket.org/iotize-solutions/device-api.project/commits/2a2d090))
<a name="0.0.1-alpha.105"></a>
## [0.0.1-alpha.105](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.104...v0.0.1-alpha.105) (2019-10-23)
### Bug Fixes
* ByteSwapConverter when starting by B0 ([bc01441](https://bitbucket.org/iotize-solutions/device-api.project/commits/bc01441))
* fix TapError.initializationVectorNotSupported() error code ([3186325](https://bitbucket.org/iotize-solutions/device-api.project/commits/3186325))
* fix typo Tap.setInitializationVectorRefreshPeriod ([2f65641](https://bitbucket.org/iotize-solutions/device-api.project/commits/2f65641))
* improved error message for connect/disconnect timeout in QueueComProtocol ([529043e](https://bitbucket.org/iotize-solutions/device-api.project/commits/529043e))
### Features
* added KeepAliveEngine and Tap.keepAlive extension ([3761510](https://bitbucket.org/iotize-solutions/device-api.project/commits/3761510))
<a name="0.0.1-alpha.104"></a>
## [0.0.1-alpha.104](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.103...v0.0.1-alpha.104) (2019-10-21)
### Bug Fixes
* NumberConverter fix Litle/big ending parameter ([e3b1013](https://bitbucket.org/iotize-solutions/device-api.project/commits/e3b1013))
* ScramInterceptor when IV refresh period > 1 and forcing encrypted communication ([139cf42](https://bitbucket.org/iotize-solutions/device-api.project/commits/139cf42))
### Features
* **NumberConverter:** added converter factory functions int8(), int16(), int32(), uint8()... ([0f78b51](https://bitbucket.org/iotize-solutions/device-api.project/commits/0f78b51))
* **Scram:** added scram resource ([58468c3](https://bitbucket.org/iotize-solutions/device-api.project/commits/58468c3))
* added CCOM IV feature (encrypted communication with IV refreshed for each frame) ([b5c5d10](https://bitbucket.org/iotize-solutions/device-api.project/commits/b5c5d10))
* added get/set/put TargetService.ProtocolConfiguration method ([0317444](https://bitbucket.org/iotize-solutions/device-api.project/commits/0317444))
* added scram initialization vector feature Tap.refreshEncryptionInitializationVector() and Tap.encryption(enabled,refreshSessionKey, refreshInitializationVector) ([14ae335](https://bitbucket.org/iotize-solutions/device-api.project/commits/14ae335))
* added tlv serializer implementation ([8ea57e5](https://bitbucket.org/iotize-solutions/device-api.project/commits/8ea57e5))
<a name="0.0.1-alpha.103"></a>
## [0.0.1-alpha.103](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.102...v0.0.1-alpha.103) (2019-09-18)
### BREAKING CHANGES
* `ProtocolConfiguration` type has 2 new fields
* `ServiceCallType`.`methodType` type changed
### Features
* **Tap**: added multi requests feature (method `multiRequests()`)
<a name="0.0.1-alpha.102"></a>
## [0.0.1-alpha.102](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.100...v0.0.1-alpha.102) (2019-09-12)
### Bug Fixes
* **Scram:** fix salt generator to generate non null salt ([2ea4f42](https://bitbucket.org/iotize-solutions/device-api.project/commits/2ea4f42))
* **Tap:** fix enable encryption return type ([7f97701](https://bitbucket.org/iotize-solutions/device-api.project/commits/7f97701))
### Features
* FormatHelper.toAsciiString() now accepts number[] as a parameter ([fb908f0](https://bitbucket.org/iotize-solutions/device-api.project/commits/fb908f0))
* **DataLogger:** improved DataLogger ([8ec1461](https://bitbucket.org/iotize-solutions/device-api.project/commits/8ec1461))
* **Tap:** added changePassword implementation when security is activated ([8fa8c5a](https://bitbucket.org/iotize-solutions/device-api.project/commits/8fa8c5a))
* **Tap:** added Tap.currentSessionState() method ([4703031](https://bitbucket.org/iotize-solutions/device-api.project/commits/4703031))
<a name="0.0.1-alpha.101"></a>
## [0.0.1-alpha.101](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.100...v0.0.1-alpha.101) (2019-08-26)
### Bug Fixes
* **Scram:** fix salt generator to generate non null salt ([2ea4f42](https://bitbucket.org/iotize-solutions/device-api.project/commits/2ea4f42))
### Features
* **Tap:** added changePassword implementation when security is activated ([8fa8c5a](https://bitbucket.org/iotize-solutions/device-api.project/commits/8fa8c5a))
<a name="0.0.1-alpha.100"></a>
## [0.0.1-alpha.100](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.99...v0.0.1-alpha.100) (2019-08-22)
<a name="0.0.1-alpha.99"></a>
## [0.0.1-alpha.99](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.98...v0.0.1-alpha.99) (2019-08-22)
### Features
* added ProtocolChangeEvent ([fc5d6ac](https://bitbucket.org/iotize-solutions/device-api.project/commits/fc5d6ac))
* **Client:** added onProtocolChange() method. ([0aa8332](https://bitbucket.org/iotize-solutions/device-api.project/commits/0aa8332))
<a name="0.0.1-alpha.98"></a>
## [0.0.1-alpha.98](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.97...v0.0.1-alpha.98) (2019-08-09)
### Bug Fixes
* **ResponseError:** fix circular dependency and changed ResponseError constructor to add second argmument) ([d1b7481](https://bitbucket.org/iotize-solutions/device-api.project/commits/d1b7481))
* **StringConverter:** added missing import Buffer for StringConverter ([ff2402f](https://bitbucket.org/iotize-solutions/device-api.project/commits/ff2402f))
* fixed circular dependencies ([b2310ab](https://bitbucket.org/iotize-solutions/device-api.project/commits/b2310ab))
### Features
* added lwm2m HeaderInterface ([b7e8c66](https://bitbucket.org/iotize-solutions/device-api.project/commits/b7e8c66))
* aded MockProtocol and MockClient into the core library ([e7e9684](https://bitbucket.org/iotize-solutions/device-api.project/commits/e7e9684))
<a name="0.0.1-alpha.97"></a>
## [0.0.1-alpha.97](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.96...v0.0.1-alpha.97) (2019-07-29)
### Features
* **StringConverter:** improved StringConverter to handle other string encoding types ([2a949d2](https://bitbucket.org/iotize-solutions/device-api.project/commits/2a949d2))
<a name="0.0.1-alpha.96"></a>
## [0.0.1-alpha.96](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.95...v0.0.1-alpha.96) (2019-07-23)
### Bug Fixes
* **Tap:** do not complete SessionState observable on disconnection anymore. ([a18222b](https://bitbucket.org/iotize-solutions/device-api.project/commits/a18222b))
<a name="0.0.1-alpha.95"></a>
## [0.0.1-alpha.95](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.94...v0.0.1-alpha.95) (2019-07-22)
### Bug Fixes
* **TlvBundleConverter:** improved TlvBundleConverter class to support multiple variables that points to a same variable id ([1d07de8](https://bitbucket.org/iotize-solutions/device-api.project/commits/1d07de8))
### Features
* **TapClient:** improved error handling by adding TapClientError class and errors codes ([5c369f3](https://bitbucket.org/iotize-solutions/device-api.project/commits/5c369f3))
* improved error handling ([ebca30e](https://bitbucket.org/iotize-solutions/device-api.project/commits/ebca30e))
<a name="0.0.1-alpha.94"></a>
## [0.0.1-alpha.94](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.93...v0.0.1-alpha.94) (2019-06-25)
### Features
* **Monitoring:** added VariableMonitorState enum ([b3208d4](https://bitbucket.org/iotize-solutions/device-api.project/commits/b3208d4))
<a name="0.0.1-alpha.93"></a>
## [0.0.1-alpha.93](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.91...v0.0.1-alpha.93) (2019-06-06)
### Bug Fixes
* **Bundle:** fix create from bundle config to properly initialized converter ([54b14b2](https://bitbucket.org/iotize-solutions/device-api.project/commits/54b14b2))
### Features
* **BundleManager:** allow `addFromConfig` now accept an array of config ([29a3d29](https://bitbucket.org/iotize-solutions/device-api.project/commits/29a3d29))
* **ComProtocol:** improved error codes ([d5c0aba](https://bitbucket.org/iotize-solutions/device-api.project/commits/d5c0aba))
<a name="0.0.1-alpha.92"></a>
## [0.0.1-alpha.92](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.91...v0.0.1-alpha.92) (2019-05-24)
### Features
* **ComProtocol:** improved error codes ([d5c0aba](https://bitbucket.org/iotize-solutions/device-api.project/commits/d5c0aba))
<a name="0.0.1-alpha.91"></a>
## [0.0.1-alpha.91](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.90...v0.0.1-alpha.91) (2019-05-22)
### Bug Fixes
* **SinglePacket:** `SinglePacket.fillComputedField` is now using actual payload data length to compute padding ([c1c49ce](https://bitbucket.org/iotize-solutions/device-api.project/commits/c1c49ce))
* **SinglePacketConverter:** fix CRC computation ([ebd9118](https://bitbucket.org/iotize-solutions/device-api.project/commits/ebd9118))
<a name="0.0.1-alpha.90"></a>
## [0.0.1-alpha.90](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.89...v0.0.1-alpha.90) (2019-05-21)
<a name="0.0.1-alpha.89"></a>
## [0.0.1-alpha.89](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.88...v0.0.1-alpha.89) (2019-05-17)
### Bug Fixes
* **VariableMonitoring:** check tap response code when fetching variable value ([b042658](https://bitbucket.org/iotize-solutions/device-api.project/commits/b042658))
### Features
* **Tap:** `Tap.loadSinglePacketInStore()` can now be cancel by unsubscribing from observable ([3e78dd1](https://bitbucket.org/iotize-solutions/device-api.project/commits/3e78dd1))
<a name="0.0.1-alpha.88"></a>
## [0.0.1-alpha.88](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.87...v0.0.1-alpha.88) (2019-05-14)
### Bug Fixes
* **QueueComProtocol:** cancel breaking api changes ([0c40771](https://bitbucket.org/iotize-solutions/device-api.project/commits/0c40771))
<a name="0.0.1-alpha.87"></a>
## [0.0.1-alpha.87](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.86...v0.0.1-alpha.87) (2019-05-14)
### Bug Fixes
* **QueueComProtocol:** revert _send method visiblity change to private ([7e2c2fd](https://bitbucket.org/iotize-solutions/device-api.project/commits/7e2c2fd))
<a name="0.0.1-alpha.86"></a>
## [0.0.1-alpha.86](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.85...v0.0.1-alpha.86) (2019-05-14)
### Bug Fixes
* **QueueComProtocol:** bug unhandled promise rejection when there is a timeout during send ([6ac419d](https://bitbucket.org/iotize-solutions/device-api.project/commits/6ac419d))
<a name="0.0.1-alpha.85"></a>
## [0.0.1-alpha.85](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.84...v0.0.1-alpha.85) (2019-05-10)
### Features
* **Client:** added interceptor feature ([8935e88](https://bitbucket.org/iotize-solutions/device-api.project/commits/8935e88))
<a name="0.0.1-alpha.84"></a>
## [0.0.1-alpha.84](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.83...v0.0.1-alpha.84) (2019-05-09)
### Features
* added AdpService to available tap service ([ea28c23](https://bitbucket.org/iotize-solutions/device-api.project/commits/ea28c23))
<a name="0.0.1-alpha.83"></a>
## [0.0.1-alpha.83](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.82...v0.0.1-alpha.83) (2019-05-09)
<a name="0.0.1-alpha.82"></a>
## [0.0.1-alpha.82](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.82) (2019-05-07)
### Bug Fixes
* TapStreamCore.readU2/readU4/readF4 are now calling the right method according to endianess ([61b63e0](https://bitbucket.org/iotize-solutions/device-api.project/commits/61b63e0))
### Features
* added debug lib ([e5cd6bf](https://bitbucket.org/iotize-solutions/device-api.project/commits/e5cd6bf))
* **Target:** added converter for getAdpStats() ([acda38e](https://bitbucket.org/iotize-solutions/device-api.project/commits/acda38e))
<a name="0.0.1-alpha.81"></a>
## [0.0.1-alpha.81](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.81) (2019-05-06)
### Features
* added debug lib ([e5cd6bf](https://bitbucket.org/iotize-solutions/device-api.project/commits/e5cd6bf))
<a name="0.0.1-alpha.80"></a>
## [0.0.1-alpha.80](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.79...v0.0.1-alpha.80) (2019-05-06)
<a name="0.0.1-alpha.79"></a>
## [0.0.1-alpha.79](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.78...v0.0.1-alpha.79) (2019-04-30)
### Bug Fixes
* **TlvConverter:** fix buffer convertion from uint8array (using byteOffset) ([cbf00f6](https://bitbucket.org/iotize-solutions/device-api.project/commits/cbf00f6))
### Features
* **DataLogger:** added data logger features ([e53acc2](https://bitbucket.org/iotize-solutions/device-api.project/commits/e53acc2))
* added `VariableService.putName`, VariableService.putUnit`, `BundleService.putName` methods. Added AdpControlIn.Command and AdpControlOut.ResultCode extra values ([73bc468](https://bitbucket.org/iotize-solutions/device-api.project/commits/73bc468))
<a name="0.0.1-alpha.78"></a>
## [0.0.1-alpha.78](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.77...v0.0.1-alpha.78) (2019-03-27)
### Bug Fixes
* **Tap:** fix useComProtocol to actually change protocol when there was already a protocol ([9a0e98b](https://bitbucket.org/iotize-solutions/device-api.project/commits/9a0e98b))
<a name="0.0.1-alpha.77"></a>
## 0.0.1-alpha.77 (2019-03-27)
### Features
* **Client:** added function `send()`
* **Tap:** added `nfcPairing()` function
<a name="0.0.1-alpha.76"></a>
## 0.0.1-alpha.76 (2019-03-27)
### Features
* **Tap:** added `useComProtocol()` function to change current communication protocol
<a name="0.0.1-alpha.75"></a>
## 0.0.1-alpha.75 (2019-03-27)
### Features
* **InterfaceService:** added `getNfcAutologProfileId()` and `putNfcAutologProfileId()`
### BREAKING CHANGES
* **ScramService:** renamed `getScramHashIt()` to `getHashIteration()` and changed return type to `number`
<a name="0.0.1-alpha.74"></a>
## 0.0.1-alpha.74 (2019-03-19)
### Bug Fixes
* **BundleService:** getAcl() now returns a uint16 (instead of uint8)
* **VariableService:** putBundleId() now takes a uint16 as body (instead of uint32)
<a name="0.0.1-alpha.73"></a>
## [0.0.1-alpha.73](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.72...v0.0.1-alpha.73) (2019-03-19)
### Bug Fixes
* **EnumConverter:** fix encoding ([566772b](https://bitbucket.org/iotize-solutions/device-api.project/commits/566772b))
* **TargetProtocol:** fix TargetService.getAvailableProtocols() response converter ([fce3773](https://bitbucket.org/iotize-solutions/device-api.project/commits/fce3773))
<a name="0.0.1-alpha.72"></a>
## [0.0.1-alpha.72](https://bitbucket.org/iotize-solutions/device-api.project/compare/v0.0.1-alpha.71...v0.0.1-alpha.72) (2019-03-13)
### Bug Fixes
* **Typings**:
* removed `PQueue` export
<a name="0.0.1-alpha.71"></a>
## 0.0.1-alpha.71 (2019-03-12)
### Bug Fixes
* **Typings**:
* removed `Buffer` export in Tlv class (it fix tsc error TS2580: Cannot find name 'Buffer')
* added `@types/crypto-js` as a dependency
### Features
* **Tap:** added static factory methods `Tap.create()` and `Tap.fromProtocol()`
* **TargetService**:
* added `putProtocol()` method
* **BundleService**
* added `create()` method
* **VariableService**
* added `create()` method
* changed return type of `getFormat()` to `VariableFormat`
* changed parameter type of `putFormat()` to `VariableFormat`
* **GroupService**
* added `create()` method
* **InterfaceService**
* added `getSpecialFeatureProfile()`, `setSpecialFeatureProfile()`, `putSpecialFeatureProfile()` methods
* **Models**: added `TargetProtocol.NONE` type
### BREAKING CHANGES
* Change model `ReadWriteRights` (added field `groupId`)
* Changed `GroupService.putAcl()` method arguments
* Renamed method `TargetService.getModbusSubProtocol()` to `TargetService.getSubProtocol()`
* Renamed method `TargetService.postModbusSubProtocol()` to `TargetService.setSubProtocol()`
<a name="0.0.1-alpha.70"></a>
## 0.0.1-alpha.70 (2019-03-06)
### Bug Fixes
* **AdpService:** fix getControlIn() parameter
### Features
* **TargetService:** added get TargetService.getReceivedCount()
### Others
* Removed log messages. Most of theme are now displayed with `console.debug`
<a name="0.0.1-alpha.69"></a>
## 0.0.1-alpha.69 (2019-03-04)
### Bug Fixes
* **Tap:** fix function loadSinglePacketInStore as it was never completed + properly catch error
<a name="0.0.1-alpha.68"></a>
## 0.0.1-alpha.68
### Bug Fixes
* **TargetService.modbusWrite:** fix method type for modbusWrite (now POST)
### Features
* **Monitoring:** added DefaultVariableMonitor.fromVariable() monitor factory function
* **Monitoring:** improved monitor to work with modbus registers and memory address.
* **Tap:** added Tap.loadSinglePacketInStore() function
### BREAKING CHANGES
* **Monitoring:** renamed class Variable to VariableConfig
<a name="0.0.1-alpha.67"></a>
## 0.0.1-alpha.67 (2019-02-25)
### Features
* **AdpControl:** added setter (setAdpControlOut) and getter (getAdpControlIn) ([2109827](https://bitbucket.org/iotize-solutions/device-api.project/commits/2109827))
### Bug fixes
* **ModbusOptions**: fix encoding/decoding of ModbusOptions model
<a name="0.0.1-alpha.66"></a>
## 0.0.1-alpha.66 (2019-02-19)
### BREAKING CHANGES:
* `ServiceCallType` now take an `EncoderFct` instead of `ConverterFunction` as `bodyEncoder` attribute
### Bug Fixes
* **Client:** return error observable instead of throwing errors (impact encryption() and command())
### Features
* **Api:** Added ConverterFunctionAdapter
* **Api:** added encoder/decoder function definition
* **Converter:** added ByteSwapConverter
* **TapStreamWriter:** add constructor from buffer
<a name="0.0.1-alpha.65"></a>
## 0.0.1-alpha.65 (2019-02-18)
### Bug Fixes
* **UartSettings:** fix converter
### Features
* added adp methds in new service called *AdpService*
* added **Variable::readProfile** resource
* added **Interface::setAdpContronIn** resource
* added **Interface::getAdpControlOut** resource
<a name="0.0.1-alpha.64"></a>
## 0.0.1-alpha.64 (2019-02-12)
### Bug Fixes
* **TapStream:** fix TapStreamReader.fromArray() method when using array where its buffer is different
<a name="0.0.1-alpha.63"></a>
## 0.0.1-alpha.63 (2019-02-08)
### Bug Fixes
* **InterfaceLock** fix scram option encoding/decoding
* **EnumConverters** fix all enum converters
<a name="0.0.1-alpha.62"></a>
## 0.0.1-alpha.62 (2019-02-06)
### Bug Fixes
* **build** removed missing dependency
<a name="0.0.1-alpha.60"></a>
## 0.0.1-alpha.59 (2019-01-22)
### Features
* **TapDevice**:
* Added experimental `sendSinglePacket(packet)` function to send `SinglePacket` (not fully tested)
### BREAKING CHANGES:
Api has been regenerted, some services have been added.
* Services
* **DatalogService** renamed to **DataLogService**
* All functions containing **datalog** have been renamed to **dataLog**
* **DeviceService::getPublicPassword()** has been **removed**
* **InterfaceService::postLoginUid()** has been **renamed** to **loginWithUID(uid)**
* **InterfaceService::getAuthorizedHostProtocol()** return type has been changed to **Array\<HostProtocol\>**
* **InterfaceService::postAuthorizedHostProtocol(Array\<HostProtocol\>)** parameter type changed
* **InterfaceService::multiCommands()** renamed to **multiRequests()**
* **InterfaceService::getCloudMqttPeriod()** renamed to **getUploadPeriod()**
* **GroupService::postPassword()** renamed to **changePassword()**
* **TargetService::getProtocolList()** renamed to **getAvailableProtocols()** and return type changed to **Array\<TargetProtocol\>**
* Added function **GroupService:changePasswordKey()**
* Secure element related functions have been moved to **SecureElementService**
* Models:
* **ListAclEntry** renamed to **AclEntries**
<a name="0.0.1-alpha.59"></a>
## 0.0.1-alpha.59 (2018-12-17)
### Bug Fixes
* **TargetService:** fix readBytes() and deprecated read() ([9c451da](https://github.com/iotize-solutions/iotize-device-client.js/commit/9c451da))
<a name="0.0.1-alpha.58"></a>
## 0.0.1-alpha.58 (2018-12-17)
### Features
* **FormatHelper:** FormatHelper now accept a null parameter (returns empty string) ([af4136f](https://github.com/iotize-solutions/iotize-device-client.js/commit/af4136f))
* **testing:** ConverterHelper::buffer() now checks if it's a valid hexadecimal string (throw error otherwise) ([8299f8c](https://github.com/iotize-solutions/iotize-device-client.js/commit/8299f8c))
* **testing:** improve unit tests. they can now be run against a real or a mock device ([ec098c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/ec098c2))
<a name="0.0.1-alpha.57"></a>
## 0.0.1-alpha.57 (2018-11-19)
### Bug Fixes
* **NumberConverter:** fix toOpaqueMsb() when passing 16 bits number ([03ba12f](https://github.com/iotize-solutions/iotize-device-client.js/commit/03ba12f))
### Features
* **NumberConverter:** fix NumberConverter with SIGNED value ([c6cd694](https://github.com/iotize-solutions/iotize-device-client.js/commit/c6cd694))
* **Tap:** add alias type Tap on IoTizeDevice. Renamed TapDevice to TapInterface ([0863a28](https://github.com/iotize-solutions/iotize-device-client.js/commit/0863a28))
* **TapDevice:** add second argument to ([9b20ff2](https://github.com/iotize-solutions/iotize-device-client.js/commit/9b20ff2))
* **TLVParser:** logger can be pass as a parameter. Default value is console ([e4253ff](https://github.com/iotize-solutions/iotize-device-client.js/commit/e4253ff))
<a name="0.0.1-alpha.56"></a>
## 0.0.1-alpha.56 (2018-11-16)
### Bug Fixes
* **NumberConverter:** fix toOpaqueMsb() when passing 16 bits number ([03ba12f](https://github.com/iotize-solutions/iotize-device-client.js/commit/03ba12f))
### Features
* **Tap:** add alias type Tap on IoTizeDevice. Renamed TapDevice to TapInterface ([0863a28](https://github.com/iotize-solutions/iotize-device-client.js/commit/0863a28))
* **Tap:** add second argument to ([9b20ff2](https://github.com/iotize-solutions/iotize-device-client.js/commit/9b20ff2))
* **TLVParser:** logger can be pass as a parameter. Default value is console ([e4253ff](https://github.com/iotize-solutions/iotize-device-client.js/commit/e4253ff))
<a name="0.0.1-alpha.55"></a>
## 0.0.1-alpha.55 (2018-11-13)
### Bug Fixes
* **NumberConverter:** fix NumberConverter with SIGNED value ([c6cd694](https://github.com/iotize-solutions/iotize-device-client.js/commit/c6cd694))
<a name="0.0.1-alpha.54"></a>
## 0.0.1-alpha.54 (2018-11-06)
### Bug Fixes
* **bundle service:** fix putAclGroupId method ([eb44d9b](https://github.com/iotize-solutions/iotize-device-client.js/commit/eb44d9b))
<a name="0.0.1-alpha.53"></a>
## 0.0.1-alpha.53 (2018-11-06)
### Bug Fixes
* **converter:** fix ipv4 string ENCODER ([34a54cd](https://github.com/iotize-solutions/iotize-device-client.js/commit/34a54cd))
* **converter:** fix TargetCoreType ([324414f](https://github.com/iotize-solutions/iotize-device-client.js/commit/324414f))
### Features
* **client:** add 4th parameter to lwm2m path for resource id (for example /1/2/3/4) ([9162f10](https://github.com/iotize-solutions/iotize-device-client.js/commit/9162f10))
<a name="0.0.1-alpha.52"></a>
## 0.0.1-alpha.52
### Bug Fixes
* **MaskConverter:** fix mask converter when input array is too big to be converted as a number. It will now take at max the 4 first bytes of the input ([7c18be4](https://github.com/iotize-solutions/iotize-device-client.js/commit/7c18be4))
* **service:** fix how absctact service deduce the return type of the request ([5848b77](https://github.com/iotize-solutions/iotize-device-client.js/commit/5848b77))
### Features
* **unit test:** add functions to load device from a snapshot file for unit tests ([265ffaf](https://github.com/iotize-solutions/iotize-device-client.js/commit/265ffaf))
<a name="0.0.1-alpha.51"></a>
## 0.0.1-alpha.51
<a name="0.0.1-alpha.50"></a>
## 0.0.1-alpha.50 (2018-11-02)
### BREAKING CHANGES:
* removed function `IoTizeDevice.lwm2mCall()` function in favor of object `IoTizeDevice.lwm2m`
* Splited api default config and ApiConfig class
* Removed getter `IoTizeDevice::converter` in favor of `IoTizeDevice::apiConfig`
### Features
* **Encoder:** added encoder function type ([859f661](https://github.com/iotize-solutions/iotize-device-client.js/commit/859f661))
* **PathParameter:** added function fillAllParams() ([3800c0c](https://github.com/iotize-solutions/iotize-device-client.js/commit/3800c0c))
<a name="0.0.1-alpha.49"></a>
## 0.0.1-alpha.49 (2018-11-01)
The api has been regenerated. There are several breaking changes.
### BREAKING CHANGES:
**Be carefull, this list not exaustive**
* **services**:
- **DeviceService**:
- `postFactoryReset()` renamed to `factoryReset()`
- `postConfigVersion()` renamed to `reloadConfig()`
- **TargetService**:
- `postDisconnect()` renamed to `disconnect()`
- `postConnect()` renamed to `connect()`
* **models**
- **UartSettings**
- field `parity` renamed to `bitParity`
- **LoginCredential**
- field `hash_password` renamed to `hashPassword`
- **InterfaceLock**
- field `scram_activated` renamed to `scramActivated`
<a name="0.0.1-alpha.48"></a>
## 0.0.1-alpha.48 (2018-10-15)
### Bug Fixes
* **tlv:** removed lwm2m-codec dependency as it's not working in a browser and it's too heavy
<a name="0.0.1-alpha.47"></a>
## 0.0.1-alpha.47 (2018-10-12)
### BREAKING CHANGES:
* **rxjs**: rxjs@^6 is now a peer dependency
### Bug Fixes
* **converter:** fixing target protocol decoding ([1a44038](https://github.com/iotize-solutions/iotize-device-client.js/commit/1a44038))
* **service:** fix return type of TargetService::read ([5d96504](https://github.com/iotize-solutions/iotize-device-client.js/commit/5d96504))
### Features
* **TargetServer:** added send() function for transparent send to target without waiting for response ([b2fce34](https://github.com/iotize-solutions/iotize-device-client.js/commit/b2fce34))
<a name="0.0.1-alpha.46"></a>
## 0.0.1-alpha.46 (2018-10-03)
### Bug Fixes
* **converter:** fixing target protocol decoding ([1a44038](https://github.com/iotize-solutions/iotize-device-client.js/commit/1a44038))
### Features
* **TargetServer:** added send() function for transparent send to target without waiting for response ([b2fce34](https://github.com/iotize-solutions/iotize-device-client.js/commit/b2fce34))
<a name="0.0.1-alpha.45"></a>
## 0.0.1-alpha.45 (2018-10-02)
### Features
* **device:** added target memory read / write services (usefull for tapnpass) ([beea38c](https://github.com/iotize-solutions/iotize-device-client.js/commit/beea38c))
<a name="0.0.1-alpha.44"></a>
## 0.0.1-alpha.44 (2018-09-28)
### BREAKING CHANGES:
* **Mock protocol**: Mock protocol/Mock client is now part of an external library
### Features
* **Device Configurator:** Added device configurator feature. Usefull for example to setup list of variables/bundles ([8902f1e](https://github.com/iotize-solutions/iotize-device-client.js/commit/8902f1e))
* **Device Response:** method body() now take the decoder as an optional parameter ([73656cd](https://github.com/iotize-solutions/iotize-device-client.js/commit/73656cd))
* **Optimization:** Cleanup and size optimization of bundle + added zipped output file ([fd8add7](https://github.com/iotize-solutions/iotize-device-client.js/commit/fd8add7))
<a name="0.0.1-alpha.43"></a>
## 0.0.1-alpha.43 (2018-09-11)
### Bug Fixes
* **device:** Device login when scram activated is now returning true promise when successful ([c447a89](https://github.com/iotize-solutions/iotize-device-client.js/commit/c447a89))
### Features
* **ByteByffer:** addNumber with endianess ([0c77849](https://github.com/iotize-solutions/iotize-device-client.js/commit/0c77849))
<a name="0.0.1-alpha.42"></a>
## 0.0.1-alpha.42 (2018-09-05)
### Features
* **ByteByffer:** addNumber with endianess ([0c77849](https://github.com/iotize-solutions/iotize-device-client.js/commit/0c77849))
<a name="0.0.1-alpha.41"></a>
## 0.0.1-alpha.41 (2018-09-05)
### Features
* **ByteBuffer:** Add setter for offset and improve readNumber function ([1654192](https://github.com/iotize-solutions/iotize-device-client.js/commit/1654192))
* **monitoring:** Added bundle monitoring feature ([ebb47e4](https://github.com/iotize-solutions/iotize-device-client.js/commit/ebb47e4))
* **utility:** add utility function to compute padding accoding to a length and a module ([68b3605](https://github.com/iotize-solutions/iotize-device-client.js/commit/68b3605))
<a name="0.0.1-alpha.38"></a>
## 0.0.1-alpha.38 (2018-08-23)
### Features
* Added scram login / encrypted communication feature
### Features
* Renamed actual VariableMonitor::stop() to VariableMonitor::pause() and added new function VariableMonitor::stop() that terminate observable (breaking change) ([072fb42](https://github.com/iotize-solutions/iotize-device-client.js/commit/072fb42))
<a name="0.0.1-alpha.37"></a>
## 0.0.1-alpha.37 (2018-08-03)
### Bug Fixes
* bug service passing data to lwm2m ([719163f](https://github.com/iotize-solutions/iotize-device-client.js/commit/719163f))
<a name="0.0.1-alpha.36"></a>
## 0.0.1-alpha.36 (2018-07-30)
### Bug Fixes
* fix vulerability issues ([0a10b64](https://github.com/iotize-solutions/iotize-device-client.js/commit/0a10b64))
### Features
* added template type for payload in single packet ([45d7eac](https://github.com/iotize-solutions/iotize-device-client.js/commit/45d7eac))
<a name="0.0.1-alpha.35"></a>
## 0.0.1-alpha.35 (2018-07-25)
<a name="0.0.1-alpha.34"></a>
## 0.0.1-alpha.34 (2018-07-02)
### Breaking change
* Body converter do not expect a Response object anymore but only a Uint8Array
<a name="0.0.1-alpha.33"></a>
## 0.0.1-alpha.33 (2018-06-28)
### Bug Fixes
* browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e))
### Features
* **device:** added login feature ([19978e6](https://github.com/iotize-solutions/iotize-device-client.js/commit/19978e6))
* add isConnected function in device ([2a36c94](https://github.com/iotize-solutions/iotize-device-client.js/commit/2a36c94))
<a name="0.0.1-alpha.31"></a>
## 0.0.1-alpha.31 (2018-06-22)
### Bug Fixes
* browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e))
<a name="0.0.1-alpha.30"></a>
## 0.0.1-alpha.30 (2018-06-22)
### Bug Fixes
* browser compability for crypto hasher algo ([b70761e](https://github.com/iotize-solutions/iotize-device-client.js/commit/b70761e))
<a name="0.0.1-alpha.29"></a>
## 0.0.1-alpha.29 (2018-06-22)
### Features
* added hasher to api ([5dcb9c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/5dcb9c2))
* added single packet converter ([5fd8ab1](https://github.com/iotize-solutions/iotize-device-client.js/commit/5fd8ab1))
* updated generated device api ([45455bd](https://github.com/iotize-solutions/iotize-device-client.js/commit/45455bd))
<a name="0.0.1-alpha.23"></a>
## 0.0.1-alpha.23 (2018-06-12)
### Bug Fixes
* several fixes ([fa59f80](https://github.com/iotize-solutions/iotize-device-client.js/commit/fa59f80))
* **comunication:** Copy send data before queuing the request. This will fix monitoring bug ([97bc3ed](https://github.com/iotize-solutions/iotize-device-client.js/commit/97bc3ed))
### Features
* first commit for device scanner definition ([928cd33](https://github.com/iotize-solutions/iotize-device-client.js/commit/928cd33))
<a name="0.0.1-alpha.20"></a>
## 0.0.1-alpha.20 (2018-06-11)
### Bug Fixes
* several fixes ([fa59f80](https://github.com/iotize-solutions/iotize-device-client.js/commit/fa59f80))
### Features
* first commit for device scanner definition ([928cd33](https://github.com/iotize-solutions/iotize-device-client.js/commit/928cd33))
<a name="0.0.1-alpha.19"></a>
## 0.0.1-alpha.19 (2018-06-08)
<a name="0.0.1-alpha.18"></a>
## 0.0.1-alpha.18 (2018-06-08)
<a name="0.0.1-alpha.17"></a>
## 0.0.1-alpha.17 (2018-06-08)
<a name="0.0.1-alpha.16"></a>
## 0.0.1-alpha.16 (2018-06-08)
<a name="0.0.1-alpha.15"></a>
## 0.0.1-alpha.15 (2018-06-08)
### Features
* **device:** add device factory utility function ([3f514e9](https://github.com/iotize-solutions/iotize-device-client.js/commit/3f514e9))
* **protocol:** add queuing protocol system ([6ae391c](https://github.com/iotize-solutions/iotize-device-client.js/commit/6ae391c))
* add utility functions ([895d3ae](https://github.com/iotize-solutions/iotize-device-client.js/commit/895d3ae))
* Adding target variable feature to monitor variables ([cc063c3](https://github.com/iotize-solutions/iotize-device-client.js/commit/cc063c3))
# Change log
<a name="0.0.1-alpha.14"></a>
## 0.0.1-alpha.14 (2018-06-07)
### Bug Fixes
* bugfix in constructor. Remove unexpected call to service function ([d405544](https://github.com/iotize-solutions/iotize-device-client.js/commit/d405544))
* fix client update for iotize device. It will now also change client reference for services ([d4c92c2](https://github.com/iotize-solutions/iotize-device-client.js/commit/d4c92c2))
### Features
* **device:** getters/setters for converter map for Iotize Device ([df9ce38](https://github.com/iotize-solutions/iotize-device-client.js/commit/df9ce38))
* add result code translation file ([bd9f120](https://github.com/iotize-solutions/iotize-device-client.js/commit/bd9f120))
* Added password hasher converter feature ([bc2b095](https://github.com/iotize-solutions/iotize-device-client.js/commit/bc2b095))
* added reponse error class for device response error ([7c2e5b3](https://github.com/iotize-solutions/iotize-device-client.js/commit/7c2e5b3))
* errorcode is now an optional parameter for Response.ERROR() ([8773bdb](https://github.com/iotize-solutions/iotize-device-client.js/commit/8773bdb))
<a name="0.0.1-alpha.13"></a>
## 0.0.1-alpha.13 (2018-06-06)
### Features
* Added connect/disconnect functions ([fdfd662](https://github.com/iotize-solutions/iotize-device-client.js/commit/fdfd662))
* added float converter ([c1fca37](https://github.com/iotize-solutions/iotize-device-client.js/commit/c1fca37))