SaveToDB 10 Change History
Version 10.16, May 5, 2025
Bug Fixes
- Fixed a WebView2-related exception that occurred when opening web pages.
Version 10.15, April 30, 2025
Licensing Changes
- Introduced a dual licensing model:
- The free edition is now licensed under the MIT License.
- The Standard and Enterprise editions are licensed under the updated End-User License Agreement (EULA).
- The free edition now supports saving changes to database tables.
Breaking Changes
- Removed the local CHM help file; use the online documentation instead.
- Discontinued support for versions 7-9.
- Discontinued online samples for versions 7-9.
- Discontinued support for DB2, NuoDB, and SQL Server Compact.
Improvements
- Updated application examples for 2025.
- Updated data providers: MySqlConnector, Npgsql, Oracle Database, and SQLite.
- Improved performance when loading tables with dynamic columns.
- The add-in now uses WebView2 by default for displaying HTML and authentication forms instead of WebBrowser.
Bug Fixes
- Fixed an issue where the add-in added extra quotes to _EditLink OData fields for key fields of string types.
- Resolved a problem where the add-in failed to save data for ODataDB/DBGate objects with quoted fields and parameters (containing characters like
_x0020_
). - Fixed an issue where the add-in did not save data using procedures with quoted parameters (containing characters like
_x0020_
). - Resolved a problem where the add-in deleted used SelectionList values when clearing unused lists.
- Fixed an issue where the add-in did not load SelectionList values if the object lacked any ValidationList.
Version 10.14, April 30, 2024
Bug Fixes
- Fixed issues with MySqlConnector and Npgsql data providers.
Version 10.13, April 29, 2024
Improvements
- Added high DPI support.
DoNotAddValidationLists
handlers now also disable adding parameter value lists.- The add-in now uses the configuration table schema as the default schema for configured objects.
- The add-in interprets MySQL
tinyint(1)
data type as boolean. - The add-in detects types of stored procedure columns when editing objects.
Bug Fixes
- Resolved the "SslProtocol cannot be none" error in MySqlConnector.
- Fixed an issue where the add-in did not update dependent value lists when filters on underlying objects changed.
Version 10.12, October 10, 2023
Improvements
- A single SaveToDB SDK package now includes frameworks and samples for SQL Server, MySQL, and PostgreSQL. You can find frameworks and samples for all supported platforms on GitHub.
- Updated providers: MySqlConnector, Npgsql, Oracle.ManagedDataAccess, and System.Data.SQLite.
- Enhanced telemetry logging.
- The setup package no longer includes the DB RTD add-in; you can install it using a separate package.
Bug Fixes
- Fixed Excel freezing when changing parameter values of filtered tables with dynamic columns.
- Resolved issues with tables losing sorting rules.
- Fixed instances where MySQL queries raised
MissingMemberException
.
Version 10.11, July 12, 2023
Improvements
- The Publish Wizard now supports Snowflake.
Bug Fixes
- Fixed an issue where the add-in failed to update validation lists when using Update Data and Validation Lists through ODBC.
- Resolved a problem where the add-in did not populate passwords from workbook connections when connecting to a new worksheet.
- Fixed an issue preventing the add-in from saving data to Snowflake tables with primary keys but no identity fields.
- The registration wizard now displays available language names.
- Fixed an issue where tables displayed unsorted data after auto-filter changes via the row above the table.
- Resolved a problem where tables lost sorting rules after loading empty data.
- Fixed an issue where tables lost sorting rules based on custom sort order.
Version 10.10, April 10, 2023
Improvements
- The add-in now allows empty usernames and passwords with DSN connections that support external authenticators.
- The add-in automatically reconnects to Snowflake when the token expires.
- The add-in supports MySQL objects with empty schemas, defaulting to the active connection's schema.
- Significantly improved performance for reordering dynamic columns.
- Enhanced performance for loading SQL Server metadata.
- The add-in detects the target database server of absent DSNs using specific keywords in DSN names, simplifying connection changes via the connection wizard. Recognized keywords include: SQLSERVER, MSSQL, ORACLE, ORA_, MYSQL, MARIADB, POSTGRE, PGSQL, SNOWFLAKE, and SQLITE.
Bug Fixes
- Fixed an issue where the add-in prompted for username and password in distributed workbooks with DSN connections.
- Resolved a problem where the add-in incorrectly extracted parameters from ODBC commandText when the source command contained semicolons.
Version 10.9, February 21, 2023
New Features
- The add-in now 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)
andvarbinary(16)
data to GUID format whenCOLUMN_DEFAULT
containsuuid_to_bin(uuid())
,uuid_to_bin(uuid(),0)
, oruuid_to_bin(uuid(),1)
functions. - The "Save", "Save query data as..." menu item now allows saving data in the knex seed format.
Improvements
- The add-in now uses the MySql.Data.MySqlClient data provider installed on the system instead of the bundled version, allowing for the latest provider version: MySQL Connector/NET.
- The add-in dynamically replaces the missing MySql.Data.MySqlClient data provider with the built-in MySqlConnector provider.
- Improved performance for loading MySQL 8 metadata.
- The ODBC connection dialog box now displays the entire connection string.
- The Snowflake connection dialog box includes Snowflake-specific ODBC options.
- The add-in automatically reopens Snowflake connections 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 exceeds 1024.
- The "Save Query Data As..." wizard now saves and uses the last settings.
- The add-in appends errors encountered while creating value lists to the book information log window.
Bug Fixes
- Fixed an issue where the add-in threw various exceptions when connecting to MySQL 8 using MySql.Data.MySqlClient.
- Resolved a problem where the add-in sometimes reset the filter when updating data.
- Fixed an issue where the add-in did not apply formatting for rows hidden by auto-filters.
- Resolved a problem where the add-in restored deleted columns when reconnected using .NET data providers.
Version 10.8, January 23, 2023
Important
If the "Save" button is disabled after updating, ensure the table contains a primary key or IDENTITY column. In previous versions, the add-in allowed saving changes for tables without primary keys, leading to unstable save behavior.
Improvements
- Updated SaveToDB examples for 2023.
- Updated SaveToDB Framework packages.
- Updated the .NET Framework data provider for Snowflake.
- Updated the registration wizard.
- Updated the auto-update tool.
Bug Fixes
- Fixed an issue where the add-in made the hidden header row visible when updating data with .NET Framework data providers.
- Resolved a problem where the add-in did not restore sheet formulas when automatically replacing an OLEDB data provider with .NET Framework.
- Fixed an issue where the add-in removed leading and trailing spaces in CSV output.
- Resolved a problem where the add-in may have lost decimal precision when outputting data from databases to CSV.
- Fixed an exception displayed by the Text File Connection Wizard.
- Resolved an issue where Excel crashed when updating data with binary columns.
Version 10.7, December 22, 2022
Bug Fixes
- Fixed an issue where context menu handlers did not populate VBA macro parameters with actual values.
Version 10.6, December 13, 2022
Important Changes
The SaveToDB frameworks and examples are now licensed under the MIT license.
New Features
- The SelectPeriod handler allows customizing the behavior of date fields and parameters.
Improvements
- The Save menu displays as "Save*" if the active table has unsaved changes.
- The context task pane now saves and restores table column widths.
- Updated the developer guide.
- Updated the registration wizard.
- Updated the auto-update tool.
Bug Fixes
- Fixed an issue where the add-in lost fields of the SELECT command when inserting a table with VBA macros.
- Resolved a problem where the add-in did not respect the
SaveWithoutTransaction
handler when saving changes using an intermediary file.
Version 10.5, October 19, 2022
Bug Fixes
- Fixed an issue where the add-in did not reapply auto-filters when converting bit and date/time values.
- Resolved a problem where the add-in disabled its ribbon when using certain third-party add-ins or macros.
- Fixed an issue where the add-in output decimal values in CSV format as 6E+09.00.
Version 10.4, October 13, 2022
Important Changes
Views and procedures designed to control access to application configuration have been separated from SaveToDB Framework 10.4 into a separate SaveToDB Framework Extension package.
The base SaveToDB Framework 10 is fully compatible with previous versions, allowing you to upgrade configurations from earlier versions to version 10 without 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
- Updated SaveToDB SDK examples for all platforms to align with SaveToDB Framework 10.4.
Bug Fixes
- Fixed an issue where the add-in restored deleted columns after refreshing data via .NET data providers.
- Resolved a problem where the add-in output integer values in CSV format with two dots, such as 1..00.
Version 10.3, October 10, 2022
Bug Fixes
- Fixed an issue where the add-in did 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 now shows more information about errors and warnings.
- The add-in continues loading data even when loading validation lists encounters SQL errors.
- The add-in automatically restores lost .NET connections in validation lists on the SaveToDB_Lists worksheet.
- The Table Descriptions task pane displays the default comment when the description is empty.
Bug Fixes
- Fixed an issue where the add-in disabled the Save button when connected via .NET providers.
- Resolved a problem where the add-in imported SQLite and MySQL datetime types as strings via .NET providers.
- Fixed an issue where the add-in did not update validation lists from stored procedures with changed column structures.
- Resolved a problem where the add-in broke 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 for such objects, you must manually set the target table in the
xls.objects
table.
New Features
- The add-in supports SaveToDB Framework settings for OData, ODataDB, and DBGate objects, similar to database settings. It supports tables and views in
xls.objects
,xls.handlers
,xls.translations
,xls.formats
, andxls.workbooks
. 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 by 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 and 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
Core.Permission/Read
permissions as Identity. - The add-in decodes OData property and parameter names like
_x0030_1
to01
, even if 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 now supports visibility settings in the Ribbon Customization Wizard.
Bug Fixes
- Fixed an issue where the add-in sometimes did not restore the
Application.ScreenUpdating
property when using .NET providers. - Resolved a problem where the add-in disabled saving by procedures if the
_change
handler was set. - Fixed an issue where the add-in sometimes lost connection data when using the SqlClient provider.
- Resolved a problem where the add-in incorrectly encoded single quotes in OData URLs.
- Fixed an issue where the Database Connection Wizard sometimes did not display all available connection providers.
- Resolved a problem where the Web Connection Wizard sometimes displayed only database providers.
- Fixed an issue where the Text File Connection Wizard sometimes displayed only database providers.
- Resolved a problem where the Web Connection Wizard incorrectly determined service URLs when specifying schemes.
- Fixed an issue where the add-in did not switch value list queries when changing ValidationList handlers in some cases.
- Resolved a problem where inserting and updating tables with table totals enabled did not work with .NET providers.
Version 10.0, July 5, 2022
We made significant improvements to every aspect of the SaveToDB add-in for database developers and business users.
Here are the highlighted features added to SaveToDB 10:
- Created the Tab Framework to help business users build high-quality applications independently.
- Simplified the creation of dynamic analytic forms utilizing JSON features with stored procedures.
- Enhanced security features of the SaveToDB Framework to allow hosting multiple applications in a single database.
- Added online samples for MySQL, PostgreSQL, SQLite, and OData.
- Implemented complete support for HTTP commands to enable REST API usage everywhere.
- Added full support for Basic, Windows, Forms, OAuth1, and OAuth2 authentication schemes to load and save protected data using REST API.
- Introduced a description task pane to load Excel table descriptions from a database.
- Enabled the loading and saving of comments in a database.
- Significantly improved reload performance for workbooks with many tables.
- Enhanced user experience with automatic updates for dependent validation lists and parameter values.
- Added an auto-update tool for end-users to check and install SaveToDB updates.
We applied existing feature improvements to SaveToDB versions 7, 8, and 9 as well.
We recommend updating to the latest versions at a minimum.
Feel free to upgrade to SaveToDB 10. Customers with an active 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 is as follows:
"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 only available under an 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 eliminates the need to use rows likeSELECT NULL AS id, NULL AS name UNION ALL
in your SQL code to get such values.
It also allows obtaining lists of parameter and cell values using the same procedures. After the update, you may need to add the_NotNull
value to theTARGET_WORKSHEET
field for ParameterValues handlers.
See the Developer Guide for details. - We changed the 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.
The new version also allows using 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 prior to 7.31, 8.26, and 9.12.
Therefore, after testing the update, we recommend updating to the newest version for all users.
We put significant effort into testing all the features. SaveToDB 9.12 is the most tested version.
New Features
- SaveToDB 10 is now available in Portuguese, Simplified Chinese, Traditional Chinese, Japanese, and Korean.
- The add-in supports language codes up to 10 characters.
For example, you can usezh-cn
,zh-hans
, andzh-hans-cn
.zh-hans
andzh-hant
are preferable for Chinese. - The add-in includes an AutoUpdate tool to check for and install updates. To run it manually, choose Help > Check for Updates to launch the wizard. 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 computer replacements. You can disable update checking in the utility dialog box if you do not agree with this statement.
- The add-in features redesigned Database Connection Wizard, Web Data Connection Wizard, and Text File Connection Wizard instead of a single Data Connection Wizard.
- The Application Installer wizard now includes SaveToDB Framework 10.
SaveToDB Framework 10 has new views to select configuration settings, checking actual user permissions on schema objects. It also introduces a new view,xls.users
, allowing business users to manage roles, users, and permissions from the Excel context menu. - The Application Installer wizard includes the Tab Framework.
This framework enables developers and business users to create and use high-quality database applications with Microsoft Excel. It features user-friendly tables for configuring advanced features of the SaveToDB add-in. - The Online Samples menu now includes new samples for MySQL, PostgreSQL, SQLite, and OData.
- The add-in detects object dependencies and updates dependent objects when saving changes to master objects.
- Developers can use
DependsOn
andDoNotAddDependsOn
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 collections: parameters, columns, rows, and cells. The add-in creates a two-dimensional table instead, correctly supporting saving changes and cell change handlers. Developers must mark such procedures with the
JsonForm
handler. You can learn more about the SaveToDB Framework for Dynamic Tables built on this feature. - The add-in includes a new description task pane. This task pane displays values from the
TRANSLATED_NAME
,TRANSLATED_DESC
, andTRANSLATED_COMMENT
columns of the translation tables and views. This feature enables the creation of dynamic language-dependent descriptions of database objects for business users. - The add-in saves and restores cell comments. Users can enable or disable this feature using the SaveToDB Options dialog box. Developers can control this feature using the
KeepComments
andDoNotKeepComments
handlers. Additionally, developers can specify a column used to load and save comments in a database. - The cell change handlers can use the
@comment
variable to access cell comments. - Developers can explicitly define objects used to load and save table formats using the
LoadFormat
andSaveFormat
handlers. - The Web Data Connection Wizard allows customizing OAuth1 and OAuth2 authentication options.
- The Database Connection Wizard now includes a new page for authenticating HTTP queries. For example, developers can configure HTTP queries in the
xls.objects
table. The add-in will prompt for credentials when a user connects to a web data source for the first time. - The add-in supports
WHERE
andORDER BY
clauses for 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_WORKSHEETcolumns of the handler configurations and
UseTranslatedNamein the
DEFINITION` columns of the workbook configurations.
Contents
- Version 10.16, May 5, 2025
- Version 10.15, April 30, 2025
- Version 10.14, April 30, 2024
- Version 10.13, April 29, 2024
- Version 10.12, October 10, 2023
- Version 10.11, July 12, 2023
- Version 10.10, April 10, 2023
- Version 10.9, February 21, 2023
- Version 10.8, January 23, 2023
- Version 10.7, December 22, 2022
- Version 10.6, December 13, 2022
- Version 10.5, October 19, 2022
- Version 10.4, October 13, 2022
- Version 10.3, October 10, 2022
- Version 10.2, October 5, 2022
- Version 10.1, August 17, 2022
- Version 10.0, July 5, 2022