DBGate Change History

DBGate Change History

Version 2.7, July 12, 2023

Improvements:

  • Improved exception handling.

Version 2.6, April 10, 2023

Improvements:

  • DBGate allows using MySQL objects with empty schemas. In this case, it uses the schema of the active connection.
  • Improved performance of loading SQL Server metadata.

Version 2.5, February 21, 2023

New features:

  • DBGate generates value lists based on MySQL and PostgreSQL ENUM values.
  • DBGate supports the MySQL SET data type.
  • DBGate converts MySQL binary(16) and varbinary(16) data to GUID format when COLUMN_DEFAULT contains uuid_to_bin(uuid()), uuid_to_bin(uuid(),0) or uuid_to_bin(uuid(),1) functions.

Improvements:

  • DBGate uses the MySql.Data.MySqlClient data provider installed on the system.
    Prior, DBGate used the provider shipped with the application.
    This solution allows installing and using the newest version of the provider:
    https://dev.mysql.com/downloads/connector/net/
  • DBGate dynamically replaces the missing MySql.Data.MySqlClient data provider with the built-in MySqlConnector provider.
  • DBGate has an improved performance of loading MySQL 8 metadata.

Bug fixes:

  • DBGate throws various exceptions when connecting to MySQL 8 using the MySql.Data.MySqlClient.

Version 2.4, January 23, 2023

Improvements:

  • DBGate examples are updated for 2023.
  • The .NET and .NET Framework data providers for Snowflake are updated.
  • The registration utility is updated.

Version 2.3, December 13, 2022

Improvements:

  • DBGate allows using language-specific edit pages.
  • DBGate includes special edit pages for Simplified Chinese, Traditional Chinese, Japanese, and Korean.
  • DBGate includes a new dark theme.
  • SaveToDB Frameworks and samples are released under the MIT license.

Version 2.2, October 5, 2022

Bug fixes:

  • DBGate detects SQLite and MySQL datetime types in SQL code results via the .NET providers as strings.

Version 2.1, August 17, 2022

Breaking changes:

  • DBGate does not activate saving changes for views, procedures, and SQL code objects based on joining multiple tables.
    To save changes of such objects, you have to set the target table manually in the xls.objects table.
  • Fields of views and procedures based on several tables are marked as calculated.
  • Context parameters for client applications are included in object properties (for example, rownum).

Improvements:

  • Translations for SQLite and SQL Server Compact with empty schemas and object names are added to the Default schema.
  • Automatic detecting fields of lists of values is improved (reduced priority of Guid and Char(36)).
  • $orderby= returns data without default sorting.

Bug fixes:

  • DBGate disables saving by procedures if the _change handler is set.
  • DBGate does not save JSON form data.
  • Redirect to home page does not 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 important change:

"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 available in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
  • DBGate supports language codes up to 10 characters.
    For example, you can use zh-cn, zh-hans, and zh-hans-cn. zh-hans and zh-hant are preferrable in Chinese.
  • DBGate includes a completely new Developer Guide.
  • DBGate completely supports SQL codes in all configuration objects.
  • DBGate has a special package that supports .NET Framework 4.7.2.
  • DBGate supports the Microsoft.Data.SqlClient provider.
  • DBGate supports the OData-compatible batch requests using the POST /$batch requests.
  • DBGate supports new HTTP endpoints to manage the console application: /api/$stop, /api/$show, /api/$hide.
    To enable commands, set StopEnabled to true in the application settings.
  • DBGate supports the $reloadMetadata=true URL parameter to reload database metadata.
    Users can press the Ctrl button and click the Reload button to reload the metadata in the built-in JavaScript client.
  • DBGate supports the $distinct=true URL parameter to return the results using SELECT DISTINCT.
  • DBGate supports the $orderby URL parameter.
  • DBGate supports the $groupby URL parameter.
  • DBGate supports the $iscount=true URL parameter to return the SELECT COUNT(*) result.
  • DBGate supports the $binaryAsHex URL parameter and the binaryAsHex parameter in the Prefer header.
  • DBGate supports the $bigNumbersAsString URL parameter and the binaryAsHex parameter in the Prefer header.
  • DBGate supports the $dateTimeAsDateTimeOffset URL parameter and the same parameter in the Prefer header.
  • DBGate supports the $timezone and $timezoneoffset URL parameters and the same parameters in the Prefer header.
  • The configuration files contain DBGate settings in the DBGate and DBGateW groups.
  • DBGate supports new configuration options:
    MaxPageSize, UppercaseNamesInLowercase, DisableEditPageCache, BinaryAsHex, BigNumbersAsString, FunctionPrefixes, FunctionSuffixes, TraceSQL, and StopEnabled.
  • DBGate supports new connection configuration options:
    AllowDatabaseChange, Offline, and Home.
  • DBGate supports the /schema/name/{id} HTTP endpoints to select a single record by the primary key value.
  • DBGate adds the "dbgate-version: 2.0" header.
  • DBGate adds the following header to disable caching:
    Cache-control: no-cache, no-store, must-revalidate.
  • DBGate sorts table and view results by default.
    It can use primary keys, identity columns, or the complete output column set.
  • Object metadata includes event handlers.
  • Parameter metadata includes the CONTEXT_TYPE property with the following values: Language, Top, Skip.
  • Developers can overwrite the DEFAULT_VALUE value in the parameter metadata using the DefaultValue handlers.
  • DBGate supports paging and $top and $skip URL parameters.
    It supports paging for tables and views automatically.
    Developers can implement paging for stored procedures programmatically via the following pairs of parameters:
    top and skip, limit and offset, $top and $skip, or $limit and $offset.
    Use the MaxPageSize settings 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 of the edit procedures.
  • The built-in JavaScript client supports bulk update procedures.

Improvements:

  • The DBGate .NET platform upgraded to .NET 6.0.
  • DBGate supports SaveToDB Framework 10.
  • The built-in JavaScript client has a lot of CSS changes.
  • DBGate converts empty values of non-string data types to NULL.
  • DBGate fills the DATA_TYPE properties with System.DbType values instead of native SQL data types.
  • DBGate does not add @-fields of the SQL pseudo-code to SELECT output fields.
    For example, it translates id, state, @country_id to SELECT id, state FROM ... WHERE country_id = @country_id.
  • Stored procedure and SQL code parameters can use XML-encoded characters to get values from underlying columns.
    For example, the @company_x0020_name parameter gets a value of the "company name" field.

Bug fixes:

  • DBGate does not detect SQL Data Warehouse objects.
  • DBGate returns an empty content-type header for some text or HTML responses.