- updated Apex Charts to v3.52.0 - see https://github.com/apexcharts/apexcharts.js/releases - Fixed a bug where in very specific conditions, sqlpage functions could mess up the order of the arguments passed to a sql query. This would happen when a sqlpage function was called with both a column from the database and a sqlpage variable in its arguments, and the query also contained references to other sqlpage variables **after** the sqlpage function call. An example would be `select sqlpage.exec('xxx', some_column = $a) as a, $b as b from t`. A test was added for this case. - added a new `url_encode` helper for [custom components](https://sql.ophir.dev/custom_components.sql) to encode a string for use in a URL. - fixed a bug where the CSV component would break when the data contained a `#` character. - properly escape fields in the CSV component to avoid generating invalid CSV files. - Nicer inline code style in markdown. - Fixed `width` attribute in the card component not being respected when the specified width was < 6. - Fixed small inaccuracies in decimal numbers leading to unexpectedly long numbers in the output, such as `0.47000000000000003` instead of `0.47`. - [chart component](https://sql.ophir.dev/documentation.sql?component=chart#component) - TreeMap charts in the chart component allow you to visualize hierarchical data structures. - Timeline charts allow you to visualize time intervals. - Fixed multiple small display issues in the chart component. - When no series name nor top-level `title` is provided, display the series anyway (with no name) instead of throwing an error in the javascript console. - Better error handling: Stop processing the SQL file after the first error is encountered. - The previous behavior was to try paresing a new statement after a syntax error, leading to a cascade of irrelevant error messages after a syntax error. - Allow giving an id to HTML rows in the table component. This allows making links to specific rows in the table using anchor links. (`my-table.sql#myid`) - Fixed a bug where long menu items in the shell component's menu would wrap on multiple lines. - Much better error messages when a call to sqlpage.fetch fails.