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_name
of 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
EditRoots
key is now a section that includes edit roots with root pages. TheEditPages
section has been removed. - The JavaScript client now requires browser support for JavaScript modules.
- The DBGate package features new
wwwroot
files and application settings, with sample files excluded for streamlined production use.
New Features
- A new
setup.exe
wizard 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 samewwwroot
files to be used across IIS websites, applications, Windows services, and console applications. - Developers can rename API objects through the
ApiNameReplacements
section 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.
WhereByDefault
handlers define columns used as default where filters.HideByDefault
handlers 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 theAzureDemo100
database on thedb.savetodb.com
server 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/. DoNotAddValidationLists
handlers 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.
RowNumber
columns are hidden by default.- DBGate supports the
ASPNETCORE_WEBROOT
environment variable to define thewebroot
. - You can configure the ASP.NET application path base using the
ApplicationPathBase
configuration value. - DBGate can serve API endpoints even if the
wwwroot
folder is specified or does not exist.
Bug Fixes
- MySqlConnectorNet no longer throws
_dataCache
related 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_DEFAULT
containsuuid_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.objects
table. - 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
Guid
andChar(36)
). $orderby=
now returns data without default sorting.
Bug Fixes
- Saving by procedures is disabled if the
_change
handler 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-hans
andzh-hant
for 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 /$batch
requests are now supported. - New HTTP endpoints for managing the console application:
/api/$stop
,/api/$show
,/api/$hide
. To enable these commands, setStopEnabled
to true in the application settings. - The
$reloadMetadata=true
URL 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=true
URL parameter is now supported to return results usingSELECT DISTINCT
. - The
$orderby
URL parameter is supported. - The
$groupby
URL parameter is supported. - The
$iscount=true
URL parameter returns theSELECT COUNT(*)
result. - The
$binaryAsHex
URL parameter and thebinaryAsHex
parameter in the Prefer header are now supported. - The
$bigNumbersAsString
URL parameter and thebigNumbersAsString
parameter in the Prefer header are now supported. - The
$dateTimeAsDateTimeOffset
URL parameter and the same parameter in the Prefer header are now supported. - The
$timezone
and$timezoneoffset
URL 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_TYPE
property with values: Language, Top, Skip. - Developers can overwrite the
DEFAULT_VALUE
in parameter metadata using the DefaultValue handlers. - DBGate supports paging and the
$top
and$skip
URL parameters. Paging is automatically supported for tables and views. Developers can implement paging for stored procedures programmatically using pairs of parameters:top
andskip
,limit
andoffset
,$top
and$skip
, or$limit
and$offset
. Use theMaxPageSize
setting 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_TYPE
properties are filled withSystem.DbType
values instead of native SQL data types. @
-fields of SQL pseudo-code are no longer added to SELECT output fields. For instance,id, state, @country_id
is 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_name
parameter 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