Release notes 12-0-0: Difference between revisions

From Svacer Wiki
Line 18: Line 18:
В пользовательских фильтрах реализованы дополнительные возможности фильтрации маркеров:
В пользовательских фильтрах реализованы дополнительные возможности фильтрации маркеров:


1.       Атрибут «'''Период последнего изменения'''» для фильтрации маркеров по дате (периоду) актуальной разметки.
1.  Атрибут «'''Период последнего изменения'''» для фильтрации маркеров по дате (периоду) актуальной разметки.


2.       Поле ввода шаблона расширенного фильтра для фильтрации маркеров по сложным предикатам таким как:
2.   Поле ввода шаблона расширенного фильтра для фильтрации маркеров по сложным предикатам таким как:


*        поля маркера, его трассы, разметки и комментариев;
* поля маркера, его трассы, разметки и комментариев;
*        информацию из контекста (имя проекта, ветки, снимка и т.п.);
* информацию из контекста (имя проекта, ветки, снимка и т.п.);
*        атрибуты снимка (включая пользовательские атрибуты, заданные при импорте);
* атрибуты снимка (включая пользовательские атрибуты, заданные при импорте);
*        статусы разметки;
* статусы разметки;
*        текст и атрибуты комментариев.
* текст и атрибуты комментариев.


Описание, как составить выражение для расширенного фильтра, можно получить кликнув на [[File:icon_question_mark2.png|x25px]].
Описание, как составить выражение для расширенного фильтра, можно получить кликнув на [[File:icon_question_mark2.png|x25px]].
Line 34: Line 34:
В разделе '''Поиск''' выполнены следующие доработки:
В разделе '''Поиск''' выполнены следующие доработки:


1.      Реализована возможность просмотра информации о маркере непосредственно в разделе '''Поиск'''.
1.   Реализована возможность просмотра информации о маркере непосредственно в разделе '''Поиск'''.
[[File:Search-1.png|thumb|none|upright=4]]
[[File:Search-1.png|thumb|none|upright=4]]






2.      Поиск маркеров по полям расширен дополнительными атрибутами:
2.   Поиск маркеров по полям расширен дополнительными атрибутами:


*        Инвариант маркера;
* Инвариант маркера;
*        ID маркера.
* ID маркера.


[[File:Search-2.png|thumb|none|upright=4]]
[[File:Search-2.png|thumb|none|upright=4]]


= Изменения на вкладке с исходным кодом файла =
= Изменения на вкладке с исходным кодом файла =
1.      Панель функций перенесена на верх вкладки с файлом исходного кода.
1.  Панель функций перенесена на верх вкладки с файлом исходного кода.


2.      Добавлена функция добавления файла в фильтр по файлам, а также исключения файла из фильтра, если он был добавлен ранее.
2.  Добавлена функция добавления файла в фильтр по файлам, а также исключения файла из фильтра, если он был добавлен ранее.
[[File:Cove view.png|thumb|none|upright=4.5]]
[[File:Cove view.png|thumb|none|upright=4.5]]


Line 55: Line 55:
В процессе сопоставления маркеров реализована возможность сравнения маркеров. Это помогает пользователю определить причину, почему при импорте снимка маркеры не сопоставились автоматически.
В процессе сопоставления маркеров реализована возможность сравнения маркеров. Это помогает пользователю определить причину, почему при импорте снимка маркеры не сопоставились автоматически.
[[File:Match markers-1.png|thumb|none|upright=3.5]]
[[File:Match markers-1.png|thumb|none|upright=3.5]]


Форма сравнения маркеров открывается в отдельном диалоговом окне.
Форма сравнения маркеров открывается в отдельном диалоговом окне.
Line 68: Line 67:


= Изменения в разделе '''Проекты''' =
= Изменения в разделе '''Проекты''' =
1.   Фокусировка на ветке master при создании нового проекта.
1. Фокусировка на ветке master при создании нового проекта.


2.   В действия над снимком в списке снимков добавлена команда экспорта кода с разметкой. Все команды экспорта снимка вынесены в отдельное меню.
2. В действия над снимком в списке снимков добавлена команда экспорта кода с разметкой. Все команды экспорта снимка вынесены в отдельное меню.
[[File:Project 1.png|thumb|none|upright=4]]
[[File:Project 1.png|thumb|none|upright=4]]


Line 88: Line 87:
В разделе '''Настройки -> Асинхронные задачи''', где доступен просмотр и управление (отмена и откат) следующими асинхронными операциями:
В разделе '''Настройки -> Асинхронные задачи''', где доступен просмотр и управление (отмена и откат) следующими асинхронными операциями:


*        Экспорт snap-файлов;
* Экспорт snap-файлов;
*        Экспорт SARIF;
* Экспорт SARIF;
*        Копирование снимков.
* Копирование снимков.


Пользователь с серверным доступом '''Администрирование сервера''' может просматривать и управлять запущенными или выполненными асинхронными задачами всех юзеров. Пользователю без данного доступа доступно управление только своими асинхронные задачами.
Пользователь с серверным доступом '''Администрирование сервера''' может просматривать и управлять запущенными или выполненными асинхронными задачами всех юзеров. Пользователю без данного доступа доступно управление только своими асинхронные задачами.
Line 98: Line 97:
'''Примечание''': в следующем релизе планируем интегрировать в данный раздел оставшиеся асинхронные операции, которые запускаются пользователями, а именно:
'''Примечание''': в следующем релизе планируем интегрировать в данный раздел оставшиеся асинхронные операции, которые запускаются пользователями, а именно:


*        Импорт snapshot;
* Импорт snapshot;
*        Импорт svace-dir;
* Импорт svace-dir;
*        Импорт SARIF;
* Импорт SARIF;
*        Копирование проекта;
* Копирование проекта;
*        Копирование ветки.
* Копирование ветки.


= Изменения в разделе '''Информация о сервере''' =
= Изменения в разделе '''Информация о сервере''' =
В разделе '''Настройки -> Информация о сервере''', который доступен пользователям с серверным доступом '''Администрирование сервера''', представление информации разделено на три вкладки:
В разделе '''Настройки -> Информация о сервере''', который доступен пользователям с серверным доступом '''Администрирование сервера''', представление информации разделено на три вкладки:


*        Параметры;
* Параметры;
*        Системный лог;
* Системный лог;
*        Системный журнал.
* Системный журнал.


Т.к. системный лог может иметь большой размер, то вывод информации на форме ограничен последними 1Мб (значение регулируется переменной окружения SVACER_TAIL_LOG_SIZE). Скачивание лога позволяет выгрузить файл полностью.
Т.к. системный лог может иметь большой размер, то вывод информации на форме ограничен последними 1Мб (значение регулируется переменной окружения SVACER_TAIL_LOG_SIZE). Скачивание лога позволяет выгрузить файл полностью.

Revision as of 10:39, 14 October 2025

Разметка маркеров с помощью AI

Добавлена возможность разметки маркеров с помощью ассистента AI, который на основании модели, обученной на множестве размеченных данных, предсказывает статус разметки маркера False Positive или Confirmed.

Если пользователь применяет предсказанный статус маркера, то к маркеру автоматически добавляется комментарий с информацией о дате разметки, используемой модели AI и уровне доверия, также маркеру добавляется метка AI.

Примечание: прогнозируемый ассистентом AI статус разметки маркера носит рекомендательный характер. Окончательное решение о применении предсказанного моделью статуса остается за пользователем.

Форма разметки с помощью AI открывается путем активации параметра Режим разметки с помощью AI на стандартных формах разметки маркера или групповой разметки маркера.

Если текущий статус разметки маркера совпадает со статусом, предсказанным моделью AI, то такой маркер повторно разметить с помощью AI нельзя.

Форма разметки одного маркера
Форма групповой разметки маркеров

Изменения в пользовательских фильтрах

В пользовательских фильтрах реализованы дополнительные возможности фильтрации маркеров:

1.  Атрибут «Период последнего изменения» для фильтрации маркеров по дате (периоду) актуальной разметки.

2.   Поле ввода шаблона расширенного фильтра для фильтрации маркеров по сложным предикатам таким как:

  • поля маркера, его трассы, разметки и комментариев;
  • информацию из контекста (имя проекта, ветки, снимка и т.п.);
  • атрибуты снимка (включая пользовательские атрибуты, заданные при импорте);
  • статусы разметки;
  • текст и атрибуты комментариев.

Описание, как составить выражение для расширенного фильтра, можно получить кликнув на .

Изменения в разделе Поиск

В разделе Поиск выполнены следующие доработки:

1.   Реализована возможность просмотра информации о маркере непосредственно в разделе Поиск.


2.   Поиск маркеров по полям расширен дополнительными атрибутами:

  • Инвариант маркера;
  • ID маркера.

Изменения на вкладке с исходным кодом файла

1.  Панель функций перенесена на верх вкладки с файлом исходного кода.

2.  Добавлена функция добавления файла в фильтр по файлам, а также исключения файла из фильтра, если он был добавлен ранее.

Сравнение маркеров при их сопоставлении

В процессе сопоставления маркеров реализована возможность сравнения маркеров. Это помогает пользователю определить причину, почему при импорте снимка маркеры не сопоставились автоматически.

Форма сравнения маркеров открывается в отдельном диалоговом окне.

Просмотр JSON маркера

В дополнении к команде копирования JSON маркера добавлена команда просмотра JSON маркера в таблице маркеров и правой панели.

Просмотр JSON осуществляется в отдельном диалоговом окне.

Изменения в разделе Проекты

1. Фокусировка на ветке master при создании нового проекта.

2. В действия над снимком в списке снимков добавлена команда экспорта кода с разметкой. Все команды экспорта снимка вынесены в отдельное меню.

Редактирование маркеров при импорте

При импорте .svace-dir, SARIF или snap-файла добавлена возможность (опция) задать правила трансформации, пропуска и дедупликации маркеров. Правила задаются в JSON-формате.

При импорте в CLI данная опция называется edit-markers и позволяет указать путь к JSON-файлу с правилами.

В пользовательском интерфейсе при импорте .svace-dir или SARIF возможно задать данную опцию и в ней указать путь к JSON-файлу в архиве .svace-dir или SARIF. А при импорте snap-файла возможно как подгрузить JSON-файл так и ввести выражение в формате JSON в поле ввода.

Форма импорта .svace-dir
Форма импорта SARIF
Форма импорта snap-файла

Добавлена форма управления асинхронными задачами

В разделе Настройки -> Асинхронные задачи, где доступен просмотр и управление (отмена и откат) следующими асинхронными операциями:

  • Экспорт snap-файлов;
  • Экспорт SARIF;
  • Копирование снимков.

Пользователь с серверным доступом Администрирование сервера может просматривать и управлять запущенными или выполненными асинхронными задачами всех юзеров. Пользователю без данного доступа доступно управление только своими асинхронные задачами.

Форма Асинхронные задачи

Примечание: в следующем релизе планируем интегрировать в данный раздел оставшиеся асинхронные операции, которые запускаются пользователями, а именно:

  • Импорт snapshot;
  • Импорт svace-dir;
  • Импорт SARIF;
  • Копирование проекта;
  • Копирование ветки.

Изменения в разделе Информация о сервере

В разделе Настройки -> Информация о сервере, который доступен пользователям с серверным доступом Администрирование сервера, представление информации разделено на три вкладки:

  • Параметры;
  • Системный лог;
  • Системный журнал.

Т.к. системный лог может иметь большой размер, то вывод информации на форме ограничен последними 1Мб (значение регулируется переменной окружения SVACER_TAIL_LOG_SIZE). Скачивание лога позволяет выгрузить файл полностью.

Информация о сервере - вкладка Параметры
Информация о сервере - вкладка Системный лог
Информация о сервере - вкладка Системный журнал

Лицензирование Svacer

Реализован механизм лицензирования. Просмотр и применение лицензии доступно в CLI, а также в UI, где добавлен раздел Лицензия. Просмотр лицензии доступен всем пользователям, а активация лицензии доступна пользователям с серверным доступом «Администрирование сервера».

Примечание: функциональность добавлена для возможности будущего развития продукта. В дистрибутив Svacer v.12 лицензия встроена и не вносит никаких ограничений. Срок действия встроенной лицензии до 31.12.2027.

Парольная политика

Реализована возможность в конфигурационном файле задать парольную политику:

1. Механизм установки минимальной сложности паролей.

Пример задания конфигурационных настроек:

auth:
  svacer:
    password:
       min_length: 10
       complexity:
        - "[a-z]"
        - "[A-Z]"
        - "[0-9]"
        - "[!#]"

В поле min_length - минимальная длина пароля. В поле complexity список регулярных выражений, задающих группу требуемых символов. В примере требуется наличие строчных, заглавных букв, цифр и спец символов - !#.

2. Механизм блокировки учетной записи пользователя при нескольких неудачных попытках авторизации.

Пример задания конфигурационных настроек:

security:
  login:
    max_attempts: 5
    lock_time: 2m

Т.е. учетная запись будет блокироваться на 2 минуты при 5 неудачных попытках авторизации.

Также реализована команда CLI для разблокировки учетной записи пользователя:

svacer user-proiver unlock -login chernykov_sv

Открытие вкладки LDAP по умолчанию

Добавлен параметр конфигурации default. Если он true, то на странице авторизации в пользовательском интерфейсе по умолчанию будет отрываться вкладка Svacer, если false - то при наличии сконфигурированного LDAP по умолчанию будет открываться вкладка LDAP, иначе флаг default игнорируется

Пример задания конфигурационных настроек:

auth:
  svacer:
    enabled: true
    default: false

Автоочистка снимков/веток/проектов

Расширены опции команды cleanup, вызываемой в CLI:

  • ??? - удалять пустые ветки;
  • ??? - удалять пустые проекты;
  • max-snapshots - верхняя граница по количеству снимков в ветке;
  • min-snapshots - нижняя граница по количеству снимков в ветке.

Веб-хуки для нотификаций

Реализован механизм веб-хуков для отправки нотификаций по API во внешние системы. Механизм настраивается в конфигурационном файле в секции webhook.

Пример задания конфигурационных настроек:

webhook:
 enabled: true
 journalLength: 86400
 targets:
   - url: "https://swarm-mgr.home:8080/webhook"
     workersCount: 1
     enabled: true     
     filter: "Type == 1 and Payload.Status != 'Undecided'"
     caCerts: ""
     retryCount: 1
     timeout: 500

Управление механизмом осуществляется в CLI с помощью команд:

svacer server webhook journal
svacer server webhook stat