Версии библиотек - QualitySolution/QSProjects GitHub Wiki
Мы поддерживаем версионирование библиотеки для того чтобы, можно было поддерживать версии программ в стабильно заморожено виде. При этом имея возможность исправлять ошибки, не обновляя при этом проекты под модификации в библиотеках, выполненные с момента выпуска релиза.
Все активно развивающиеся проекты, как правило собираются на ветке master. Для выпущенных и поддерживаемых веток\версий программ создаем соответствующие поддерживаемые версии библиотек release\x.y. Это означает что в них мы вносим только исправления. Максимально исключая изменения ломающие обратную совместимость.
Таблица внизу позволяет понять зависимость разных проектов от конкретных версий библиотеки, чтобы иметь общую картину о выпуске новой версии и что на ее будет завязано. И необходимости вносить исправления в старые релизы.
Проект | Версия релиза | Ветка | Версия QSProjects |
---|---|---|---|
Workwear | 2.3 | release/2.3 | 1.1 |
2.4 | release/2.4 | 1.4 | |
2.5 | release/2.5 | 1.5 | |
2.5? | edition/nlmk | 1.5? - outdate | |
2.6 | release/2.6 | 1.6 | |
2.7 | release/2.7 | 1.7 | |
2.8 | release/2.8 | 1.8 | |
2.8 | edition/sposhiv | 1.8 | |
2.9 | master | master | |
CarGlass | 1.7 | release/1.7 | 1.3.1 |
1.8 | master | 1.5 | |
Bazar | 2.3.20 | salova | 1.6 |
2.3.6 | release/2.3 | 1.0 | |
2.4.4 | release/2.4 | 1.1 ??? | |
QSInside | 1.x | master | develop |
- Асинхронный UoW
- Конфигурация приложения сильно переделана под DI частично под DI от MS.
- Удалено много статических классов DeleteConfig, UnitOfWorkFactory, NotifyConfiguration ... используйте внедрение зависимостей.
- UnitOfWork упрощен, оставлен только вариант без главной сущности. Все что касалось IUnitOfWorkGeneric и RootObject удалено. Сделано это для того чтобы UnitOfWork можно было создавать через DI, а не в диалогах, что делает бессмысленным UnitOfWorkProvider который тоже удален.
- Удален интерфейс IBusinessObject и вся связанная с ним логика.
- Удалена библиотека QSCustomFields
- Метод QSMain.CheckServer перенесен в отдельный класс ServerChecker.
- Библиотека полностью переведена на использование MySqlConnector.
- Удалена библиотека QSCurrency.
- Удалена QS.MachineConfig, она была звязана на Nini которая давно не поддерживается. Небольшой рефакторинг окна входа.
- Библиотеки полностью избавлены от Gtk.DataBindings.
- PerformanceHelper перемещен в QS.Utilities.Debug.
- В GammaBinding удалены давно помеченные устаревшими методы SetDataProperty.
- GtkColorAttribute переименовал в ColorNameAttribute и перенес в библиотеку на NetStandart.
- Добавлена библиотека QS.Project.Abstract часть базовых интерфейсов перенесена туда. Потребуется добавление в солюшены.
- Отправка ошибок перенесена в QS.ErrorReporting. DesktopErrorReporter переименован в ErrorReporter, исправлена часть зависимостей.
- Очередной рефактиринг QS.Updater, функциональность разделена на QS.Updater.App и QS.Update.DB.
- Модуль обновления приложения переведен на новую службу работающую по GRPС.
- Удален интерфейс IAutofacScopeHolder и свойство AutofacScope в журналах, с соответствующим рефаторингом создания дочерних view в журналах.
- Удален QSValidator. ObjectValidator полностью его заменяет.
- Для EntryEntity установка параметров фильтра через UseViewModelJournalAndAutocompleter больше не передает функцию действия в журнал, а применяет функцию сама. Что позволяет не добавлять в журнал лишнего кода.
- Удалена SingleSubscribeOnEntity подписка из модуля подписки на обновления объектов.
- Многие классы перемещены в библиотеки NetStandart, для доступности из dotnet проектов.
- Библиотека мониторинга переписана на MVVM. Исправлена опечатка в названии колонки changed_entity_id в таблице history_changes.
- Удален класс UnitOfWorkChild.
- Из модуля удаления удален метод FillFromMetaInfo, так как он использовался для переходного периода.
- Класс ParameterService вынесен в отдельную библиотеку QS.BaseParameters.
- Удалены микро-обновлени, всегда используйте обычные обновления.
- Отправка уведомлений об ошибках теперь идет к новой службе по GRPC в проекты необходимо добавить новую библиотеку QS.ErrorReporting.Client.
- Модуль UnhandledExceptionHandler переписан, избавились от статики, дополнительные обработчики теперь классы, для получения зависимостей теперь используется Autofac.
- Удалена библиотека QS.Osm и QSOsmBaseScripts
- GammaBinding перенесен в репозиторий QSProjects
- Gamma.Util переименована в Gamma.Utilities и переведена в NetStandard.
- Класс ReplaceEntity перемещен в библиотеку QS.Project и сделан нестатическим.
- Обновление пакетов по сравнению с 1.4
- Виджеты LeftSidePanel, RightSidePanel и HideHorizontalSeparator перенесены в Gamma
- Полностью удалены QS.Contacts и QSContacts
- Часть классов переехала в QS.Project.Core и QS.Updater.Core на NetStarnart2.0 скорей всего потребуется добавить ее в зависимости к проектам.
- Удален проект QS.Utilities.dotnet.csproj где он использовался надо переключится на QS.Utilities.csproj теперь он собирается под NetStandart2.0
- Перенес интерфейс IInteractiveService в пространство имен QS.Dialog
- Удалена полностью библиотека QSSupportLib
- Атрибуты для Assambly с описанием проекта перенесены в QS.Project, сервис ApplicationVersionInfo доработан для получения их значений.
- Атрибут с указанием редакции заменен на атрибуть AssemblyModification с указанием модификации, то есть отдельной ветки или отдельной сборки программы. Этот атрибут теперь не является обязательным. То есть сборка пол умолчанию не обязана иметь какую либо редакцию.
- Пространство имен QS.Project.VersionControl переименовано в QS.Project.Versioning, так как первое ассоциировалось с git и прочими системами.
- Все связанное с версиями перенесено в QS.Project.Versioning в том числе класс для проверки версий CheckBaseVersion.
- MainSupport.GetTitle() -> IApplicationInfo.ProductTitle
- Переписан механизм работы с параметрами базы, новый механизм расположен в QS.BaseParameters
- Работа с серийными номерами перенесена в библиотеку QS.Features
- Полностью удален старый механизм отправки сообщений об ошибках, который был в библиотеке QS.Support, используйте только механизм из QS.ErrorReporting
- QSMain.RunAboutDialog() больше не существует, эта функциональность разнесена на AboutView и AboutViewModel, так как AboutView сделана в виде диалога Gtk, она корректно не откроется через NavigatorManager. Запускайте пока вручную. Пример:
- Атрибуты для Assambly с описанием проекта перенесены в QS.Project, сервис ApplicationVersionInfo доработан для получения их значений.
using(var local = AutofacScope.BeginLifetimeScope()) {
var about = local.Resolve<AboutView>();
about.Run();
about.Destroy();
}
- Изменения в модуле QS.ErrorReporting
- UnhandledExceptionHandler.GuiThread теперь настраивается в GtkGuiDispatcher.GuiThread
- Большой рефакторинг модуля обновления QS.Updater *
- Обновление пакетов по сравнению с 1.3
- Удалена QS.FNS
- QSMachineConfig обновлена до QS.MachineConfig
- PhoneFormatter - изменен подход к установке формата телефона, изменен конструктор.
- ModalDialogViewModelBase переименован в WindowDialogViewModelBase
- Перенесен, обновлен и разделен на две библиотеки функционал меню новостей. Теперь он в отдельной библиотеке QS.NewsFeed.