What’s new in version 1.8?
Schema (metadata) in JSON and CSV (in addition to XML)
SlashDB is unique in providing database APIs in multiple representations: JSON, XML, CSV and HTML. Until now, the schema or metadata has been supported for XML only. We now have support for JSON and CSV. The user friendly HTML representation is coming soon too.
We are deprecating the .xsd extension in favor of a generic ?schema query string.
For example, this URL leads to the JSON representation of data in the response table in the pystreet database:
https://demo.slashdb.com/db/pystreet/response.json?limit=5
Accordingly, the URL for the schema (metadata) will be:
https://demo.slashdb.com/db/pystreet/response.json?schema
For complete documentation on this feature, please see our User Guide at https://docs.slashdb.com/user-guide/developing-with-slashdb/schemas/
Uniform log format across all components
Like many web service applications, SlashDB’s architecture is layered, using components such as a reverse proxy (by default NGINX) and a web application server (uWSGI). The core application and the third party components all log request activity, which can be helpful in diagnosing any issues or performance monitoring.
From this release on, we configured the log format for each component in the same way. This allows users to concatenate log files from all components for analysis (e.g. to trace the full request lifecycle across all stages). We are also shipping a command line tool for gathering all relevant logs in any given time period.
Here’s how it works:
For complete command line, options please use –help.
# /opt/slashdb/bin/slashdb-diag --help Usage: slashdb-diag [OPTIONS] LOG_FILES Tool for collecting log files and config files to help with troubleshooting. Examples: $ slashdb_diag Will try to find configs and logs in standard locations and will save them in a zip file. $ slashdb_diag --ini /path/to/slashdb.ini --nginx-conf /path/to/nginx.conf Will get configs and logs based on the paths provided. $ slashdb_diag /var/log/slashdb/slashdb.log /var/log/slashdb/uwsgi.log --no-combined --no-zip Will get only these two log files and save them in a folder. $ slashdb_diag --start 2023-11-17T16:06:10 --end 2023-11-17T17:06:10 Will get only logs in the given time frame. Options: --ini FILE Path to slashdb.ini. --nginx-conf FILE Path to nginx.conf. --start [%Y-%m-%dT%H:%M:%S] Start date of the logs, YYYY-MM-DDTHH:mm:ss format. --end [%Y-%m-%dT%H:%M:%S] End date of the logs, YYYY-MM-DDTHH:mm:ss format. --configs / --no-configs Whether to include config files. [default: configs] --zip / --no-zip Whether to zip the resulting directory. [default: zip] --combined / --no-combined Whether to combine log files to a single file. [default: combined] --help Show this message and exit.
Encrypt database credentials
Storing credentials that need to be passed to downstream services is challenging. Encryption is an obvious solution, but the application needs to be able to decrypt them when needed and do that unattended on restart. SlashDB now supports passing the secret key from cloud infrastructure to the instance. Please contact our technical support team for more details on using this capability.
Single Sign-on capability for JavaScript and ReactJS SDK
One of the uses for SlashDB is to provide a data backend to web and mobile applications without doing any coding. Authentication is almost always a critical requirements for such applications. In case you did not know, we have open source SDKs for JavaScript and ReactJS. The SDBClient class has new features to enable single sign on. For technical documentation, please see https://slashdb.github.io/js-slashdb/docs/SlashDBClient.html
For a fully functional interactive application, which showcases how to use SlashDB as a backend, including the single sign-on feature, please visit this GitHub project:
https://github.com/SlashDB/taskapp-demo
What’s improved?
Security
- Supports encryption of database credentials
- Prevents sending user’s credentials in HTTP responses
- Adds optional security headers for controlling browser policies for cross-origin resources
- Fixed tests for SAML 2.0 when running on local machine
- Reviewed and fix remaining items from the Netspark test
- Fixed hostname validation
Performance and Core Functionality
Of note are:
- Schema generation, including in streaming mode
- Optional schema validation for posted data
- Enhanced SlashDB JDK for JS/React with SSO OAuth2 (PKCE)
- Ensured there is a unique request identifier in logs where possible
- Fixed problems with GEOGRAPHY type in Microsoft SQL Server
- Updated Snowflake driver due to end of support
- Updated Databricks driver
- Fixed Decimal and Timestamp issues in the new Databricks driver
- Code refactoring in MySQL driver
- Fixed a license validation issue
- Fixed endpoint for database model loading, which could result with unintentional model unload
- Fixed test connection to include all optional settings
- Added database type level TDS_VERSION and trust connection settings for MS SQL
- Fixed JSON rendering of time and timedelta types in SQL Pass-thru
- Fixed limit/offset use with stored procedures in MySQL
User Experience
Various fixes and feature improvements including:
- Allows clicking to filter on cells which contain only spaces
- Normalized error codes related to features that are not implemented in certain contexts
- Displays warning when user could remove a privilege to a query from themselves
- Displays warning about duplicate email when viewing user definition
- Fixed checkbox rules in the Administrative Privileges section of the user configuration screen
- Allows copying of SQL Pass-thru query for users with permission to see the query definition
- Fixed hyperlinks for download
- Fixed filtering links on NULL value
- Fixed minor display anomaly for single column results with empty cells
- Fixed display of values with curly braces
Documentation, Dev/Ops and Testing
- Made Azure distribution compatible with Trusted Launch
- Rewrote instructions for installation on AWS
- Automated about 75% of UI tests
- Updated documentation on slashdb.ini settings, schema
- Code cleanup and refactoring
- Automatically clean up docker images after test runs
- Deprecated URL substitution feature
Connect with us
We invite you to get in touch with us. You can reach us via:
- Gitter.im (chat room)
- StackOverflow (use tag “slashdb” to post questions)
- Contact form
About the image
AI generated by Microsoft Bing powered by DALL-E with manual modifications in GIMP.