Requirements
Charba is built on JDK 8.
Charba is leveraging on JSINTEROP method to integrate javascript objects and needs the jsinterop-annotations.
Charba has got also a dependency with GWT Web toolkit, when the GWT distribution (which is containing chart widgets and code splitting capabilities) is used.
Charba has got embedded Chart.JS, currently the minified distribution.
Even if Chart.JS leaves the users to select a date adapter, Charba embeds only Luxon as specific date time library, needed to use time or time series axes, because Charba (and Chart.JS) introduces the internationalization and only Luxon can use the browser's INTL platform.
Charba has got embedded Luxon and the specific Chart.JS adapter.
Furthermore Charba has embedded a set of Chart.JS plugins and controllers in order to enrich own features:
- DataLabels plugin
- Labels plugin (former PieceLabels). Due to the project is unmaintained, the plugin has been imported in Charba project and maintained in Charba project
- Zoom plugin
- Annotation plugin
- Chart.js Geo controller
- Chart.js Treemap controller
- Chart.js Matrix controller
- Chart.js Sankey controller
To enable the minifying of javascript and stylesheets objects, not provided out-of-the-box, Charba needs also Google Closure Compiler and Google Closure Stylesheets, invoked only in Ant build.xml.
See here the license matrix.
Component | Version | License |
---|---|---|
JSInterop Annotations | 2.0.0 | Apache 2.0 |
GWT Web Toolkit | 2.9.0 | Apache 2.0 |
Google Closure Compiler | v20210808 | Apache 2.0 |
Google Closure Stylesheets | 1.5.0 | Apache 2.0 |
Chart.JS | 3.5.1 | MIT |
Chart.JS Luxon adapter | 1.1.0 | MIT |
Luxon | 2.0.2 | MIT |
DataLabels | 2.0.0 | MIT |
Zoom | 1.1.1 | MIT |
HammerJS | 2.0.8 | MIT |
Annotation | 1.0.2 | MIT |
Chart Geo | 3.5.1 | MIT |
Chart Treemap | 1.0.2 | MIT |
Chart Matrix | 1.1.0 | MIT |
Chart Sankey | 0.8.0 | MIT |
Browser support
All modern and up-to-date browsers are supported, including, but not limited to:
- Chrome
- Edge
- Firefox
- Safari
As of version 3, Chart.JS has dropped Internet Explorer 11 support, and then Charba has dropped as well, as of version 4.
For more information about browser support, see the details here, where the filter is which browser can support ES6 classes.
Components matrix
The following matrixes are showing the dependencies with version of components which are released in all Charba versions.
Java
Charba | JDK | JsInterop Base | JsInterop Annotations | GWT Web toolkit | Google Closure Compiler | Google Closure Stylesheets |
---|---|---|---|---|---|---|
1.0 | 8 | - | - | 2.8.2 | - | - |
1.1 | 8 | - | - | 2.8.2 | - | - |
1.2 | 8 | - | - | 2.8.2 | - | - |
1.3 | 8 | - | - | 2.8.2 | - | - |
1.4 | 8 | - | - | 2.8.2 | - | - |
1.5 | 8 | - | - | 2.8.2 | - | - |
1.6 | 8 | - | - | 2.8.2 | - | - |
1.7 | 8 | - | - | 2.8.2 | - | - |
2.0 | 8 | - | 1.0.2 | 2.8.2 | - | - |
2.1 | 8 | - | 1.0.2 | 2.8.2 | - | - |
2.2 | 8 | - | 1.0.2 | 2.8.2 | v20190301 | - |
2.3 | 8 | - | 1.0.2 | 2.8.2 | v20190301 | - |
2.4 | 8 | - | 1.0.2 | 2.8.2 | v20190325 | - |
2.5 | 8 | - | 1.0.2 | 2.8.2 | v20190415 | - |
2.6 | 8 | - | 1.0.2 | 2.8.2 | v20190929 | - |
2.7 | 8 | - | 1.0.2 | 2.8.2 | v20191111 | - |
2.8 | 8 | - | 2.0.0 | 2.8.2 | v20200101 | - |
3.0 | 8 | 1.0.0 | 2.0.0 | 2.8.2 | v20200204 | - |
3.1 | 8 | 1.0.0 | 2.0.0 | 2.8.2 | v20200224 | - |
3.2 | 8 | 1.0.0 | 2.0.0 | 2.8.2(2) | v20200504 | - |
3.3 | 8 | 1.0.0 | 2.0.0 | 2.8.2(2) | v20201006 | - |
4.0 | 8(1) | -(3) | 2.0.0 | 2.9.0(2) | v20210505 | - |
4.1 | 8(1) | -(3) | 2.0.0 | 2.9.0(2) | v20210601 | - |
4.2 | 8(1) | -(3) | 2.0.0 | 2.9.0(2) | v20210808 | 1.5.0 |
(1) even if Charba is developed and built on JDK 8, as of version 4.0 it is compiled by JDK 11 and checked by Sonar.io on this version.
(2) even if Charba maintains the dependency with GWT Web toolkit version 2.8.2, it has been successfully tested and works with GWT version 2.9.0. As of Charba version 4.0, there is the dependency with GWT version 2.9.0 but it is continuing working with GWT 2.8.2.
(3) as of Charba version 4.0 the dependency from jsinterop-base has been removed.
CHART.JS core
Charba | Chart.JS | Chart.JS Luxon adapter | Luxon | Chart.JS Moment adapter | Moment | Chart.JS Datefns adapter | Datefns |
---|---|---|---|---|---|---|---|
1.0 | 2.7.1 | - | - | - | - | - | - |
1.1 | 2.7.1 | - | - | - | - | - | - |
1.2 | 2.7.1 | - | - | - | - | - | - |
1.3 | 2.7.1 | - | - | - | - | - | - |
1.4 | 2.7.1 | - | - | - | - | - | - |
1.5 | 2.7.2 | - | - | - | - | - | - |
1.6 | 2.7.2 | - | - | - | - | - | - |
1.7 | 2.7.3 | - | - | - | - | - | - |
2.0 | 2.7.3 | - | - | - | - | - | - |
2.1 | 2.7.3 | - | - | - | - | - | - |
2.2 | 2.8.0 | - | - | - | - | - | - |
2.3 | 2.8.0 | - | - | - | - | - | - |
2.4 | 2.8.0 | - | - | - | - | - | - |
2.5 | 2.8.0 | - | - | - | - | - | - |
2.6 | 2.9.2 | - | - | - | - | - | - |
2.7 | 2.9.3 | - | - | - | - | - | - |
2.8 | 2.9.3 | - | - | - | - | - | - |
3.0 | 2.9.3 | 0.2.0 | 1.22.0 | 0.1.1 | 2.24.0 | 1.0.0 | 2.9.0 |
3.1 | 2.9.3 | 0.2.0 | 1.22.0 | 0.1.1 | 2.24.0 | 1.0.0 | 2.9.0 |
3.2 | 2.9.3 | 0.2.1 | 1.24.1 | 0.1.1 | 2.25.3 | 1.0.0 | 2.9.0 |
3.3 | 2.9.4 | 0.2.2 | 1.25.0 | 0.1.2 | 2.28.0 | 1.0.0 | 2.9.0 |
4.0 | 3.3.2 | 1.0.0 | 1.27.0 | -(1) | -(1) | -(1) | -(1) |
4.1 | 3.5.0 | 1.0.0 | 2.0.1 | -(1) | -(1) | -(1) | -(1) |
4.2 | 3.5.1 | 1.1.0 | 2.0.2 | -(1) | -(1) | -(1) | -(1) |
(1) As of version 4.0, Charba (and Chart.JS version 3.x) introduces the internationalization and only Luxon is leveraging on INTL platform. The other dependencies has been removed.
CHART.JS extensions
Charba | Datalabels | Labels | Zoom | HammerJS | Annotation | Geo | Treemap | Matrix | Sankey |
---|---|---|---|---|---|---|---|---|---|
1.0 | - | - | - | - | - | - | - | - | - |
1.1 | - | - | - | - | - | - | - | - | - |
1.2 | - | - | - | - | - | - | - | - | - |
1.3 | - | - | - | - | - | - | - | - | - |
1.4 | - | - | - | - | - | - | - | - | - |
1.5 | - | - | - | - | - | - | - | - | - |
1.6 | - | - | - | - | - | - | - | - | - |
1.7 | - | - | - | - | - | - | - | - | - |
2.0 | - | - | - | - | - | - | - | - | - |
2.1 | 0.5.0 | 1.1.0 | - | - | - | - | - | - | - |
2.2 | 0.6.0 | 1.1.0 | - | - | - | - | - | - | - |
2.3 | 0.6.0 | 1.1.0 | - | - | - | - | - | - | - |
2.4 | 0.6.0 | 1.1.0 | - | - | - | - | - | - | - |
2.5 | 0.6.0 | 1.1.0 | - | - | - | - | - | - | - |
2.6 | 0.7.0 | 1.1.0 | - | - | - | - | - | - | - |
2.7 | 0.7.0 | 1.1.0 | - | - | - | - | - | - | - |
2.8 | 0.7.0 | 1.1.0 | 0.7.5 | 2.0.8 | 7037eea | - | - | - | - |
3.0 | 0.7.0 | 1.1.0 | 0.7.5 | 2.0.8 | 7037eea | - | - | - | - |
3.1 | 0.7.0 | 1.1.0 | 0.7.5 | 2.0.8 | 7037eea | - | - | - | - |
3.2 | 0.7.0 | 1.1.0 | 0.7.5 | 2.0.8 | 5363042 | - | - | - | - |
3.3 | 0.7.0 | 1.1.0 | 0.7.5 | 2.0.8 | 5363042 | - | - | - | - |
4.0 | 2.0.0-rc.1 | 1.1.0(1) | 1.0.1 | 2.0.8 | 1.0.2 | - | - | - | - |
4.1 | 2.0.0 | 1.1.0(1) | 1.1.1 | 2.0.8 | 1.0.2 | 3.1.0 | - | - | - |
4.2 | 2.0.0 | 1.1.0(1) | 1.1.1 | 2.0.8 | 1.0.2 | 3.5.1 | 1.0.2 | 1.1.0 | 0.8.0 |
(1) The Labels plugin has been heavily changed in order to be compliant with Chart.JS version 3.x) in the Charba project because the original project is unmaintained.