ODataDB Change History

ODataDB Change History

Version 4.1, August 17, 2022

Breaking changes:

  • ODataDB 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.
  • Properties and parameters have the Edm.Untyped type (added in OData 4.01) when the data type cannot be detected.
  • Lists of values based on tables and views are always published as functions.
  • 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).
  • If an object has a single insert procedure (Merge mode), then the result object is published as a ComplexType but not an EntityType.


  • 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)).
  • References to annotation definitions are also excluded from the model if no annotation output is required.

Bug fixes:

  • ODataDB disables saving by procedures if the _change handler is set.
  • ODataDB does not save JSON form data.
  • Redirect to home page does not work when changing the base property of HTML pages.

Version 4.0, July 5, 2022

Changes in End-User License Agreement:

ODataDB 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:

  • ODataDB is available in Simplified Chinese, Traditional Chinese, Japanese, and Korean.
  • ODataDB 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.
  • ODataDB includes a completely new Developer Guide.
  • ODataDB completely supports SQL codes in all configuration objects.
  • ODataDB has a special package that supports .NET Framework 4.7.2.
  • ODataDB supports the Microsoft.Data.SqlClient provider.
  • ODataDB supports new HTTP endpoints to manage the console application: /v4/$stop, /v4/$show, /v4/$hide.
    To enable commands, set StopEnabled to true in the application settings.
  • ODataDB supports the $reloadMetadata=true HTTP-request 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.
  • ODataDB supports the $orderby URL parameter.
  • ODataDB supports the $binaryAsHex URL parameter and the binaryAsHex parameter in the Prefer header.
  • ODataDB supports the $bigNumbersAsString URL parameter and the binaryAsHex parameter in the Prefer header.
  • ODataDB supports the $timezone and $timezoneoffset URL parameters and the same parameters in the Prefer header.
  • The configuration files contain ODataDB settings in the ODataDB and ODataDBW groups.
  • ODataDB supports new configuration options:
    MaxPageSize, UppercaseNamesInLowercase, DisableEditPageCache, BinaryAsHex, BigNumbersAsString, TraceSQL, and StopEnabled.
  • ODataDB supports new connection configuration options:
    AllowDatabaseChange, Offline, and Home.
  • ODataDB adds the following header to disable caching:
    Cache-control: no-cache, no-store, must-revalidate.
  • ODataDB sorts table and view results by default.
    It can use primary keys, identity columns, or the complete output column set.
  • Object metadata includes annotations for configured object handlers.
  • 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.
  • 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.


  • The ODataDB .NET platform upgraded to .NET 6.0.
  • ODataDB supports SaveToDB Framework 10.
  • The built-in JavaScript client has a lot of CSS changes.
  • ODataDB converts empty values of non-string data types to NULL.
  • ODataDB 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.
  • ODataDB does not use the IncludeInServiceDocument annotation to avoid crushing clients that use older versions of Microsoft ODataLib.

Bug fixes:

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