DBGate Change History
Version 3.2, May 5, 2025
Improvements
- The ODataDB package now includes a Dockerfile and batch files for managing ODataDB Docker images and containers.
- ODataDB listens on all IP addresses when running in a container.
Version 3.1, April 30, 2025
Licensing Changes
- Introduced a dual licensing model:
- The free edition is now licensed under the MIT License.
- The enterprise edition is licensed under the updated End-User License Agreement (EULA).
- The free edition now supports up to five connected users per database.
Breaking Changes
- Removed the local CHM help file; please use the online documentation instead.
- Discontinued support for DB2 and NuoDB.
Improvements
- Updated application examples for 2025.
- Updated data providers: SqlClient, MySqlConnector, Npgsql, and SQLite.
- The
display_nameof columns and parameters with XML-encoded characters (like_x0020_) now reflects the source field name.
Bug Fixes
- ODataDB now uses double quotes instead of single quotes in some SQL commands.
- ODataDB correctly decodes names that contain XML-encoded characters like
_x0020_.
Version 3.0, May 7, 2024
Breaking Changes
- DBGate 3.0 requires ASP.NET Core 8.0.
- Microsoft Internet Explorer is no longer supported.
- Data providers for Oracle Database and SQLite are not included; install them separately.
- The
EditRootskey is now a section that includes edit roots with root pages. TheEditPagessection has been removed. - The JavaScript client now requires browser support for JavaScript modules.
- The DBGate package features new
wwwrootfiles and application settings, with sample files excluded for streamlined production use.
New Features
- A new
setup.exewizard simplifies the configuration of IIS websites, applications, Windows services, and SSL certificates on Windows. - A new Windows installer package is available; we recommend using this for Windows installations.
- DBGate now supports JWT authentication and allows configuration of login, sign-in, and sign-up pages.
- User authentication can be managed via stored procedures, supporting user roles. For example, new users can sign up and log in as buyers or sellers, utilizing roles to provide different features.
- The
<base href="/" />tag for IIS applications is now automatically replaced, allowing the samewwwrootfiles to be used across IIS websites, applications, Windows services, and console applications. - Developers can rename API objects through the
ApiNameReplacementssection in the connection configuration. For example, change a generated name like "view_money_transactions" to "transactions." - DBGate automatically detects available SSL certificates and activates HTTPS endpoints on Windows.
- Automatic redirection to HTTPS endpoints occurs when both HTTP and HTTPS endpoints are served.
- You can now configure the default port.
WhereByDefaulthandlers define columns used as default where filters.HideByDefaulthandlers specify columns and parameters that are hidden by default.- DBGate allows changes to server, databases, and ports in a connection (if enabled). For example, use a URL like
/edit/mssql:db.savetodb.com,1433,AzureDemo100/to connect to theAzureDemo100database on thedb.savetodb.comserver at port 1433. - The index page displays available connections when the connection database is
master,mysql, orpostgres. - The JavaScript client now supports a dark theme.
- The JavaScript client features a left sidebar for one-click connections to any object.
- Table filtering is now available in the JavaScript client.
- The JavaScript client supports table views (use the SaveToDB add-in to create and save views).
- An icon is now available in the JavaScript client to read object descriptions.
Improvements
- DBGate supports using the connection name as the first segment and the API root as the second segment of endpoints. You can use endpoints like /
<root>/<connection>/<query>and /<connection>/<root>/<query>. For example: https://dbgate/edit/mssql/ and https://dbgate/mssql/edit/. DoNotAddValidationListshandlers also disable automatic configuration of parameter value lists.- The configuration table schema is now used as the default schema for configured objects.
- DBGate treats MySQL
tinyint(1)as a boolean. - DBGate detects stored procedure column types through edit objects.
- For stored procedures with unknown column sets, DBGate returns an empty column array.
RowNumbercolumns are hidden by default.- DBGate supports the
ASPNETCORE_WEBROOTenvironment variable to define thewebroot. - You can configure the ASP.NET application path base using the
ApplicationPathBaseconfiguration value. - DBGate can serve API endpoints even if the
wwwrootfolder is specified or does not exist.
Bug Fixes
- MySqlConnectorNet no longer throws
_dataCacherelated exceptions on Linux. - Line-break characters in metadata results are no longer encoded.
Version 2.7, July 12, 2023
Improvements
- Exception handling has been improved.
Version 2.6, April 10, 2023
Improvements
- DBGate now supports MySQL objects with empty schemas, defaulting to the active connection's schema.
- Performance improvements in loading SQL Server metadata.
Version 2.5, February 21, 2023
New Features
- DBGate generates value lists based on MySQL and PostgreSQL ENUM values.
- Support for the MySQL SET data type has been added.
- MySQL
binary(16)andvarbinary(16)data are converted to GUID format whenCOLUMN_DEFAULTcontainsuuid_to_bin(uuid()),uuid_to_bin(uuid(),0), oruuid_to_bin(uuid(),1)functions.
Improvements
- DBGate now uses the MySql.Data.MySqlClient data provider installed on the system, allowing for the latest version to be utilized: MySQL Connector/NET.
- The missing MySql.Data.MySqlClient data provider is dynamically replaced with the built-in MySqlConnector provider.
- Improved performance for loading MySQL 8 metadata.
Bug Fixes
- Resolved various exceptions when connecting to MySQL 8 using MySql.Data.MySqlClient.
Version 2.4, January 23, 2023
Improvements
- Updated DBGate examples for 2023.
- The .NET and .NET Framework data providers for Snowflake have been updated.
- The registration utility has been improved.
Version 2.3, December 13, 2022
Improvements
- Language-specific edit pages are now available.
- Special edit pages for Simplified Chinese, Traditional Chinese, Japanese, and Korean have been added.
- A new dark theme is included.
- SaveToDB frameworks and samples are now released under the MIT license.
Version 2.2, October 5, 2022
Bug Fixes
- DBGate now correctly detects SQLite and MySQL datetime types in SQL code results via the .NET providers as strings.
Version 2.1, August 17, 2022
Breaking Changes
- Saving changes for views, procedures, and SQL code objects based on multiple table joins is disabled. To save changes, manually set the target table in the
xls.objectstable. - Fields of views and procedures based on several tables are now marked as calculated.
- Context parameters for client applications are now included in object properties (e.g.,
rownum).
Improvements
- Translations for SQLite with empty schemas and object names have been added to the Default schema.
- Automatic detection of fields in lists of values has been improved (reduced priority of
GuidandChar(36)). $orderby=now returns data without default sorting.
Bug Fixes
- Saving by procedures is disabled if the
_changehandler is set. - JSON form data is no longer saved.
- Redirects to the home page now work when changing the base property of HTML pages.
Version 2.0, July 5, 2022
Changes in End-User License Agreement
DBGate includes an updated End-User License Agreement. The most significant change is:
"Consent to Be Included in the Client List: By purchasing the software on behalf of your company, you implicitly consent to the listing of your company name as our customer. You can revoke this consent at any time by submitting a request."
New Features
- DBGate is now available in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
- Language codes can be up to 10 characters long. For example, use
zh-cn,zh-hans, andzh-hans-cn. Preferzh-hansandzh-hantfor Chinese. - A completely new Developer Guide has been added.
- Full support for SQL codes in all configuration objects is now available.
- A special package supporting .NET Framework 4.7.2 has been introduced.
- Support for the Microsoft.Data.SqlClient provider has been added.
- OData-compatible batch requests using the
POST /$batchrequests are now supported. - New HTTP endpoints for managing the console application:
/api/$stop,/api/$show,/api/$hide. To enable these commands, setStopEnabledto true in the application settings. - The
$reloadMetadata=trueURL parameter allows reloading database metadata. Users can also press the Ctrl button and click the Reload button in the built-in JavaScript client to refresh metadata. - The
$distinct=trueURL parameter is now supported to return results usingSELECT DISTINCT. - The
$orderbyURL parameter is supported. - The
$groupbyURL parameter is supported. - The
$iscount=trueURL parameter returns theSELECT COUNT(*)result. - The
$binaryAsHexURL parameter and thebinaryAsHexparameter in the Prefer header are now supported. - The
$bigNumbersAsStringURL parameter and thebigNumbersAsStringparameter in the Prefer header are now supported. - The
$dateTimeAsDateTimeOffsetURL parameter and the same parameter in the Prefer header are now supported. - The
$timezoneand$timezoneoffsetURL parameters and the same parameters in the Prefer header are now supported. - Configuration files now contain DBGate settings in the DBGate and DBGateW groups.
- New configuration options include:
MaxPageSize,UppercaseNamesInLowercase,DisableEditPageCache,BinaryAsHex,BigNumbersAsString,FunctionPrefixes,FunctionSuffixes,TraceSQL, andStopEnabled. - New connection configuration options include:
AllowDatabaseChange,Offline, andHome. - The
/schema/name/{id}HTTP endpoints allow selecting a single record by the primary key value. - A new header, "dbgate-version: 2.0," has been added.
- A header to disable caching has been added:
Cache-control: no-cache, no-store, must-revalidate. - Table and view results are sorted by default, using primary keys, identity columns, or the complete output column set.
- Object metadata now includes event handlers.
- Parameter metadata includes the
CONTEXT_TYPEproperty with values: Language, Top, Skip. - Developers can overwrite the
DEFAULT_VALUEin parameter metadata using the DefaultValue handlers. - DBGate supports paging and the
$topand$skipURL parameters. Paging is automatically supported for tables and views. Developers can implement paging for stored procedures programmatically using pairs of parameters:topandskip,limitandoffset,$topand$skip, or$limitand$offset. Use theMaxPageSizesetting to define the maximum page size. - The built-in JavaScript client supports fixed columns (split/unsplit).
- The built-in JavaScript client allows executing handlers of the Actions and ContextMenu types.
- The built-in JavaScript client supports JSON parameters for edit procedures.
- The built-in JavaScript client supports bulk update procedures.
Improvements
- The DBGate .NET platform has been upgraded to .NET 6.0.
- DBGate now supports SaveToDB Framework 10.
- The built-in JavaScript client has undergone significant CSS changes.
- Empty values of non-string data types are converted to NULL.
- The
DATA_TYPEproperties are filled withSystem.DbTypevalues instead of native SQL data types. @-fields of SQL pseudo-code are no longer added to SELECT output fields. For instance,id, state, @country_idis translated toSELECT id, state FROM ... WHERE country_id = @country_id.- Stored procedure and SQL code parameters can use XML-encoded characters to retrieve values from underlying columns. For example, the
@company_x0020_nameparameter retrieves the value of the "company name" field.
Bug Fixes
- DBGate now correctly detects SQL Data Warehouse objects.
- Resolved an empty content-type header for some text or HTML responses.
Contents
- Version 3.2, May 5, 2025
- Version 3.1, April 30, 2025
- Version 3.0, May 7, 2024
- Version 2.7, July 12, 2023
- Version 2.6, April 10, 2023
- Version 2.5, February 21, 2023
- Version 2.4, January 23, 2023
- Version 2.3, December 13, 2022
- Version 2.2, October 5, 2022
- Version 2.1, August 17, 2022
- Version 2.0, July 5, 2022