Skip to content

v0.29.0

Compare
Choose a tag to compare
@github-actions github-actions released this 25 Sep 19:41
· 173 commits to main since this release

SQLPage v0.29 : better SQL websites 🎨

  • ✨ New Components: columns for comparisons, foldable for expandable lists.
  • βš™οΈ Improvements: CLI arguments parsing, dynamic database URL, config validation.
  • πŸ› Fixes: UI tweaks, table markdown rendering, shell font, and mobile menu display.

Detailed release notes

  • New columns component: columns. Useful to display a comparison between items, or large key figures to an user.
    • screenshot
  • New foldable component: foldable. Useful to display a list of items that can be expanded individually.
    • screenshot
  • CLI arguments parsing: SQLPage now processes command-line arguments to set the web root and configuration directory. It also allows getting the currently installed version of SQLPage with sqlpage --version without starting the server.
    • $ sqlpage --help
      Build data user interfaces entirely in SQL. A web server that takes .sql files and formats the query result using pre-made configurable professional-looking components.
      
      Usage: sqlpage [OPTIONS]
      
      Options:
        -w, --web-root <WEB_ROOT>        The directory where the .sql files are located
        -d, --config-dir <CONFIG_DIR>    The directory where the sqlpage.json configuration, the templates, and the migrations are located
        -c, --config-file <CONFIG_FILE>  The path to the configuration file
        -h, --help                       Print help
        -V, --version                    Print version
      
  • Configuration checks: SQLPage now checks if the configuration file is valid when starting the server. This allows to display a helpful error message when the configuration is invalid, instead of crashing or behaving unexpectedly. Notable, we now ensure critical configuration values like directories, timeouts, and connection pool settings are valid.
    • ./sqlpage --web-root /xyz
      [ERROR sqlpage] The provided configuration is invalid
      Caused by:
         Web root is not a valid directory: "/xyz"
      
  • The configuration directory is now created if it does not exist. This allows to start the server without having to manually create the directory.
  • The default database URL is now computed from the configuration directory, instead of being hardcoded to sqlite://./sqlpage/sqlpage.db. So when using a custom configuration directory, the default SQLite database will be created inside it. When using the default ./sqlpage configuration directory, or when using a custom database URL, the default behavior is unchanged.
  • New navbar_title property in the shell component to set the title of the top navigation bar. This allows to display a different title in the top menu than the one that appears in the tab of the browser. This can also be set to the empty string to hide the title in the top menu, in case you want to display only a logo for instance.
  • Fixed: The font property in the shell component was mistakingly not applied since v0.28.0. It works again.
  • Updated SQL parser to v0.51.0. Improved INTERVAL parsing.
  • Important note: this version removes support for the SET $variable = ... syntax in SQLite. This worked only with some databases. You should replace all occurrences of this syntax with SET variable = ... (without the $ prefix).
  • slightly reduce the margin at the top of pages to make the content appear higher on the screen.
  • fix the display of the page title when it is long and the sidebar display is enabled.
  • Fix an issue where the color name blue could not be used in the chart component.
  • divider component: Add new properties to the divider component: link, bold, italics, underline, size.
    • image
  • form component: fix slight misalignment and sizing issues of checkboxes and radio buttons.
    • image
  • table component: fixed a bug where markdown contents of table cells would not be rendered as markdown if the column name contained uppercase letters on Postgres. Column name matching is now case-insensitive, so 'title' as markdown will work the same as 'Title' as markdown. In postgres, non-double-quoted identifiers are always folded to lowercase.
  • shell component: fixed a bug where the mobile menu would display even when no menu items were provided.

spreadsheet component

There is a new spreadsheet component that displays your data as an editable excel-like spreadsheet that supports custom formatting.

For licensing reasons, it is not included in the default SQLPage distribution, but you can download it from https://github.com/lovasoa/sqlpage-spreadsheet.