SaveToDB 10 Change History

SaveToDB 10 Change History

Version 10.12, October 10, 2023

Improvements:

  • A single SaveToDB SDK package includes frameworks and samples for SQL Server, MySQL, and PostgreSQL.
    You may find frameworks and samples for all supported platforms at GitHub.
  • Updated providers: MySqlConnector, Npgsql, Oracle.ManagedDataAccess, and System.Data.SQLite.
  • Improved telemetry log.
  • The setup package does not include the DB RTD add-in. You may install it using a separate package.

Bug fixes:

  • Excel freezes on changing parameter values of filtered tables with dynamic columns.
  • Tables lose sorting rules.
  • MySQL queries sometimes raises MissingMemberException.

Version 10.11, July 12, 2023

Improvements:

  • The Publish Wizard supports Snowflake.

Bug fixes:

  • The add-in does not update validation lists using Update Data and Validations Lists when connected through ODBC.
  • The add-in does not populate a password from the workbook connections when connecting on a new worksheet.
  • The add-in does not allow saving data to Snowflake tables with primary keys but with no identity fields.
  • The registration wizard does not display the names of the available languages.
  • Tables display unsorted data after auto-filter changes via the row above the table.
  • Tables lose sorting rules after loading empty data.
  • Tables lose sorting rules based on the custom sort order.

Version 10.10, April 10, 2023

Improvements:

  • The add-in allows using empty usernames and passwords with DSN connections that allows using external authenticators.
  • The add-in automatically reconnects to Snowflake when the token expired.
  • The add-in allows using MySQL objects with empty schemas. In this case, it uses the schema of the active connection.
  • Significantly improved performance of reordering dynamic columns.
  • Improved performance of loading SQL Server metadata.
  • The add-in detects the target database server of the absent DSNs using specific words in DSN names.
    Otherwise, the add-in detects the unknown server.
    This allows users to easily change the connection using the connection wizard.
    The detected words: SQLSERVER, MSSQL, ORACLE, ORA_ DB2, MYSQL, MARIADB, POSTGRE, PGSQL, NUODB, SNOWFLAKE, and SQLITE.

Bug fixes:

  • The add-in asks for the username and password in distributed workbooks with DSN connections.
  • The add-in incorrectly extracts parameters from the ODBC commandText when the source command contains semicolons.

Version 10.9, February 21, 2023

New features:

  • The add-in generates value lists based on MySQL and PostgreSQL ENUM values.
  • The add-in supports the MySQL SET data type.
  • The add-in 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.
  • The "Save", "Save query data as..." menu item allows saving data in the knex seed format.

Improvements:

  • The add-in uses the MySql.Data.MySqlClient data provider installed on the system.
    Prior, the add-in 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/
  • The add-in dynamically replaces the missing MySql.Data.MySqlClient data provider with the built-in MySqlConnector provider.
  • The add-in has an improved performance of loading MySQL 8 metadata.
  • The ODBC connection dialog box displays the entire connection string.
  • The Snowflake connection dialog box contains Snowflake-specific ODBC options.
  • The add-in reopens Snowflake connections automatically when tokens expire.
  • The add-in clears previously loaded data when saving is disabled.
  • The add-in creates image display handlers automatically when the field length is more than 1024.
  • The "Save Query Data As..." wizard saves and uses the last settings.
  • The add-in appends errors in creating value lists of values to the book information log window.

Bug fixes:

  • The add-in throws various exceptions when connecting to MySQL 8 using the MySql.Data.MySqlClient.
  • The add-in in some cases resets the filter when updating the data.
  • The add-in does not apply the format for rows hidden by auto-filters.
  • The add-in restores deleted columns when reconnected using .NET data providers.

Version 10.8, January 23, 2023

Important

If the "Save" button is disabled after updating the version, check that the table contains a primary key or IDENTITY column.
In previous versions, the add-in allowed saving changes for tables without primary keys, which made the save behavior unstable.

Improvements:

  • SaveToDB examples are updated for 2023.
  • SaveToDB Framework packages are updated.
  • The .NET Framework data provider for Snowflake is updated.
  • The registration wizard is updated.
  • The auto-update tool is updated.

Bug fixes:

  • The add-in makes the hidden header row visible when updating data with .NET Framework data providers.
  • The add-in does not restore sheet formulas when automatically replacing an OLEDB data provider with .NET Framework.
  • The add-in removes leading and trailing spaces in CSV output.
  • The add-in may lose decimal precision when outputting data from databases to CSV.
  • The Text File Connection Wizard shows an exception.
  • Excel crashes when updating data with binary columns.

Version 10.7, December 22, 2022

Bug fixes:

  • Context menu handlers do not populate VBA macro parameters with the actual values.

Version 10.6, December 13, 2022

Important changes:

The SaveToDB frameworks and examples are licensed under the MIT license.

New features:

  • The SelectPeriod handler allows customizing the behavior of date fields and parameters.

Improvements:

  • The Save menu is displayed as Save* if the active table has changes to be saved.
  • The context task pane saves and restores table column widths.
  • The developer guide is updated.
  • The registration wizard is updated.
  • The auto-update tool is updated.

Bug fixes:

  • The add-in loses the fields of the SELECT command when inserting a table with VBA macros.
  • The add-in does not respect the SaveWithoutTransaction handler when saving changes using an intermediary file.

Version 10.5, October 19, 2022

Bug fixes:

  • The add-in does not reapply auto-filters when converting bit and date/time values.
  • The add-in disables its ribbon when using some third-party add-ins or macros.
  • The add-in outputs decimal values in CSV format like 6E+09.00.

Version 10.4, October 13, 2022

Important changes:

Views and procedures designed to control access to application configuration are separated from SaveToDB Framework 10.4 into a separate SaveToDB Framework Extension package.

The base SaveToDB Framework 10 is therefore fully compatible with previous versions.
This allows you to upgrade configurations from previous versions to version 10 without any additional steps.

The SaveToDB Framework Extension package can be installed separately if you want to restrict user access to application configuration.
If you have already installed SaveToDB Framework 10.0, which includes it, you can uninstall the extension using the Application Install Wizard.

Improvements:

  • SaveToDB SDK examples for all platforms updated to SaveToDB Framework 10.4.

Bug fixes:

  • The add-in restores deleted columns after refreshing data via .NET data providers.
  • The add-in outputs integer values in CSV format with two dots, such as 1..00.

Version 10.3, October 10, 2022

Bug fixes:

  • The add-in does not convert booleans to 1s and 0s when loading data through OLEDB and ODBC data providers.

Version 10.2, October 5, 2022

Improvements:

  • The Workbook Information Log tab shows more information about errors and warnings.
  • The add-in continues loading data when loading validation lists with SQL errors.
  • The add-in automatically restores lost .NET connections in validation lists on the SaveToDB_Lists worksheet.
  • The Table Descriptions task pane shows the default comment when the description is empty.

Bug fixes:

  • The add-in disables the Save button when connected via the .NET providers.
  • The add-in imports SQLite and MySQL datetime types via the .NET providers as strings.
  • The add-in does not update validation lists from stored procedures with changed column structures.
  • The add-in breaks validation lists on the SaveToDB_Lists worksheet in some cases.

Version 10.1, August 17, 2022

Breaking changes:

  • The add-in 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.

New features:

  • The add-in supports SaveToDB Framework settings for OData, ODataDB, and DBGate objects similar to settings for databases.
    The add-in supports tables and views in xls.objects, xls.handlers, xls.translations, xls.formats, and xls.workbooks formats.
    For OData services, just publish such objects as EntitySets.
    For ODataDB and DBGate services, the add-in reads such settings from metadata automatically.
  • The add-in allows selecting fields with OData and DBGate queries (adding the $select variable to the query URL).
  • The add-in supports saving changes to EntitySets using Change handlers similar to database tables.
  • The add-in supports saving OData changes using a single update function (Bulk Update).
  • The add-in supports JSON forms via OData and DBGate.
  • The Wizards, Online Examples menu includes new examples for DBGate and OData (refresh the list first).

Improvements:

  • The add-in marks OData model entity type properties with the Core.Permission/Read permissions as Identity.
  • The add-in decodes OData property and parameter names like _x0030_1 to 01 even the translation is not active.
  • The Workbook Information dialog box displays information about OData configuration objects.
  • The Actions menu of the Database and Reports tabs supports visibility settings in the Ribbon Customization Wizard.

Bug fixes:

  • The add-in sometimes does not restore the Application.ScreenUpdating property when using .NET providers.
  • The add-in disables saving by procedures if the _change handler is set.
  • The add-in sometimes loses connection data when using the SqlClient provider.
  • The add-in incorrectly encodes single quotes in OData URLs.
  • The Database Connection Wizard sometimes does not display all available connection providers.
  • The Web Connection Wizard sometimes displays only database providers.
  • The Text File Connection Wizard sometimes displays only database providers.
  • The Web Connection Wizard incorrectly determines service URLs when specifying schemes.
  • The add-in does not switch value list queries when changing ValidationList handlers in some cases.
  • Inserting and updating tables with table totals enabled does not work with .NET providers.

Version 10.0, July 5, 2022

We did a great job improving every aspect of the SaveToDB add-in for database developers and business users.

Here are the highlighted features added to SaveToDB 10:

  • We created Tab Framework to allow business users to create high-quality applications themselves.
  • We suggest a simpler way to create dynamic analytic forms utilizing JSON features with stored procedures.
  • We improved the security features of the SaveToDB Framework to allow hosting multiple applications in a single database.
  • We added online samples for MySQL, PostgreSQL, SQLite, and OData.
  • We added complete support for HTTP commands to allow using REST API everywhere.
  • We added complete support for Basic, Windows, Forms, OAuth1, and OAuth2 authentication schemes to load and save protected data using REST API.
  • We added a description task pane to load Excel table descriptions from a database.
  • We added the possibility to load and save comments in a database.
  • We significantly improved the reload performance for workbooks with a lot of tables.
  • We significantly improved user experience due to automatic updating dependent validation lists and parameter values.
  • We added an auto-update tool to check and install SaveToDB updates by end-users.

We decided to apply existing feature improvements to SaveToDB versions 7/8/9 also.

We recommend updating to the latest versions at least.

And you are welcome to upgrade to SaveToDB 10. Customers with an actual upgrade warranty can do this for free.

Changes in End-User License Agreement:

SaveToDB 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."

SaveToDB Personal edition is available only under the active upgrade warranty. New purchases of SaveToDB Personal are not available.

Breaking changes:

SaveToDB versions 7.31, 8.26, and 9.12 also include the following changes.
No additional steps are required when upgrading from these versions.

  • The add-in adds null values to parameter value lists prepared by stored procedures or SQL queries.
    This feature allows you not to use the rows like SELECT NULL AS id, NULL AS name UNION ALL in your SQL code to get such values.
    Also, this allows getting lists of parameter and cell values using the same procedures.
    After an update, you may need to add the _NotNull value to the TARGET_WORKSHEET field for ParameterValues handlers.
    See the Developer Guide for details.
  • We changed formats of connection strings and authorization data for connecting to web data and text files.
    This change relates to new opportunities for working with the REST API and authorization using OAuth1 and OAuth2 for any provider.
    Also, the new version allows using the connection and authorization settings from databases.
    After updating the add-in, you should update the data and configuration for such requests.
    New connection and authorization data do not work in versions before 7.31, 8.26, and 9.12.
    Therefore, after testing the update, we recommend updating to the newest version for all users.
    We put a lot of effort into testing all the features. SaveToDB 9.12 is the most tested version.

New features:

  • SaveToDB 10 is available in Portuguese, Simplified Chinese, Traditional Chinese, Japanese, and Korean.
  • The add-in 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.
  • The add-in includes the AutoUpdate tool to check and install SaveToDB updates.
    Use Help, Check Updates to launch the wizard manually.
    The check request does not contain personal data. However, we can identify the license owner in internal systems.
    We use this information to count the current licenses more accurately and can provide this information to the owner upon request.
    This feature is useful for companies with a large number of users and frequent replacement of computers.
    You can turn off the checking updates in the utility dialog box if you do not agree with this statement.
  • The add-in has a new redesigned Database Connection Wizard, Web Data Connection Wizard, and Text File Connection Wizard instead of a single Data Connection Wizard.
  • The Application Installer wizard includes SaveToDB Framework 10.
    SaveToDB Framework 10 has new views to select configuration settings checking actual user permissions on schema objects.
    SaveToDB Framework 10 has a new view, xls.users, to allow business users to manage roles, users, and permissions from the Excel context menu.
  • The Application Installer wizard includes Tab Framework.
    The framework allows developers and business users to create and use high-quality database applications with Microsoft Excel.
    The framework has user-friendly tables to configure advanced features of the SaveToDB add-in.
  • The Online Samples menu includes new samples for MySQL, PostgreSQL, SQLite, and OData.
  • The add-in detects object dependencies and updates dependent objects on saving changes of master objects.
  • Developers can use DependsOn and DoNotAddDependsOn handlers to configure object dependencies manually.
  • The add-in supports a new type of dynamic form based on JSON.
    Stored procedures can return JSON with the collections: parameters, columns, rows, and cells.
    The add-in creates a two-dimensional table instead. It correctly supports saving changes and cell change handlers.
    Developers must mark such procedures with the JsonForm handler.
    You can learn the SaveToDB Framework for Dynamic Tables built on top of this feature.
  • The add-in includes a new description task pane.
    The task pane shows values from the TRANSLATED_NAME, TRANSLATED_DESC, and TRANSLATED_COMMENT columns of the translation tables and views.
    This feature allows creating of dynamic language-dependent descriptions of database objects for business users.
  • The add-in saves and restores cell comments.
    Users can turn on or off this feature using the SaveToDB Options dialog box.
    Developers can turn on or off this feature using the KeepComments and DoNotKeepComments handlers.
    Moreover, developers can specify a column used to load and save comments in a database.
  • The cell change handlers can use the @comment variable to get cell comments.
  • Developers can define objects used to load and save table formats explicitly using the LoadFormat and SaveFormat handlers.
  • The Web Data Connection Wizard allows customizing OAuth1 and OAuth2 authentication options.
  • The Database Connection Wizard has a new page to authenticate HTTP queries.
    For example, developers can configure HTTP queries in the xls.objects table.
    The add-in will ask for credentials when a user connects to a web data source for the first time.
  • The add-in supports WHERE and ORDER BY clauses of the web and file queries internally.
    Users and developers can easily load data from the web and files using commands like
    SELECT <fields> FROM <url> [WHERE <conditions>] [ORDER BY <columns>]
    SELECT <fields> FROM <filename> [WHERE <conditions>] [ORDER BY <columns>]
  • The add-in allows using HTTP commands of any type, including GET, POST, PUT, PATCH, and DELETE, in configured objects and handlers.
    Developers can configure REST objects to connect and REST API calls to save changes and handle events.
  • The add-in allows naming worksheets with translated names of inserted objects.
    Use _UseTranslatedName in the TARGET_WORKSHEET columns of the handler configurations and UseTranslatedName in the DEFINITION columns of the workbook configurations.