История изменений ODataDB
Версия 5.2 от 05.05.2025
Улучшения:
- Добавлен файл Dockerfile и командные файлы для управления образами и контейнерами Docker.
- При запуске из контейнера теперь прослушиваются все IP-адреса.
Версия 5.1 от 30.04.2025
Изменения в лицензировании:
- ODataDB теперь распространяется по модели двойного лицензирования:
- Редакция Free доступна по лицензии MIT.
- Редакция Enterprise - по обновлённому лицензионному соглашению конечного пользователя (EULA).
- Редакция Free поддерживает до пяти подключений пользователей к одной базе данных.
Важные изменения:
- Локальный CHM-файл справки заменён на онлайн-документацию.
- Прекращена поддержка баз данных DB2 и NuoDB.
Улучшения:
- Если поле или параметр содержит кодированные символы, такие как _x0020_, автоматически добавляется значение display_name с декодированным именем.
- Обновлены примеры приложений на 2025 год.
- Обновлены провайдеры данных SqlClient, MySqlConnector, Npgsql и SQLite.
Исправленные ошибки:
- ODataDB использует двойные кавычки для значений параметров в некоторых SQL-запросах вместо одинарных.
- ODataDB неправильно декодирует имена, содержащие кодированные символы XML, такие как _x0020_.
Версия 5.0 от 07.05.2024
Важные изменения:
- Требуется ASP.NET Core 8.0.
- Microsoft Internet Explorer больше не поддерживается.
- ODataDB 5.0 не включает поставщики данных для Oracle Database и SQLite (их можно установить отдельно).
- Ключ EditRootsстал секцией и включает корневые сегменты и соответствующие страницы. СекцияEditPagesудалена.
- Для работы клиента JavaScript требуется поддержка модулей JavaScript.
- Установочные пакеты ODataDB теперь включают новые настройки приложения и файлы каталога wwwroot. Примеры исключены для упрощения начальной настройки.
Новые возможности:
- Новый мастер setup.exeпозволяет настраивать веб-сайты и приложения IIS, сервисы Windows и сертификаты SSL в Windows. Рекомендуем использовать именно его.
- ODataDB включает новый пакет установщика для Windows.
- В ODataDB добавлена схема аутентификации JWT и настройки страниц входа и регистрации новых пользователей.
- Поддержка аутентификации пользователей через хранимые процедуры с ролями. Например, пользователи могут регистрироваться как покупатели или продавцы и получать соответствующие роли buyerс разными возможностями.
- ODataDB автоматически заменяет тег <base href="/" />для приложений IIS, что позволяет использовать один и тот же каталог wwwroot для веб-сайтов, приложений IIS, сервисов Windows и консольных приложений.
- Разработчики могут настроить изменение имен объектов для сервиса в секции ApiNameReplacementsнастройки подключения. Например, можно изменить имя "view_money_transactions" на "transactions".
- ODataDB автоматически определяет наличие SSL-сертификата в Windows и использует конечные точки HTTPS.
- ODataDB автоматически перенаправляет на конечные точки HTTPS, если доступны как HTTP, так и HTTPS.
- ODataDB позволяет настроить порт по умолчанию.
- Обработчики WhereByDefaultзадают колонки, которые используются в качестве фильтров по умолчанию.
- Обработчики HideByDefaultпозволяют скрывать колонки и параметры по умолчанию.
- ODataDB позволяет изменять сервер, базу данных и порт для подключения (если разрешено). Например, можно использовать адрес типа /edit/mssql:db.savetodb.com,1433,AzureDemo100/для подключения к базе данныхAzureDemo100на сервереdb.savetodb.comпо порту 1433.
- Домашняя страница подключений к базам данных master,mysqlиpostgresпозволяет выбрать доступную базу данных на сервере.
- Клиент JavaScript поддерживает темную тему.
- Клиент JavaScript отображает панель слева для быстрого подключения к любому объекту.
- Клиент JavaScript позволяет фильтровать таблицы.
- Клиент JavaScript поддерживает виды таблиц (используйте надстройку SaveToDB для создания и сохранения видов).
- Клиент JavaScript отображает иконку с описанием таблицы из базы данных.
Улучшения:
- ODataDB поддерживает имя подключения как первый сегмент. Теперь поддерживаются оба варианта: /<root>/<connection>/<query>и /<connection>/<root>/<query>. Например: https://odatadb/edit/mssql/ и https://odatadb/mssql/edit/.
- Обработчики DoNotAddValidationListsотключают автоматическое создание списков значений параметров.
- Схема таблиц настройки приложений используется для поиска объектов без заданных схем.
- Тип tinyint(1) в MySQL трактуется как boolean.
- ODataDB определяет типы колонок хранимых процедур по объектам сохранения изменений.
- ODataDB возвращает массив имен колонок для пустых результатов хранимых процедур с неизвестным набором выходных колонок.
- Поле RowNumberскрыто по умолчанию.
- ODataDB поддерживает переменную среды ASPNETCORE_WEBROOTдля определения папкиwebroot.
- ODataDB позволяет задать базовый путь приложения ASP.NET в свойстве ApplicationPathBase.
- ODataDB может обслуживать конечные точки API без папки wwwroot.
Исправленные ошибки:
- MySqlConnectorNet в Linux вызывает исключение, связанное с _dataCache.
- ODataDB не экранирует переводы строк в мета-данных.
Версия 4.7 от 12.07.2023
Улучшения:
- Улучшена обработка исключений.
Версия 4.6 от 10.04.2023
Улучшения:
- ODataDB позволяет использовать объекты MySQL с пустыми схемами, применяя схему активного соединения.
- Повышена производительность загрузки метаданных SQL Server.
Версия 4.5 от 21.02.2023
Новые возможности:
- ODataDB генерирует списки значений на основе ENUM в MySQL и PostgreSQL.
- ODataDB поддерживает тип данных SET в MySQL.
- ODataDB преобразует данные MySQL binary(16)иvarbinary(16)в формат GUID, если вCOLUMN_DEFAULTиспользуются функцииuuid_to_bin(uuid()),uuid_to_bin(uuid(),0)илиuuid_to_bin(uuid(),1).
Улучшения:
- ODataDB использует поставщик данных MySql.Data.MySqlClient, установленный в системе, вместо встроенного. Это позволяет использовать актуальную версию поставщика: MySQL Connector/NET.
- ODataDB динамически заменяет отсутствующий поставщик MySql.Data.MySqlClientна встроенныйMySqlConnector.
- Улучшена производительность получения метаданных MySQL 8.
Исправленные ошибки:
- Подключение к MySQL 8 с использованием MySql.Data.MySqlClientвызывает различные исключения.
Версия 4.4 от 23.01.2023
Улучшения:
- Обновлены примеры приложений на 2023 год.
- Обновлены поставщик данных .NET и .NET Framework для Snowflake.
- Обновлена утилита регистрации.
Версия 4.3 от 13.12.2022
Улучшения:
- ODataDB поддерживает страницы редактирования, специфичные для языка.
- Включены специальные страницы редактирования для упрощенного и традиционного китайского, японского и корейского языков.
- Добавлена новая темная тема.
- Примеры и пакеты SaveToDB Framework выпущены под лицензией MIT.
Версия 4.2 от 05.10.2022
Исправленные ошибки:
- Значения типа даты и времени в SQLite и MySQL через .NET выводятся в виде строк.
Версия 4.1 от 17.08.2022
Критические изменения:
- ODataDB не активирует сохранение изменений для представлений, процедур и SQL-кода, основанного на соединении нескольких таблиц. Для сохранения изменений таких объектов необходимо вручную задать целевую таблицу в таблице xls.objects.
- Если тип данных свойства или параметра не может быть определен, используется тип Edm.Untyped(добавлен в OData 4.01).
- Списки значений на основе таблиц и представлений всегда публикуются как функции.
- Поля представлений и процедур на основе нескольких таблиц помечаются как расчетные.
- Контекстные параметры для клиентских приложений включаются в состав свойств объектов (например, rownum).
- Если для объекта определена единственная процедура вставки (режим Merge), то объект результата выводится как ComplexType, а неEntityType.
Улучшения:
- Перевод в SQLite с пустыми схемами и именами объектов добавляется в схему Default.
- Улучшено определение полей для списков значений (понижен приоритет GuidиChar(36)).
- Из модели исключаются ссылки на определение аннотаций, если вывод аннотаций не требуется.
Исправленные ошибки:
- ODataDB отключает сохранение процедурами, если задан обработчик изменений _change.
- ODataDB не сохраняет изменения данных из форм JSON.
- Не работает редирект на домашнюю страницу при изменении свойства baseв HTML-страницах.
Версия 4.0 от 05.07.2022
ODataDB включает измененное лицензионное соглашение.
Наиболее важное изменение:
"Приобретая программу от имени вашей компании, вы даете неявное согласие на указание имени вашей компании как нашего клиента. Вы можете отозвать ваше согласие в любой момент, направив запрос по электронной почте."
Новые возможности:
- Добавлена документация ODataDB на русском языке.
- Включено новое Руководство разработчика.
- ODataDB доступен на упрощенном китайском, традиционном китайском, японском и корейском языках.
- Поддерживаются языковые коды длиной до 10 символов. Например, можно использовать zh-cn,zh-hansиzh-hans-cn.zh-hansиzh-hantявляются предпочтительными для китайского языка.
- ODataDB поддерживает SQL-код во всех таблицах настройки.
- ODataDB поддерживает .NET Framework 4.7.2.
- ODataDB поддерживает провайдер Microsoft.Data.SqlClient.
- ODataDB поддерживает конечные точки управления приложением: /v4/$stop,/v4/$show,/v4/$hide. Для включения поддержки команд установитеStopEnabledвtrueв файле настроек приложения.
- ODataDB поддерживает параметр $reloadMetadata=trueв HTTP-запросах для обновления метаданных базы данных. Пользователи могут нажатьCtrlи кликнуть на кнопке Reload для обновления метаданных в клиенте JavaScript.
- ODataDB поддерживает параметр $orderbyв URL-запросах.
- ODataDB поддерживает параметр $binaryAsHexв URL-запросах и параметрbinaryAsHexв заголовкеPrefer.
- ODataDB поддерживает параметр $bigNumbersAsStringв URL-запросах и параметрbigNumbersAsStringв заголовкеPrefer.
- ODataDB поддерживает параметры $timezoneи$timezoneoffsetв URL-запросах и заголовкеPrefer.
- Настройки ODataDB в файле конфигурации выделены в группы ODataDBиODataDBW.
- ODataDB поддерживает новые опции в файле конфигурации: MaxPageSize,UppercaseNamesInLowercase,DisableEditPageCache,BinaryAsHex,BigNumbersAsString,TraceSQL,StopEnabled.
- ODataDB поддерживает новые опции в строках подключения в файле конфигурации: AllowDatabaseChange,Offline,Home.
- ODataDB добавляет заголовок для отключения кэширования: Cache-control: no-cache, no-store, must-revalidate.
- Метаданные объектов включают аннотации для настроенных обработчиков событий.
- ODataDB сортирует результаты таблиц и представлений по умолчанию. Для сортировки могут использоваться первичные ключи, колонки identity или полный набор выходных колонок.
- Разработчики могут реализовать разбивку на страницы для хранимых процедур, используя пары параметров: topиskip,limitиoffset,$topи$skipили$limitи$offset.
- Клиент JavaScript поддерживает фиксацию колонок.
- Клиент JavaScript позволяет выполнять обработчики типа Actions и ContextMenu.
- Клиент JavaScript поддерживает JSON-параметры процедур редактирования.
- Клиент JavaScript поддерживает процедуры обновления одним запросом (bulk update).
Улучшения:
- Платформа ODataDB обновлена до .NET 6.0.
- ODataDB поддерживает SaveToDB Framework 10.
- Клиент JavaScript значительно переработан, включая CSS.
- ODataDB преобразует пустые значения нестроковых типов в NULL.
- ODataDB не добавляет поля @ псевдокода SQL в выходные поля SELECT. Например, id, state, @country_idпреобразуется вSELECT id, state FROM ... WHERE country_id = @country_id.
- Параметры хранимых процедур и SQL-кода могут использовать символы в кодировке XML для получения значений из базовых колонок. Например, параметр @company_x0020_nameполучает значение колонки "company name".
- ODataDB не использует аннотацию IncludeInServiceDocumentдля исключения ошибок в клиентах, использующих предыдущие версии Microsoft ODataLib.
Исправленные ошибки:
- ODataDB не читает объекты SQL Data Warehouse.
- ODataDB возвращает пустой заголовок content-typeдля некоторых ответовtextиHTML.