node-gotapi
Version:
The node-gotapi is a Node.js implementation of the Generic Open Terminal API Framework (GotAPI) developed by the Open Mobile Alliance (OMA).
124 lines (72 loc) • 7.42 kB
Markdown
node-gotapi Changelog
======================
## Version 0.4
### 0.4.3 (2019-10-21)
- Fixed the bug that the service discovery process on a certain condition caused memory leak.
### 0.4.2 (2019-10-19)
- Refactored the following scripts:
- `gotapi-server.js`
- `gotapi-interface-1.js`
- `gotapi-interface-4.js`
### 0.4.1 (2018-12-24)
- Fixed the bug that the handling of the Plug-In response timeout did not work well.
- Changed the HTTP response code for timeout from `408 Request Timeout` to `500 Internal Server Error`. This is a workaround for Chrome. If Chrome receives `408 Request Timeout`, it retries the request troublingly.
### 0.4.0 (2018-12-24)
- Changed the HTTP port number for web apps from 10880 to 4035 (same as the GotAPI Interface-1) and changed the HTTPS port number for web apps from 10443 to 4036 (same as the GotAPI Interface-1).
- Supported IPv6 experimentally. Now you can access to the web app and GotAPI Interface-1 using IPv6 address. (e.g., `https://[2000:312:f32e:2a00:2a00:1bf7:1234:5678]:4036/`)
## Version 0.3
### 0.3.7 (2018-11-17)
- Fixed the bug that the gotapi server dies if the `ssl_engine` in the `config.js` is set to `false`.
### 0.3.6 (2018-05-13)
- Supported binary files as web app contents. Now, the web server for web apps can serve image files.
### 0.3.5 (2018-05-12)
- Fixed the bug that an error occurred when the GotAPI-1 Interface was accessed by an user agent other than web browser (such as crul).
### 0.3.4 (2018-05-10)
- Fixed the bug that an error occurred when the GotAPI-1 Interface was accessed by an user agent other than web browser (such as crul).
### 0.3.3 (2017-07-18)
- Allowed `serviceinformation` as the profile name of the service information API even if Plug-Ins return `serviceInformation` in the scopes. The GotAPI Server checks if the profile name in a request exists in the scopes reported by the targeted Plug-In. Basically, the profile name in the scopes is case-sensitive. However, `serviceinformation` is not case-sensitive now. Requests whose profile name is `serviceinformation` or `serviceInformation` will be passed to the targeted Plug-In if the Plug-In has one of the two in the scopes. If your Plug-In does not support the service information API, you do not need to care about this change.
### 0.3.2 (2017-05-11)
- Allowed `serviceDiscovery` as the profile name of the service discovery. Now, both of `servicediscovery` and `serviceDiscovery` can be used for the profile name of the service discovery on the GotAPI-1 Interface. Basically, you do not have to care about this update because the `gotapi-client.js` (the helper JS library for front-end applications) handles the service discvoery request instead of you.
### 0.3.1 (2017-05-10)
- Fixed the `errorCode` bug. If a Plug-In set a value to the `errorCode` property for a response, the process of the Plug-In died. Now the node-gotapi accepts an `errorCode` property as expected.
### 0.3.0 (2017-04-22)
- Changed the type of the `errorCode` property in the `Error` object from `Number` to `String` to be compliant to the OMA GotAPI 1.1 specification.
- In the node-gotapi v0.2.2 or earlier, the `errorCode` was used for a HTTP response status code on the GotAPI-1 Interface. Now, you can specify your favorite costom code to the `errorCode` property in your Plug-In module. Note that the type of the value must be `String` (e.g., `"E-0F2A"`).
- Newly added the `statusCode` property in the `Response` object and the `Error` object.
- This property is used for a HTTP status code set in a response on the GotAPI-1 Interface instead of the `errorCode` property.
- In the node-gotapi v0.2.2 or earlier, the HTTP response code was set to `200` automatically if the response is not an error. Now you can use your favorite HTTP status code even if the response is not an error. That is, you can specify `201` (Created), `202` (Accepted), and so on.
- Deleted the `errorCode`, `errorMessage`, `errorText` properties from the `Response` object to be compliant to the OMA GotAPI 1.1 specification.
- In the node-gotapi v0.2.2 or earlier, such properties were set in a `Response` object regardless they were useless. As that was confusing, they were removed.
## Version 0.2
### 0.2.2 (2017-04-14)
- Added error handling when a request URI is malformed (when failed to parse the query string in the request URI or form data in the request body).
### 0.2.1 (2017-04-05)
- Fixed (again) the bug that the node-gotapi prosess was down if the query string in the request URL includes non-UTF-8 characters. Now the node-gotapi returns an error.
### 0.2.0 (2017-04-03)
- Now the GotAPI Server supports `application/x-www-form-urlencoded` requests for front-end applications. You can send data to the GotAPI Server as form data instead of a query string in a request URL.
- Now the front-end JS helper library `gotapi-client.js` sends request parameters using `application/x-www-form-urlencoded` automatically when the method of the request is `POST` or `PUT`.
## Version 0.1
### 0.1.8 (2017-03-30)
- Fixed the bug in the debug mode. If there is no query string in the request URL, then the node-gotapi died. Now this bug is fixed.
### 0.1.7 (2017-03-29)
- Fixed the bug that the node-gotapi prosess was down if the query string in the request URL includes non-UTF-8 characters. Now the node-gotapi returns an error.
### 0.1.6 (2017-03-29)
- Fixed the bug which Plug-Ins could not set a custom error code to the `result` property in a response.
### 0.1.5 (2017-03-07)
- Fixed the bug which any accesses on the GotAPI-1 Interface are allowed in the production mode if the `allowed_address_list` is empty in the `config.js`.
- Changed the error message reported when the access from the front-end application on the GotAPI-1 Interface is denied, so that you can get the reason why the access was denied: the IP address or the origin.
### 0.1.4 (2017-03-06)
- Fixed the bug which the GotAPI-1 Interface always denied any accesses from the localhost in some Linux environments in the production mode (not the debug mode).
### 0.1.3 (2017-03-05)
- Changed line break from CRLF to LF in some files.
### 0.1.2 (2017-03-04)
- Removed the script `start-gotapi-debug.js` which starts the node-gotapi for debugging. Instead, `start-gotapi.js` supports some command options for debugging.
### 0.1.1 (2017-02-26)
- Changed the WebSocket module from the [websocket.io](https://github.com/LearnBoost/websocket.io) to the [WebSocket-Node](https://github.com/theturtle32/WebSocket-Node). The reason for this is that the [websocket.io](https://github.com/LearnBoost/websocket.io) has not been updated for a few years and it does not support Node 6 for now.
### 0.1.0 (2017-02-18)
- Added a debug mode
- The `start-gotapi-debug.js` now supports a mode which ignores the grant and access token mechanism. In this mode, you can debug Plug-Ins easily.
- Extended the name space of property names for response from Plug-Ins
- The property name for response for Plug-Ins was limited to `data`, now any property names are allowed except the prohibited property names for response.
- Disabled the `console.log()`, `console.dir()` and `console.error()` methods in the `start-gotapi.js`
- If you want to check the outputs generated by the GotAPI Server and the Plug-Ins on your shell, use the `start-gotapi-debug.js` instead of the `start-gotapi.js`.