Release History
Release 1.10.1
BUGFIX: Fixed missing handling of JS module for HeatmapOptions and HeatmapSeries (closes #207).
Release 1.10.0
ENHANCEMENT: Added User-Agent and Referer support to the ExportServer class to accommodate new security measures on Highsoft’s public Export Server instance.
BUGFIX: Adjusted handling of NumPy datetime64 values to serialize them to Unix epoch-based milliseconds, rather than the default nanoseconds (closes #204).
DOCS: Added examples of adjusting datetime64 values to epoch-based milliseconds (courtesy of @ThomasGL).
Release 1.9.4
BUGFIX: Fixed
TypeError
which occurred on certainnp.isnan()
operations when serializing to JS Literal (courtesy of @ThomasGL) (closes #200).
Release 1.9.3
BUGFIX: Fixed incorrect export serialization of Highcharts Maps for Python map topologies.
BUGFIX: Added support for value
'allow'
toDataLabel.overflow
property. Fixes #198.DOCS: Fixed some typos in documentation (courtesy of @JulienBacquart).
Release 1.9.2
BUGFIX: Resolved over-broad False-y validation of
PieDataLabel.distance
to allow for0
values. Closes #192.BUGFIX: Fixed over-broad False-y validation of
Tooltip.header_format
to allow for empty string values, bringing it in line withTooltip.footer_format
. Closes #193.
Release 1.9.1
ENHANCEMENT: Added stringified JSON serialization of callback functions when serializing via
.to_json(for_export = True)
.
Release 1.9.0
BUGFIX: Fixed missing serialization/de-serialization of
ChartEvents.render
.BUGFIX: Added new
utility_classes.data_labels.PieDataLabel
class to ensure support for the.distance
property on Pie-chart (and descended) data labels. Closes #183.BUGFIX: Fixed
options.chart.height
type validation to accept string values as per JS API. (Issue reported in #184).BUGFIX: Added missing support for
options.plot_options.sunburst.SunburstOptions.border_radius
(issue reported in #184).BUGFIX: Added support for concatenation via + operator in JS literal strings when parsed by
.from_js_literal()
. Closes #185.ENHANCEMENT: Added support for
utility_classes.border_radius.BorderRadius
object.
Release 1.8.2
BUGFIX: Added missing support for
'areaMarker'
legend symbol.DOCS: Fixed some typos (courtesy of @JulienBacquart).
Release 1.8.1
ENHANCEMENT: Added
resources
(files
,js
, andcss
) support to chart export.
Release 1.8.0
BUGFIX: Fixed over-eager trimming of
None
data values when serializing.to_json()
for export via the Export Server. Closes #168.BUGFIX: Fixed
DumbbellSeries.data
incorrect type (reverted fromCartesianData
toRangeData
-descended). Closes #176.BUGFIX: Fixed coercion of datetime.date type values to milliseconds when serializaing
.to_json()
for export via the Export Server.ENHANCEMENT: Added
for_export
as a special parameter to the.to_json()
serialization method to maintain past behavior while simultaneously fixing serialization bugs related to export via the Node Export Server. Extended.trim_dict()
and.trim_iterable()
internal methods withfor_export
support for the same purpose.
Release 1.7.6
BUGFIX: Enabled support for the
'image/svg+xml'
export type when using the Node Export Server. Now supplying a type of'svg'
will coerce (under the hood) to'image/svg+xml'
which supports more extensive rendering options.
Release 1.7.5
BUGFIX: Fixed encoding issue when handling certain exported SVGs from the Node Export Server.
Release 1.7.4
BUGFIX: Fixed incorrect
.to_json()
serialization ofnull
values inside of an iterable.
Release 1.7.3
BUGFIX: Fixed handling of boolean values in
GenericTypeOptions.animation
property.BUGFIX: Fixed incorrect serialization of format strings that begin with
{
and end with}
. In particular, now added an “escape hatch” if the{...}
string is prefixed with$
to ensure proper serialization.BUGFIX: Adjusted export support for Highcharts Node Export Server v.3.1.1.
Release 1.7.2
BUGFIX: Fixed incorrect handling of empty string in
YAxis.title.text
(#171).ENHANCEMENT: Bumped dependency on
requests
tov.2.32
.
Release 1.7.1
BUGFIX: Fixed data collection roundtrip via
.to_json()
/.from_json()
(#169).
Release 1.7.0
ENHANCEMENT: Align the API to Highcharts (JS) v.11.4 (#163). In particular, this includes: * Added
Accessibility.high_contrast_mode
support. * AddedOrganizationOptions.hanging_side
support. * AddedSankeyOptions.node_distance
support. * AddedTreegraphOptions.node_distance
support. * Adjusted diagram (ArcDiagramOptions
,TreegraphOptions
,DependencyWheelOptions
, andSankeyOptions
).node_width
support and documentation.Added
NodeOptions.height
support.
ENHANCEMENT: Added
utility_functions.datetime64_to_datetime()
function to convertnumpy.datetime64
todatetime.datetime
(needed to close #162).
Release 1.6.0
ENHANCEMENT: Align the API to Highcharts (JS) v.11.3 (#146). In particular, this includes:
Added
ChartOptions.axis_layout_runs
property.Added
ColorAxis.height
property.Added
ColorAxis.width
property.Added
Data.column_types
property.Added
Exporting.fetch_options
property.Implemented support for verbose axis date-time unit labelling configuration (see:
DateTimeLabelFormats
).
BUGFIX: Added support for
nodeFormat
andnodeFormatter
to tooltip properties for diagram series (Organization, Dependency Wheel, and Sankey). (#148)ENHANCEMENT: Added ability to remove or override the JavaScript event listener when serializing a chart to a JavaScript literal (#131 - courtesy of @ByronCook ).
ENHANCEMENT: Added support for the
HCP_ALLOW_SPECIAL_IPS
environment variable which allows localhost (or other special URLs) to pass URL validation. (#147)DOCUMENTATION: Fixed typos in Getting Started tutorial. (#149)
DOCUMENTATION: Fixed typos in documentation (courtesy of @karlacio <https://github.com/karlacio> and @maxduganknight <https://github.com/maxduganknight>).
Release 1.5.1
BUGFIX: Fixed bug in JS literal serialization that would misinterpret strings that start with
{
, end with}
, and contain a colon (:
) as an object literal rather than as a string. (#130)
Release 1.5.0
ENHANCEMENT: Align the API to Highcharts (JS) v.11.2 (#127). In particular, this includes:
Added
AxisEvents.point_break_out
property.Added
.node_alignment
property toSankeyOptions
andSankeySeries
.Added
.link_color_mode
property toSankeyOptions
andSankeySeries
.Added
.inactive_other_points
property to multiple series types.Added
.grouping
property to Lollipop series type.Added
.low_marker
property Area Range and Dumbell series types.Added
.show_export_in_progress
and.export_in_progress
support.Added
.drag
annotation event support.
BUGFIX: Fixed missing
.levels
support inTreegraphOptions
andTreegraphSeries
.
Release 1.4.3
BUGFIX: Fixed edge case error when deserializing
ChartOptions
using.from_dict()
with adict
that had been serialized using.to_dict()
which errored on.margin
and.spacing
(#124).
Release 1.4.2
BUGFIX: Fixed location of the
histogram.js
module andbellcurve.js
module to reflect latest changes in Highcharts (JS).
Release 1.4.1
BUGFIX: Fixed handling of
numpy.datetime64
values inDataPointCollection
. (#118)
Release 1.4.0
MAJOR performance gains in the
.to_js_literal()
method. Implementation seems to improve performance by 50 - 90%. (#51)SIGNIFICANT performance gains in the
.to_json()
method. Implementation seems to improve performance by 30 - 90%.ENHANCEMENT: Significantly simplified use of the
.from_pandas()
method to support:creation of multiple series from one DataFrame in one method call
creation of series without needing to specify a full property map
support for creating series by DataFrame row, rather than just by DataFrame column
ENHANCEMENT: Added the
.from_pandas_in_rows()
method to support creation of charts and series from simple two-dimensional DataFrames laid out in rows.ENHANCEMENT: Added one-shot chart creation and rendering from Series objects (#89).
ENHANCEMENT: Added one-shot chart creation using
series
anddata
/series_type
keywords. (#90).ENHANCEMENT: Added
.convert_to()
convenience method to Series objects (#107).ENHANCEMENT: Added
CallbackFunction.from_python()
method which converts a Python function to its JavaScript equivalent using generative AI, with support for both OpenAI and Anthropic (#109).BUGFIX: Fixed instability issues in Jupyter Notebooks, both when operating as a Notebook (outside of Jupyter Lab) and when saved to a static HTML file (#66).
Release 1.3.7
BUGFIX: Fixed bug in
HighchartsMeta.copy()
(#98).BUGFIX: Fixed bug in data point serialization to primitive array.
Release 1.3.6
BUGFIX: Adding missing
menu...Style
properties to Navigation class (#95).
Release 1.3.5
BUGFIX: Fixed validation of style properties in the
Legend
class (#93).
Release 1.3.4
ENHANCEMENT: Converted ButtonTheme into an extensible descendent of JavaScriptDict (#86).
Release 1.3.3
BUGFIX: Added in a missing class extension for
NavigationButtonConfiguration
(#86).
Release 1.3.2
BUGFIX: Fixed incorrect handling when defining a new
Exporting.buttons
context button under a different key name thancontextButton
. (#84).
Release 1.3.1
BUGFIX: Fixed incorrect
style
property deserialization in certain places (#82).
Release 1.3.0
ENHANCEMENT: Modified the way that data points are serialized to JavaScript literal objects. Now, they are serialized to a JavaScript array if their configured properties are those that Highcharts (JS) supports in JavaScript array notation. Otherwise, the code falls back to serialize the data point as a JavaScript object literal. This change is intended to improve performance and reduce the size of the serialized data. (#77)
ENHANCEMENT: Added
__repr__()
method for Highcharts Core for Python classes (#76).ENHANCEMENT: Added
__str__()
method with special handling for difficult-to-read classes (#76).ENHANCEMENT: Added
Chart.get_script_tags()
to retrieve Javascript<script>
tags (#78).ENHANCEMENT: Added
utility_functions.to_snake_case()
function.BUGFIX: Fixed incorrect serialization of datetime and Pandas
Timestamp
objects in.to_dict()
and.to_json()
(#74).BUGFIX: Fixed incorrect serialization of
EnforcedNull
in.to_dict()
and.to_json()
(#75).
Release 1.2.6
BUGFIX: Fixed incorrect handling of an empty string in
Annotation.draggable
property (#71).
Release 1.2.5
BUGFIX: Fixed
ExportServer
handling of data relying on PandasTimestamp
instances.
Release 1.2.4
BUGFIX: Fixed
.from_array()
de-serialization to support propagation of string-typex
values to ``name``(#67).
Release 1.2.3
BUGFIX: Fixed error when loading certain Highcharts (JS) scripts in Jupyter context.
ENHANCEMENT: Increased the default timeout for
Chart.download_chart()
and related.
Release 1.2.2
BUGFIX: Fixed behavior where
Chart.download_chart(format = 'svg')
was incorrectly returning a PNG rather than an SVG ( #63 ).
Release 1.2.1
ENHANCEMENT: Added autoconversion of
plotLine.value
fromdatetime.datetime
to POSIX timestamp (#58).BUGFIX: Fixed incorrect
datetime
serialization to SECONDS from Unix epoch. Now serializing to JS-compatible MILLISECONDS from Unix epoch (#61).
Release 1.2.0
ENHANCEMENT: Align the API to Highcharts (JS) v.11.1 (#52). In particular, this includes:
Added
AccessibilityPoint.description_format
property.Added support for
.legend_symbol
to plot options and series options.Added
.border_radius
support toFunnelOptions
andFunnelSeries
.Added
.interpolation
support toHeatmapOptions
and descendents.Added
.point_description_format
support toSeriesOptions
and descendents.Added
.fill_space
support toTreegraphOptions
and descendents.Added
.crossing
support to axes.Added
.format
support toTooltip
.
ENHANCEMENT: Added support for the inclusion of scripts based on features used in the chart (#12).
ENHANCEMENT: Added
dict
support to.style
property on labels and titles.DOCS: Various documentation updates and fixes.
DEPENDENCY: Bumped
requests
version for security patch.
Release 1.1.1
FIXED: Problem when producing a JS literal, with the JS code inserting an unnecessary
new
(#42 and #43).ENHANCEMENT: Added more elegant error handling when something goes wrong displaying a chart in Jupyter (#43).
Release 1.1.0
Align the API to Highcharts (JS) v.11. In particular, this includes:
Updating documentation for
options.chart.ChartOptions.styled_mode
to align to new v11 design changes.Updated documentation for
options.series.data.base.DataBase.color_index
to align to new v11 design changes.Added new
utility_classes.data_labels.SunburstDataLabel
class to patch missing data label.rotation_mode
property.Updated
options.plot_options.SunburstOptions.data_labels
to acceptSunburstDataLabel
values.Updated documentation of
options.axes.labels.AxisLabelOptions.distance
to reflect new (or newly-documented) behavior.Added new
utility_classes.data_labels.OrganizationDataLabel
class to patch misisng data label. link_text_path
property.Updated
options.plot_options.organization.OrganizationOptions.data_labels
to acceptOrganizationDataLabel
values.Added
.description_format
property tooptions.plot_options.accessibility.TypeOptionsAccessibility
.Added
PictorialOptions
/PictorialSeries
series type with related classes.Added
.minor_ticks_per_major
tooptions.axes.x_axis.XAxisOptions
.Added
.stack_shadow
tooptions.axes.y_axis.YAxisOptions
.Added
.border_radius
toColumnRangeOptions
/ColumnRangeSeries
.Added
.play_as_sand
and.download_midi
toglobal_options.language.Language
.Added
.border_radius
toPieOptions
/PieSeries
.Added
.style
toutility_classes.buttons.CollapseButtonConfiguration
.Added
utility_classes.events.SimulationEvents
and modifiedNetworkGraphOptions
to support.Added
options.sonification
and all related classes.Added series-level
SeriesSonification
to all series.
FIXED: Broken heatmap and tilemap documentation links.
FIXED: Fixed missing
TreegraphOptions
/TreegraphSeries
series type.
Release 1.0.2
DOCUMENTATION: Added documentation of hard dependencies to the README (issue #37).
Release 1.0.1
BUGFIX: Fixed a bug encountered when parsing CSV data (issue #32).
ENHANCEMENT: Added a catch for when trying to set
Chart.options
to aSharedOptions
instance (issue #34).Fixed a broken link in the documentation.
Release 1.0.0
First official release!
Release 1.0.0-rc9
Added demos to documentation.
Release 1.0.0-rc8
BUG: #25. Fixed the edge case where if multiple notebooks are open in Jupyter Labs and different notebooks use the same container, the charts get rendered in one container.
BUG: Fixed bug when serializing a string value equal to
'Date'
.BUG: Fixed boolean handling in
options.legend.LegendOptions.shadow
.Enhancement: Added
.from_array()
support to thedecorators.validate_types()
function.BUG: Fixed data valization in
options.plot_options.pie.PieOptions.end_angle
and.start_angle
.Added
date
anddatetime
support to axis min and max.Added iterable support to
.from_dict()
method.
Release 1.0.0-rc7
Further tweaks to documentation CSS for better accessibility.
Release 1.0.0-rc6
Added CSS overrides to documentation for better accessibility.
Added jQuery to documentation to address issue in Sphinx 6.0 and Sphinx RTD Theme.
Release 1.0.0-rc5
Bug fixes to Jupyter Labs rendering.
Bug fix for timestamp serialization of timezone-naive
datetime
objects.Bug fix: typo in Plot Bands serialization.
Added null support to color validation.
Bug fix in
style
deserialization.Bug fix in
CartesianData.from_array()
.Fixed
NaN
handling in.load_from_pandas()
.Fixed JSON deserialization in
.from_array()
.Added support for stylesheet links in Jupyter Labs context.
Several bug fixes in JS literal serialization.
Major improvements to JavaScript module inclusion.
Release 1.0.0-rc4
Revised the documentation.
Release 1.0.0-rc3
Revised the documentation.
Release 1.0.0-rc2
Closed #18. Fixed bug where loading data from a Pandas Dataframe could produce data points with None values.
Added
HighchartsPandasDeserializationError
andHighchartsPySparkDeserializationError
.
Release 1.0.0-rc1
First public release: Release Candidate 1