SQLPage is a tool that allows users to create dynamic, SQL-powered websites with minimal coding effort.
This release, v0.31.0, introduces enhanced table functionalities, deeper database integration, smarter search features, and improved debugging with detailed error logs. It also upgrades security and optimizes chart performance, making it easier to build secure data-driven websites.
🚀 New Features
Improved Components
-
- New freeze headers and columns feature improves usability with large tables.
- Enhanced search logic ensures more precise matches (e.g.,
"xy"
no longer matches separatex
andy
cells in adjacent columns). - Search box visibility is retained during horizontal scrolling.
Technical: Addsfreeze_headers
,freeze_columns
, and improves the internal search algorithm.
Database Enhancements
-
Support for New Data Types:
- Microsoft SQL Server now supports
BIT
columns. - Improved handling of
DATETIMEOFFSET
in MSSQL andTIMESTAMPTZ
in PostgreSQL, preserving their timezones instead of converting them to UTC.
- Microsoft SQL Server now supports
-
Better JSON Handling:
- Accept nested JSON objects and arrays as function parameters.
Useful for advanced usage like calling external APIs usingsqlpage.fetch
with complex data structures.
- Accept nested JSON objects and arrays as function parameters.
-
SQL Parser Update:
- Upgraded to v0.52.0 with new features:
- Added support for:
- advanced
JSON_TABLE
usage in MySQL for working with JSON arrays. EXECUTE
statements with parameters in MSSQL for running stored procedures.- MSSQL’s
TRY_CONVERT
function for type conversion. ANY
,ALL
, andSOME
subqueries (e.g.,SELECT * FROM t WHERE a = ANY (SELECT b FROM t2)
).LIMIT max_rows, offset
syntax in SQLite.- Assigning column names aliases using
=
in MSSQL (e.g.,SELECT col_name = value
).
- advanced
- Added support for:
- Fixes a bug where the parser would fail parse a
SET
clause for a variable namedrole
.
- Upgraded to v0.52.0 with new features:
Security and Performance
-
Encrypted Login Support for MSSQL:
- Ensures secure connections with flexible encryption modes:
- No encryption (
?encrypt=not_supported
): For legacy systems and environments where SSL is blocked - Partial encryption (
?encrypt=off
): Protects login credentials but not data packets. - Full encryption (
?encrypt=on
): Secures both login and data.
Technical: Controlled using theencrypt
parameter (not_supported
,off
, orstrict
) in mssql connection strings.
- No encryption (
- Ensures secure connections with flexible encryption modes:
-
Chart Library Optimization:
- Updated ApexCharts to v4.0.0.
- Fixed duplicate library loads, speeding up pages with multiple charts.
- Fixed a bug where timeline chart tooltips displayed the wrong labels.
🛠 Bug Fixes
Database and Compatibility Fixes
-
Microsoft SQL Server:
- Fixed decoding issues for less common data types.
- Resolved bugs in reading
VARCHAR
columns from non-European collations. - Correctly handles
REAL
values.
-
SQLite:
- Eliminated spurious warnings when using SQLPage functions with JSON arguments.
Technical: Avoids warnings likeThe column _sqlpage_f0_a1 is missing
.
- Eliminated spurious warnings when using SQLPage functions with JSON arguments.
Component Fixes
-
Card Component:
-
Form Dropdowns:
- Resolved state retention after form resets, ensuring dropdowns reset correctly.
Usability Enhancements
- Removed unnecessary padding around tables for cleaner layouts.
- Increased spacing between items in the columns component for improved readability.
- Database errors are now consistently logged and displayed with more actionable details.