Skip to content

Releases: sqlpage/SQLPage

v0.13.0

15 Oct 23:09
9cc5817
Compare
Choose a tag to compare

v0.13.0: beautiful timelines and scatter plots

  • New timeline component to display a timeline of events.
  • Add support for scatter and bubble plots in the chart component. See the chart documentation.
  • further improve debuggability with more precise error messages. In particular, it used to be hard to debug errors in long migration scripts, because the line number and position was not displayed. This is now fixed.
  • Better logs on 404 errors. SQLPage used to log a message without the path of the file that was not found. This made it hard to debug 404 errors. This is now fixed.
  • Add a new top_image attribute to the card component to display an image at the top of the card. This makes it possible to create beautiful image galleries with SQLPage.
  • Updated dependencies, for bug fixes and performance improvements.
  • New icons (see https://tabler-icons.io/changelog)
  • When NULL is passed as an icon name, display no icon instead of raising an error.
  • Official docker image folder structure changed. The docker image now expects
    • the SQLPage website (.sql files) to be in /var/www/, and
    • the SQLPage configuration folder to be in /etc/sqlpage/
    • the configuration file should be in /etc/sqlpage/sqlpage.json
    • the database file should be in /etc/sqlpage/sqlpage.db
    • custom templates should be in /etc/sqlpage/templates/
    • This configuration change concerns only the docker image. If you are using the sqlpage binary directly, nothing changes.

Full Changelog: v0.12.0...v0.13.0

v0.12.0

04 Oct 22:32
3ab2795
Compare
Choose a tag to compare

SQLPage Release Notes - Version 0.12.0 🚀

SQLPage is a small web server that renders your SQL queries as beautiful interactive websites. This releases brings exciting features that should make development even easier, faster, and more secure. Let's dive into the exciting innovations of version 0.12.0:

🧮 Variable Support

SQLPage now empowers you with the ability to set and reuse variables between SQL statements. This dynamic feature allows you to craft more complex SQL queries and reuse query results across multiple places in your code. Here's a sneak peek:

-- Set a variable 
SET person = (SELECT username FROM users WHERE id = $id); 
-- Use it in a query 
SELECT 'text' AS component, 'Hello ' || $person AS contents;

🚀 Execute Server-Side Commands with sqlpage.exec

Introducing sqlpage.exec—a powerful function that lets you execute commands on the server. This opens up a world of possibilities, from making external API calls to sending emails and running custom code on the server. Be creative, but remember that with great power comes great responsibility !

SELECT 'card' AS component;
SELECT 
    value->>'name' AS title, 
    value->>'email' AS description 
FROM json_each(sqlpage.exec('curl', 'https://jsonplaceholder.typicode.com/users'));

🛡️ Security

For your security, the sqlpage.exec function is disabled by default. To enable it, simply set the allow_exec configuration parameter to true in the configuration. Please use caution, as enabling this function grants significant server access to anyone who can write SQL queries on your website.

🍔 Menu Items Made Easy

Configuring multiple menu items has never been simpler. Now, syntax like

SELECT 'shell' AS component, '["page 1", "page 2"]' AS menu_item

works as expected. See

🛠️ Database Connection Setup: on_connect.sql

Create the sqlpage/on_connect.sql file to run a SQL script on each database connection before it's used. This versatile feature enables you to customize your database connection with settings like PRAGMA in SQLite, custom variables in PostgreSQL, and more. Explore the endless possibilities!

🚧 Improved Error Handling

Experience more precise and informative error messages with SQLPage. When an error occurs, you'll now receive detailed error positions within the SQL statement. Say goodbye to vague error messages and welcome efficient debugging.

📟 ARM: Hello, Raspberry Pi and Mac M1 Users!

SQLPage now distributes Docker images for ARM architecture, expanding your possibilities for deployment. Whether you're using a Raspberry Pi or a Mac M1, SQLPage is ready to power your projects!

🔒 Enhanced Security by Default

To enhance security, SQLPage now creates the default SQLite database file in the "sqlpage" config directory, making it inaccessible from the web by default. For those who prefer the previous behavior, simply set the database_url configuration parameter to sqlite://sqlpage.db in your configuration.

📜 Empty List Customization

Tailor your list components with precision using the new empty_title, empty_description, and empty_link top-level attributes in the list component. Now you have full control over the text displayed when your list is empty.

🔒 Asynchronous Password Hashing for Enhanced Performance and Security

Say goodbye to request processing bottlenecks! SQLPage used to block a request processing thread while hashing passwords, potentially leaving your site vulnerable to denial of service attacks. Not anymore! SQLPage now launches password hashing operations on a separate thread pool, allowing your application to handle other requests while efficiently hashing passwords.

🔗 URL Parameter Encoding

Introducing sqlpage.url_encode! This function simplifies URL parameter encoding, making it a breeze to create dynamic URLs in your web application.

SELECT 'card' AS component; SELECT 'More...' AS title, 'advanced_search.sql?query=' || sqlpage.url_encode($query)

Upgrade

Upgrade to SQLPage 0.12.0 and elevate your web development game to new heights. We're committed to providing you with the tools and features you need for a seamless, efficient, and secure coding experience.

Get Started with SQLPage | GitHub Repository

Unleash your creativity, streamline your development, and craft extraordinary SQL-driven web applications with SQLPage 0.12.0. Happy coding! 💻🚀

v0.12.0-beta4

01 Oct 02:03
402488d
Compare
Choose a tag to compare
v0.12.0-beta4 Pre-release
Pre-release
Better error messages

v0.12.0-beta3

30 Sep 00:47
b332246
Compare
Choose a tag to compare
v0.12.0-beta3 Pre-release
Pre-release
new feature: sqlpage/on_connect.sql to run sql statements at the begi…

v0.12.0-beta2

28 Sep 12:15
37b8e95
Compare
Choose a tag to compare
v0.12.0-beta2 Pre-release
Pre-release
Beta 2, fixes bugs with non-string variables and

introduces sqlpage.exec

v0.12.0-beta

19 Sep 08:09
3040c80
Compare
Choose a tag to compare
v0.12.0-beta Pre-release
Pre-release

v0.12 Beta release

  • variables . SQLPage now support setting and reusing variables between statements. This allows you to write more complex SQL queries, and to reuse the result of a query in multiple places.
    -- Set a variable
    SET person = 'Alice';
    -- Use it in a query
    SELECT 'text' AS component, 'Hello ' || $person AS contents;

v0.11.1

18 Sep 13:35
cd65c35
Compare
Choose a tag to compare

⚠️ Security update

Fixes a potential exposure of database credentials if they are in the configuration file (not in an environment variable), and the web_root is the current working directory (the default). See #89

Full Changelog: v0.11.0...v0.11.1

v0.11.0

17 Sep 21:04
cc61e23
Compare
Choose a tag to compare

SQLPage Release Notes - Version 0.11.0 🚀

We're thrilled to introduce SQLPage version 0.11.0, packed with exciting new features and enhancements to supercharge your web application development journey. Let's dive into the remarkable improvements this release brings:

Unlock the Power of Environment Variables!

🔐 Support for Environment Variables

In this release, we're introducing a game-changer: the ability to read environment variables directly from your SQL code using sqlpage.environment_variable('VAR_NAME'). This opens up a world of possibilities for dynamic and secure configuration within your SQLPage applications.

Enhanced Database Connectivity

🌐 Better Connection Options for MSSQL

We've expanded our support for database connectivity by providing enhanced connection options for MSSQL. Now, connecting to your Microsoft SQL Server databases is more straightforward and versatile than ever. Notable, you can set your application's name in the connection string, and configure the window size for optimal performance.

Unleash Creativity with New Icons

🎨 Fresh Icons for Every Component

Elevate your UI game with a wide array of new icons available for use across all components. Explore the possibilities and enhance the visual appeal of your web application. Check out the new icons.

Empowering CSS Upgrades

🌟 New CSS Library Version

We've leveled up our CSS library, giving you more power when crafting custom components. Stay on the cutting edge of web design with the latest CSS enhancements. Explore the updates.

Tailored Web Root Configuration

📂 Configure Your Web Root

With the new release, you can now configure SQLPage to start in one directory while serving SQL files from another. This flexibility enables you to structure your project in a way that suits your workflow seamlessly. Learn more in the configuration documentation.

Friendly Welcome Message

👋 A Warm Welcome to SQLPage

Experience a friendlier introduction to SQLPage with our new welcome message:

SQLPage is now running on http://127.0.0.1:8080/
You can write your code in .sql files in /path/to/your/website/directory.`

Empowering Functions for Developers

🧰 New Developer Tools

We've introduced two new functions to empower developers:

  • sqlpage.current_working_directory(): Easily retrieve the current working directory of the SQLPage process.
  • sqlpage.version(): Quickly obtain the version of SQLPage you're using.

Upgrade to SQLPage 0.11.0 today, and embark on a journey of limitless possibilities in web application development. We're dedicated to providing you with the tools and features you need for a seamless and efficient coding experience.

Get Started with SQLPage | GitHub Repository

Unleash your creativity and build extraordinary SQL-driven web applications with SQLPage 0.11.0.

Happy coding! 💻🚀

Full Changelog: v0.10.3...v0.11.0

v0.10.4-beta1

14 Sep 09:48
2d8f4f6
Compare
Choose a tag to compare
mssql connections

v0.10.3

14 Sep 00:27
26cde4f
Compare
Choose a tag to compare
mssql connection string improvements