(Note: This changelog focuses on the major changes between the different versions. Therefore, it may not contain all changes. Especially smaller fixes or improvements may be omitted.)
As a general rule the version tries to follow the Semantic Versioning scheme. Since ECharts is the main dependency of this application, major version changes in ECharts will also trigger a major version change in this application.
- [maintenance]
Update dependency
uuid
to 11.0.3.
- [maintenance]
Update dependency
uuid
to 11.0.2.
-
[maintenance] Update Dockerfile to use Node.js 20 instead of Node.js 16. Furthermore, the base image is updated from Debian 11 to Debian 12.
-
[maintenance] Update dependency
uuid
to 11.0.1.
- [maintenance]
Update dependency
nan
to 2.22.0.
-
[maintenance] Update dependency
debug
to 4.3.7. -
[maintenance] Update dependency
ms
to 2.1.3.
-
[maintenance] Update dependency
debug
to 4.3.6. -
[maintenance] Update dependency
semver
to 7.6.3.
-
[breaking change] Support for Node.js 12, Node.js 13, Node.js 14, and Node.js 15 is dropped. The minimum required version is now Node.js 16. These old Node.js versions have reached their end of life. All those versions are not maintained anymore by the Node.js developers. If you are still using older versions of Node.js, then please consider updating to a newer one.
-
[breaking change] Update dependency
uuid
to 10.0.0. This version ofuuid
drops support for Node.js 14 (and earlier versions).
-
[improvement] The ECharts library is updated from version 5.5.0 to version 5.5.1. ECharts 5.5.1 brings several fixes and a few new features, compared to 5.5.0. For a full list of those see the release notes of ECharts:
- [maintenance]
Update dependency
nan
to 2.20.0.
- [maintenance]
Update dependency
debug
to 4.3.5.
-
[maintenance] Update dependency
semver
to 7.6.2. -
[maintenance] Update Dockerfile to use Node.js 16 instead of Node.js 14.
-
[maintenance] Update dependency
detect-libc
to 2.0.3. -
[maintenance] Update dependency
tar
to 6.2.1.
- [maintenance]
Update dependency
nan
to 2.19.0.
-
[improvement] The ECharts library is updated from version 5.4.3 to version 5.5.0. ECharts 5.5.0 brings several fixes and a new features, compared to 5.4.3. For a full list of those see the release notes of ECharts:
- [maintenance]
Update dependency
semver
to 7.6.0.
- [improvement]
Whenever the server responds to an unallowed method with HTTP status code 405,
it will now also send an
Allow
HTTP header to indicate the allowed methods. This behaviour is required by RFC 9110, so it should be implemented.
Furthermore, any HTTP request to the server root using the OPTIONS method will
now return the allowed options via an Allow
HTTP header.
- [bug fix] Fix error in handling of unusually large payloads.
-
[maintenance] Update dependency
nan
to 2.18.0. -
[maintenance] Update dependency
tar
to 6.2.0. -
[maintenance] Update dependency
uuid
to 9.0.1.
- [maintenance]
Update dependency
node-fetch
to 2.7.0.
-
[improvement] The ECharts library is updated from version 5.4.2 to version 5.4.3. ECharts 5.4.3 brings several fixes and a few new features, compared to 5.4.2. For a full list of those see the release notes of ECharts:
-
[maintenance] Update dependency
detect-libc
to 2.0.2.
- [maintenance]
Update dependency
@mapbox/node-pre-gyp
to 10.0.11.
- [maintenance]
Update dependency
semver
v6 to 6.3.1.
- [maintenance]
Update dependency
semver
to 7.5.4.
- [maintenance]
Update dependency
node-fetch
to 2.6.12.
- [maintenance]
Update dependency
semver
to 7.5.3. This fixes a Regular Expression Denial of Service vulnerability insemver
(CVE-2022-25883).
- [maintenance]
Update dependency
tar
to 6.1.15.
-
[maintenance] Update dependency
node-fetch
to 2.6.11. -
[maintenance] Update dependency
semver
to 7.5.1.
- [breaking change] Generated image files are now served directly in the response to the request instead of just providing a JSON response that contains the file name of the generated image. That is, instead of returning a JSON response like
{
"success": true,
"filename": "graph-4a8d8e1d-eef8-4593-bd4c-422866243121.png"
}
the image is returned directly in the HTTP response message body.
This approach has several advantages:
- Users only need to make one request to the server instead of two to get the generated image.
- The server does not get filled with generated images files as in previous versions, because the images do not need to be stored for later retrieval anymore.
- [maintenance]
Update dependency
node-fetch
to 2.6.10.
-
[maintenance] Update dependency
tar
to 6.1.14. -
[maintenance] Update dependency
minipass
to 5.0.0.
- [maintenance]
Update dependency
semver
to 7.5.0.
-
[maintenance] Update dependency
minipass
to 4.2.8. -
[maintenance] Update dependency
semver
to 7.4.0.
- [maintenance]
Update dependency
minipass
to 4.2.6.
- [maintenance]
Update dependency
canvas
to 2.11.2.
-
[improvement] The ECharts library is updated from version 5.4.1 to version 5.4.2. ECharts 5.4.2 brings several fixes and a few new features, compared to 5.4.1. For a full list of those see the release notes of ECharts:
-
[maintenance] Update dependency
minipass
to 4.2.5. -
[maintenance] Update dependency
readable-stream
to 3.6.2.
- [maintenance]
Update dependency
minipass
to 4.2.4.
-
[maintenance] Update dependency
minipass
to 4.2.1. -
[maintenance] Update dependency
readable-stream
to 3.6.1.
- [maintenance]
Update dependency
minipass
to 4.0.3.
-
[maintenance] Update dependency
minipass
to 4.0.1. -
[maintenance] Update dependency
node-fetch
to 2.6.9.
- [maintenance]
Update dependency
node-fetch
to 2.6.8.
- [maintenance]
Update dependency
canvas
to 2.11.0.
-
[improvement] The ECharts library is updated from version 5.4.0 to version 5.4.1. ECharts 5.4.1 brings several fixes and a few new features, compared to 5.4.0. For a full list of those see the release notes of ECharts:
-
[maintenance] Update dependency
tar
to 6.1.13.
- [maintenance]
Update dependency
minipass
to 3.3.6.
- [maintenance]
Update dependency
tar
to 6.1.12.
- [maintenance]
Update dependency
canvas
to 2.10.2.
Note: canvas
2.10.2 is the first version which has prebuilds for Node.js 16
and Node.js 18, so the initial npm install should now work smoother for people
using those versions of Node.js.
[improvement] The ECharts library is updated from version 5.3.3 to version 5.4.0. ECharts 5.4.0 brings several fixes and a few new features, compared to 5.3.3. For a full list of those see the release notes of ECharts:
- [maintenance]
Update dependencies
nan
to 2.17.0, andsemver
to 7.3.8.
- [breaking change] Support for Node.js 8, Node.js 9, Node.js 10, and Node.js 11 is dropped. The minimum required version is now Node.js 12. Node.js 8 has reached its end of life on 2019-12-31, Node.js 9 reached its end of life on 2018-06-30, Node.js 10 reached its end of life on 2021-04-30, Node.js 11 reached its end of life on 2019-06-01. All those versions are not maintained anymore by the Node.js developers. If you are still using older versions of Node.js, then please consider updating to a newer one.
- [breaking change]
Update dependency
uuid
to 9.0.0. This version ofuuid
drops support for Node.js 10 (and earlier).
- [maintenance]
Update dependencies
canvas
to 2.10.1, and@mapbox/node-pre-gyp
to 1.0.10.
- [maintenance]
Update dependencies
canvas
to 2.9.3, andminipass
to 3.3.4.
[improvement]
The requirement for Node.js 8 or a later version is now explicitly stated in the
package.json
file. While Node.js 8 or later has been required since version
3.0.0, this step provides clarity on the required version of Node.js.
[improvement] The ECharts library is updated from version 5.3.2 to version 5.3.3. ECharts 5.3.3 brings several fixes and a few new features, compared to 5.3.2. For a full list of those see the release notes of ECharts:
[improvement] Rendering is switched from PhantomJS to server-side rendering of ECharts, available since ECharts 5.3.0. This should be faster than the previous approach with PhantomJS.
[new feature]
Furthermore, it is now possible to get the plots rendered as SVG images. To
switch to SVG, add the HTTP header X-Image-Format
to the request and set its
value to svg
(all lower case).
[breaking change]
PNG images will now use a transparent background instead of the previous white
background. To set a background color, use the option
backgroundColor
of ECharts. For example, to get the white background as in previous versions,
add "backgroundColor": "#ffffff"
to the chart options.
Furthermore, the application will now require at least version 8 of Node.js, but the use of a later version that is still maintained (e. g. Node.js 14 LTS) is preferred.
[maintenance]
Update dependency uuid
to 8.3.2.
[improvement] The ECharts library is updated from version 5.0.2 to version 5.3.2. ECharts 5.3.2 brings several fixes and new features, compared to 5.0.2. For a full list of those see the release notes of ECharts:
- Changes in ECharts 5.3.2
- Changes in ECharts 5.3.1
- Changes in ECharts 5.3.0
- Changes in ECharts 5.2.2
- Changes in ECharts 5.2.1
- Changes in ECharts 5.2.0
- Changes in ECharts 5.1.2
- Changes in ECharts 5.1.1
- Changes in ECharts 5.1.0
- [maintenance]
Update dependencies
graceful-fs
to 4.2.10,mime-db
to 1.52.0,mime-type
to 2.1.35, andmkdirp
to 0.5.6.
- [maintenance]
Update dependency
minimist
to 1.26.0. This fixes a prototype pollution vulnerability in theminimist
package, CVE-2021-44906.
- [maintenance]
Update dependencies
graceful-fs
to 4.2.9,qs
to 6.5.4, andsshpk
to 1.17.0.
- [maintenance]
Update dependencies
asn1
to 0.2.6,json-schema
to 0.4.0,jsprim
to 1.4.2,mime-db
to 1.51.0, andmime-types
to 2.1.34.
- [maintenance]
Update dependencies
core-util-is
to 1.0.3,graceful-fs
to 4.2.8,mime-db
to 1.50.0,mime-types
to 2.1.33.
-
[new feature] The port to which the server binds can now be changed by setting the environment variable
PORT
. IfPORT
is not set or is not a valid port number, then the default port 3000 is used. -
[new feature] The hostname which the server shall use can now be changed by setting the environment variable
HOST
. IfHOST
is not set, thenlocalhost
will be used as default.
- [maintenance]
Update dependencies
buffer-from
to 1.1.2,mime-db
to 1.49.0 andmime-types
to 2.1.32.
- [maintenance]
The package dependencies
mime-db
andmime-types
are updated to 1.48.0 and 2.1.31, respectively.
-
[breaking change] The ECharts library is updated from version 4.9.0 to version 5.0.2. Note that ECharts 5.0.0 introduced some breaking changes like using a different default colour scheme or removing the built-in map GeoJSON. A complete list of the changes can be found at https://github.com/apache/echarts/releases/tag/5.0.0. Review this list carefully before using the new version.
-
[breaking change] The default image width is increased from 600 pixels to 700 pixels. Note that you can always specify your desired image width and height via the image size feature that was introduced in version 1.1.0.
[improvement] The generated names for PNG files are using UUIDs (version 4) instead of a Unix timestamp in their name. That is, the JSON output of a successful render will change from something like
{
"success": true,
"filename": "graph-1520685763528.png"
}
to something like
{
"success": true,
"filename": "graph-f254cb3f-d6e3-4eb4-a74b-50586f4208e1.png"
}
instead. While it is highly unlikely that rendering of a plot with ECharts and JavaScript is so fast that two PNG files are created within the same millisecond this change makes sure we are on the safe side here.
Also note that the application never gave any guarantees for the naming pattern
of the generated files in the first place. Therefore, anyone consuming the JSON
response should treat the filename
value as a purely random file name.
[feature]
The dimensions of the generated image can now be adjusted by either adding the
HTTP headers X-Image-Width
and / or X-Image-Height
to the request, or by
adding the members imageWidth
and / or imageHeight
to the POST-ed JSON data.
If both are present and contain acceptable values, then the headers take
precedence. If none of them are specified, the size remains at 600 x 400 pixels
as in version 1.0.0.
See the readme for examples of the new feature.
This is the initial release.