# 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))



