Skip to content

Releases: ant-m13/ibstart

IBStart 0.7.7

Choose a tag to compare

@github-actions github-actions released this 17 Sep 09:27

0.7.7

Добавлено

  • Добавлен безопасный фоновый расчёт размеров локального кэша для выбранной базы, всех баз текущего списка и базы вместе с вложенными папками. Расчёт последовательно обрабатывает базы, показывает прогресс и сохраняет завершённые результаты даже при ошибке другой базы.
  • Размеры кэша сохраняются в catalog-state.json вместе с датой измерения и признаком полноты. Полный нулевой результат отображается как 0 Б, а неполный — с приблизительным знаком ≈ и предупреждением в карточке базы.
  • В дерево добавлен нейтральный чип Кэш …, в карточку базы — блок «Размеры» с размером, временем измерения и состоянием. Настройка отображения доступна в форме Настройки → Параметры приложения… → Интерфейс → Основные и быстрым пунктом Вид → Показывать размеры кэша в списке баз.
  • После очистки кэша выполняется повторное безопасное сканирование фактического остатка; старое измерение инвалидируется после подтверждения очистки, а ложный 0 Б при отмене или ошибке повторного сканирования не сохраняется.
  • Добавлена отдельная пиктограмма cache_size.ico для команд расчёта размера кэша. ibases.v8i по-прежнему не изменяется этой функциональностью.

Безопасность

  • Расчёт и очистка используют только прежние разрешённые корни кэша, не следуют пути из Connect, не заходят в каталог файловой базы и не пересекают licenses, license, lic или небезопасные reparse point. Недоступные элементы дают частичный результат вместо незаметного точного значения.
  • Измерение инвалидируется при изменении подключения, стабильного идентификатора или удалении базы; переименование с сохранением явного ID сохраняет метрику.

Тесты и документация

  • Добавлены проверки сканирования, отмены, persistence метрик, фоновой очереди результатов и правил миграции/инвалидации.
  • Обновлены руководство пользователя, справочник конфигурации и описание архитектуры.

IBStart 0.7.6

Choose a tag to compare

@github-actions github-actions released this 10 Sep 05:29

0.7.6

Добавлено

  • В контекстное меню базы добавлена команда «Запуск с параметрами…» без подменю. Она открывает отдельное окно для разового выбора режима (Предприятие/Конфигуратор), установленной платформы, типа клиента, разрядности, пользователя 1С, пароля и дополнительных параметров.
  • В окне специального запуска добавлен безопасный предварительный просмотр сформированной команды, а пароль и другие секреты маскируются.
  • Кнопка «Копировать команду» копирует полную сформированную команду без маскирования; предварительный просмотр при этом остается обезличенным.
  • Для новой команды добавлена собственная пиктограмма в стиле owner-draw меню.
  • Добавлен справочник «Настройки → Учётные записи…» с открытым хранением логинов и паролей в settings.json, областью применения по базам и группам и выбором подходящей записи при запуске с параметрами. Групповые правила включают вложенные и новые базы; ссылки к другим спискам и отсутствующим элементам сохраняются для редактирования.
  • Добавлено компактное окно «Настройки → Параметры приложения…» с вкладками «Интерфейс», «Запуск», «Данные» и «Профиль»: в нём собраны основные параметры интерфейса, дополнительные пути поиска платформ 1С, редакторы учётных записей и тегов, лимит недавно открытых списков и операции очистки истории.
  • Для команд «Параметры приложения…» и «Учётные записи…» в меню «Настройки» добавлены отдельные пиктограммы; настройки больше не используют иконку приложения.
  • Размер пиктограммы настроек в меню скорректирован, чтобы она полностью помещалась в выделенной области.
  • Для недавно открытых списков добавлено удаление отдельного пути без удаления самого файла, а для виртуальной ветки «Недавние» — удаление отдельной базы только из истории запусков.
  • Добавлены настройки запуска: открытие последнего списка и восстановление выделения, клиент, разрядность и версия платформы по умолчанию.
  • Добавлены отдельные переключатели подтверждения потенциально разрушающих операций; запуск с секретами не требует отдельного предупреждения.
  • Добавлены настройки внешнего вида: плотность строк дерева, видимость карточки базы и строки состояния.
  • Добавлено управление историей запусков: её можно отключить и ограничить пятью, десятью или двадцатью базами без удаления независимых времён последнего запуска.
  • Для дополнительных путей поиска платформы 1С добавлены команды изменения порядка, а в секцию профиля — кнопка открытия папки собственных данных IBStart.
  • Добавлены экспорт и импорт собственного профиля IBStart в виде папки с settings.json и catalog-state.json; экспорт секретов и их импорт требуют отдельного подтверждения.

Безопасность

  • Параметры специального запуска не изменяют ibases.v8i. Учётные записи сохраняются только явным действием в справочнике; разовые изменения полей запуска их не перезаписывают. Пароли отображаются открыто в полях и справочнике; предварительный просмотр команды и журналы сохраняют маскирование секретов. Наличие секрета само по себе не блокирует запуск и не вызывает отдельного подтверждения.

Исправлено

  • Элементы на вкладках окна «Параметры приложения» снова доступны для мыши и клавиатурной навигации; страницы больше не изолируют их от обработки сообщений диалога.
  • После закрытия окна «Настройки → Параметры приложения…» главная форма снова становится активной без принудительного изменения порядка окон и видимого мигания.
  • Фон групп на вкладках окна настроек приведён к общему фону формы; серые системные области больше не выделяются относительно страницы.
  • На вкладке «Данные» расширены кнопки управления путями и историей, чтобы их подписи отображались полностью.
  • Контекстные меню больше не показывают недоступные команды; разделители и команды добавления для виртуальных корней выводятся только при наличии применимого действия.
  • Значок команды «Теги» в контекстном меню сделан контрастнее и визуально отделён от текста.
  • Для пунктов с вложенными подменю включена единая стандартная системная отрисовка стрелки во всех меню.
  • Подменю «Теги» и «Недавно открытые списки» используют ту же разметку значков, что остальные команды; для «Теги» сохранена прежняя контурная пиктограмма, а стрелки подменю оставлены стандартной отрисовке Windows без дублирования.
  • Отключение автоматического открытия списка теперь действует только при запуске приложения; обновление списка, изменение путей платформ и импорт профиля не очищают уже открытый каталог.
  • Уточнено поведение запуска с секретами: перед запуском отдельное подтверждение не запрашивается; секреты по-прежнему маскируются в журналах и автоматически создаваемых диагностических сообщениях.
  • Импорт профиля требует одновременно settings.json и catalog-state.json, а экспорт в текущий каталог профиля отклоняется до записи, чтобы не потерять учётные записи.

IBStart 0.7.5

Choose a tag to compare

@github-actions github-actions released this 31 Aug 07:32

0.7.5 — 2026-08-31

Улучшено

  • В разделе «Недавние» рядом с базой теперь отображается относительное время последнего запуска; подписи обновляются раз в минуту.

Документация

  • Справочники синхронизированы с текущими «Недавними»: зафиксирован лимит в 20 уникальных баз, источник относительного времени и отсутствие сортировки по last_launches; архитектурное описание дополнено правилами восстановления выделения и покрытием этих сценариев тестами.

Исправлено

  • При обновлении дерева и F5 выбранная база сохраняет виртуальную ветку «Недавние» или «Избранное»; если она исчезла только из этой ветки, выделяется та же база в обычном каталоге, а не соседняя запись.
  • При поиске автоматически раскрываются родительские группы найденных баз; после очистки поиска восстанавливается состояние групп до начала поиска.
  • Парсер строк Connect сохраняет исходные фрагменты, поддерживает ; внутри кавычек, doubled/escaped quotes и повторяющиеся ключи; безопасное редактирование отклоняет незакрытые кавычки вместо молчаливой замены кавычек на апострофы.
  • Каталог ibases.v8i после чтения проверяется на пустые имена, дубли секций и ключей, повторяющиеся идентификаторы, отсутствующих родителей и циклическую иерархию. Неоднозначные записи остаются видимыми по стабильному индексу секции, но операции изменения, перемещения, удаления и сохранения блокируются до исправления файла.
  • Для ID= введён единый fallback на имя базы: одинаковый стабильный идентификатор теперь используется каталогом, тегами, историей, избранным, кэшем и ярлыками. Пустой ID даёт предупреждение, а дублирующийся идентификатор блокирует неоднозначные операции.
  • Документация сортировки приведена к текущему интерфейсу: описаны только команды сортировки прямых потомков корня или выбранной группы по имени; обещания глобального и локального профилей, а также сортировки по времени запуска удалены.
  • Построитель запуска получил typed ConnectionSpec и реестр конфликтов: смешение File/Srvr/Ref/WS, повторные reserved-параметры, raw-режимы, /Proxy с /NoProxy, невалидный или повторный /AppArch и альтернативное /URL теперь блокируют запуск с понятным предупреждением.
  • Очистка кэша при работающем клиенте 1С теперь явно предупреждает о возможной неполной очистке, не завершает процесс и продолжает обработку остальных разрешённых каталогов; итог сообщает о возможном влиянии процесса. Добавлены регрессионные проверки активного процесса и продолжения после ошибки каталога.
  • Очистка кэша корректно работает, когда системный корень %APPDATA% или %LOCALAPPDATA% представлен Windows через junction/alias; reparse point внутри разрешённого пути по-прежнему отклоняется.
  • Протокол сохранения ibases.v8i больше не использует файловый handle цели,
    который приходилось закрывать перед MoveFileExW: именованный mutex IBStart
    удерживается до commit, а атомарная замена выполняется отдельной операцией.
    Добавлены тесты, которые меняют файл и запускают конкурирующее сохранение
    непосредственно на границе commit. Защита распространяется на writers, использующих этот
    протокол; произвольные внешние программы могут не участвовать в mutex, и
    короткое окно TOCTOU для них явно считается остаточным ограничением Windows.

IBStart 0.7.4

Choose a tag to compare

@github-actions github-actions released this 27 Aug 06:10

0.7.4 — 2026-08-26

Исправлено

  • Автоматический выбор платформы предпочитает x64, учитывает явный приоритет x86 и определяет реальную разрядность клиента по PE-файлу даже вне стандартных каталогов установки.
  • Отдельная установка тонкого клиента больше не выбирается для Конфигуратора и толстого клиента; веб-базы используют тонкий клиент с безопасным fallback на браузер или новейшую доступную версию.
  • Все изменения каталога подготавливаются в копии и применяются только после успешной атомарной записи ibases.v8i; теги, избранное, активный путь и история списков больше не расходятся с сохранённым каталогом при ошибках.
  • Ручной, стандартный и недавний списки полностью читаются и проверяются до переключения; подтверждённая пользователем перезапись существующего V8I теперь работает с резервной копией и защитой от внешних изменений.
  • Конкурирующие экземпляры IBStart сериализуют запись одного V8I, повторно проверяют файл непосредственно перед заменой и не объявляют успешную замену неудачной из-за ошибки последующей проверки.
  • Перед запуском с обнаруженным паролем или токеном запрашивается подтверждение; секреты маскируются до Windows-экранирования, включая пароли с пробелами и кавычками, токены, присваивания внутри fallback-строк /IBConnection и сам операнд такой строки. Распознавание не принимает /Path и /Port за короткий ключ /P.
  • Успешный запуск 1С или браузера не превращается в ошибку из-за недоступной истории; журнал отмечает запуск только после успешного создания процесса.
  • После запуска обновляется только раздел «Недавние»: раскрытие групп, выделение и прокрутка основной ветки сохраняются, а запущенная из «Недавних» база остаётся выбранной в этом разделе.
  • Проверка обновлений и операции с кэшем больше не используют detached-потоки: окно сохраняется до остановки и присоединения фоновых потоков, а сетевой запрос и анализ кэша поддерживают кооперативную отмену.
  • Сохранена структура V8I: заголовок файла, комментарии, пустые строки и неизвестные поля не меняют порядок при редактировании или удалении первой секции.
  • Очистка кэша отклоняет неоднозначные идентификаторы и любые каталоги лицензий; стандартные GUID с фигурными скобками обрабатываются без искажения.
  • Ротация журналов соблюдает предел в десять файлов, JSON с данными после корневого объекта отклоняется, а удаление резервных копий затрагивает только файлы с управляемым именем.
  • Имена баз и групп, состоящие только из пробелов, отклоняются; форматированные ключи Connect с пробелами корректно распознаются интерфейсом.

Улучшено

  • Описание продукта в README, свойствах IBStart.exe и окне «О программе» унифицировано как «Менеджер запуска 1С».
  • В меню «Файл» добавлена команда «Выход» с собственной цветной пиктограммой и подсказкой Alt+F4.

Документация и совместимость

  • Добавлена спецификация формата ibases.v8i и полного реестра параметров/команд запуска 1С для дальнейшей реализации и обратной совместимости по версиям платформы.
  • Описание разделено на документы формата ibases.v8i, параметров запуска и интеграционной спецификации без дублирования реестров.
  • Добавлена политика лицензирования материалов 1С:ИТС; MHT-снимки, извлечённые страницы и ресурсы 1С не входят в репозиторий или release-архив.

Тесты и инфраструктура

  • Добавлены регрессионные проверки формирования раздела «Недавние», конкурентных сохранений, подтверждённой перезаписи, обнаружения отдельного тонкого клиента, определения x86 по исполняемому файлу, изолированного поиска платформ, выбора типа клиента, кооперативной отмены фоновых операций, маскирования реальных команд запуска, V8I, кэша, ротации и строгого JSON.
  • Устранены все предупреждения MSVC уровня /W4; для приложения, библиотеки и тестов включён /WX.

IBStart 0.7.3

Choose a tag to compare

@github-actions github-actions released this 24 Aug 13:27

0.7.3 — 2026-08-24

Инфраструктура

  • Добавлен CodeQL-анализ C++: он запускается для pull request в main, изменений main, по еженедельному расписанию и вручную. Анализ использует фактическую MSVC/CMake-сборку приложения и публикует результаты в GitHub Code Scanning.

IBStart 0.7.2

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:51

0.7.2 — 2026-08-24

Добавлено

  • В GitHub Release публикуется IBStart-<версия>-portable-x64.zip. В нём находится пустой IBStart.portable, поэтому после распаковки настройки, метаданные каталога и журнал сразу сохраняются в папке data рядом с приложением.

Инфраструктура

  • Release workflow и CI формируют portable-архив вместо общего ZIP и проверяют, что маркер portable mode включён в архив и остаётся пустым.

Документация

  • Добавлен полный справочник конфигурации: схемы и параметры settings.json, catalog-state.json, ibases.v8i, режимы хранения данных, журналы, кэш и build/release-файлы. README и руководство пользователя синхронизированы с текущими командами и portable-поставкой.
  • Добавлен отдельный список возможных будущих возможностей для обсуждения без обещаний сроков или реализации.

IBStart 0.7.1

Choose a tag to compare

@github-actions github-actions released this 24 Aug 12:14

0.7.1 — 2026-08-24

Исправлено

  • Ручная проверка обновлений больше не использует GitHub REST API с общим лимитом анонимных запросов. Вместо этого приложение получает небольшой release asset IBStart.version по стабильной ссылке последнего релиза.

Тесты и инфраструктура

  • Release workflow публикует IBStart.version вместе с EXE, ZIP и контрольными суммами; CI проверяет его создание, а unit-тесты — разбор и валидацию содержимого.

IBStart 0.7.0

Choose a tag to compare

@github-actions github-actions released this 24 Aug 11:34

0.7.0 — 2026-08-24

Исправлено

  • Сохранение ibases.v8i теперь удерживает файл от конкурентной перезаписи непосредственно до атомарной замены; ошибки обслуживания резервных копий отображаются в журнале.
  • Повреждённые отдельные записи catalog-state.json больше не сбрасывают остальные пользовательские настройки; недоступный существующий файл хранилища корректно сообщает об ошибке.
  • Очистка кэша выполняется вне потока интерфейса, а окно приложения возвращается в рабочее состояние, если не удалось запустить фоновую задачу.
  • Сравнение числовых версий платформы 1С не ограничено размером числа; численно равные версии выбираются по разрядности и пути установки.
  • Защищена передача параметров при повторном запуске уже открытого приложения: данные ограничиваются по размеру и проверяются перед обработкой.

Тесты

  • Добавлены проверки блокировки при сохранении ibases.v8i, устойчивости локального хранилища, числового сравнения версий платформ и экранирования аргументов Windows.

IBStart 0.6.0

Choose a tag to compare

@github-actions github-actions released this 21 Aug 14:24

0.6.0 — 2026-08-21

Добавлено

  • Ручная проверка обновлений через Справка → Проверить обновления…: приложение в фоне сверяет SemVer-версию с последним стабильным GitHub Release и при необходимости открывает страницу релиза в браузере.
  • Отдельная пиктограмма команды проверки обновлений в меню «Справка».
  • При ошибке проверки обновлений диалог предлагает открыть текущий файл журнала.
  • Команда очистки списка недавних баз в разделе «Недавние» и меню «Вид»; удаляется только история запусков.
  • Оценка размера кэша перед очисткой и понятное отображение освобождённого места.
  • Копирование значения или всей строки параметра из таблицы сведений о выбранной базе.
  • Поиск по всем реквизитам базы, включая путь, сервер и строку подключения.
  • Локальные теги баз, поиск по ним и фильтр «Все базы / Избранные / Тег».
  • Настройка цвета фона и текста для каждого тега с отображением в карточке базы.
  • Сортировка всего списка и отдельных папок: исходный порядок, имя или последний запуск.
  • Паспорт базы в основной карточке: локальные сведения о файловой базе и Srvr/Ref для клиент-серверной без доступа к SQL Server.
  • Единое локальное хранилище метаданных каталога catalog-state.json: избранное, история, даты запусков, теги, их стили и настройки сортировки.
  • Виртуальный раздел «Избранное» в дереве располагается перед «Недавними» и обычным каталогом.
  • Наглядное перетаскивание в дереве: запись следует за курсором, подсвечивается место вставки, доступен перенос в группу, корень списка и между соседними записями.
  • Расширенный простой режим: компактное окно сохраняет поиск, список баз, строку подключения, запуск и контекстные команды каталога.
  • Демонстрационный ibases.v8i для ручной проверки и создания скриншотов без реальных подключений и персональных данных.

Исправлено

  • Ручная перестановка и перетаскивание не изменяют невидимый исходный порядок, когда для папки включена сортировка по имени или запуску.
  • Теги с квадратными скобками и кавычками корректно сохраняются и загружаются из catalog-state.json.
  • При обработке legacy веб-подключений сохраняются неизвестные фрагменты адреса.
  • После закрытия внутренних окон редактирования главное окно возвращает активность без принудительного изменения переднего плана.
  • Распознаются форматированные подключения File=… при поиске файловых баз; открытие папки и очистка кэша используют корректные пути.
  • Выбор файловой базы на UNC-пути или подключённом сетевом диске не блокирует окно: карточка не запрашивает размер и дату изменения сетевого 1Cv8.1CD.
  • Карточка базы, меню, диалоги и выбор записи корректно обновляются после редактирования, смены сортировки, перезагрузки списка и работы с тегами.

Инфраструктура

  • Обновлены документация, тесты, релизный процесс и материалы для публичного репозитория.