Difference between revisions of "Изменения в версии 3.13.0"

From EjudgeWiki
(Created page with "Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в в...")
 
(...)
 
(7 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]]
 
Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Разработка]]/[[История версий]]/[[Изменения в версии 3.13.0]]
  
Время выхода: TBA г.
+
Время выхода: 25 декабря 2024 г.
  
 
[[Изменения в версии 3.12.0|Предыдущая версия]]
 
[[Изменения в версии 3.12.0|Предыдущая версия]]
 +
 +
=== Обновление с предыдущих версий ===
 +
 +
После инсталляции новой версии ejudge обязательно выполните команды <code>ejudge-suid-setup</code>
 +
и <code>ejudge-upgrade-web</code> из-под пользователя root и команду
 +
<code>ejudge-configure-compilers</code> из-под пользователя ejudge.
 +
 +
=== Список Pull Requests ===
 +
 +
[https://github.com/blackav/ejudge/milestone/6?closed=1 Список изменений на GitHub]
 +
 +
=== Главные новые возможности и улучшения ===
 +
 +
* Добавлена поддержка [[Правила IOI расчета баллов|режима слияния подгрупп (правила IOI)]].
 +
* Добавлен универсальный плагин для [[Аутентификация с помощью OAUTH2|аутентификации по OIDC]].
 +
* Переработан механизм [[Улучшенная поддержка серверов компиляции|взаимодействия сервера турнира и агентов компиляции]].
 +
* Улучшена поддержка [[Задачи на неполные программы|задач на неполные программы]].
 +
* В HTML-условиях поддерживается MathJax3.
 +
* Добавлен плагин для отправки нотификаций в redis streams.
 +
* Обновлена программа [[ej-polygon]] импорта задач из системы Polygon.
 +
 +
=== [[ej-compile]] ===
 +
 +
Поддерживается аргумент командной строки <code>-y</code>, в котором
 +
передаётся серийный номер параллельного запуска программы на одном
 +
хосте. Этот параметр используется при запуске процесса компиляции
 +
в контейнере, чтобы использовать отдельный идентификатор пользователя
 +
компиляции. Параллельные компиляции на одном хосте будут выполняться
 +
под разными идентификаторами пользователя и не будут влиять
 +
друг на друга.
 +
 +
Поддерживаются расширенные свойства скомпилированных файлов.
 +
Они активируются с помощью установки глобального конфигурационного
 +
параметра <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code> турнира. В этом случае в скрипт
 +
компиляции передается третий параметр &mdash; путь к файлу,
 +
в который скрипт компиляции может записать дополнительные свойства
 +
сгенерированного исполняемого файла. Этот файл передается
 +
в сервис запуска решений.
 +
 +
При копировании файлов из каталога, заданного с помощью конфигурационного
 +
параметра <code>[[serve.cfg:problem:extra_src_dir|extra_src_dir]]</code>, в рабочий каталог компиляции
 +
выполняется рекурсивное копирование.
 +
 +
Для [[Lang:tsnode|Typescript]] поддерживается альтернативный транслятор tsx.
 +
 +
В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run (
 +
[[ejudge.xml:host_options:host:option|parallelism]] и
 +
[[ejudge.xml:host_options:host:option|compile_parallelism]] могут быть равны 0).
 +
 +
=== [[ej-compile-control]] ===
 +
 +
Поддерживается аргумент командной строки <code>-y</code>, который
 +
передаётся в [[ej-compile]].
 +
 +
=== [[ej-contests]] ===
 +
 +
В конфигурационном параметре [[Serve.cfg:problem:open_tests|open_tests]] поддерживатся видимость тестов
 +
<code>icpc</code>. Если для группы тестов установлена видимость <code>icpc</code>, то
 +
участнику турнира отображается только балл и минимальная информация
 +
о первом непрошедшем тесте в группе.
 +
 +
Если у задачи была хотя бы одна группа тестов с видимостью icpc,
 +
протокол тестирования для участника показывает только информацию
 +
об открытых тестах и суммарную информацию по группам тестов.
 +
 +
Добавлена конфигурационная переменная задачи <code>[[Serve.cfg:problem:standard_valuer|standard_valuer]]</code>,
 +
которая позволяет задать стандартную программу оценивания [[gvaluer]] и не копировать её каждый раз
 +
в каталог турнира.
 +
 +
Поддерживается экспорт архивов посылок в фоновом режиме.
 +
После нажатия "Download archive of runs" и выбора опций
 +
скачивания решений создаётся фоновое задание, статус исполнения
 +
которого можно отслеживать. Когда подготовка архива будет
 +
закончена, архив можно будет скачать по ссылке.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:get-user|get-user]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:copy-user-info|copy-user-info]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registration|change-registration]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:problem-status-json|problem-status-json]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:list-languages|list-languages]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:create-user-session|create-user-session]]</code>.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>[[API:priv:change-registrations|change-registrations]]</code>.
 +
 +
Добавлена поддержка API-вызова <code>[[API:priv:special-flow|special-flow]]</code>.
 +
 +
В протоколах тестирования отображается размер использованной памяти (RSS).
 +
Это поддерживается только в случае запуска решений в контейнере.
 +
 +
Добавлен глобальный конфигурационный параметр <code>[[Serve.cfg:global:enable_run_props|enable_run_props]]</code>.
 +
 +
Исправлена ошибка, из-за которой не работала смена языка интерфейса.
 +
 +
Если apache не может подключиться к ej-contests, клиенту возвращается http status 500.
 +
 +
Добавлены атрибуты
 +
<code>[[contest.xml:enable_user_finish|enable_user_finish]]</code>,
 +
<code>[[contest.xml:disable_user_finish|disable_user_finish]]</code>, которые модифицируют возможность
 +
пользовательского завершения турнира.
 +
 +
Добавлен конфигурационный параметр
 +
<code>[[Serve.cfg:language:default_disabled|default_disabled]]</code>
 +
языков программирования.
 +
 +
Добавлен конфигурационный параметр
 +
<code>[[Serve.cfg:language:version|version]]</code> языков программирования.
 +
 +
Добавлен конфигурационный параметр
 +
<code>[[Serve.cfg:language:disable_auto_update|disable_auto_update]]</code>
 +
языков программирования.
 +
 +
Добавлен глобальный конфигурационный параметр
 +
<code>[[Serve.cfg:global:enable_language_import|enable_language_import]]</code>.
 +
 +
Добавлен глобальный конфигурационный параметр
 +
<code>[[Serve.cfg:global:language_import|language_import]]</code>.
 +
 +
Пользователь может завершить невиртуальный турнир в любой момент времени.
 +
 +
Добавлен конфигурационный параметр
 +
<code>[[Serve.cfg:problem:enable_group_merge|enable_group_merge]]</code> задач.
 +
 +
Добавлен конфигурационный параметр
 +
<code>[[Serve.cfg:language:run_max_file_size|run_max_file_size]]</code> языков программирования.
 +
 +
Добавлен глобальный конфигурационный параметр
 +
<code>[[Serve.cfg:global:disable_bson_store|disable_bson_store]]</code>.
 +
 +
=== [[ej-polygon]] ===
 +
 +
При импорте из полигона поддерживаются баллы за тесты и группы тестов,
 +
которые хранятся в элементах <code>tests</code> и <code>group</code>.
 +
 +
Поддерживается генерация параметров
 +
[[serve.cfg:problem:test_score_list|test_score_list]],
 +
[[serve.cfg:problem:open_tests|open_tests]],
 +
[[serve.cfg:problem:final_open_tests|final_open_tests]].
 +
 +
Поддерживается генерация файла valuer.cfg для оценивающей программы
 +
[[gvaluer]].
 +
 +
При импорте турнира из полигона задачи сортируются по строковому
 +
значению ключа задачи, он же используется для короткого имени задачи.
 +
 +
Добавлена опция enable_rss_limit при импорте из полигона.
 +
 +
=== [[ej-suid-container]] ===
 +
 +
Поддерживается переключение в разные непривилегированные пользователи
 +
для параллельной компиляции.
 +
 +
=== [[ej-super-run]] ===
 +
 +
=== [[ej-super-server]] ===
 +
 +
Поддерживается заголовок 'Authorization:' для последующей реализации API-вызовов.
 +
 +
Добавлена поддержка привилегированного API-вызова <code>login-action-json</code>.
 +
 +
=== [[ejudge-control]] ===
 +
 +
Добавлена опция --compile-queue.
 +
 +
=== [[gvaluer]] ===
 +
 +
При компиляции ejudge программа автоматически компилируется и инсталлируется
 +
в каталог с проверяющими программами. Для этого в системе должен быть
 +
установлен компилятор C++.

Latest revision as of 13:01, 29 December 2024

Навигация: Главная страница/Система ejudge/Разработка/История версий/Изменения в версии 3.13.0

Время выхода: 25 декабря 2024 г.

Предыдущая версия

Обновление с предыдущих версий

После инсталляции новой версии ejudge обязательно выполните команды ejudge-suid-setup и ejudge-upgrade-web из-под пользователя root и команду ejudge-configure-compilers из-под пользователя ejudge.

Список Pull Requests

Список изменений на GitHub

Главные новые возможности и улучшения

ej-compile

Поддерживается аргумент командной строки -y, в котором передаётся серийный номер параллельного запуска программы на одном хосте. Этот параметр используется при запуске процесса компиляции в контейнере, чтобы использовать отдельный идентификатор пользователя компиляции. Параллельные компиляции на одном хосте будут выполняться под разными идентификаторами пользователя и не будут влиять друг на друга.

Поддерживаются расширенные свойства скомпилированных файлов. Они активируются с помощью установки глобального конфигурационного параметра enable_run_props турнира. В этом случае в скрипт компиляции передается третий параметр — путь к файлу, в который скрипт компиляции может записать дополнительные свойства сгенерированного исполняемого файла. Этот файл передается в сервис запуска решений.

При копировании файлов из каталога, заданного с помощью конфигурационного параметра extra_src_dir, в рабочий каталог компиляции выполняется рекурсивное копирование.

Для Typescript поддерживается альтернативный транслятор tsx.

В ejudge.xml поддерживается возможность не запускать инстансы ej-compile и ej-super-run ( parallelism и compile_parallelism могут быть равны 0).

ej-compile-control

Поддерживается аргумент командной строки -y, который передаётся в ej-compile.

ej-contests

В конфигурационном параметре open_tests поддерживатся видимость тестов icpc. Если для группы тестов установлена видимость icpc, то участнику турнира отображается только балл и минимальная информация о первом непрошедшем тесте в группе.

Если у задачи была хотя бы одна группа тестов с видимостью icpc, протокол тестирования для участника показывает только информацию об открытых тестах и суммарную информацию по группам тестов.

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

Поддерживается экспорт архивов посылок в фоновом режиме. После нажатия "Download archive of runs" и выбора опций скачивания решений создаётся фоновое задание, статус исполнения которого можно отслеживать. Когда подготовка архива будет закончена, архив можно будет скачать по ссылке.

Добавлена поддержка привилегированного API-вызова get-user.

Добавлена поддержка привилегированного API-вызова copy-user-info.

Добавлена поддержка привилегированного API-вызова change-registration.

Добавлена поддержка привилегированного API-вызова problem-status-json.

Добавлена поддержка привилегированного API-вызова list-languages.

Добавлена поддержка привилегированного API-вызова create-user-session.

Добавлена поддержка привилегированного API-вызова change-registrations.

Добавлена поддержка API-вызова special-flow.

В протоколах тестирования отображается размер использованной памяти (RSS). Это поддерживается только в случае запуска решений в контейнере.

Добавлен глобальный конфигурационный параметр enable_run_props.

Исправлена ошибка, из-за которой не работала смена языка интерфейса.

Если apache не может подключиться к ej-contests, клиенту возвращается http status 500.

Добавлены атрибуты enable_user_finish, disable_user_finish, которые модифицируют возможность пользовательского завершения турнира.

Добавлен конфигурационный параметр default_disabled языков программирования.

Добавлен конфигурационный параметр version языков программирования.

Добавлен конфигурационный параметр disable_auto_update языков программирования.

Добавлен глобальный конфигурационный параметр enable_language_import.

Добавлен глобальный конфигурационный параметр language_import.

Пользователь может завершить невиртуальный турнир в любой момент времени.

Добавлен конфигурационный параметр enable_group_merge задач.

Добавлен конфигурационный параметр run_max_file_size языков программирования.

Добавлен глобальный конфигурационный параметр disable_bson_store.

ej-polygon

При импорте из полигона поддерживаются баллы за тесты и группы тестов, которые хранятся в элементах tests и group.

Поддерживается генерация параметров test_score_list, open_tests, final_open_tests.

Поддерживается генерация файла valuer.cfg для оценивающей программы gvaluer.

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

Добавлена опция enable_rss_limit при импорте из полигона.

ej-suid-container

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

ej-super-run

ej-super-server

Поддерживается заголовок 'Authorization:' для последующей реализации API-вызовов.

Добавлена поддержка привилегированного API-вызова login-action-json.

ejudge-control

Добавлена опция --compile-queue.

gvaluer

При компиляции ejudge программа автоматически компилируется и инсталлируется в каталог с проверяющими программами. Для этого в системе должен быть установлен компилятор C++.